作為一個有Java基礎的開發(fā)者來說,初步學習Android開發(fā)是很容易的一件事情,我身邊就有同學是學java的,由于對Android開發(fā)感興趣,就開始學習它,不到一個月的時間就做出了一款簡單實用的小應用軟件。可能會有好多人會問那專門搞Android開發(fā)的人和“半路進來”的人有哪些差距那?這里我想說的是,會做Android應用的人,并不一定代表他很懂Android,Android系統之所以作為當前世面上主流的智能手機系統,除了開源外,還有它自身系統的優(yōu)勢(博客:http://smallwoniu.blog.51cto.com/blog/3911954/1248169)想要徹底掌握Android應用層開發(fā)也不是那么容易的。
創(chuàng)新互聯服務項目包括海陽網站建設、海陽網站制作、海陽網頁制作以及海陽網絡營銷策劃等。多年來,我們專注于互聯網行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯網行業(yè)的解決方案,海陽網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到海陽省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!今天我就總結了一些Android開發(fā)中的瑣碎細節(jié),希望能幫助到大家!
一。ADB(Android Debug Bridge)
打開我們的android中sdk/platform-tools文件夾,里面存放著許多android開發(fā)過程中所需要的系統工具。
adb.exe
介紹:起到調試橋的作用。通過adb我們可以在Eclipse中方面通過DDMS來調試Android程序,說白了就是debug工具。adb的工作方式比較特殊,采用監(jiān)聽Socket TCP 5554等端口的方式讓IDE和Qemu通訊,默認情況下adb會daemon相關的網絡端口,所以當我們運行Eclipse時adb進程就會自動運行。
說明:借助adb工具,我們可以管理設備或手機模擬器的狀態(tài)。還可以進行很多手機操作,如安裝軟件、系統升級、運行shell命令等等。其實簡而言說,adb就是連接Android手機與PC端的橋梁,可以讓用戶在電腦上對手機進行全面的操作(獲取手機數據)
常用adb命令:
adb devices 列出所有的連接設備 (DDMS左側的窗口)
reset adb 重啟adb的調試橋
adb kill-server 殺死adb調試橋
adb start-server 啟動adb調試橋
adb install helloworld.apk 安裝命令
(找到apk后可以直接將其拖入dos窗口即可,省的手動拷路徑)
adb uninstall com.zhf.helloworld 卸載命令
adb shell 來到手機終端 執(zhí)行l(wèi)inux命令
adb -s emulator-5554 install helloworld.apk 往指定設備安裝
注:重啟不了情況:端口可能被占用,在命令行中敲 netstat -ano, 查看端口號命令),這里我們就知道了像豌豆莢,360手機助手等軟件都有自己的adb,每當有手機連接電腦時會執(zhí)行自己adb.exe,來對手機進行一系列的操作。
二。andriod和java虛擬機的區(qū)別
區(qū)別 | JVM | Dalvik JVM |
編譯后的文件格式 | .java->.class->.jar | .java->.class->.dex->.odex |
編譯程序 | jdk中javac.exe | sdk 中dex.exe |
基于的架構 | 基于棧的結構 | 基于寄存器的結構 |
注:jar效率低,但通用性強,非智能手機也能玩,而APK是android的專屬安裝文件,非android的手機就不能運行,效率高,一般有apk的優(yōu)先要apk格式的
上面這張結構圖我們可以清晰的知道,二者的執(zhí)行過程:
.jar--->包含許多.class文件,內部執(zhí)行javac.exe編譯過程是把每個單獨的.java文件轉換成.class文件(包括Header、Class、Filed、Method、Attributes等)統一遍歷一遍所需時間較長,執(zhí)行安裝程序速度慢(windows上setup.exe安裝過程就是解壓文件到電腦硬盤上)
.apk--->只含有一個.dex文件,內部執(zhí)行dx.bat將所有class文件中的Header、Class、Filed、Method、Attributes 等統一分類放在一起,轉換成.dex文件,效率較高。
三。android應用程序的安裝過程
首先,我們看一下工程下面的bin文件夾
里面包含了我們最后生成的apk文件,所有的res的資源,以及重要的classes.dex
這張圖清晰的反映了我們的Android項目打包、安裝過程:
打包:首先通過javac.exe將.java文件轉換成.class文件,之后通過dx.bat將其轉換成classes.dex文件,最后就是將其和整個項目對應的文件夾打成.apk安裝包
安裝:首先是對應用程序的簽名,之后先將apk復制到手機上,其次是在手機上對apk的解壓縮過程
四、啟動應用程序
我們雙擊apk文件,如果電腦裝了豌豆莢,就會自動關聯豌豆莢將軟件撞到手機上,這是為什么那?
原因就是類似于我們在Windows上雙擊.txt文件會打開記事本程序,是因為我們在系統盤的注冊表上注冊了該應用程序所關聯的文件類型,那么我們在手機上打開應用程序,首先我們打開Android系統的注冊表文件:
打開DDMS下的File Explore選項,會列出手機的所有文件信息,在/data目錄下system系統目錄下netstats文件夾下有兩個目錄
packages.xml : android系統的注冊表(每安裝一個應用程序都會在此寫上配置信息,上以后要是加載這個程序,會首先去讀取這個注冊表加載到內存中獲取其數據)
packages.list : 所有應用程序的包列表 和 對應數據的目錄
五、模擬器
我們創(chuàng)建好的一個模擬器啟動后(相當一個應用程序啟動),會在C盤用戶目錄下.android/avd下生成一個文件夾目錄
以上這些都是作為一個Android應用開發(fā)者你應該知道的一些東西,因為本人也是在學習Android,邊學邊總結,有遺漏或者有誤的地方還請指正,謝謝!
另外有需要云服務器可以了解下創(chuàng)新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。