在Android的應(yīng)用程序開(kāi)發(fā)中,通常使用的是Java語(yǔ)言,除了要熟悉Java語(yǔ)言的基礎(chǔ)外,還需要了解Android提供的Java擴(kuò)展功能。
一、重要包描述
Android.app:提供高層的程序模型、提供基本的運(yùn)行環(huán)境。
Android.content:包含對(duì)各種的設(shè)備上的數(shù)據(jù)進(jìn)行訪問(wèn)和發(fā)布的類。
Android.database:通過(guò)內(nèi)容提供者瀏覽和操作數(shù)據(jù)庫(kù)。
Android.graphics:底層的圖形庫(kù),包含畫布、顏色過(guò)濾、點(diǎn)、矩形,可以將它們直接繪制到屏幕上。
Android.location:定位和服務(wù)的相關(guān)類。
Android.media:提供了一些管理音頻視頻的媒體接口的相關(guān)類。
Android.net提供了關(guān)于網(wǎng)絡(luò)訪問(wèn)的類,超過(guò)通常的java.net.*接口。
Android.os:提供了系統(tǒng)服務(wù),消息傳輸,IPC機(jī)制。
Android.opengl:提供了OpenGL的工具。
Android.provider:提供類訪問(wèn)Android的內(nèi)容提供者。
Android.telephony:提供與撥打電話相關(guān)的API交互
Android.view:提供基本的用戶界面接口框架。
Android.util:涉及工具性的方法,例如時(shí)間日期型的操作。
Android.webkit:默認(rèn)瀏覽器操作接口。
Android.widget:包含各種U元素,在應(yīng)用程序的屏幕中使用。
二、Android的相關(guān)文件類型概述
Java文件---應(yīng)用程序源文件
Android的應(yīng)用必須使用Java來(lái)開(kāi)發(fā)。
Class文件---Java編譯后的目標(biāo)文件。
不想J2SE,java編譯成class文件就直接可以運(yùn)行,Android平臺(tái)上的class 文件不能直接在Android平臺(tái)上運(yùn)行。由于google使用了自己的Dalvik來(lái)運(yùn)行應(yīng)用,所以這里的class也肯定不能在Android Dalvik上運(yùn)行,Android的class文件實(shí)際上只是編譯過(guò)程的中間目標(biāo)文件,需要鏈接成Dex文件才能運(yùn)行在Dalvik上。
Dex文件---Android平臺(tái)上的可執(zhí)行文件。
Dalvik執(zhí)行的并非是Java字節(jié)碼,而是另一種字節(jié)碼:dex格式的字節(jié)碼(Java字節(jié)碼->dex字節(jié)碼)。Dalvik可以執(zhí)行許多VM而不會(huì)占用太多的Resource.
APK 文件---Android上的安裝文件
APK是Android安裝包的擴(kuò)展名,一個(gè)Android安裝包包含了與某個(gè)應(yīng)用程序相關(guān)的所有文件,APK文件將AndroidMainfest.xml文件、應(yīng)用程序代碼(DEX)文件、資源文件和其他文件打成一個(gè)壓縮包。一個(gè)工程只能打進(jìn)一個(gè).apk文件。
三、Android ADB工具的使用
ADB是Android提供的一個(gè)通用調(diào)試工具,借助這個(gè)工具,我們管理手機(jī)模擬器的狀態(tài)。
1.ADB功能操作
快速更新設(shè)備或手機(jī)模擬器的代碼,如應(yīng)用或Android系統(tǒng)升級(jí)。
在設(shè)備上運(yùn)行shell命令
管理設(shè)備或手機(jī)模擬器上的預(yù)定接口
在設(shè)備或手機(jī)模擬器上復(fù)制、粘貼文件
2.ADB的常用操作
安裝應(yīng)用到模擬器
adb install app.apk
Android沒(méi)有提供一個(gè)卸載應(yīng)用的命令,只能手動(dòng)刪除:
Adb shell
Cd data/app
Rm.app.apk
進(jìn)入設(shè)備或模擬器的shell
Adb shell
通過(guò)以上命令,可以進(jìn)入設(shè)備或模擬器的shell環(huán)境中,在這個(gè)shell中,你可以執(zhí)行各種Linux的命令,另外如果只想執(zhí)行一條shell命令,可以采用以下方式:
Adb shell[command]
如:
Adb shell emesg
會(huì)打印出內(nèi)核的調(diào)試信息
發(fā)布端口
可以設(shè)置任意的端口號(hào),作為主機(jī)箱模擬器或設(shè)備的請(qǐng)求端口。如:
Adb forward tcp :5555 tcp:8000
復(fù)制文件
復(fù)制一個(gè)文件或目錄到設(shè)備或模擬器上;
Adb push
如:
Adb push test.txt/tmp/test.txt
Adb pull
如:
Adb pull /Android/lib/libwebcore.os
搜索/等待模擬器、設(shè)備實(shí)例
取得當(dāng)前運(yùn)行的模擬器、設(shè)備的實(shí)例列表及每個(gè)實(shí)例的狀態(tài)或等待正在運(yùn)行的設(shè)備
Adb devices
Adb wait-for-device
查看debug報(bào)告
Adb bugreport
記錄無(wú)線通信日志
無(wú)線通信日志非常多,在運(yùn)行時(shí)沒(méi)必要記錄,可以通過(guò)命令設(shè)置記錄
Adb shell
Logcat -b radio
獲取設(shè)備ID和序列號(hào)
Adb get-product
Adb get-serialno
訪問(wèn)數(shù)據(jù)庫(kù)SQLite3
Adb shell
Sqlite3