Android簡介及相關知識

簡介:


創始人 ---- Andy Rubin ---- 
Android 1.0 推出時間 --- 2007/11/5


被Google收購
與多方建立一個開放的、標準化的手機軟件平臺


Android --- 基於Linux的開源的手機操作系統


Android和Java的關係
一般Android開發 --- java語言
Android API使用和JDK API使用沒什麼區別,
Android學習可以看做是JavaSE學習的拓展
編程思想
---- 與語言無關

Android和JavaME沒關係

如何學習Android
看官網
1、完整教程
2、提供了API
3、示例

Hibernate 
Struts2 
Spring
查看幫助手冊 和 源代碼


Android 開發環境 SDK
最初的SDK --- 沒有集成開發工具 
現版本    --- 集成了eclipse


第一個Android程序
eclipse自動整合生成




AppCompet_v7 --- Android 22.6之後產生的



新建Android項目與Android項目安裝之後的對應關係:


application name ---- 程序安裝後的名稱
project name -------- 源代碼項目名稱
package name -------- 包名 ---- 必須保證唯一性
     才能保證程序唯一
Minimum SDK ---------支持的最低版本
Target SDK ------- 最高版本
Compile with ----- 開發版本


create icon ------ 創建圖標
create Activity--- 創建主入口


Mark this as lib -- 非程序,只是工具庫




create activity --- 對應包下面的一個java文件
是程序的主入口






程序運行與源代碼的對應關係:
1、查找配置文件AndroidManifest.xml
  找到Activity路徑
2、查找加載Activity
3、運行Activity的onCreate()函數
  onCreate函數被系統調用
4、執行代碼
setContentView(R.layout.activity_hello);
設置界面
5、查找資源配置相關的類 R
查找對應的文件
6、解析文件 --- 文件最終被轉成JavaBean
解析:1、生成相應的對象
     2、設置參數
     3、查找資源
android:text="@string/hello_world" 
相當於:
R.string.hello_world
7、通過R文件,查找資源並取出數據
8、顯示在機器上


Android設計使用了分層的思想:
分層:便於開發分工
資源文件爲什麼單獨配置:
1、便於修改
2、方便Android的自適應
自適應:
1、硬件不同,選擇資源不同
2、橫屏和豎屏,使用的資源不同
3、資源國際化
自適應是系統根據情況調用的,我們只需要按照規定的格式聲明資源


Android體系設計也使用了分層思想:
軟件疊層
1、發揮各層的優勢
2、一層發生改變時,其餘各層不用變動


Linux 內核 ---- 1、操作硬件 2、管理內存、進程等
中間層 -------- 1、c、c++實現的功能,SQLite數據庫
2、Android運行時 --- A.Android核心API
B.JavaAPI
C.虛擬機
框架層 -------- 主要由Java語言編寫
應用程序層 ---- 瀏覽器、聯繫人
開發的重點




Android DOS常用命令


Android 
DDMS --- logcat 輸出日誌
Emulator --- 管理模擬器
adb -------- Android debug bridage
安裝程序 adb install XX.apk
卸載     adb uninstall XX.apk


Android程序編寫編譯安裝運行流程
Java流程
1、編寫.java文件
2、使用javac生成.class文件
3、導出爲jar包 --- jar
4、運行使用java.exe


Android流程:
1、編寫源碼 .java --- .xml
2、編譯
解析XML文件---->將代碼
使用javac ----> .class文件
3、使用Android提供虛擬機對class文件進行處理
   生成 .dex文件
4、簽名
5、將這些.dex文件和一些資源壓縮成.apk文件
6、安裝apk


Android程序運行時,需要JRE嗎?
不需要
Android開發時需要JRE----
1、Eclipse需要
2、.java變爲.class需要JDK




ARE----Android  Runtime  Environment






Android虛擬機與Java虛擬機比較
Android設計時爲什麼不使用JDK的虛擬機,而是又提供了一個虛擬機?
1、錢
2、JVM跑在移動設備上,由於硬件原因,效率低,Android做了優化,在JVM基礎上開發了DX虛擬機
優勢A:處理class文件,取出冗餘信息
    B:DX虛擬機速度快
      JVM基於棧 ----> 內存內的
      Android基於寄存器 --->是CPU上的


logcat --- 負責輸出Android程序運行的日誌信息
show view 中查找要使用的面板


Android單元測試 --- JUnit 如何使用
1、在程序中輸出打印語句,程序運行後,查看logcat
2、JUnit使用
A.Android內置了JUnit,但是包不全
B.由於測試使用的虛擬機不同,那麼導致二者的使用不一樣
C.JUnit的使用:
a.不能使用註解 --- 虛擬機不同
b.測試的類繼承AndroidTestCase
提供上下文環境
c.配置測試信息
D.測試時,在函數名上 run as


Android簽名 ------- 


1、Android安裝時,使用包名進行區別的,可能包名相同,但是程序不同,Android使用了簽名機制
程序如果包名相同且簽名相同,那麼就會替換安裝,否則安裝失敗
簽名,避免android被替換安裝


2、不簽名,Android程序不會安裝
eclipse已經默認完成簽名了


3、可以自己手動完成簽名


簽名不同,包名相同 --- 後安裝的程序不能正常安裝,必須卸載前一個纔可以繼續安裝

eclipse會自動完成簽名,並且對相同的項目設計院相同的簽名


還可以通過簽名設置權限




創建Activity界面的三種方式  
 1、xml   2、Java代碼   3、混合方式


添加監聽事件的方式:
1、XML屬性-----onClick----回調
2、內部類
3、外部類
4、當前類事件
5、匿名內部類















發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章