《第一行代碼 Android 》學(xué)習記錄(一)

Android
第一行代碼 Android
  或許對大多數(shù)人來說喜庞,這本書有點老诀浪,基于Android4.X。
  但是對一些新手菜鳥(like I do)延都,這本書是一本入門必讀書雷猪。
  所以在此,記錄一下自己的學(xué)習過程晰房,每日一章求摇,Keep it up。

郭神CSDN博客
剛看到郭大神換了CSDN博客頭像殊者,恭喜郭大神步入婚姻殿堂与境。
祝:永結(jié)同心,百年好合猖吴!新婚愉快摔刁,甜甜蜜蜜!哈哈海蔽。共屈。。党窜。

本人第一次認認真真的寫B(tài)log拗引,如果有不足之處或者是寫錯寫漏的地方望指出。
轉(zhuǎn)載請注明出處:http://www.reibang.com/p/7ab25e095568

我揮舞著鍵盤和本子幌衣,發(fā)誓要把世界寫個明明白白矾削。

種一棵樹最好的時間是十年前,其次泼掠,就是現(xiàn)在怔软。


第一章 開始啟程,你的第一行Android代碼

  • Android 系統(tǒng)架構(gòu)

1.Linux內(nèi)核層(Linux kernel)

Android系統(tǒng)是基于Linux2.6內(nèi)核的择镇,這一層是為Android設(shè)備的各種硬件提供了底層的驅(qū)動挡逼。如:顯示驅(qū)動,音頻驅(qū)動腻豌,照相機驅(qū)動家坎,藍牙驅(qū)動,WiFi驅(qū)動吝梅,電源管理等虱疏。

2.系統(tǒng)運行庫層(Libraries)

這一層通過一些C/C++庫來為Android系統(tǒng)提供了主要的特性支持。
如:SQLite庫提供了數(shù)據(jù)庫的支持苏携,OpenGL|ES庫提供了3D繪圖的支持做瞪,WebKit庫提供了瀏覽器內(nèi)核的支持等。

這一層還有Android運行時庫(Android Runtime),它主要提供了一些核心庫装蓬,允許開發(fā)者中Java語言來編寫Android應(yīng)用著拭。另外,它包含了Dalvik虛擬機牍帚,Dalvik使得每個Android應(yīng)用都能運行在獨立的進程當中儡遮,默認內(nèi)存16MB。

3.應(yīng)用框架層(Application Framework)

主要提供了構(gòu)建應(yīng)用程序時可能用到的各種API暗赶。(所謂的源碼鄙币,就是這些API了吧!再往下Libraries和LinuxKernel的源碼蹂随,給我看我也看不懂J佟)

4.應(yīng)用層(Applications)

所有安裝在手機上的應(yīng)用程序都是屬于這一層,包括系統(tǒng)自帶的聯(lián)系人糙及,短信详幽,音樂等。還有你自己開發(fā)的應(yīng)用程序浸锨。


  • Android 已發(fā)布的版本(這個表格是我自己網(wǎng)上下載統(tǒng)計的唇聘,至2016年3月)

PlatForm Version API Level(版本等級) Version Code(版本代號)
Android 6.0 API 23 Marshmallow(棉花糖)
Android 5.1 API 22 Lollipop(棒棒糖)
Android 5.0 API 21 Lollipop(棒棒糖)
Android 4.4W API 20 KitKat(奇巧巧克力棒)
Android 4.4 API 19 KitKat(奇巧巧克力棒)
Android 4.3 API 18 Jelly Bean(果凍豆)
Android 4.2 API 17 Jelly Bean(果凍豆)
Android 4.1 API 16 Jelly Bean(果凍豆)
Android 4.0.3 - 4.0.4 API 15 Ice Cream Sandwich(冰激凌三明治)
Android 4.0 - 4.0.2 API 14 Ice Cream Sandwich(冰激凌三明治)
Android 3.2 API 13 Honeycomb(蜂巢)
Android 3.1 API 12 Honeycomb(蜂巢)
Android 3.0 API 11 Honeycomb(蜂巢)
Android 2.3.3-2.3.7 API 10 Gingerbread(姜餅)
Android 2.3 - 2.3.2 API 9 Gingerbread(姜餅)
Android 2.2 - 2.2.3 API 8 Froyo(凍酸奶)
Android 2.1 API 7 éclair(閃電泡芙、松餅柱搜、法式奶油夾心甜點)
Android 2.0.1 API 6 éclair(閃電泡芙迟郎、松餅、法式奶油夾心甜點)
Android 2.0 API 5 éclair(閃電泡芙聪蘸、松餅宪肖、法式奶油夾心甜點)
Android 1.6 API 4 Donut(甜甜圈)
Android 1.5 API 3 Cupcake(紙杯蛋糕)
Android 1.1 API 2 (Bender“發(fā)條機器人”) PetitFour((法)小蛋糕)
Android 1.0 API 1 (Astro“鐵臂阿童木”) 沒有開發(fā)代號

