瘋狂Android講義
- Android系統(tǒng)的底層建立在Linux系統(tǒng)之上,該平臺(tái)由操作系統(tǒng)中符、中間件冗澈、用戶界面和應(yīng)用軟件4層構(gòu)成馏颂。
- 應(yīng)用程序?qū)影盗械暮诵膽?yīng)用程序,包括郵件客戶端棋傍、SMS程序救拉、日歷、地圖瘫拣、瀏覽器亿絮、聯(lián)系人等。
- Android運(yùn)行時(shí)由兩部分組成:Android核心庫(kù)集和Dalvik虛擬機(jī)麸拄。其中核心庫(kù)集提供了Java語(yǔ)言核心庫(kù)所能使用的絕大部分功能派昧,而虛擬機(jī)則負(fù)責(zé)運(yùn)行Android應(yīng)用程序。
- 每個(gè)Android應(yīng)用程序都運(yùn)行在單獨(dú)的Dalvik虛擬機(jī)內(nèi)(即每個(gè)Android應(yīng)用程序?qū)?yīng)一條Dalvik進(jìn)程)拢切。
- Dalvik并未完全遵守JVM規(guī)范蒂萎,兩者也不兼容。JVM虛擬機(jī)運(yùn)行的是Java字節(jié)碼(通常就是.class文件)淮椰,但Dalvi運(yùn)行的是其專有的dex(Dalvik Executable)文件五慈。JVM直接從.class文件或JAR包中加載字節(jié)碼然后運(yùn)行;而Dalvik則無(wú)法從.class文件或者JAR包中加載字節(jié)碼主穗,它需要DX根據(jù)將應(yīng)用程序的所有.class文件編譯成.dex文件泻拦,Dalvik則運(yùn)行該.dex文件。
- 查看當(dāng)前運(yùn)行的模擬器:adb devices
- 電腦文件復(fù)制到模擬器中:adb push d:/abc.txt /sdcard/
- 模擬器文件復(fù)制到電腦中:adb pull /sdcard/xyz.txt d:/
- 啟動(dòng)模擬器的shell窗口:adb shell
- Adb安裝APK命令格式如下:adb install [-r] [-s] <file> -r表示重新安裝忽媒;-s表示將APK包安裝到SD卡上—默認(rèn)是將APK包安裝到內(nèi)部存儲(chǔ)器上聪轿。
- 從Android系統(tǒng)刪除指定軟件包:adb uninstall [-k] <package>
- 開(kāi)發(fā)Andr應(yīng)用的步驟:創(chuàng)建一個(gè)Android項(xiàng)目;在XML布局文件中定義應(yīng)用程序的用戶界面猾浦;在Java代碼中編寫業(yè)務(wù)實(shí)現(xiàn)。
- Android應(yīng)用程序的包名非常重要灯抛,Android應(yīng)用的包名可以作為應(yīng)用的唯一標(biāo)識(shí)金赦。
- android:id:該屬性指定了該控件的唯一標(biāo)識(shí),在Java程序中可通過(guò)findViewById(“id”)來(lái)獲取指定的Android界面組件对嚼。
- android:layout_width:指定該界面組件的寬度夹抗。如果該屬性值為match_parent,則說(shuō)明該組件與其父容器具有相同的寬度纵竖;如果該屬性值為wrap_content漠烧;則說(shuō)明該組件的寬度取決于它的內(nèi)容——能包裹它的內(nèi)容即可。
- android:layout_height:指定該界面組件的高度靡砌。如果該屬性值為match_parent已脓,則說(shuō)明該組件與其父容器具有相同的高度;如果該屬性值為wrap_content通殃,則說(shuō)明該組件的高度取決于它的內(nèi)容——能包裹它的內(nèi)容即可度液。
- Res目錄存放Android項(xiàng)目的各種資源文件,比如layout存放界面布局文件,values目錄下存放各種XML格式的資源文件
- AndroidManifest.xml文件是Android項(xiàng)目的系統(tǒng)清單文件堕担,它用于控制Android應(yīng)用的名稱已慢、圖標(biāo)、訪問(wèn)權(quán)限等整體屬性霹购。除此之外Android應(yīng)用的Activity佑惠、Service、ContentProvider齐疙、BroadcastReceiver這4大組件都需要在該文件中配置膜楷。
- Activity是Android應(yīng)用中負(fù)責(zé)與用戶交互的組件。
- View組件是所有UI控件剂碴、容器控件的基類把将。View組件需要放到容器組件中,或者使用Activity將它顯示出來(lái)忆矛。如果需要通過(guò)某個(gè)Activity把指定View顯示出來(lái)察蹲,調(diào)用Activity的setContentView()方法即可。
- Service與Activity的地位是并列的催训,它也代表一個(gè)單獨(dú)的Android組件洽议。Service通常位于后臺(tái)運(yùn)行,它一般不需要用戶交互漫拭,因此Service組件沒(méi)有圖形用戶界面亚兄。
- BroadcastReceiver代表廣播消息接收器。BroadcastReceiver監(jiān)聽(tīng)的是事件源是Andrid應(yīng)用中的其他組件采驻。
- Intent是Android應(yīng)用內(nèi)不同組件之間通信的載體审胚。當(dāng)Android運(yùn)行時(shí)需要連接不同的組件時(shí),通常就需要借助于Intent來(lái)實(shí)現(xiàn)礼旅。