初學者必備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).提供在較慢的網絡下對圖片進行加載

總結:其實又做了一回詞條解釋的搬運工,將持續不斷更新。

發佈了74 篇原創文章 · 獲贊 42 · 訪問量 27萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章