Android學習--安卓項目解析

    三月份,公司的iOS項目本身作上線以後有點時間可能給本身學習,也就開始了本身的安卓學習之路,其實在學以前也和一些同行交流過,問問他們最近都有一些什麼學習計劃,沒有誰建議去學安卓的,但後來本身想一想,本身仍是按本身的想法一步步的走吧,每個人都有本身的計劃、想法、不必定別人的就適合你,本身想一想以爲iOS的經驗確定能幫助本身學安卓,固然前提是你得懂基本的Java,其實學安卓這個過程也確定能幫助本身去鞏固或者更深刻的去理解iOS。恩...就這樣開始吧。linux

    本身的學習也是按照《第一行代碼 第二版》的學習總結的,剛開始的這些就當是一個一邊總結知識點,一邊學習的過程。固然每次總結以前,這部分的內容本身也確定是學的也差很少掌握了的。博客就當是本身又一次回顧的過程。android

    開發的工具就是AS(Android Studio),因爲本身主要也作iOS的,就用Mac系統。git

解析一個安卓項目windows

    將你的項目切換到Project結構模式下,圖中的兩個紅圈地方都可以切換,你會看到這樣一個項目的框架目錄結構:app

解析:框架

    一:.gradle 和 .idea 這兩個目錄下放置的都是AS本身生成的一些東西,咱們不須要編輯也不須要關心。ide

    二:app 這個文件的話主要的代碼資源全都在這裏,這個下面再分析。工具

    三:build 這裏咱們也不須要多關心,他主要是編譯時候生成的一些文件。佈局

    四:gradle ,這個我百度了一下,感受要深刻了解須要時間精力能力 如何通俗地理解gradle這個留這裏,等我感受差很少時間到的時候也會回過頭來再看的。單元測試

    五:gitigonore ,這個版本控制的坑我也會在後面的博客中補上,如今本身也不懂。

    六:build.gradle 項目全局的gradle構建腳本,一般是不用改的。這個後面也會再總結。

    七:gradle.properties 這個文件也是全局的gradle配置文件,在這裏配置的屬性將會影響到全部的gradle編譯腳本。

    八:gradlew 和 gradlew.bat 這兩個文件是用來在命令行界面中執行gradle命令的,其中gradlew是在linux和mac系統中使用的,gradlew.bat是在windows中使用的。

    九:local.properties 這個文件用於指定本機中Android SDk 的路徑,通常是自動生成的咱們不須要更改,但要是你本機的SDK路徑位置發生了變化,那就在這裏改新的路徑。

    十:setting.gradle 這個文件用於指定項目中全部引入的模塊,一般狀況下模塊的引入都是自動完成的,通常不須要咱們手動改。

詳解項目資源

    上面所說的當中,最重要的估計你們也都知道,就是app裏面的內容了。

      這一部分和上面重複的文件就不總結了,其實你們的功能都同樣,只不過位置不同的時候你所能控制的範圍就不同。下面總結的都是一些我本身以爲可能須要給本身提個醒的地方:

    一:就是androidTest這個文件,其實說實話在開發的過成中,你們都會習慣性的忽略這些測試功能,在iOS的項目中的單元測試和這個裏的測試的使用都是同樣的,我也是根據本身在iOS項目中的使用來理解這裏的測試的,這個其實很重要,一個好的iOS項目離不開單元測試!我相信安卓的也是如此。

    二:你全部的資源都是放在res這個文件裏面的,寶庫圖片、圖標、佈局文件、還有下面的values裏面的顏色屬性值,字符串等等。看了《第一行代碼》,我本身的理解,圖片文件你仍是放在drawable中,它也能夠像mipmap文件同樣你能夠去建立-xxhdpi等的文件,按照不一樣的尺寸要求放不一樣的圖片,項目圖標仍是放在mipmap文件中,就像iOS中的Assets.xcassets文件同樣,他仍是有專門的文件AppIcon文件來管理這Icon部分的東西,這樣顯得比較不凌亂,我比較喜歡,很討厭把Icon和其餘圖片混在一塊。

再說說這個AndroidMainifest.xml文件:

      打開這個文件能夠看到下面這段代碼:

      

    一:上面Android的label,icon這些屬性,就是修改應用的名稱和桌面Icon,不過要是在下面的activirty標籤中在使用這些屬性的話,最外層的也就失效了。在這裏你要注意的就是他們引用的文件的路徑,好比:label的@string/app_name.你就在values文件下面的string文件找到app_name這個屬性去修改,就能夠修改應用的名稱,其餘的都是相似的。

    二:接着下面的像.Normal_Activuty這些活動的引入是AS本身作的,你要是想添加屬性的話,就像.Dialog_Activity同樣,添加了一個theme屬性就在標籤裏面添加便可。

最後就是這兩個build.gradle文件:

    這個文件的話是項目的最外層有一個,app文件裏面有一個,我也是看着書大概瞭解了一下這兩個文件,把說明註釋全都加載了代碼裏面,直接上下面的代碼也能知道他們的一個大概,等後面摸透了這個Gradle以後,這部分的內容可能仍是的補充。

    最外層的 build.gradle文件:

下面是app裏面的build.gradle文件:

相關文章
相關標籤/搜索