android 網路訪問-圖片處理優…
本文為那些不錯的Android開源專案第二篇——開發工具庫篇,主要介紹常用的開發庫,包括依賴注入框架、圖片快取、網路相關、資料庫ORM建模、Android公共庫、Android 高版本向低版本相容、多媒體相關及其他。
Android開源專案系列彙總已完成,包括:
通過這些專案你可以大幅度減少不必要的開發而將精力放在更重要的地方。
一、依賴注入DI
通過依賴注入減少View、服務、資源簡化初始化,事件繫結等重複繁瑣工作
1. AndroidAnnotations(Code Diet)
android快速開發框架
專案地址:https://github.com/excilys/androidannotations
文件介紹:https://github.com/excilys/androidannotations/wiki
官方網站:http://androidannotations.org/
特點:(1)依賴注入:包括view,extras,系統服務,資源等等
(2)簡單的執行緒模型,通過annotation表示方法執行在ui執行緒還是後臺執行緒
(3)事件繫結:通過annotation表示view的響應事件,不用在寫內部類
(4)REST客戶端:定義客戶端介面,自動生成REST請求的實現
(5)沒有你想象的複雜:AndroidAnnotations只是在在編譯時生成相應子類
(6)不影響應用效能:僅50kb,在編譯時完成,不會對執行時有效能影響。
PS:與roboguice的比較:roboguice通過執行時讀取annotations進行反射,所以可能影響應用效能,而AndroidAnnotations在編譯時生成子類,所以對效能沒有影響
二、圖片快取
1. Android-Universal-Image-Loader 圖片快取
2. picasso square開源的圖片快取
專案地址:https://github.com/square/picasso
文件介紹:http://square.github.io/picasso/
特點:(1)可以自動檢測adapter的重用並取消之前的下載
(2)圖片變換
(3)可以載入本地資源
(4)可以設定佔位資源
(5)支援debug模式
三、網路相關
1. Asynchronous Http Client for Android
Android非同步Http請求
專案地址:https://github.com/loopj/android-async-http
文件介紹:http://loopj.com/android-async-http/
特點:(1) 在匿名回撥中處理請求結果
(2) 在UI執行緒外進行http請求
(3) 檔案斷點上傳
(4) 智慧重試
(5) 預設gzip壓縮
(6) 支援解析成Json格式
(7) 可將Cookies持久化到SharedPreferences
4. Ion 支援圖片、json、http post等非同步請求
五、Android公共庫
1. Guava Google的基於java1.6的類庫集合的擴充套件專案
2. Vitamio 是一款Android與iOS平臺上的全能多媒體開發框架
專案地址:https://github.com/yixia/VitamioBundle
網站介紹:http://www.vitamio.org/docs/
特點:(1) 全面支援硬體解碼與GPU渲染
(2) 能夠流暢播放720P甚至1080P高清MKV,FLV,MP4,MOV,TS,RMVB等常見格式的視訊
(3) 在Android與iOS上跨平臺支援 MMS, RTSP, RTMP,
HLS(m3u8)等常見的多種視訊流媒體協議,包括點播與直播。
八、其他
1. Salvage view 帶View快取的Viewpager
PagerAdapter,很方便使用
專案地址:https://github.com/JakeWharton/salvage
3. android-lockpattern Android的圖案密碼解鎖
6. Android Priority Job Queue Android後臺任務佇列
7. jsoup 一個解析html的java庫,可方便的提取和操作資料
專案地址:https://github.com/jhy/jsoup
官方網站:http://jsoup.org/
作用:(1) 從一個url、檔案或string獲得html並解析
(2) 利用dom遍歷或css選擇器查詢、提取資料
(3) 操作html元素
(4) 根據白名單去除用於提交的非法資料防止xss攻擊
(5) 輸出整齊的html