Android開發技術點
Android通用流行框架大全:
1.快取:DiskLruCache。 Java實現基於LRU的磁碟快取。
2.圖片載入:
Android Universal Image Loader。一個強大的載入,快取,展示圖片的庫。
Picasso。一個強大的圖片下載與快取的庫。
Fresco。一個用於管理影象和他們使用的記憶體的庫。
Glide。 一個圖片載入和快取的庫。
3.圖片處理。
Picasso-transformations。一個為Picasso提供多種圖片變換的庫。
Glide-transformations。一個為Glide提供多種圖片變換的庫。
Android-gpuimage。基於
4.網路請求。
Android Async HTTP。Android非同步HTTP庫。
AndroidAsync。非同步Socket,HTTP(客戶端+伺服器),WebSocket,和socket.io庫,基於NIO而不是執行緒。
OkHttp。一個Http與Http/2的客戶端。
Retrofit。型別安全的Http客戶端。
Volley。谷歌推出的Android非同步網路請求框架和圖片載入框架。
5.網路解析。
Gson。一個Java序列化/反序列化庫,可以將JSON和java物件互相轉換。
Jackson。Jackson可以輕鬆的將Java
Fastjson。Java上一個快速的JSON解析器/生成器。
HtmlPaser。一種用來解析單個獨立html或巢狀html的方式。
Jsoup。一個以最好的DOM,css和jquery解析html庫。
6.資料庫。
OrmLite。JDBC和Android的輕量級ORM java包。
Suger。用超級簡單的方法處理Android資料庫。
ActiveAndroid。以活動記錄方式為Android SQLite提供持久化。
7.依賴注入。
ButterKnife。將Android檢視和回撥方法繫結到欄位和方法上。
Dagger2。一個Android和java快速依賴注射器。
RoboGuice。Android平臺的Google Guice。
8.圖表。
MPAndroidChart。一個強大的Android圖表檢視/圖形庫。
9.後臺處理。
Tape。一個輕快的,事務性的,基於檔案的FIFO的庫。
Android Priority Job Queue。 一個專門為Android輕鬆排程任務的工作佇列。
10.事件匯流排。
EventBus。Android優化的事件匯流排,簡化了活動、片段、執行緒、服務等的通訊。
Otto。 一個基於Guava的增強的事件匯流排。
11.響應式程式設計。
RxJava。JVM上的響應式擴充套件。
RxAndroid。Android上的響應式擴充套件,在RxJava基礎上添加了Android執行緒排程。
RxBinding。提供用RxJava繫結的Android UI的API。
Agera。Android上的響應式程式設計。
12.Log框架。
Logger。簡單,漂亮,強大的Android日誌工具。
Timber。一個小的,可擴充套件的日誌工具。
13.測試框架。
Mockito。Java編寫的Mocking單元測試框架。
Robolectic。Android單元測試框架。
14.除錯框架。
Stetho。除錯Android應用的橋樑,使得可以利用Chrome開發者工具進行除錯。
15.效能優化。
LeakCanary。 記憶體洩露檢測工具。
ACRA。Android應用程式崩潰報告。
Java內容:
1. 多執行緒操作: 圖書:Java併發程式設計實戰、Java程式設計思想
(1) 執行緒生命週期:建立(new)、就緒(runnable)、執行(running)、阻塞(blocked)、死亡(dead)。
(2) 實現runnable介面和繼承thread的使用場景。
(3) 生命週期如何靈活運用。
(4) 控制執行緒。優先順序、後臺執行緒、執行緒休眠、執行緒讓步。
(5) 執行緒併發、執行緒池的使用、減少鎖的競爭、鎖機制及結構化併發應用程式。
2. JVM: 圖書:深入理解java虛擬機器
(1) 工作原理及特點,執行過程。
(2) JVM記憶體管理、GC模型、如何編寫GC友好的程式碼。
(3) 自動記憶體管理機制,Java記憶體區域與記憶體異常,Java堆溢位、虛擬機器棧和本地方法棧溢位。
(4) 垃圾收集器與記憶體分配策略,動態物件生命週期。
(5) 類載入機制,類載入器,Java執行緒排程。
3. 設計模式:
常用設計模式: 圖書:大話設計模式
(1) 工廠模式,設計思想及如何靈活運用。
(2) 單例模式,設計思想靈活運用。
(3) 代理模式,設計思想及靈活運用。
Android內容:
基礎知識:
(1) AndroidStudio安裝、執行第一個應用。
(2) 四大元件。
Activity:
生命週期、4種啟動模式、task相關。
Service:
生命週期及兩種啟動方式、本地服務和遠端服務、前臺服務和後臺服務、程序內與服務通訊。
Boardcastreceiver:
生命週期、特性、靜動註冊方式、普通及有序廣播。
ContentProvider:
Uri,ContentResolver、使用場景。
(3) 佈局檔案內容。
LinearLayout、RelativeLayout,佈局檔案巢狀。
(4) 友好互動學習。
Listview列表:
非同步和動態載入、快取與優化。
Dialog提示:
ProgressDialog:
自定義進度提示框、網路請求異常情況策略。
Notification:
通知型別、更新與移除通知、視覺風格。
(5) NDK:
JNI操作,執行及編譯過程,如何做到編譯安全。
(6) SDK:
SDK定義、如何開發並方便呼叫,安全因素有哪些。
(7) android基本架構:
系統執行庫:程式庫、執行庫及Linux核心操作。
(8) 資原始檔及manifest.xml結構內容:
資原始檔分類及儲存,許可權設定及系統許可權獲取。
(9) 多執行緒與通訊:
多執行緒啟動方式及訊息機制的熟練使用、執行緒池的管理與操作。
執行緒間通訊handle及asyncTask掌握。
程序間通訊aidl。
(10) 高階ui學習:
ViewGroup定義自己的View及ui展示,設定自定義ViewGroup。
Fragment碎片及ViewPager導航、ViewFlipper。
ActionBar定義選單及自定義選單。
(11) 網路訪問:
HttpURLConnection:熟練使用。
Socket通訊:熟練使用。