Android學(xué)習(xí)之路
收到一些朋友的微博私信,說能不能給Android新手們一些指導(dǎo),我只能說指導(dǎo)談不上,畢竟我也很多東西正在學(xué)習(xí)中,與此同時(shí)一大學(xué)同學(xué)準(zhǔn)備轉(zhuǎn)行Android,可以說是從頭開始,那么我就姑且以一個(gè)過來人的身份給一些建議吧,只希望在學(xué)習(xí)的過程中能夠少走寫彎路吧。
硬件
電腦–推薦Mac
首先聲明我不是果粉,個(gè)人Windows,Linux,Mac OX系統(tǒng)均用過, 只能說Windows上面的開發(fā)工具簡(jiǎn)直難以恭維,尤其命令行超級(jí)難用,而Linux自己必須得花不少時(shí)間在折騰中,更是不適合新手了,Max OS是我認(rèn)為迄今為止最好用的系統(tǒng),沒有之一, 所以如果你不差錢的話,強(qiáng)烈建議入手一臺(tái)Mac,推薦Pro系列, 當(dāng)然它的價(jià)格確實(shí)比較昂貴,如果暫時(shí)入手有困難,推薦以后手頭寬裕的時(shí)候再入手吧,會(huì)帶給你質(zhì)的體驗(yàn)。(Google的工程師們都在用Mac,應(yīng)該比較有 說服力吧)
手機(jī)–推薦Nexus 5
做Android開發(fā)最難以忍受的就是那龜速的模擬器,強(qiáng)烈推薦入手我Google的Nexus系列,原生rom,性價(jià)比超高,有條件的推薦再入手 一臺(tái)小米或三星之類的,不是因?yàn)樗麄冇卸嗪糜?,而是因?yàn)槟壳笆袌?chǎng)上這兩個(gè)品牌的手機(jī)份額最大,實(shí)際開發(fā)中可能需要進(jìn)行適配與測(cè)試,總之你需要有臺(tái) Android手機(jī)。你可能還需要知道魅族手機(jī)有個(gè)SmartBar的東東,雖然我認(rèn)為確實(shí)很SB。最后你實(shí)在還是要用模擬器的話,那么姑且就給你推薦一 款比較快速的模擬器吧—-Genymotion, 具體的見我這篇博客一個(gè)強(qiáng)大的Android模擬器Genymotion
開發(fā)環(huán)境
Google幫你集成了一個(gè)完整的Android開發(fā)環(huán)境,包含一個(gè)定制的Eclipse + ADT plugin,以及最新的SDK及源碼
相比與Eclipse更推薦使用IDEA,以后可以無縫過渡到Android Studio
首先說明這個(gè)不適合新手們使用,但是你必須知道這是Google最新推出的Android開發(fā)工具,基于IDEA,編譯依賴Gradle,目前還沒有推出1.0的正式版,但是你依然可以業(yè)余項(xiàng)目熟悉了解下,因?yàn)檫@也許是Android開發(fā)工具的未來
翻墻
俗話說,不會(huì)翻墻的程序員不是好程序員,尤其最近Google各項(xiàng)服務(wù)被屏蔽,以上IDE的下載也就都需要翻墻,這里推薦一個(gè)靠譜的VPN吧,支持 多設(shè)備MAC, Windows, Android, iPhone等, 如果和小伙伴們一起合買的話每月只要幾塊錢,圈內(nèi)的朋友們都在用,如果你通過下面鏈接購(gòu)買的話,你和我的賬戶都會(huì)增加10元錢。
如果無論如何你都不想翻墻的話,這里github上可以直接下載以上Android開發(fā)工具
Google Android官方教程
Android Training Course in Chinese
Android基礎(chǔ)
上面可能是一個(gè)比較全面系統(tǒng)的培訓(xùn)教程,對(duì)于新手們可能對(duì)某些需要著重掌握的東西比較迷茫,于是整理下個(gè)人認(rèn)為新手們必須要掌握的知識(shí)點(diǎn),順便也會(huì)附帶相應(yīng)覺得不錯(cuò)的講解博客地址。
兩分鐘徹底讓你明白Android Activity生命周期(圖文)!
Activity實(shí)際開發(fā)中使用頻率最高,這個(gè)必須要理解
Android中的四大組件必須得知道,也是面試常問到的
ListView是所有控件中最常使用且對(duì)新手來說比較復(fù)雜的用法,各種Adapter的使用以及ListView的優(yōu)化都是必須掌握的
Android系統(tǒng)用于Activity的標(biāo)準(zhǔn)Intent
Intent解決了Android中四大組件的通訊,非常有用,這篇博客收集整理了系統(tǒng)的標(biāo)準(zhǔn)Intent
介紹一些Android屏幕適配的基礎(chǔ)
Android中的SQLite需要掌握,這篇博客很適合新手
3.0之后新加的Fragment,必須要掌握,目前使用的場(chǎng)景也是越來越普遍了
Android中級(jí)
Android的應(yīng)用程序的生命周期需要理解,面試也是經(jīng)常會(huì)被問的
View做為UI開發(fā)中最常用到的,必須要深入理解
Service作為Android四大組件之一,在每一個(gè)應(yīng)用程序中都扮演著非常重要的角色
目前比較常用比較流行的數(shù)據(jù)格式就是json了,這篇博客教你如何使用Google Gson庫來進(jìn)行json解析
Android開發(fā)中經(jīng)常會(huì)用到xml布局,那么布局優(yōu)化方面的知識(shí)更是需要掌握的了
Android中Intent傳遞對(duì)象的兩種方法(Serializable,Parcelable)
詳細(xì)講解了Android中Intent中如何傳遞對(duì)象
Android開發(fā)中異步操作是經(jīng)常使用的,必須理解掌握
Android異步操作的另一種方法
很早的一個(gè)小demo,教你如果做一個(gè)App的Loading動(dòng)畫
Android進(jìn)階
Google官方Android新的構(gòu)建系統(tǒng),可以很方便的管理依賴、編譯打包等
一系列的性能調(diào)優(yōu)教程,讓你的代碼以及App更暢通!
一個(gè)開源客戶端,教你使用Studio、Gradle以及一些流行的開源庫快速開發(fā)一個(gè)不錯(cuò)的Android客戶端
自己整理的一些Android開發(fā)資源,包括開發(fā)、工具、設(shè)計(jì)等,相信會(huì)對(duì)你有用的
Android設(shè)計(jì)
在開發(fā)一款A(yù)ndroid App之前,你需要了解下Android平臺(tái)的設(shè)計(jì)規(guī)范,這里有一系列關(guān)于Android Design的講解以及Google最新推出的Material Design中文翻譯版
Android兼容庫
在了解了設(shè)計(jì)規(guī)范準(zhǔn)備著手開發(fā)你的App時(shí),你還需要考慮你的App支持的版本,如果是全新的App,從目前的市場(chǎng)份額來看,建議直接支持 4.0+,雖然2.3的份額仍然有一部分,但是這部分真正用來使用App的人又能有多少呢。當(dāng)然如果你的公司必須要求支持2.x的版本,那么也不用擔(dān)心, 下面整理了幾個(gè)滿足你適配的一些兼容庫:
大神JakeWharton的一個(gè)ActionBar的兼容庫,支持在2.x版本使用ActionBar
在這之前使用ActionBar基本都會(huì)使用上述JakeWharton的兼容庫,但是目前Google有了自己的一套ActionBar兼容庫,推薦使用ActionBar Compact,具體介紹及使用方法詳見我的這篇博客
Android 3.0之前開放的一些新的動(dòng)畫api–Property Animation,大神JakeWharton的又一大作,可以讓你在2.x版本的sdk可以使用屬性動(dòng)畫.
如果需要兼容2.x的版本,在使用如下類的時(shí)候你需要使用v4包下的,如Fragment, FragmentManager, FragmentActivity, FragmentPagerAdapter, CursorLoader, LoaderManager, AsyncTaskLoader
當(dāng)然v4包下面除了以上還有一些新的控件你必須知道
在這之前在Android上實(shí)現(xiàn)一個(gè)抽屜導(dǎo)航你可能會(huì)用到SlidingMenu開源庫,如今你可以使用官方的DrawerLayout控件很容易實(shí)現(xiàn)
SlidingPaneLayout是V4包中新添加的組件,可以實(shí)現(xiàn)兩列面板的切換, 具體使用與效果見博客鏈接
SwipeRefreshLayout是Google在support v4 19.1版本的library更新的一個(gè)下拉刷新組件,使用起來很方便,可以很方便的實(shí)現(xiàn)Google Now的效果
Android開發(fā)必知的一些開源庫
說到開源庫就不得不提GitHub,只能說是目前最活躍的開源社區(qū),不知道的趕緊去注冊(cè)個(gè)賬號(hào)使用起來,絕對(duì)是你快速提升技術(shù)的利器。
Volley
App開發(fā)中免不了要和服務(wù)端進(jìn)行交互,而volley是Google官方推出的一個(gè)開源的網(wǎng)絡(luò)通信庫,它能使網(wǎng)絡(luò)通信更簡(jiǎn)單,更快速。
ActiveAndroid
ActiveAndroid算是一個(gè)輕量級(jí)的ORM(對(duì)象關(guān)系映射(Object Relation Mapping))框架,簡(jiǎn)單地通過如save()和delete()等方法來做到增刪改查等操作。
ActiveAndroid–Android輕量級(jí)ORM框架
Retrofit
Retrofit和Java領(lǐng)域的ORM概念類似, ORM把結(jié)構(gòu)化數(shù)據(jù)轉(zhuǎn)換為Java對(duì)象,而Retrofit 把REST API返回的數(shù)據(jù)轉(zhuǎn)化為Java對(duì)象方便操作。同時(shí)還封裝了網(wǎng)絡(luò)代碼的調(diào)用。
Retrofit – Java(Android) 的REST 接口封裝類庫
Android-Universal-Image-Loader
Android-Universal-Image-Loader是一個(gè)強(qiáng)大的開源圖片異步加載庫,該項(xiàng)目的目的是提供一個(gè)可重復(fù)使用的儀器為異步圖像加載,緩存和顯示。
Android-Universal-Image-Loader
Android開源項(xiàng)目分類匯總
非常全面的GitHub開源項(xiàng)目匯總,不需要重復(fù)發(fā)明輪子,盡情遨游在開源世界里吧
本文鏈接:http://stormzhang.github.io/android/2014/07/07/learn-android-from-rookie/