在這貼兩張圖,是2016年谷歌官方給出的占比分布圖


Android各個版本占比分布圖

Android各個版本占比分布表

然后有兩個數(shù)據(jù)是大家需要知道的:

  • Android 6.0 Marshmallow市場份額僅用一個月從0.7%漲到占比為1.2%健爬,增幅達到了0.5%控乾。
  • Android Lollipop的市場占比從34.1%下滑至32.6%。

就是說娜遵,你需要了解最新版本蜕衡,你需要時刻知道Android官網(wǎng)又干了什么。

手機市場2016年1月各個系統(tǒng)占比:


你要知道ios雖然現(xiàn)在比例不大设拟,但終究是在慢慢增長慨仿。因為中國人都有錢了,需要一個流暢的裝逼手機纳胧。(作為一個程序員镰吆,不能吊死一棵樹上!哈哈跑慕。万皿。。)


Android應(yīng)用開發(fā)特色(其實除了四大組建,別的都不算是特色吧O嗫堋)

1.四大組件
Android系統(tǒng)提供的四大組件分別是:

  • Activity(活動)
  • Service(服務(wù))
  • Broadcase Receiver(廣播接收器)
  • Content Provider(內(nèi)容提供者)

這是作為一個Android程序員必須要精通的東西慰于,哎,小鳥我也就Activity理解的比較好一些唤衫,別的都一塌糊涂。Keep it up绵脯。

2.豐富的系統(tǒng)控件
就是自定義控件或者組件佳励,需要對View有足夠的認識。我的短板呀G臁T叱小!

3.SQLite 數(shù)據(jù)庫
這部分也是我的短板悴侵,作為一個程序員瞧剖,數(shù)據(jù)庫不得知道好幾個?什么MYSQL可免,ORACLE抓于,SQL Server,還有這個輕量級的SQLite浇借。短板太多捉撮,這水全漏了。妇垢。巾遭。。

4.地理位置定位
手機最有特點的功能闯估。需要了解百度SDK,高德SDK,騰訊SDK等灼舍。

5.強大的多媒體
Linux內(nèi)核給了它那么多驅(qū)動,這些東西不是必須得有涨薪?

6.傳感器
這些算是手機廠商給提供的硬件和驅(qū)動吧骑素,我是這么理解的。

開發(fā)環(huán)境搭建(這部分就略過了)

Android主流開發(fā)環(huán)境(IDE)有Android Studio和 Eclipse


Android Studio
Eclipse

需要說一下的是:

  1. 谷歌已經(jīng)不在給Eclipse提供支持尤辱,就是說砂豌,以后可能所有Android程序員都要轉(zhuǎn)用谷歌親兒子Android Studio這款I(lǐng)DE來開發(fā)Android應(yīng)用。(這么牛逼一個公司光督,一直以插件ADT的形式混在別人的IDE中確實挺丟人阳距,哈哈。结借。筐摘。)
  2. Android Studio書中沒有介紹,不過網(wǎng)上還是有很多教程的,建議大家找最新的咖熟。還有對Gradle的理解要深入圃酵,我是就會用,還真是不太理解馍管。給Gradle的導(dǎo)包過程一個贊郭赐,一行代碼搞定!
  3. 這兩個IDE最終還是需要JAVA JDK的支持确沸,這個東西捌锭,必須得會!
