編輯:關於android開發
編程語言基石
Java:這是Android Application和Framework的語言支柱
C:Native 部分代碼使用C語言實現,包括JNI的Native Code
C++:Native很多代碼使用C++實現
JNI:包括Java Call Native Code 和 Native Call Java Code。 Android中經常出現Java 和 Native 代碼空間的切換
Assemble:除非你想學習Linux Kernel, Driver等Kernel Space的內容
GNU Make:Android設計了很好的Make 系統,基本了解一下Android的Make系統即可,依樣畫瓢。
PerL and other Script:Optional
通用知識面基石
XML:必要
OS Basic Concept:such as Process, Thread, RPC, IPC, etc
Linux OS/Programming Basic Concept:Such as Linux File/IPC/Thread/etc Mechanism and API:Android源碼中大量調用了Linux API。
Design Pattern: MVC/Factory Pattern/Observer Pattern/Etc: 必要: 對於理解Framework中很多組件的設計和使用有幫助
Data Base: SQL Query Language: 必要
Android特有重要機制基石
BinderIPC:包括Java和Native層,只有掌握了BinderIPC,才能在閱讀代碼時,當發生RPC調用時,能夠跨進程閱讀真正調用到的代碼
Looper/Handler/Etc:因為Android中封裝了Java的Thread機制,所以,只有掌握Android中新的Thread機制,才能在閱讀代碼中,清楚的了解當前代碼運行的線程。
專業領域基石
如網絡,圖像,安全等:Optional: 這部分和Android本身沒有關系,任何平台上涉及專業領域的內容,肯定必須要求閱讀者掌握相關領域的知識才能閱讀。所以,這部分僅僅針對有這方面需要的人。
閱讀代碼時時刻掌握Context(運行上下文)
由於Android中涉及了線程,進程,以及不同的代碼空間。所以,在閱讀代碼時,應該時刻關注以下幾點:
1. 時刻關注當前代碼運行的進程,線程(MainUI 線程,Binder線程,或者其他線程)以及代碼空間(Java,Native)
2. 時刻關注進程,線程,代碼空間的邊界, 如線程的創建/終止/切換, 進程的創建/終止/切換,Java代碼與Native代碼空間的切換
Android仿即刻首頁垂直滾動圖 Android仿即刻首頁垂直滾動圖 這個效果是在即刻app上看到,覺得很不錯,遂仿之。 先說下我的實現思路(以
【Android】以後改為在Win10下開發了,androidwin10分類:C#、Android、VS2015; 創建日期:2016-02-12 修改日期:2016-0
完整項目:木子記事本(原創,轉載請注明出處)。,轉載出處 一個較為完整的記事本App,記錄,存儲到數據庫,編輯,保存。 運行效果圖: Activity類:
可伸縮的textview。,伸縮textview.在一些應用中,比如騰訊的應用市場APP應用寶,關於某款應用的介紹文字,如果介紹文字過長,那麼不是全部展現出來,而是顯示三