Android 初識(shí) Helloworld 詳解
HelloWorld的目錄結(jié)構(gòu)有:
src:存放應(yīng)用程序的邏輯代碼,這里面的代碼是人工寫的
gen:存放資源代碼,這里面的代碼是自動(dòng)生成的
assets:存放mp3等視頻資源
bin:生成的可執(zhí)行的二進(jìn)制文件目錄
libs:引用到的庫,這里和bin/dexedLibs里面的目錄是一致的
res:資源文件。往這個(gè)目錄添加資源的時(shí)候,會(huì)被gen/R.java自動(dòng)記錄,自動(dòng)那個(gè)記錄到R.java中去。
AndroidManifest.xml:項(xiàng)目的總配置項(xiàng),記錄應(yīng)用中使用到各種全局的配置
ic_launcher-web.png:這個(gè)是為了google Play市場使用展示的圖標(biāo),它需要的是512×512的高分辨率的圖標(biāo)。
proguard-project.txt
project.properties
這兩個(gè)文件是為了保護(hù)Android項(xiàng)目而做的代碼混淆使用的。官方文檔在:http://developer.android.com/tools/help/proguard.html
下面一個(gè)一個(gè)看:
src
存放用戶代碼的文件夾,里面至少會(huì)有一個(gè)Activity。Activity的概念就是界面,相當(dāng)于C#中的Windows Form。
看到至少包含了一個(gè)onCreate函數(shù),是在渲染界面的時(shí)候調(diào)用的,這里使用R.layout.activity_main來渲染,這個(gè)就對應(yīng)于gen/R中的
activity_main等號(hào)后面的是資源描述符。
這里正好可以看一下R這個(gè)類
gen/R.javaR中的每個(gè)類都對應(yīng)res中的一個(gè)資源,
比如layout對應(yīng)res/layout
drawable對應(yīng)res/drawable-XXdpi
所以上文中的R.layout.activity_main對應(yīng)的實(shí)際是res/layout/activity_main.xml。這樣就把界面和邏輯分開了,這就是典型的mvc模式分層的概念。
gen/BuildConfig.java里面存放著全局的DEBUG開關(guān),你可以使用這個(gè)開關(guān)做日志和調(diào)試的操作。
但是如何修改這個(gè)呢?gen下面的文件不應(yīng)該手動(dòng)修改,具體可以參照:http://drovik.com/html/5701262218.html
bin這個(gè)目錄是生成文件的目錄,可以看到,它把a(bǔ)pk包,AndroidMainifest.xml都生成一份放在文件夾內(nèi)。
bin/class.dex
java編譯后生成的java字節(jié)碼文件,相當(dāng)于java的.class文件。但是由于Android使用的dalvik虛擬機(jī)和標(biāo)準(zhǔn)的java虛擬機(jī)是不兼容的,所以dex和class是不一樣的。
現(xiàn)在網(wǎng)絡(luò)上就有一些工具能通過dex來進(jìn)行反編譯出Android代碼。比如這個(gè):http://code.google.com/p/android-apkdb/
bin/HelloWorld.apk這個(gè)就是應(yīng)用的安裝包了(application package file)。一個(gè)apk文件內(nèi)包含被編譯的代碼文件(.dex文件),文件資源(res),assets,證書(certificates),和清單文件(manifest file)。APK是基于zip文件格式的。
bin/resources.ap_這個(gè)是所有資源文件的集合,實(shí)際上是zip格式。我們可以將它的后綴名修改,解壓可以看到里面的結(jié)構(gòu)是有mainfest,res等。
bin/dexedLibs對應(yīng)libs中引用的jar包
res這個(gè)目錄就是所有的資源文件了
res/drawable-Xdpi:這里存放的是對不同分辨率的資源
res/layout:存放布局資源,src中的onCreate方法就加載了這里面的activity_main資源
res/menu:手機(jī)的menu菜單
res/values:用來存放一些變量,參數(shù)等。
res/values-XX:對于不同設(shè)備或者不同的安卓版本會(huì)有不同的參數(shù)設(shè)置
- Android Studio使用教程(一):下載與安裝及創(chuàng)建HelloWorld項(xiàng)目
- Android開發(fā)自學(xué)筆記(一):Hello,world!
- Android學(xué)習(xí)筆記(一)環(huán)境安裝及第一個(gè)hello world
- Windows下React Native的Android環(huán)境部署及布局示例
- 圖解Windows環(huán)境下Android Studio安裝和使用教程
- Windows下獲取Android 源碼方法的詳解
- 安裝android開發(fā)環(huán)境原始版(windows版)
- android開發(fā)環(huán)境搭建詳解(eclipse + android sdk)
- Intellij IDEA + Android SDK + Genymotion Emulator打造最佳Android開發(fā)環(huán)境
- 利用adt-bundle輕松搭建Android開發(fā)環(huán)境與Hello world(Linux)
相關(guān)文章
代碼分析Android實(shí)現(xiàn)側(cè)滑菜單
現(xiàn)在app越來越注重用戶體驗(yàn),本文給大家分析android實(shí)現(xiàn)側(cè)滑菜單的代碼,代碼簡單易懂,感興趣的朋友一起看看吧2015-11-11Android利用startActivityForResult返回?cái)?shù)據(jù)到前一個(gè)Activity
這篇文章主要介紹了Android利用startActivityForResult返回?cái)?shù)據(jù)到前一個(gè)Activity,幫助大家更好的利用Android進(jìn)行開發(fā),感興趣的朋友可以了解下2021-01-01Android設(shè)置默認(rèn)鎖屏壁紙接口的方法
這篇文章主要介紹了Android默認(rèn)鎖屏壁紙接口的設(shè)置方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01Android中實(shí)現(xiàn)Webview頂部帶進(jìn)度條的方法
這篇文章主要介紹了Android中實(shí)現(xiàn)Webview頂部帶進(jìn)度條的方法,當(dāng)前很流行的一個(gè)效果,就是打開網(wǎng)頁時(shí)會(huì)在頂部顯示一個(gè)打開進(jìn)度條,需要的朋友可以參考下2015-01-01Android實(shí)現(xiàn)ListView分頁自動(dòng)加載數(shù)據(jù)的方法
這篇文章主要介紹了Android實(shí)現(xiàn)ListView分頁自動(dòng)加載數(shù)據(jù)的方法,涉及Android生成listview列表的相關(guān)技巧,需要的朋友可以參考下2015-12-12Android使用ViewPager實(shí)現(xiàn)無限滑動(dòng)效果
相信在大家開發(fā)Android的時(shí)候,我們常常用ViewPager來為自己的應(yīng)用創(chuàng)建廣告條幅,并且常常會(huì)遇到ViewPager無限滑動(dòng)這樣的需求。下面來一起看看吧。2016-09-09Flutter桌面開發(fā)windows插件開發(fā)
這篇文章主要為大家介紹了Flutter桌面開發(fā)windows插件開發(fā)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11Android三種雙屏異顯實(shí)現(xiàn)方法介紹
現(xiàn)在越來越多的Android設(shè)備有多個(gè)屏幕,雙屏異顯應(yīng)用場景最多的應(yīng)該就是類似于收銀平臺(tái)那種設(shè)備,在主屏上店員能夠?qū)c(diǎn)商品進(jìn)行選擇錄入,副屏則是展示給我們的賬單詳情,但是它只通過了一個(gè)軟件系統(tǒng)就實(shí)現(xiàn)了雙屏異顯這個(gè)功能,而Presentation正是這其中的關(guān)鍵2023-01-01Android實(shí)現(xiàn)循環(huán)輪播跑馬燈的效果
這篇文章主要介紹了為大家詳細(xì)介紹了如何通過Android實(shí)現(xiàn)循環(huán)輪播跑馬燈的效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-05-05Android實(shí)現(xiàn)圖片異步加載并緩存到本地
這篇文章主要介紹了Android實(shí)現(xiàn)圖片異步加載并緩存到本地的相關(guān)資料,需要的朋友可以參考下2016-02-02