閱讀手札:《:第一行代碼》(第一章)

《第一行代碼》作為Android開發(fā)入門的經(jīng)典書籍,是我們非常好的閱讀選擇,初學(xué)者可以迅速了解相關(guān)知識败许,老司機也可以溫故知新鞏固基礎(chǔ)黎泣。筆者使用該書的第二版绊含,也就是綠色封面的第一章節(jié)《開始啟程》作為筆者讀書文集筆記的第一篇。

第一章關(guān)鍵詞:

Android簡介屈尼,Android架構(gòu)册着,Android搭建快速開發(fā)環(huán)境,Android Studio了解鸿染,日志工具Log使用



Android簡介:

目前是世界上市場占有率最高的移動操作系統(tǒng)指蚜,單純從軟件開發(fā)而言,包含電商涨椒,音視頻摊鸡,直播绽媒,物流,閱讀免猾,小說是辕,SDK等研究領(lǐng)域;軟硬件領(lǐng)域涉及包含猎提,車載系統(tǒng)获三,穿戴設(shè)備等等

Android的架構(gòu)分為:

1:Linux內(nèi)核層:

為Android設(shè)備的各種硬件提供了底層的驅(qū)動,比如顯示驅(qū)動锨苏,音頻驅(qū)動疙教,藍(lán)牙驅(qū)動,Wi-Fi驅(qū)動等等

2:系統(tǒng)運行層:

通過C/C++(又是萬能的C)為Android系統(tǒng)提供主要的特性支持伞租。如Squlite庫提供了數(shù)據(jù)庫的支持贞谓,OpenGL|ES提供3D繪圖的支持,Webkit庫提供瀏覽器內(nèi)核支持等等葵诈,還有Android運行時庫裸弦,允許使用Java語言編寫Android應(yīng)用(現(xiàn)在支持使用Kotiln)等等

3:應(yīng)用框架層:

構(gòu)建應(yīng)用程序使用到的各種API,自帶的一些應(yīng)用就是使用這些API完成的

4:應(yīng)用層:

也就是自己編寫的apk作喘,短信程序理疙,游戲之類應(yīng)用的程序等


Android搭建快速開發(fā)環(huán)境:

1:由于現(xiàn)在開發(fā)人員大都使用Java語言來編寫Android開發(fā)程序(雖然Kotlin語言的出現(xiàn)打破了現(xiàn)在的格局,但是Java依舊占據(jù)著主導(dǎo)開發(fā)地位)所以泞坦,JDK窖贤,配置環(huán)境變量,基本的CMD命令行暇矫,Java語言基礎(chǔ)主之,等基本內(nèi)容還是需要自己花時間去掌握的

2:Android SDK择吊,就是谷歌為Android提供的開發(fā)工具包李根,在Android Studio中,這個可以自己按照喜好和開發(fā)過程中依據(jù)實際情況去下載(截至目前几睛,筆者使用的Android Studio版本是3.0房轿,SDK的最高版本是8.0)

