如何自學 Android 的?

http://android.jobbole.com/83380/html

1. Java知識儲備

本知識點不作重點講解:
對於有基礎的同窗推薦看《Java編程思想》,鞏固基礎,查漏補全,瞭解並熟悉更多細節知識點。
對於沒有基礎的同窗推薦看一本Java基礎的書籍,看完後能夠繼續看《Java編程思想》提高本身。
對於自認爲時間很充裕,只要基礎學紮實就好的推薦看《瘋狂Java講義》,這本書真的很厚,可是講解的特別詳細。java

2. Android基礎學習

1. 基礎UI學習

對於這些基礎UI的使用API谷歌官網給出了很好的實例。對於上不了谷歌的同窗,能夠參考http://www.android-doc.com/reference/packages.htmlandroid

好比我要看Button如何使用:
在網站的右上角搜索欄裏面輸入「Button」,而後下面提示一些帶「Button」關鍵字的類,咱們點擊咱們想要查看的類就能夠看到這個類的基本使用方法及其API。
git

2. 四大組件學習

Activity的學習能夠參考這幾篇博文:
Activity生命週期
Activity的四種launchMode
Activity的task相關github

Service的學習能夠參考這篇博文:
Service徹底解析sql

BroadCastReceiver的學習能夠參考這篇博文:
BroadcastReceiver應用詳解數據庫

ContentProvider的學習能夠參考這幾篇博文:
ContentProvider之讀寫聯繫人
ContentProvider之讀寫短消息
建立及調用本身的ContentProvider編程

四大組件之間的紐帶Intent的學習能夠參考這篇博文:
Intent應用詳解segmentfault

注意:默認狀況下面Service是在主線程中運行的,默認狀況下面BroadCastReceiver是存活在Android系統中的,不隨着應用程序的關閉而消亡。api

3. 五大布局學習

五大布局的精簡使用介紹能夠參考下面幾篇博文:
LinearLayout、AbsoluteLayout
RelativeLayout、FrameLayout
TableLayout (一)
TableLayout (二)

五大布局詳細介紹使用能夠參考這篇博文:
Android系統五大布局詳解Layout

4. 友好交互學習

這幾個內容的學習能夠參考下面幾篇博文:
Android中的Menu(菜單)的三種類型菜單的學習
android ListView
Android Dialog用法
android Toast大全(五種情形)創建屬於你本身的Toast
Notification的幾種用法!
Android中PopupWindow的使用

5. 數據存儲

  • 內存存儲將數據存儲在內存中,讀取速度最快可是不能永久性存儲。
  • 文件存儲經過Java的IO流將數據以文件的形式存儲在磁盤上。
  • SharedPreferences以固定格式的xml文件的形式將數據存儲在磁盤上。
  • 數據庫存儲通常是指將數據存儲到Android自帶的sqlite數據庫中。
  • 網絡存儲是將數據傳到雲端進行存儲。(典型應用:網盤)

SharedPreferences和數據庫存儲能夠參考下面幾篇博文:
Android SharedPreferences的使用
android中的數據庫操做

6. 網絡訪問

  • HttpClient:是Apache提供的。
  • HttpURLConnection:是谷歌根據Java自帶的URLConnection改進的。
  • Socket:Socket是Java自帶的基於TCP/IP的通訊工具。
  • WebView:WebView是基於谷歌chromium內核的一個能夠做爲瀏覽器的視圖。

這幾個內容能夠參考下面幾篇博文:
Android HttpClient
Android_HttpURLConnection_Get和Post請求
基於android的Socket通訊
android WebView總結

關於HttpClient,HttpURLConnection部分也能夠參考郭霖的《第一行代碼》中的相關部分。

注意:Android從4.0開始後就不能再主線程中進行網絡操做。

7. 動畫講解

這幾個內容能夠參考下面幾篇博文:
詳解Android動畫之Frame Animation
詳解Android動畫之Tween Animation
Android 屬性動畫(Property Animation) 徹底解析 (上)
Android 屬性動畫(Property Animation) 徹底解析 (下)

8. 畫圖

9. 多媒體與照相機

這幾個內容能夠參考下面幾篇博文:
【Android筆記】MediaPlayer基本使用方式
Android Camera(一) 調用系統相機應用
Android Camera(二) Camera程序編寫

10. 高級UI學習

這幾個內容能夠參考下面幾篇博文:
Android Fragment徹底解析,關於碎片你所需知道的一切
有關ViewFlipper的使用及設置動畫效果的講解
Android ViewPager使用詳解
Android ActionBar徹底解析,使用官方推薦的最佳導航欄(上)
Android ActionBar徹底解析,使用官方推薦的最佳導航欄(下)
Android 自定義View (一)
Android 手把手教您自定義ViewGroup(一)

注意:使用Fragment的時候注意是用的是android.support.v4.app.Fragment仍是android.app.Fragment

11. 樣式開發

這幾個內容能夠參考下面幾篇博文:
Android樣式的開發:shape篇
Android樣式的開發:selector篇
Android樣式的開發:layer-list篇
Android樣式的開發:drawable彙總篇
Android樣式的開發:View Animation篇
Android樣式的開發:Property Animation篇
Android樣式的開發:Style篇

12. 多線程與通訊

13. 其它知識點

這幾個內容能夠參考下面幾篇博文:
android基本架構
Android資源文件 – 使用資源存儲字符串 顏色 尺寸 整型 布爾值 數組
Android Manifest.xml 結構詳解
Android GestureDetector手勢識別類
Android事件傳遞機制
Android 編程下 Touch 事件的分發和消費機制
Android事件分發機制實例驗證
Android Clipboard(複製/剪貼板)

14. 一些Android學習網站和博客

1. 三大Android最佳學習網站

網站名 說明 國內類似者
google 有問題上google 百度
StackOverFlow Stack Overflow是一個與程序相關的IT技術問答網站。 SegmentFault
github 代碼託管,能夠在上面找到不少有用源碼 開源中國碼雲

2. Android經常使用三大倉庫

常常咱們在github上面找到的項目不提供庫文件的下載,咱們又但願直接下載庫文件怎麼辦,看該項目上傳到什麼倉庫去了,而後到倉庫裏面去下載庫文件。

3. Android實用網站

網站名 說明
Android Weekly Android技術每週推介
Android開發技術週報 每週介紹Android開發新聞與新技術
Android Arsenal 不要重複造輪子,提供Android工具,庫和應用程序
Codota 代碼搜索
CodePath 國外著名培訓機構,提供大量Android學習優秀資源
Android Asset Studio Android圖標製做
乾貨集中營 天天分享Android優秀技術文章或者開源項目
開發技術前線 Android開發前沿技術介紹
http://www.android-doc.com/ Android官方API鏡像網站(同步API到19)
http://android.xsoftlab.net/ Android官方API鏡像網站(同步API到23)

4. Android優秀博客

相關文章
相關標籤/搜索