Android第三方框架彙總
阿新 • • 發佈:2018-11-30
1、Volley
專案地址 https://github.com/smanikandan14/Volley-demo
(1) JSON,影象等的非同步下載;
(2) 網路請求的排序(scheduling)
(3) 網路請求的優先順序處理
(4) 快取
(5) 多級別取消請求
專案地址:https://github.com/loopj/android-async-http
文件介紹:http://loopj.com/android-async-http/
(1) 在匿名回撥中處理請求結果
(2) 在UI執行緒外進行http請求
(3) 檔案斷點上傳
(4) 智慧重試
(5) 預設gzip壓縮
(6) 支援解析成Json格式
專案地址:https://github.com/yangfuhai/afinal
主要有四大模組:
(1) 資料庫模組:android中的orm框架,使用了執行緒池對sqlite進行操作。
(2) 註解模組:android中的ioc框架,完全註解方式就可以進行UI繫結和事件繫結。無需findViewById和setClickListener等。
(3) 網路模組:通過httpclient進行封裝http資料請求,支援ajax方式載入,支援下載、上傳檔案功能。
(4) 圖片快取模組:通過FinalBitmap,imageview載入bitmap的時候無需考慮bitmap載入過程中出現的oom和android容器快速滑動時候出現的圖片錯位等現象。
FinalBitmap可以配置執行緒載入執行緒數量,快取大小,快取路徑,載入顯示動畫等。FinalBitmap的記憶體管理使用lru演算法,
沒有使用弱引用(android2.3以後google已經不建議使用弱引用,android2.3後強行回收軟引用和弱引用,詳情檢視android官方文件),
更好的管理bitmap記憶體。FinalBitmap可以自定義下載器,用來擴充套件其他協議顯示網路圖片,比如ftp等。同時可以自定義bitmap顯示器,
專案地址:https://github.com/wyouflf/xUtils
主要有四大模組:
(1) 資料庫模組:android中的orm框架,一行程式碼就可以進行增刪改查;
支援事務,預設關閉;
可通過註解自定義表名,列名,外來鍵,唯一性約束,NOT NULL約束,CHECK約束等(需要混淆的時候請註解表名和列名);
支援繫結外來鍵,儲存實體時外來鍵關聯實體自動儲存或更新;
自動載入外來鍵關聯實體,支援延時載入;
支援鏈式表達查詢,更直觀的查詢語義,參考下面的介紹或sample中的例子。
(2) 註解模組:android中的ioc框架,完全註解方式就可以進行UI,資源和事件繫結;
新的事件繫結方式,使用混淆工具混淆後仍可正常工作;
目前支援常用的20種事件繫結,參見ViewCommonEventListener類和包com.lidroid.xutils.view.annotation.event。
(3) 網路模組:支援同步,非同步方式的請求;
支援大檔案上傳,上傳大檔案不會oom;
支援GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT請求;
下載支援301/302重定向,支援設定是否根據Content-Disposition重新命名下載的檔案;
返回文字內容的請求(預設只啟用了GET請求)支援快取,可設定預設過期時間和針對當前請求的過期時間。
(4) 圖片快取模組:載入bitmap的時候無需考慮bitmap載入過程中出現的oom和android容器快速滑動時候出現的圖片錯位等現象;
支援載入網路圖片和本地圖片;
專案地址:https://github.com/white-cat/ThinkAndroid
主要有以下模組:
(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) 下載器模組:可以簡單的實現多執行緒下載、後臺下載、斷點續傳、對下載進行控制、如開始、暫停、刪除等等。
專案地址:https://github.com/gdpancheng/LoonAndroid
主要有以下模組:
(1) 自動注入框架(只需要繼承框架內的application既可)
(2) 圖片載入框架(多重快取,自動回收,最大限度保證記憶體的安全性)
(3) 網路請求模組(繼承了基本上現在所有的http請求)
(4) eventbus(整合一個開源的框架)
(5) 驗證框架(整合開源框架)
(6) json解析(支援解析成集合或者物件)
(7) 資料庫(不知道是哪位寫的 忘記了)
(8) 多執行緒斷點下載(自動判斷是否支援多執行緒,判斷是否是重定向)
(9) 自動更新模組
(10) 一系列工具類
7、KJFrameForAndroid
專案地址:http://git.oschina.net/kymjs/KJFrameForAndroid#git-readme
github專案地址:
https://github.com/kymjs/KJFrameForAndroid
備用專案地址:
http://git.oschina.net/kymjs/KJFrameForAndroid
KJFrameForAndroid 又叫KJLibrary,是一個android的orm 和 ioc 框架。同時封裝了android中的Bitmap與Http操作的框架,使其更加簡單易用;
KJFrameForAndroid的設計思想是通過封裝Android原生SDK中複雜的複雜操作而達到簡化Android應用級開發,最終實現快速而又安全的開發APP。我們提倡用最少的程式碼,完成最多的操作,用最高的效率,完成最複雜的功能。
xUtils是國內比較火的快速開發框架,但是它的註解機制不是太穩定而且註解可選也比較少,國外的一個框架主要專注於註解的開發,簡化Android程式碼編寫,它除了有依賴注入的特性以外,還集成了Ormlite,spring-android中的REST模板。使用起來非常方便,大大提高了開發效率。
1.下載AndroidAnnotations:
Git官網:https://github.com/excilys/androidannotations
專案中重要的兩個jar包分別是:androidannotations-api-3.0.1.jar和androidannotations-3.0.1.jar
2.新建一個android專案,然後將androidannotations-api-3.0.1.jar複製到libs目錄下,在專案的根目錄新建一個資料夾,命名為compile-libs,然後將androidannotations-3.0.1.jar複製到該目錄下
3.在你的工程上右鍵單擊,在彈出的選單中選擇"Properties",找到Java Compiler,確保Compiler compliance level設定為1.6,否則的話處理器將不起作用
4.然後設定專案屬性:右鍵->Properties->Java Compiler->Annotation Processing 在該頁面選中Enable project specific settings。
5.轉到Java Compiler 中的 Annotation Processing 下邊的 Factory Path,在此將androidannotations-3.0.1.jar新增到其中。
註解1:@ViewById 與findViewById功能相似,如果ViewById後沒有設定資源ID的話,就是自動查詢與變數名稱相同的id資源。
註解2:@Click 點選事件處理的註解。
註解3:@UiThread 後臺Ui執行緒的註解,省去了Handler等等。
註解4:@EActivity 提示Activity的註解,注意,該註解將Activity編譯成Activity_,注意,多一個下劃線“_”,因此在AndroidManifest.xml檔案中需要將其新增下滑線
註解5:@AfterViews 是指View類注入完畢之後執行的程式碼。
9、Rajawali
介紹:
安卓的OpenGL ES 2.0/3.0 引擎。可以用於製作普通應用或者動態桌布,當然也可以用於製作遊戲。
專案地址: https://github.com/Rajawali/Rajawali
10、RxAndroid
介紹:
RxAndroid是RxJava的一個針對Android平臺的擴充套件。它包含了一些能夠簡化Android開發的工具。
Paginize 是一個輕量級的UI框架,使用註解來注入佈局和view,除了使用註解之外,該框架還有兩個特色:1.用Page的概念來取代Fragment,2.切換page時自帶ios風格的動畫效果。
專案地址: https://github.com/neevek/Paginize
12、otto
介紹:
Otto 是square公司出的一個事件庫(pub/sub模式),用來簡化應用程式元件之間的通訊。 Otto 修改自Google的Guava庫,專門為Android平臺進行了優化。
專案地址: https://github.com/square/otto
13 、rebound
介紹:
rebound是facebook的開源動畫庫。可以認為這個動畫庫是獨立於android Framework之外的一種動畫實現。
專案地址: https://github.com/facebook/rebound
14、butterknife-view
注入工具
介紹:
為了減少頻繁的呼叫findViewById(R.id...),可以採用一些注入框架,可以簡化自己的程式碼,讓你更專注於實際的功能開發,butterknife就是這樣的一個框架,他是jakewharton大神的作品,值得一試。
class ExampleActivity extends Activity {
@InjectView(R.id.title) TextView title;
@InjectView(R.id.subtitle) TextView subtitle;
@InjectView(R.id.footer) TextView footer;
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.simple_activity);
ButterKnife.inject(this);
// TODO Use "injected" views...
}
}
部落格地址:
http://jakewharton.github.io/butterknife/
專案地址: https://github.com/JakeWharton/butterknife
15、cube-sdk
一淘推出的開發框架
介紹:
cube一個Android開發包, 可極大提高你的開發效率。主要提供了圖片載入以及網路請求方面的api功能。
專案地址: https://github.com/etao-open-source/cube-sdk
他們的網站:http://cube-sdk.liaohuqiu.net/cn/
16、ASimpleCache
一個簡單的快取框架
介紹:
ASimpleCache 是一個為android制定的 輕量級的 開源快取框架。輕量到只有一個java檔案(由十幾個類精簡而來)。 它可以快取什麼東西?普通的字串、JsonObject、JsonArray、Bitmap、Drawable、序列化的java物件,和 byte資料。
專案地址: https://github.com/yangfuhai/ASimpleCache
17、Event Bus
解耦android模組
介紹:
當一個Android應用功能越來越多的時候,保證應用的各個部分之間高效的通訊將變得越來越困難。如何優雅地解決這個問題?這時候,就需要使用到EventBus。 EventBus是GreenRobot出品的Android系統的一個Event Bus類庫,使用起來和之前我們所介紹的Square的Otto差不多,都是用來簡化應用元件之間的通訊。
專案地址: https://github.com/greenrobot/EventBus
18、BeeFramework_Android
介紹:
BeeFramework Android版主要為Android初級開發人員提供一個基於MVC開發模式的APP DEMO,並提供一套APP內除錯工具,包括 檢視網路資料請求歷史 Crash Log列表 真機WIFI環境下模擬2G\3G網路 檢視APP效能(記憶體佔用,CPU佔用等)
特效:
http://www.androidviews.net/
http://www.theultimateandroidlibrary.com/
https://github.com/novoda/ImageLoader 非同步載入圖片,快取,生成縮圖, 基本上每個應用都會需要這個lib。
android-query框架
https://github.com/chrisbanes/Android-PullToRefresh 類似新浪微博,twitter,下拉重新整理列表, 更牛的是還支援上拉載入更多。 不僅僅是ListView,而且GridView也支援。
https://github.com/jfeinstein10/SlidingMenu 和 https://github.com/dmitry-zaitsev/AndroidSideMenu 導航抽屜
https://github.com/SimonVT/android-menudrawer 導航抽屜
http://actionbarsherlock.com/ 與https://github.com/JakeWharton/ActionBarSherlock actionbar.
https://github.com/TonicArtos/StickyGridHeaders 與 https://github.com/emilsjolander/StickyListHeaders ListView導航特效
https://github.com/TheLevelUp/android-left-locked-gallery gallery抽獎效果
https://github.com/huewu/PinterestLikeAdapterView GridView錯位效果https://github.com/youxiachai/pinterest-like-adapter-view
https://github.com/47deg/android-swipelistview 實現了自定義ListView單元格,可通過滑動來顯示擴充套件面板。
https://github.com/siyamed/android-satellite-menu 有一連串的按鈕彈出
https://github.com/maurycyw/StaggeredGridView 交錯排列的GridView
https://github.com/dodola/android_waterfall https://github.com/youxilua/waterfall4android
https://github.com/dodola/WaterFallExt 瀑布流
https://github.com/daizhenjun/ImageFilterForAndroid 圖片處理效果
https://github.com/nostra13/Android-Universal-Image-Loader 非同步載入圖片,萬能圖片載入 ListView GridView ImagePage ImageGaller
例項:http://blog.csdn.NET/banketree/article/details/8004475
https://github.com/JakeWharton/Android-ViewPagerIndicator 有標題頁面滑動效果
https://github.com/pakerfeldt/android-viewflow ViewFlow圖片滑動
https://code.google.com/p/android-wheel/ 滾輪效果
http://www.apkbus.com/android-2-1.html
框架:
1 https://github.com/excilys/androidannotations 一個很好的快速開發的框架, 大量使用annotation來代替,類似於RoboGuice
2 ormlite sqlite的orm框架 /GreenDAO
3 漢字轉拼音 pinyin4j 與 hanziTopinyin
4 AACPlayer
5 GSON json框架 fastjson
6 Otto 是Android系統的一個Event Bus模式類庫。用來簡化應用元件間的通訊。
7 afinal框架是一個開源的android的orm和ioc應用開發框架
8 xUtils 源於Afinal框架 對Afinal進行了大量重構,使得xUtils支援大檔案上傳,更全面的http請求協議支援
9 dom4j XML解析器
10 VTD-XML 一種無提取的XML解析方法 http://my.oschina.net/u/1171837/blog/147544 下載
11 android XMPP推送 下載
12 jsoup網路爬蟲
13 acra 定製化Android crash上報庫及後臺系統
14 VLC 視訊聊天
15 SPydroid http://blog.csdn.net/xiaoliouc/article/details/8493161
專案篇:
Apollo音樂播放器:就一個播放器,但是實現的很好
oschina客戶端:oschina網站的客戶端哦,wp版,iOS版都有開源
xabber實時聊天工具(基於xmpp協議):不評價了,反正算是同類中比較好的了
四次元新浪微部落格戶端:今天才知道是開源的,趕緊收藏
Google IO:谷歌開發者大會應用,雖然有點難懂,還是很有參考價值(比如其中的圖片載入)
Android-Flip:可以實現類似FlipBoard那種華麗麗的翻頁
Drag-Sort-Listview:可以拖動item重新排序的listview,效果非常贊
HoloEveryWhere:咳咳,有些同學非常喜歡Android的holo風格,這個專案絕對讓你happy
Universal-ImageLoader:這個經典的非同步圖片載入,不多說了
JazzyViewPager:這玩意可以讓ViewPager翻起來更酷,誰用誰知道~~
SlidingMenu:這個是抽屜介面(就是facebook那種)的各種實現版本中,最好的,木有之一!
StickyListHeaders:iPhone上經常有這個,就是listview的……不知道怎麼解釋,自己下載看看吧
Android-PullToRefresh:下拉重新整理,挺常用的一個元件
StaggeredGridView:這是一個瀑布流佈局的實現,還不是很完善,但作為學習的案例或者在其基礎上擴充套件還是不錯的
android-async-http:android的非同步請求元件,我個人習慣使用asynctask,不過這個實現還是很優秀的,也推薦給大家
ActionBarSherlock:大家熟知的ActionBar在2.x上的相容性方案;類似的相容性元件還有許多,有時間為大家一一列出;
facebook-android-sdk:不止是一個SDK那麼簡單哦,比某浪和某人的SDK強幾個數量級;
NineOldAndroids:想在2.xSDK上使用Android 3.0新增的動畫API,那就是它了;沒用過的同學一定要試試哦,非常方便~
android-swipelistview:讓listview的item可以向右滑動,新版Gmail和Pocket裡面有用到哦~
DataDroid:Android的RESTful封裝,沒聽過RESTful?你去死吧
EventBus:和上面的DataDroid同樣屬於美化底層程式碼的,這個lib簡化了不同元件之間的事件傳遞
android-switch-backport:Android3.0以上才有的switch,有好心人給遷移到2.x上了,哈
PagerSlidingTabStrip:最新版的GooglePlay的那個tab效果,可炫可炫了
chromeview:我們都知道webview,也知道Android的chrome又自己的核心,這個專案就是把chrome的核心給匯出來做成一個chromeview了,大家可以在自己的專案裡用,有興趣的可以玩玩
picasso:來自square的圖片非同步載入,好像是最近才開源的,API風格很獨特
網站篇:
github:各種專案很多,就是不容易挖掘,但是開發者必備
oschina:曾經一般,現在越做越好了,很多開源專案;
eoeandroid:經過一番整理,現在非常強大;小作品居多;
AndroidViews:我曾經想做這麼一個網站來著,很多開源元件的集合
圖片模糊處理:StackBlur
PDF框架: IText MuPDF droidtext com/sun/pdfview com.lowagie.text(iText-2.1.7)
1.SlidingMenu
官網:https://github.com/jfeinstein10/SlidingMenu
網友使用:http://blog.csdn.net/yangyu20121224/article/details/9255829
2.android-async-http
下拉重新整理
https://github.com/chrisbanes/Android-PullToRefresh
https://github.com/wuxia2001/mylove
https://github.com/hackerzhou/Love
商城:https://github.com/GeekZooStudio/ECMobile_Android
android 伺服器Demo :https://github.com/NanoHttpd/nanohttpd
https://github.com/android-cjj
http://blog.csdn.net/dj0379/article/details/38356741
微信:https://github.com/motianhuo/wechat/tree/master/WeChat
awesome-android-ui https://github.com/wasabeef/awesome-android-ui
https://github.com/stormzhang/9GAG
漂亮的對話方塊: sweet-alert-dialog https://github.com/pedant/sweet-alert-dialog
Github上最火的開源專案:http://www.open-open.com/lib/view/open1388317199516.html
開源專案原始碼分析:http://www.codekk.com/open-source-project-analysis
下拉重新整理:http://blog.csdn.net/footballclub/article/details/46982115
點選按鈕水波紋擴散Demo:https://github.com/rey5137/material
http://www.aswifter.com/
開源控制元件庫檔案彙總:http://www.fresco-cn.org/
漂亮的UI庫全部整理(ps:這個是別人整理的,我只是幫助分享):https://github.com/wasabeef/awesome-android-ui
android 圖表相關的庫:https://github.com/lubeast/MPAndroidChart
AChartEngine(簡稱ACE)是Google的一個開源圖表庫(for Android)。它功能強大,支援散點圖、折線圖、餅圖、氣泡圖、柱狀圖、短棒圖、儀表圖等多種圖表。
該專案地址位於: http://code.google.com/p/achartengine/
開源的 Material Design 豆瓣客戶端(A Material Design app for douban.com)
https://github.com/DreaminginCodeZH/Douya
專案地址 https://github.com/smanikandan14/Volley-demo
(1) JSON,影象等的非同步下載;
(2) 網路請求的排序(scheduling)
(3) 網路請求的優先順序處理
(4) 快取
(5) 多級別取消請求
(6) 和Activity和生命週期的聯動(Activity結束時同時取消所有網路請求)
專案地址: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
專案地址:https://github.com/yangfuhai/afinal
主要有四大模組:
(1) 資料庫模組:android中的orm框架,使用了執行緒池對sqlite進行操作。
(2) 註解模組:android中的ioc框架,完全註解方式就可以進行UI繫結和事件繫結。無需findViewById和setClickListener等。
(3) 網路模組:通過httpclient進行封裝http資料請求,支援ajax方式載入,支援下載、上傳檔案功能。
(4) 圖片快取模組:通過FinalBitmap,imageview載入bitmap的時候無需考慮bitmap載入過程中出現的oom和android容器快速滑動時候出現的圖片錯位等現象。
FinalBitmap可以配置執行緒載入執行緒數量,快取大小,快取路徑,載入顯示動畫等。FinalBitmap的記憶體管理使用lru演算法,
沒有使用弱引用(android2.3以後google已經不建議使用弱引用,android2.3後強行回收軟引用和弱引用,詳情檢視android官方文件),
更好的管理bitmap記憶體。FinalBitmap可以自定義下載器,用來擴充套件其他協議顯示網路圖片,比如ftp等。同時可以自定義bitmap顯示器,
在imageview顯示圖片的時候播放動畫等(預設是漸變動畫顯示)。
專案地址:https://github.com/wyouflf/xUtils
主要有四大模組:
(1) 資料庫模組:android中的orm框架,一行程式碼就可以進行增刪改查;
支援事務,預設關閉;
可通過註解自定義表名,列名,外來鍵,唯一性約束,NOT NULL約束,CHECK約束等(需要混淆的時候請註解表名和列名);
支援繫結外來鍵,儲存實體時外來鍵關聯實體自動儲存或更新;
自動載入外來鍵關聯實體,支援延時載入;
支援鏈式表達查詢,更直觀的查詢語義,參考下面的介紹或sample中的例子。
(2) 註解模組:android中的ioc框架,完全註解方式就可以進行UI,資源和事件繫結;
新的事件繫結方式,使用混淆工具混淆後仍可正常工作;
目前支援常用的20種事件繫結,參見ViewCommonEventListener類和包com.lidroid.xutils.view.annotation.event。
(3) 網路模組:支援同步,非同步方式的請求;
支援大檔案上傳,上傳大檔案不會oom;
支援GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT請求;
下載支援301/302重定向,支援設定是否根據Content-Disposition重新命名下載的檔案;
返回文字內容的請求(預設只啟用了GET請求)支援快取,可設定預設過期時間和針對當前請求的過期時間。
(4) 圖片快取模組:載入bitmap的時候無需考慮bitmap載入過程中出現的oom和android容器快速滑動時候出現的圖片錯位等現象;
支援載入網路圖片和本地圖片;
記憶體管理使用lru演算法,更好的管理bitmap記憶體;
可配置執行緒載入執行緒數量,快取大小,快取路徑,載入顯示動畫等...
專案地址:https://github.com/white-cat/ThinkAndroid
主要有以下模組:
(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) 下載器模組:可以簡單的實現多執行緒下載、後臺下載、斷點續傳、對下載進行控制、如開始、暫停、刪除等等。
(10) 網路狀態檢測模組:當網路狀態改變時,對其進行檢
專案地址:https://github.com/gdpancheng/LoonAndroid
主要有以下模組:
(1) 自動注入框架(只需要繼承框架內的application既可)
(2) 圖片載入框架(多重快取,自動回收,最大限度保證記憶體的安全性)
(3) 網路請求模組(繼承了基本上現在所有的http請求)
(4) eventbus(整合一個開源的框架)
(5) 驗證框架(整合開源框架)
(6) json解析(支援解析成集合或者物件)
(7) 資料庫(不知道是哪位寫的 忘記了)
(8) 多執行緒斷點下載(自動判斷是否支援多執行緒,判斷是否是重定向)
(9) 自動更新模組
(10) 一系列工具類
7、KJFrameForAndroid
專案地址:http://git.oschina.net/kymjs/KJFrameForAndroid#git-readme
github專案地址:
https://github.com/kymjs/KJFrameForAndroid
備用專案地址:
http://git.oschina.net/kymjs/KJFrameForAndroid
KJFrameForAndroid 又叫KJLibrary,是一個android的orm 和 ioc 框架。同時封裝了android中的Bitmap與Http操作的框架,使其更加簡單易用;
KJFrameForAndroid的設計思想是通過封裝Android原生SDK中複雜的複雜操作而達到簡化Android應用級開發,最終實現快速而又安全的開發APP。我們提倡用最少的程式碼,完成最多的操作,用最高的效率,完成最複雜的功能。
同時,KJFrameForAndroid是免費的、開源的、簡易的、遵循Apache Licence 2.0開源協議釋出的android應用開發框架,總共分為五大模 塊:UILibrary,UtilsLibrary,HttpLibrary,BitmapLibrary,DBLibrary。
xUtils是國內比較火的快速開發框架,但是它的註解機制不是太穩定而且註解可選也比較少,國外的一個框架主要專注於註解的開發,簡化Android程式碼編寫,它除了有依賴注入的特性以外,還集成了Ormlite,spring-android中的REST模板。使用起來非常方便,大大提高了開發效率。
1.下載AndroidAnnotations:
Git官網:https://github.com/excilys/androidannotations
專案中重要的兩個jar包分別是:androidannotations-api-3.0.1.jar和androidannotations-3.0.1.jar
2.新建一個android專案,然後將androidannotations-api-3.0.1.jar複製到libs目錄下,在專案的根目錄新建一個資料夾,命名為compile-libs,然後將androidannotations-3.0.1.jar複製到該目錄下
3.在你的工程上右鍵單擊,在彈出的選單中選擇"Properties",找到Java Compiler,確保Compiler compliance level設定為1.6,否則的話處理器將不起作用
4.然後設定專案屬性:右鍵->Properties->Java Compiler->Annotation Processing 在該頁面選中Enable project specific settings。
5.轉到Java Compiler 中的 Annotation Processing 下邊的 Factory Path,在此將androidannotations-3.0.1.jar新增到其中。
註解1:@ViewById 與findViewById功能相似,如果ViewById後沒有設定資源ID的話,就是自動查詢與變數名稱相同的id資源。
註解2:@Click 點選事件處理的註解。
註解3:@UiThread 後臺Ui執行緒的註解,省去了Handler等等。
註解4:@EActivity 提示Activity的註解,注意,該註解將Activity編譯成Activity_,注意,多一個下劃線“_”,因此在AndroidManifest.xml檔案中需要將其新增下滑線
註解5:@AfterViews 是指View類注入完畢之後執行的程式碼。
9、Rajawali
介紹:
安卓的OpenGL ES 2.0/3.0 引擎。可以用於製作普通應用或者動態桌布,當然也可以用於製作遊戲。
專案地址: https://github.com/Rajawali/Rajawali
10、RxAndroid
介紹:
RxAndroid是RxJava的一個針對Android平臺的擴充套件。它包含了一些能夠簡化Android開發的工具。
專案地址: https://github.com/ReactiveX/RxAndroid
11、Paginize
介紹:Paginize 是一個輕量級的UI框架,使用註解來注入佈局和view,除了使用註解之外,該框架還有兩個特色:1.用Page的概念來取代Fragment,2.切換page時自帶ios風格的動畫效果。
專案地址: https://github.com/neevek/Paginize
12、otto
介紹:
Otto 是square公司出的一個事件庫(pub/sub模式),用來簡化應用程式元件之間的通訊。 Otto 修改自Google的Guava庫,專門為Android平臺進行了優化。
專案地址: https://github.com/square/otto
13 、rebound
介紹:
rebound是facebook的開源動畫庫。可以認為這個動畫庫是獨立於android Framework之外的一種動畫實現。
專案地址: https://github.com/facebook/rebound
14、butterknife-view
注入工具
介紹:
為了減少頻繁的呼叫findViewById(R.id...),可以採用一些注入框架,可以簡化自己的程式碼,讓你更專注於實際的功能開發,butterknife就是這樣的一個框架,他是jakewharton大神的作品,值得一試。
class ExampleActivity extends Activity {
@InjectView(R.id.title) TextView title;
@InjectView(R.id.subtitle) TextView subtitle;
@InjectView(R.id.footer) TextView footer;
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.simple_activity);
ButterKnife.inject(this);
// TODO Use "injected" views...
}
}
部落格地址:
http://jakewharton.github.io/butterknife/
專案地址: https://github.com/JakeWharton/butterknife
15、cube-sdk
一淘推出的開發框架
介紹:
cube一個Android開發包, 可極大提高你的開發效率。主要提供了圖片載入以及網路請求方面的api功能。
專案地址: https://github.com/etao-open-source/cube-sdk
他們的網站:http://cube-sdk.liaohuqiu.net/cn/
16、ASimpleCache
一個簡單的快取框架
介紹:
ASimpleCache 是一個為android制定的 輕量級的 開源快取框架。輕量到只有一個java檔案(由十幾個類精簡而來)。 它可以快取什麼東西?普通的字串、JsonObject、JsonArray、Bitmap、Drawable、序列化的java物件,和 byte資料。
專案地址: https://github.com/yangfuhai/ASimpleCache
17、Event Bus
解耦android模組
介紹:
當一個Android應用功能越來越多的時候,保證應用的各個部分之間高效的通訊將變得越來越困難。如何優雅地解決這個問題?這時候,就需要使用到EventBus。 EventBus是GreenRobot出品的Android系統的一個Event Bus類庫,使用起來和之前我們所介紹的Square的Otto差不多,都是用來簡化應用元件之間的通訊。
專案地址: https://github.com/greenrobot/EventBus
18、BeeFramework_Android
介紹:
BeeFramework Android版主要為Android初級開發人員提供一個基於MVC開發模式的APP DEMO,並提供一套APP內除錯工具,包括 檢視網路資料請求歷史 Crash Log列表 真機WIFI環境下模擬2G\3G網路 檢視APP效能(記憶體佔用,CPU佔用等)
專案地址: https://github.com/BeeFramework/BeeFramework_Android
特效:
http://www.androidviews.net/
http://www.theultimateandroidlibrary.com/
https://github.com/novoda/ImageLoader 非同步載入圖片,快取,生成縮圖, 基本上每個應用都會需要這個lib。
android-query框架
https://github.com/chrisbanes/Android-PullToRefresh 類似新浪微博,twitter,下拉重新整理列表, 更牛的是還支援上拉載入更多。 不僅僅是ListView,而且GridView也支援。
https://github.com/jfeinstein10/SlidingMenu 和 https://github.com/dmitry-zaitsev/AndroidSideMenu 導航抽屜
https://github.com/SimonVT/android-menudrawer 導航抽屜
http://actionbarsherlock.com/ 與https://github.com/JakeWharton/ActionBarSherlock actionbar.
https://github.com/TonicArtos/StickyGridHeaders 與 https://github.com/emilsjolander/StickyListHeaders ListView導航特效
https://github.com/TheLevelUp/android-left-locked-gallery gallery抽獎效果
https://github.com/huewu/PinterestLikeAdapterView GridView錯位效果https://github.com/youxiachai/pinterest-like-adapter-view
https://github.com/47deg/android-swipelistview 實現了自定義ListView單元格,可通過滑動來顯示擴充套件面板。
https://github.com/siyamed/android-satellite-menu 有一連串的按鈕彈出
https://github.com/maurycyw/StaggeredGridView 交錯排列的GridView
https://github.com/dodola/android_waterfall https://github.com/youxilua/waterfall4android
https://github.com/dodola/WaterFallExt 瀑布流
https://github.com/daizhenjun/ImageFilterForAndroid 圖片處理效果
https://github.com/nostra13/Android-Universal-Image-Loader 非同步載入圖片,萬能圖片載入 ListView GridView ImagePage ImageGaller
例項:http://blog.csdn.NET/banketree/article/details/8004475
https://github.com/JakeWharton/Android-ViewPagerIndicator 有標題頁面滑動效果
https://github.com/pakerfeldt/android-viewflow ViewFlow圖片滑動
https://code.google.com/p/android-wheel/ 滾輪效果
http://www.apkbus.com/android-2-1.html
框架:
1 https://github.com/excilys/androidannotations 一個很好的快速開發的框架, 大量使用annotation來代替,類似於RoboGuice
2 ormlite sqlite的orm框架 /GreenDAO
3 漢字轉拼音 pinyin4j 與 hanziTopinyin
4 AACPlayer
5 GSON json框架 fastjson
6 Otto 是Android系統的一個Event Bus模式類庫。用來簡化應用元件間的通訊。
7 afinal框架是一個開源的android的orm和ioc應用開發框架
8 xUtils 源於Afinal框架 對Afinal進行了大量重構,使得xUtils支援大檔案上傳,更全面的http請求協議支援
9 dom4j XML解析器
10 VTD-XML 一種無提取的XML解析方法 http://my.oschina.net/u/1171837/blog/147544 下載
11 android XMPP推送 下載
12 jsoup網路爬蟲
13 acra 定製化Android crash上報庫及後臺系統
14 VLC 視訊聊天
15 SPydroid http://blog.csdn.net/xiaoliouc/article/details/8493161
專案篇:
Apollo音樂播放器:就一個播放器,但是實現的很好
oschina客戶端:oschina網站的客戶端哦,wp版,iOS版都有開源
xabber實時聊天工具(基於xmpp協議):不評價了,反正算是同類中比較好的了
四次元新浪微部落格戶端:今天才知道是開源的,趕緊收藏
Google IO:谷歌開發者大會應用,雖然有點難懂,還是很有參考價值(比如其中的圖片載入)
eoe客戶端:eoe網站Android客戶端也開源咯
Android-Flip:可以實現類似FlipBoard那種華麗麗的翻頁
Drag-Sort-Listview:可以拖動item重新排序的listview,效果非常贊
HoloEveryWhere:咳咳,有些同學非常喜歡Android的holo風格,這個專案絕對讓你happy
Universal-ImageLoader:這個經典的非同步圖片載入,不多說了
JazzyViewPager:這玩意可以讓ViewPager翻起來更酷,誰用誰知道~~
SlidingMenu:這個是抽屜介面(就是facebook那種)的各種實現版本中,最好的,木有之一!
StickyListHeaders:iPhone上經常有這個,就是listview的……不知道怎麼解釋,自己下載看看吧
Android-PullToRefresh:下拉重新整理,挺常用的一個元件
StaggeredGridView:這是一個瀑布流佈局的實現,還不是很完善,但作為學習的案例或者在其基礎上擴充套件還是不錯的
android-async-http:android的非同步請求元件,我個人習慣使用asynctask,不過這個實現還是很優秀的,也推薦給大家
ActionBarSherlock:大家熟知的ActionBar在2.x上的相容性方案;類似的相容性元件還有許多,有時間為大家一一列出;
facebook-android-sdk:不止是一個SDK那麼簡單哦,比某浪和某人的SDK強幾個數量級;
NineOldAndroids:想在2.xSDK上使用Android 3.0新增的動畫API,那就是它了;沒用過的同學一定要試試哦,非常方便~
android-swipelistview:讓listview的item可以向右滑動,新版Gmail和Pocket裡面有用到哦~
DataDroid:Android的RESTful封裝,沒聽過RESTful?你去死吧
EventBus:和上面的DataDroid同樣屬於美化底層程式碼的,這個lib簡化了不同元件之間的事件傳遞
android-switch-backport:Android3.0以上才有的switch,有好心人給遷移到2.x上了,哈
PagerSlidingTabStrip:最新版的GooglePlay的那個tab效果,可炫可炫了
chromeview:我們都知道webview,也知道Android的chrome又自己的核心,這個專案就是把chrome的核心給匯出來做成一個chromeview了,大家可以在自己的專案裡用,有興趣的可以玩玩
picasso:來自square的圖片非同步載入,好像是最近才開源的,API風格很獨特
網站篇:
github:各種專案很多,就是不容易挖掘,但是開發者必備
oschina:曾經一般,現在越做越好了,很多開源專案;
eoeandroid:經過一番整理,現在非常強大;小作品居多;
AndroidViews:我曾經想做這麼一個網站來著,很多開源元件的集合
圖片模糊處理:StackBlur
PDF框架: IText MuPDF droidtext com/sun/pdfview com.lowagie.text(iText-2.1.7)
1.SlidingMenu
官網:https://github.com/jfeinstein10/SlidingMenu
網友使用:http://blog.csdn.net/yangyu20121224/article/details/9255829
2.android-async-http
https://github.com/loopj/android-async-http
3.PullToRefresh下拉重新整理
https://github.com/chrisbanes/Android-PullToRefresh
https://github.com/wuxia2001/mylove
https://github.com/hackerzhou/Love
商城:https://github.com/GeekZooStudio/ECMobile_Android
android 伺服器Demo :https://github.com/NanoHttpd/nanohttpd
https://github.com/android-cjj
http://blog.csdn.net/dj0379/article/details/38356741
微信:https://github.com/motianhuo/wechat/tree/master/WeChat
awesome-android-ui https://github.com/wasabeef/awesome-android-ui
https://github.com/stormzhang/9GAG
漂亮的對話方塊: sweet-alert-dialog https://github.com/pedant/sweet-alert-dialog
Github上最火的開源專案:http://www.open-open.com/lib/view/open1388317199516.html
開源專案原始碼分析:http://www.codekk.com/open-source-project-analysis
下拉重新整理:http://blog.csdn.net/footballclub/article/details/46982115
點選按鈕水波紋擴散Demo:https://github.com/rey5137/material
http://www.aswifter.com/
開源控制元件庫檔案彙總:http://www.fresco-cn.org/
漂亮的UI庫全部整理(ps:這個是別人整理的,我只是幫助分享):https://github.com/wasabeef/awesome-android-ui
android 圖表相關的庫:https://github.com/lubeast/MPAndroidChart
AChartEngine(簡稱ACE)是Google的一個開源圖表庫(for Android)。它功能強大,支援散點圖、折線圖、餅圖、氣泡圖、柱狀圖、短棒圖、儀表圖等多種圖表。
該專案地址位於: http://code.google.com/p/achartengine/
開源的 Material Design 豆瓣客戶端(A Material Design app for douban.com)
https://github.com/DreaminginCodeZH/Douya