Android開發相關簡便框架

一、Guava
Google的基於java1.6的類庫集合的擴展項目,包括collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O等等. 這些高質量的API可以使你的JAVA代碼更加優雅,更加簡潔.

功能模塊:


1. 基本工具 [Basic utilities]:讓使用Java語言變得更舒適

2. 集合[Collections]:Guava對JDK集合的擴展,這是Guava最成熟和爲人所知的部分

3. 緩存[Caches]:Guava Cache:本地緩存實現,支持多種緩存過期策略

4. 函數式風格[Functional idioms]:Guava的函數式支持可以顯著簡化代碼,但請謹慎使用它

5. 併發[Concurrency]:強大而簡單的抽象,讓編寫正確的併發代碼更簡單

6. 字符串處理[Strings]:非常有用的字符串工具,包括分割、連接、填充等操作

7. 原生類型[Primitives]:擴展 JDK 未提供的原生類型(如int、char)操作, 包括某些類型的無符號形式

8. 區間[Ranges]:可比較類型的區間API,包括連續和離散類型

9. I/O:簡化I/O尤其是I/O流和文件的操作,針對Java5和6版本

10. 散列[Hash]:提供比Object.hashCode()更復雜的散列實現,並提供布魯姆過濾器的實現

11. 事件總線[EventBus]:發佈-訂閱模式的組件通信,但組件不需要顯式地註冊到其他組件中

12. 數學運算[Math]:優化的、充分測試的數學工具類

13. 反射[Reflection]:Guava 的 Java 反射機制工具類

優點:高效設計良好的API,使代碼簡潔,簡單。

項目地址:

https://code.google.com/p/guava-libraries/

文檔介紹:

https://code.google.com/p/guava-libraries/wiki/GuavaExplained

二、Volley
Google提供的網絡通信庫,能使網絡通信更快,更簡單,更健壯。

功能模塊:

1. JSON,圖像等的異步下載

2. 網絡請求的排序(scheduling)

3. 網絡請求的優先級處理

4. 緩存

5. 多級別取消請求

  1. 和Activity和生命週期的聯動(Activity結束時同時取消所有網絡請求)

優點:Volley特別適合數據量不大但是通信頻繁的場景。

項目地址:

https://android.googlesource.com/platform/frameworks/volley

Github地址:

https://github.com/mcxiaoke/android-volley

文檔地址:

http://commondatastorage.googleapis.com/io-2013/presentations/110%20-%20Volley-%20Easy,%20Fast%20Networking%20for%20Android.pdf

三、AndroidCommon
包含一組開發 Android 程序常用的庫,包括 ImageCache、DropDownListView、DownloadManager 和靜默安裝 APK 等等。

功能模塊:

1. 緩存(圖片緩存、預取緩存、網絡緩存)

2. 公共View(下拉及底部加載更多ListView、底部加載更多ScrollView、滑動一頁Gallery)

  1. Android常用工具類(網絡、下載、Android資源操作、shell、文件、Json、隨機數、Collection等等)

優點:Android項目的通用工具類的集合

Github地址:

https://github.com/Trinea/AndroidCommon

Demo地址:

https://play.google.com/store/apps/details?id=cn.trinea.android.demo

文檔介紹:

http://www.trinea.cn/android/android-common-lib/

四、xUtils
xUtils 包含了很多實用的android工具。最初源於Afinal框架,進行了大量重構,使得xUtils支持大文件上傳,更全面的http請求協議支持(10種謂詞),擁有更加靈活的ORM,更多的事件註解支持且不受混淆影響。

功能模塊:

1. DbUtils:android中的orm框架,一行代碼就可以進行增刪改查。

2. ViewUtils:android中的ioc框架,完全註解方式就可以進行UI,資源和事件綁定。

3. HttpUtils:多種方式的網絡請求,大文件的上傳。

  1. BitmapUtils:圖片緩存加載,無需考慮OOM

優點:支持大文件上傳,效率較高。

Github地址:

https://github.com/wyouflf/xUtils

五、Afinal

Afinal是一個android的ioc,orm框架,內置了四大模塊功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通過finalActivity,我們可以通過註解的方式進行綁定ui和事件。通過finalBitmap,我們可以方便的加載bitmap圖片,而無需考慮oom等問題。通過finalDB模塊,我們一行代碼就可以對android的sqlite數據庫進行增刪改查。通過FinalHttp模塊,我們可以以ajax形式請求http數據

功能模塊:

1. FinalHttp:用於請求http數據,直接ajax方式請求,文件上傳, 斷點續傳下載文件等

2. FinalBitmap:用於顯示bitmap圖片,而無需考慮線程併發和oom等問題。

3. FinalActivity:完全可以通過註解方式綁定控件和事件,無需編寫代碼。

  1. FinalDb:android中sqlite的orm框架,一行代碼搞定增刪改查。

優點:功能比較全面,文檔完善,代碼效率比較高。

Github地址:

https://github.com/yangfuhai/afinal

官方網站:

http://www.afinal.org

六、ThinkAndroid
ThinkAndroid是一個免費的開源的、簡易的、遵循Apache2開源協議發佈的Android開發框架,其開發宗旨是簡單、快速的進行Android應用程序的開發,包含Android mvc、簡易sqlite orm、ioc模塊、封裝Android httpclitent的http模塊,具有快速構建文件緩存功能,無需考慮緩存文件的格式,都可以非常輕鬆的實現緩存,它還基於文件緩存模塊實現了圖片緩存功能,在android中加載的圖片的時候,對oom的問題,和對加載圖片錯位的問題都輕易解決。他還包括了一個手機開發中經常應用的實用工具類,如日誌管理,配置文件管理,android下載器模塊,網絡切換檢測等等工具。

功能模塊:

1. MVC模塊:實現視圖與模型的分離。

2. ioc模塊:android中的ioc模塊,完全註解方式就可以進行UI綁定、res中的資源的讀取、以及對象的初始化。

3. 數據庫模塊:android中的orm框架,使用了線程池對sqlite進行操作。

4. http模塊:通過httpclient進行封裝http數據請求,支持異步及同步方式加載。

5. 緩存模塊:通過簡單的配置及設計可以很好的實現緩存,對緩存可以隨意的配置。

6. 圖片緩存模塊:imageview加載圖片的時候無需考慮圖片加載過程中出現的oom和android容器快速滑動時候出現的圖片錯位等現象。

7. 配置器模塊:可以對簡易的實現配對配置的操作,目前配置文件可以支持Preference、Properties對配置進行存取。

8. 日誌打印模塊:可以較快的輕易的是實現日誌打印,支持日誌打印的擴展,目前支持對sdcard寫入本地打印、以及控制檯打印。

9. 下載器模塊:可以簡單的實現多線程下載、後臺下載、斷點續傳、對下載進行控制、如開始、暫停、刪除等等。

  1. 網絡狀態檢測模塊:當網絡狀態改變時,對網絡狀態進行檢測。

優點:功能比較完善。

Github地址:

https://github.com/white-cat/ThinkAndroid

七、AndroidAnnotations
Android Annotations 是一個開源的框架,用於加速 Android 應用的開發,可以讓你把重點放在功能的實現上,簡化了代碼,提升了可維護性。

功能模塊:

1. 使用依賴注入(Dependency Injection)

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

3. 事件綁定(Event binding)

4. REST Client

  1. No Magic

優點:完全的註解,使開發起來更加便利,程序員寫的代碼也更少。

Github地址:

https://github.com/excilys/androidannotations

官方網站:

http://androidannotations.org/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章