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è)就對(duì)應(yīng)于gen/R中的

activity_main等號(hào)后面的是資源描述符。
這里正好可以看一下R這個(gè)類
gen/R.javaR中的每個(gè)類都對(duì)應(yīng)res中的一個(gè)資源,
比如layout對(duì)應(yīng)res/layout
drawable對(duì)應(yīng)res/drawable-XXdpi
所以上文中的R.layout.activity_main對(duì)應(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對(duì)應(yīng)libs中引用的jar包
res這個(gè)目錄就是所有的資源文件了

res/drawable-Xdpi:這里存放的是對(duì)不同分辨率的資源
res/layout:存放布局資源,src中的onCreate方法就加載了這里面的activity_main資源
res/menu:手機(jī)的menu菜單
res/values:用來存放一些變量,參數(shù)等。
res/values-XX:對(duì)于不同設(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 Studio通過Artifactory搭建本地倉庫優(yōu)化編譯速度的方法
這篇文章主要介紹了Android Studio通過Artifactory搭建本地倉庫優(yōu)化編譯速度的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
Android使用MediaRecorder類進(jìn)行錄制視頻
這篇文章主要介紹了Android使用MediaRecorder類進(jìn)行錄制視頻的相關(guān)資料,需要的朋友可以參考下2015-10-10
Android實(shí)現(xiàn)掃一掃識(shí)別數(shù)字功能
這篇文章主要介紹了Android實(shí)現(xiàn)掃一掃識(shí)別數(shù)字功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-09-09
Android實(shí)現(xiàn)小米相機(jī)底部滑動(dòng)指示器
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)小米相機(jī)底部滑動(dòng)指示器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04
android TextView 設(shè)置和取消刪除線的兩種方法
這篇文章主要介紹了android TextView 設(shè)置和取消刪除線的兩種方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-03
Android實(shí)現(xiàn)多次閃退清除數(shù)據(jù)
這篇文章主要介紹了Android實(shí)現(xiàn)多次閃退清除數(shù)據(jù)的相關(guān)資料,感興趣的小伙伴們可以參考一下2016-04-04
Android中ScrollView嵌套GridView顯示不全解決方法
這篇文章主要介紹了Android中ScrollView嵌套GridView顯示不全解決方法的相關(guān)資料,需要的朋友可以參考下2017-04-04
Android實(shí)現(xiàn)背景圖滑動(dòng)變大松開回彈效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)背景圖滑動(dòng)變大松開回彈效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04
Android開發(fā)實(shí)現(xiàn)橫向列表GridView橫向滾動(dòng)的方法【附源碼下載】
這篇文章主要介紹了Android開發(fā)實(shí)現(xiàn)橫向列表GridView橫向滾動(dòng)的方法,結(jié)合實(shí)例形式分析了Android橫向列表GridView實(shí)現(xiàn)橫向滾動(dòng)的相關(guān)布局與功能實(shí)現(xiàn)技巧,并附帶源碼供讀者下載參考,需要的朋友可以參考下2018-01-01