3:IDE,也就是Android開發(fā)工具所森,Eclipse囱持,myEclispe,Android Studio,IDEA,筆者都用過,早期那可就是Eclipse的天下焕济,但是由于谷歌不在更新ADT纷妆,導(dǎo)致現(xiàn)在的Eclipse配置Android環(huán)境稍微麻煩一些(因為有些公司,研發(fā)團隊依舊使用Eclipse開發(fā))晴弃,當(dāng)然掩幢,筆者也自己配置好了Eclispe Adt(鏈接:http://pan.baidu.com/s/1cIwIlw ? 密碼:ah4m)直接解壓出來使用即可逊拍;MyEclispe就稍顯麻煩,首先你得破解凹柿凇(畢竟要收費芯丧,在大天朝免費才是最受歡迎的),破解之后得安裝ADT世曾,得缨恒,筆者也給大家準(zhǔn)備好了(有需要的私聊)那么,作為目前Android開發(fā)工具的主導(dǎo)轮听,Android Studio的使用那就是需要花時間掌握的骗露,最后談?wù)処dea,使用起來跟Android Studio一樣血巍,體驗極佳椒袍。


Android Studio初步了解:

安裝和配置需要自己去網(wǎng)上尋找,當(dāng)然筆者也準(zhǔn)備好了詳細(xì)的安裝文檔藻茂,快捷鍵文檔驹暑,安裝過程遇到的常見問題共計三份文檔(鏈接:http://pan.baidu.com/s/1miAAMog 密碼:0vgv)


跟之前Eclipse工程目錄結(jié)構(gòu)不一樣是,Android Studio(以下簡稱AS)使用了Gradle來構(gòu)建項目辨赐,它使用了一種基于Groovy 的領(lǐng)域特點語言來聲明項目配置优俘,我們直接先上AS下的整體項目結(jié)構(gòu)圖然后逐一分析


整體結(jié)構(gòu)圖

1: .gradle和 .idea 這兩個都是AS自動生成的一些文件,我們無需關(guān)心掀序,也不要去手動編輯


app目錄

2: ?app目錄下內(nèi)容挺多(見上圖)帆焕,我們逐個分析,build是編譯時生產(chǎn)的文件不恭,libs目錄主要是第三方j(luò)ar包叶雹,src 目錄下(包含Java,res, AndroidManifest.xml)就是編寫具體的代碼和資源文件换吧,配置清單文件等等折晦,具體的內(nèi)容大家可以自己去看看; .gitigone文件用于將app模塊內(nèi)的指定目錄或文件排除在版本控制之外沾瓦;app.iml,是IntelliJ IDEA項目自動生產(chǎn)的文件满着,我們不需要關(guān)心或修改這個文件;

build.gradle(藍(lán)色框)贯莺,這個包含APP的編譯SDK版本风喇,是否開啟混淆,導(dǎo)入第三方依賴等等缕探;.proguard-rules.pro魂莫,是用于指定項目的混淆規(guī)則

3: ?build,包含編譯時自動生成的文件 ; gradle目錄包含gradlewrapper的配置文件爹耗,使用gradle wrapper的方式不需要提前將gradle下載好 耙考;?.gitigone文件用于將app模塊內(nèi)的指定目錄或文件排除在版本控制之外秽誊;

4: ?build.gradle,這里是全局的gradle構(gòu)建腳本琳骡,引用 jcenter,mavenCentral 代碼托管倉庫锅论,申明插件的版本號,(這里的版本號就是2.2.3) 楣号,通常這個文件是不需要修改的 最易,如下圖,


項目的Gradle

5: ?gradle.properties,這里是全局的gradle配置文件炫狱,在這里配置的屬性將會影響到項目中所有的gradle編譯腳本藻懒;gradlew和gradlew.bat 這兩個文件用來在命令行界面執(zhí)行g(shù)radle命令的,其中g(shù)radlew是在Linux或Mac系統(tǒng)中使用视译,gradlew.bat是在Window系統(tǒng)中使用的嬉荆;app.iml 這個文件是所有IntelliJ IDEA項目中都會生成的一個文件,用于標(biāo)識這是一個IntelliJ IDEA項目酷含。我們不需要修改這里面的任何內(nèi)容鄙早;local.properties 這個文件主要是用于指定本機中的Android SDK路徑,通常內(nèi)容都是自動生成的椅亚,我們并不需要修改限番。settings.gradle,這個文件用于指定項目中所有引入的模塊呀舔,由于就只有一個app模塊弥虐,因此該文件也就只引用這一個模塊

拓展 ? .jks文件,就是簽名文件媚赖,給APK打簽名包需要使用到的(一定要保存好霜瘪,一定要保存好)


日志工具Log:

在AS中,我們使用強大的Log去打印日志惧磺,看應(yīng)用運行信息方便調(diào)試颖对,


LogCat過濾器

如上圖,這是AS自帶的日志過濾器:

show only selected application : 表示只顯示當(dāng)前選中程序的日志豺妓、

Filebase : 是谷歌提供的分析工具惜互,可以暫時不用理他布讹、

No Filters : 相當(dāng)于沒有過濾器琳拭,也就是會顯示所有的日志

Edit Filter Configuration : 會彈出過濾器配置界面(很實用的東西)

接下來,就是設(shè)置Log級別描验,依舊先上圖


Log級別

Verbose:這個是最低級別的日志白嘁,無論是什么操作,都會顯示出來

debug:只有使用debug及以上級別方法打印的日志才會顯示出來膘流,以此內(nèi)推絮缅,

那么鲁沥,對應(yīng)的代碼是 ?Log.d(參數(shù)一,參數(shù)二);

參數(shù)一:也就是關(guān)鍵字耕魄,圖上的紅色方框画恰,也就是對應(yīng)的關(guān)鍵字,

參數(shù)二:也就是我們想要獲取并打印在輸出臺上的日志吸奴,

比如我想獲取Post請求允扇,獲取響應(yīng)體的調(diào)試信息(這里假設(shè)使用Okhttp訪問網(wǎng)絡(luò)請求,日志關(guān)鍵字是 “okhttp”)那么则奥,就可以寫成這樣:

Log.d ( "okhttp " ," 響應(yīng)體:"+?response.body().String);


Ps:開發(fā)小技巧考润,在開發(fā)中,我們會經(jīng)常使用到日志读处,但是糊治,我們希望應(yīng)用上線的時候,所有的測試日志都不顯示罚舱。這個時候就有人說井辜,簡單,我一個個刪就行(這我就呵呵噠)管闷,首先抑胎,你一個個刪除日志,即花時間又花精力渐北,況且阿逃,假設(shè)項目上線后出了些問題,之前的調(diào)試日志是有輔助排錯的功能赃蛛,但是你已經(jīng)刪除了之前的日志恃锉,不得已你又得重來或者Debug。

解決辦法就是寫一個工具類呕臂,方便開發(fā)測試破托,上線維護,如下圖


Logger工具類

嗯歧蒋,簡單粗暴土砂,仔細(xì)明了。

好了谜洽,第一章就寫到這里萝映,如有錯誤,望糾正阐虚。

如果這篇文章對您有開發(fā)or學(xué)習(xí)上的些許幫助序臂,希望各位看官留下寶貴的star,謝謝实束。

Ps:著作權(quán)歸作者所有,轉(zhuǎn)載請注明作者, 商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)奥秆,非商業(yè)轉(zhuǎn)載請注明出處(開頭或結(jié)尾請?zhí)砑愚D(zhuǎn)載出處逊彭,添加原文url地址),文章請勿濫用,也希望大家尊重筆者的勞動成果

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市构订,隨后出現(xiàn)的幾起案子侮叮,更是在濱河造成了極大的恐慌,老刑警劉巖悼瘾,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件签赃,死亡現(xiàn)場離奇詭異,居然都是意外死亡分尸,警方通過查閱死者的電腦和手機锦聊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來箩绍,“玉大人孔庭,你說我怎么就攤上這事〔闹耄” “怎么了圆到?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長卑吭。 經(jīng)常有香客問我芽淡,道長,這世上最難降的妖魔是什么豆赏? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任挣菲,我火速辦了婚禮,結(jié)果婚禮上掷邦,老公的妹妹穿的比我還像新娘白胀。我一直安慰自己,他們只是感情好抚岗,可當(dāng)我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布或杠。 她就那樣靜靜地躺著,像睡著了一般宣蔚。 火紅的嫁衣襯著肌膚如雪向抢。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天胚委,我揣著相機與錄音挟鸠,去河邊找鬼。 笑死篷扩,一個胖子當(dāng)著我的面吹牛兄猩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播鉴未,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼枢冤,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了铜秆?” 一聲冷哼從身側(cè)響起淹真,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎连茧,沒想到半個月后核蘸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡啸驯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年客扎,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片罚斗。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡徙鱼,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出针姿,到底是詐尸還是另有隱情袱吆,我是刑警寧澤,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布距淫,位于F島的核電站绞绒,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏榕暇。R本人自食惡果不足惜蓬衡,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望彤枢。 院中可真熱鬧撤蟆,春花似錦、人聲如沸堂污。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽盟猖。三九已至讨衣,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間式镐,已是汗流浹背反镇。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留娘汞,地道東北人歹茶。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親惊豺。 傳聞我的和親對象是個殘疾皇子燎孟,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,044評論 2 355

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,167評論 25 707
  • afinalAfinal是一個android的ioc,orm框架 https://github.com/yangf...
    passiontim閱讀 15,434評論 2 45
  • 生命里有了你才是美好的尸昧, 一天中有了你才是開心的揩页, 明天能看見你才是期待的, 昨天遇見了你才是有回憶的烹俗, 一天天爆侣,...
    春天de菠菜閱讀 170評論 0 1
  • 說實話蕉鸳,古往今來乎赴,偵探破案式小說不知凡幾,但能形成一個獨立鮮明的人物形象置吓,令大家印象深刻的著實的不多无虚,甚至可以說是...
    競走的蝸牛閱讀 694評論 0 0
  • 每次寫簡書都是晚上睡覺前寫,一多半有點不太想寫衍锚,二也不知道從哪里開始寫友题,所以每次也是放到最后實在拖不下去了,才...
    如水2016閱讀 243評論 0 0