android 必需知道的東東

來源:互聯網
上載者:User

一、重要包的描述:
android.app :提供高層的程式模型、提供基本的運行環境
android.content :包含各種的對裝置上的資料進行訪問和發布的類
android.database :通過內容提供者瀏覽和操作資料庫
android.graphics :底層的圖形庫,包含畫布,顏色過濾,點,矩形,可以將他們直接繪製到螢幕上.
android.location :定位和相關服務的類
android.media :提供一些類管理多種音頻、視頻的媒體介面
android.net :提供協助網路訪問的類,超過通常的java.net.* 介面
android.os :提供了系統服務、訊息傳輸、IPC 機制
android.opengl :提供OpenGL 的工具
android.provider :提供類訪問Android 的內容提供者
android.telephony :提供與撥打到電話相關的API 互動
android.view :提供基礎的使用者介面介面架構
android.util :涉及工具性的方法,例如時間日期的操作
android.webkit :預設瀏覽器操作介面
android.widget :包含各種UI 元素(大部分是可見的)在應用程式的螢幕中使用
二、虛擬機器Dalvik
Dalvik 和標準JAVA 虛擬機器(JVM)首要差別是:Dalvik 基於寄存器,而JVM 基於棧。基於寄存器的虛擬機器對於更大的程式來說,在它們編譯的時候,花費的時間更短。
Dalvik 和Java 運行環境的區別是:Dalvik 經過最佳化,允許在有限的記憶體中同時運行多個虛擬機器的執行個體,並且每一個Dalvik 應用作為一個獨立的Linux 進程執行。獨立的進程可以防止在虛擬機器崩潰的時候所有程式都被關閉。
三、Android 的相關檔案類型
Java 檔案-----應用程式源檔案
android 本身相當一部分都是用java 編寫而成(基本上架構圖裡頭藍色的部份都是用Java 開發的),android 的應用必須使用java 來開發。
Class 檔案------Java 編譯後的目標檔案
不像J2se,java 編譯成class 就可以直接運行,android 平台上class 檔案不能直接在android 上運行。由於Google使用了自己的Dalvik 來運行應用,所以這裡的class 也肯定不能在AndroidDalvik 的java 環境中運行,android的class 檔案實際上只是編譯過程中的中間目標檔案,需要連結成dex 檔案後才能在dalvik 上運行。
Dex 檔案-----Android 平台上的可執行檔
Android 虛擬機器Dalvik 支援的位元組碼檔案格式Google 在新發布的Android 平台上使用了自己的Dalvik 虛擬機器來定義,這種虛擬機器執行的並非Java 位元組碼,而是另一種位元組碼:dex 格式的位元組碼。在編譯Java 代碼之後,通過Android 平台上的工具可以將Java 位元組碼轉換成Dex 位元組碼。
Apk 檔案-------Android 上的安裝檔案
Apk 是Android 安裝包的副檔名,一個Android 安裝包包含了與某個Android 應用程式相關的所有檔案。apk檔案將AndroidManifest.xml 檔案、應用程式代碼(.dex 檔案)、資源檔和其他檔案打成一個壓縮包。一個工程只能打進一個.apk 檔案。
四、關於應用程式
以helloworld為例,編譯出來的class檔案,放置在/bin/oms/samples/home中。編譯出來的apk在bin檔案中,可以用winrar開啟,組織圖類似工程。
運行環境描述 .classpath內容為:

工程設定檔 .project內容為:

HomeAPIDemoActivity

com.android.ide.eclipse.adt.ResourceManagerBuilder

com.android.ide.eclipse.adt.PreCompilerBuilder

org.eclipse.jdt.core.javabuilder

com.android.ide.eclipse.adt.ApkBuilder

com.android.ide.eclipse.adt.AndroidNature
org.eclipse.jdt.core.javanature

五、調試
adb 功能操作:
? 快速更新裝置或手機模擬器中的代碼,如應用或Android 系統升級
? 在裝置上運行shell 命令
? 管理裝置或手機模擬器上預定連接埠
? 在裝置或手機模擬器上複製、粘貼檔案
adb 常用操作:
安裝應用到模擬器
adb install app.apk
Android 沒有提供一個卸載應用的命令,只能手動刪除:
adb shell
cd data/app
rm app.apk
進入裝置或模擬器的Shell
adb shell
通過以上命令,可以進入裝置或模擬器的shell 環境中,在這個Linux Shell 中,你可以執行各種Linux 的命令,
adb shell [command]
另外如果只想執行一條shell 命令,可以採用以下方式:
如:adb shell dmesg
會列印出核心的調試資訊
發布連接埠
可以設定任意的連接埠號碼,做為主機向模擬器或裝置的請求連接埠。如:
adb forward tcp:5555 tcp:8000
複製檔案
可向一個裝置或從一個裝置中複製檔案
? 複製一個檔案或目錄到裝置或模擬器上:
adb push
如:
adb push test.txt /tmp/test.txt
? 從裝置或模擬器上複製一個檔案或目錄
adb pull
如:
adb pull /android/lib/libwebcore.os
搜尋/等待模擬器、裝置執行個體
adb devices
取得當前啟動並執行模擬器、裝置的執行個體列表及每個執行個體的狀態| 等待正在啟動並執行裝置
adb wait-for-device
查看Bug 報告
adb bugreport
記錄無線通訊日誌
adb shell
logcat -b radio
無線通訊記錄日誌非常多,在運行時沒必要記錄,可以通過命令設定記錄擷取裝置ID 和序號
adb get-product
adb get-serialno
訪問資料庫SQLite3
adb shell
sqlite3

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.