面試中經(jīng)常問道的一個問題罗捎,Android目錄結(jié)構(gòu)的解析」矍現(xiàn)在大多數(shù)都是Eclipse目錄結(jié)構(gòu)的詳細解析,我這里就不寫Eclipse的了桨菜。

這里重點說一下Android Studio的目錄結(jié)構(gòu):

Android Studio提供了好幾種目錄結(jié)構(gòu)類型


我們常用到的是Project結(jié)構(gòu)類型Android結(jié)構(gòu)類型

  • Project結(jié)構(gòu)類型:


    Project結(jié)構(gòu)類型
  1. app/build/ app模塊build編譯輸出的目錄
  2. app/build.gradle app模塊的gradle編譯文件
  3. app/app.iml app模塊的配置文件
  4. app/proguard-rules.pro app模塊proguard文件
  5. build.gradle 項目的gradle編譯文件
  6. settings.gradle 定義項目包含哪些模塊
  7. gradlew 編譯腳本豁状,可以在命令行執(zhí)行打包
  8. local.properties 配置SDK/NDK
  9. MyApplication.iml 項目的配置文件
  10. External Libraries 項目依賴的Lib, 編譯時自動下載的
  • Android結(jié)構(gòu)類型:


    Android結(jié)構(gòu)類型
  1. app/manifests AndroidManifest.xml配置文件目錄
  2. app/java 源碼目錄
  3. app/res 資源文件目錄
  4. Gradle Scripts gradle編譯相關(guān)的腳本

以上Android Studio的目錄結(jié)構(gòu)原文


前行必備,掌握日志工具的使用(日志在Eclipse和Android Studio中都是比較重要的)

Android Studio中LogCat是在最底下Android Monitor欄中


Android Studio LogCat

LogCat需要知道的是怎么用它的過濾器倒得,過濾自己需要的日志泻红。

第一次寫技術(shù)博客,有不足之處屎暇,望大家多體諒(誰沒有過第一次俺星拧!是吧根悼,哈哈凶异。。)


Android 書單

  • 第一行代碼 Android
  • Android 編程權(quán)威指南
  • Android 4 高級編程(第三版)

我打算看完這三本書挤巡,并每章都寫筆記剩彬,發(fā)到博客上。如果有正在看的朋友矿卑,可以一起探討喉恋。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市母廷,隨后出現(xiàn)的幾起案子轻黑,更是在濱河造成了極大的恐慌,老刑警劉巖琴昆,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件氓鄙,死亡現(xiàn)場離奇詭異,居然都是意外死亡业舍,警方通過查閱死者的電腦和手機抖拦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門升酣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人态罪,你說我怎么就攤上這事噩茄。” “怎么了复颈?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵绩聘,是天一觀的道長。 經(jīng)常有香客問我券膀,道長君纫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任芹彬,我火速辦了婚禮,結(jié)果婚禮上叉庐,老公的妹妹穿的比我還像新娘舒帮。我一直安慰自己,他們只是感情好陡叠,可當我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布玩郊。 她就那樣靜靜地躺著,像睡著了一般枉阵。 火紅的嫁衣襯著肌膚如雪译红。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天兴溜,我揣著相機與錄音侦厚,去河邊找鬼。 笑死拙徽,一個胖子當著我的面吹牛刨沦,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播膘怕,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼想诅,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了岛心?” 一聲冷哼從身側(cè)響起来破,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎忘古,沒想到半個月后徘禁,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡存皂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年晌坤,在試婚紗的時候發(fā)現(xiàn)自己被綠了逢艘。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡骤菠,死狀恐怖它改,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情商乎,我是刑警寧澤央拖,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站鹉戚,受9級特大地震影響鲜戒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜抹凳,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一遏餐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧赢底,春花似錦失都、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至洽损,卻和暖如春庞溜,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背碑定。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工流码, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人不傅。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓旅掂,卻偏偏與公主長得像,于是被迫代替她去往敵國和親访娶。 傳聞我的和親對象是個殘疾皇子商虐,可洞房花燭夜當晚...
    茶點故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內(nèi)容