Android 開發框架匯總


 

Android 開發框架匯總

 

  時間過的真快,轉眼間就要進入到16年的8月了,現在應該是三伏期間,一個字“熱”。前端時間整理了一篇“JS前端框架匯總”,然后緊接着又抽時間學習了一下Android開發,在慕課網上學習了很多視頻,感覺收獲很大,有些事吧,得堅持,多了解些總不是什么壞事。有時候我也會抽時間去國家圖書館看看,書的種類也沒有限制,逮着啥看啥。

  今天以Android初學者的身份我也試着整理一下Android開發中常用到的一些框架,就當是學習成果,其實多半也是從網上搜的,然后做了一個匯總。那咱就開始吧:

  AndroidAnnotations

     描述:AndroidAnnotations是一個能夠讓你快速進行Android開發的開源框架,它能讓你專注於真正重要的地方。使代碼更加精簡,使項目更加容易維護,它的目標就是“Fast Android Development.Easy maintainance”。

     特點:相比原生的Android開發,確實能夠讓你少些很多代碼,它的首頁也給出了一個簡單的例子,通過例子也可以看到代碼比之前幾乎少寫了一半

     特性:(1).使用依賴注入(Dependency Injection)#本博接來下幾篇的文章將要介紹的開源組件都使用DI, 不熟悉的可以了解一下Inversion of Control(IoC)

     (2).簡化的線程模型(Simplified  threading model)  

     (3).事件綁定(Event binding)

     (4).REST Client

     (5).No Magic  [不知道為什么這樣稱呼,直譯過來就是:無魔法,它的意思是:AndroidAnnotations在編譯的時候會產生一個子類(接下來你會明白),你查看這個子類,可以看到它是如何工作的]

     官網:http://androidannotations.org/

   代碼地址:https://github.com/excilys/androidannotations/wiki

 

  二、Volley

  描述:Volley是 Google 推出的 Android 異步網絡請求框架和圖片加載框架。

  特性:(1). 擴展性強。Volley 中大多是基於接口的設計,可配置性強。
     (2). 一定程度符合 Http 規范,包括返回 ResponseCode(2xx、3xx、4xx、5xx)的處理,請求頭的處理,緩存機制的支持等。並支持重試及優先級定義。
     (3). 默認 Android2.3 及以上基於 HttpURLConnection,2.3 以下基於 HttpClient 實現,這兩者的區別及優劣在4.2.1 Volley中具體介紹。
     (4). 提供簡便的圖片加載工具。

 

  三、afinal框架

  描述:afinal是一個開源的android的orm和ioc應用開發框架,其特點是小巧靈活,代碼入侵量少。在android應用開發中,通過afinal的ioc框架,諸如ui綁定,事件綁定,通過注解可以自動綁定。通過afinal的orm框架,無需任何配置信息,一行代碼就可以對android的sqlite數據庫進行增刪改查操作。同時,afinal內嵌了finalHttp等簡單易用的工具,可以輕松的對http請求進行操作。

  組成:(1).FinalHttp:用於請求http數據,直接ajax方式請求,文件上傳, 斷點續傳下載文件等
     (2).FinalBitmap:用於顯示bitmap圖片,而無需考慮線程並發和oom等問題。
     (3).FinalActivity:完全可以通過注解方式綁定控件和事件,無需編寫代碼。
     (4).FinalDb:android中sqlite的orm框架,一行代碼搞定增刪改查。

  特點:設計簡單小巧靈活orm零配置,但可以配置,可以通過靈活的注解配置達到更加強大的功能數據庫查詢支持DbModel,可以輕松的進行各種復雜的查詢android的ui和事件綁定完全通過注解的方式,無需編寫一行代碼,http請求支持ajax方式請求,體積小(不到100KB),不依賴第三方jar包。

 

  四、xUtils框架

  描述:xUtils 包含了很多實用的android工具。xUtils 源於Afinal框架,對Afinal進行了大量重構,使得xUtils支持大文件上傳,更全面的http請求協議支持,擁有更加靈活的ORM,更多的事件注解支持且不受混淆影響。同時需要注意的是,xUitls最低兼容android 2.2 (api level 8) 

  組成:(1).ViewUtils:只需要一句注解,如@ViewInject、@OnClick,就能輕松擺脫小白似的代碼,大大的上了一個檔次。

     (2).HttpUtils:支持的HTTP七種請求方式,非常便捷的滿足你的接口請求的需要。同時還支持大文件上傳下載,以及同步異步請求。

     (3).BitmapUtils:你的程序因OOM強制關閉過嘛?你在為加在網絡圖片頭疼嘛?有了組件,你將永久擺脫前面的問題。

     (4).DbUtils:簡單易用又出色的ORM框架,真的是誰用誰知道,直接輕松存儲各種對象到sqlite數據庫中,同時也能非常方便的進行各種條件查詢,甚至分頁查詢,還有對表中數據的更新刪除等操作,真正的實現。一行代碼就可以進行增刪改查。並且可通過注解自定義表名,列名,外鍵,唯一性約束,NOT NULL約束,CHECK約束等,支持事務。

 

  五、UniversalImageLoader框架

  描述:我們在開發APP的時候肯定遇到加載圖片的需求尤其是列表需要加載大量圖片的時候,那么我們勢必需要進行下載圖片並且進行顯示。但是由於內存等各方面的問題多多少少會遇到一些問題;例如:列表加載圖片,圖片錯亂分布啦。

  特性:(1).多線程下載圖片,圖片可以來源於網絡,文件系統,項目文件夾assets中以及drawable中等

     (2).支持隨意的配置ImageLoader,例如線程池,圖片下載器,內存緩存策略,硬盤緩存策略,圖片顯示選項以及其他的一些配置

     (3).支持圖片的內存緩存,文件系統緩存或者SD卡緩存

       (4).支持圖片下載過程的監聽

     (5).根據控件(ImageView)的大小對Bitmap進行裁剪,減少Bitmap占用過多的內存

     (6).較好的控制圖片的加載過程,例如暫停圖片加載,重新開始加載圖片,一般使用在ListView,GridView中,滑動過程中暫停加載圖片,停止滑動的時候去加載圖片

     (7).提供在較慢的網絡下對圖片進行加載

 

 

總結:其實又做了一回詞條解釋的搬運工,將持續不斷更新。好了,就寫的這里,我是Jerry百


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM