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