日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

2017年Android百大框架排行榜

發(fā)布時間:2023/12/20 Android 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2017年Android百大框架排行榜 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

>隨意轉(zhuǎn)載,標(biāo)注作者"金誠"即可

>本文已經(jīng)開源到Github上,歡迎各位共同編輯、參與到榜單的建設(shè)中來

>Github 地址

?

一.榜單介紹

?

排行榜包括四大類:

單一框架:僅提供路由、網(wǎng)絡(luò)層、UI層、通信層或其他單一功能的框架

混合開發(fā)框架:提供開發(fā)hybrid app、h5與webview結(jié)合能力、web app能力的框架

企業(yè)級開源項目:可以獨(dú)立運(yùn)行的app,有極高的學(xué)習(xí)價值、思路借鑒意義

書籍類開源項目:類似Open-sourc-project這樣的導(dǎo)航類項目;大型公司的Android課程的學(xué)習(xí)目錄?tips

?

榜單排序依據(jù):

1.項目開源

2.github上該項目的star個數(shù)

3.開發(fā)團(tuán)隊、作者的實(shí)力

?

為了保證榜單內(nèi)容的多樣性,榜單上盡可能的不重復(fù)同類型框架(比如多款listview增強(qiáng)框架)

?

適用讀者范圍:

  • 正在入門Android的新手~~~Android初級開發(fā)工程師 ?初出茅廬

  熟讀《書籍導(dǎo)航類項目排行榜》,勤加練習(xí)進(jìn)步會更大;編譯運(yùn)行并動腦思考《企業(yè)級開源項目》中的案例,可以提升開發(fā)完整項目的能力;;略讀《框架百大排行榜》,最大的作用是的是拓展視野,可以看到很多時下流行的名詞概念術(shù)語

  • Android初級開發(fā)工程師~~~中級開發(fā)工程師 ? ?知其然知其所以然

  熟練、快速、高效的默寫出《企業(yè)級開源項目》中的(自己感興趣)典型案例,對提高書寫代碼的自信,提升項目功能整體設(shè)計能力;深究《框架百大排行榜》排名靠前框架的原理,會讓自己在與家人、同事、同學(xué)聚會之時多了一些炫耀的資本;如果你能熟練運(yùn)用《框架百大排行榜》里所提到的框架,在遇到某種需求的時候,立刻會拿出“最優(yōu)秀的框架”去解決,意味著你離中級工程師不太遠(yuǎn)了

  • 中級、高級、資深工程師 ? 知其然知其不可然

   《框架百大排行榜》里所提到的流行詞、流行術(shù)語——使用能力、融會貫通其原理、講解框架能力的高低,將讓你不斷的在這三個級別徘徊;

   會有意識的合并榜單里多款同類型框架,來彌補(bǔ)單一框架的某些缺陷,比如將同為網(wǎng)絡(luò)請求框架的Volley和Okhttp封裝到一起應(yīng)對不同場面的需求;

   會有意識的二次開發(fā)、修改源碼來擴(kuò)展榜單所提到的大型框架;

   能夠在開發(fā)團(tuán)隊里推動、部署某些框架的能力——比如要在一個新加入的陌生團(tuán)隊說服leader和項目成員使用熱更新、插件化、組件化、hybrid 開發(fā)等多種開發(fā)模式,你是否有這個實(shí)力?

  

?

?框架名次越靠前,值得使用的優(yōu)先級就越高、研究原理得到的收獲會更多、對讀者啟發(fā)的價值就越大

?

?

二.百大框架排行榜?

?

快速索引

框架名稱  上榜關(guān)鍵字
1.Retrofit  網(wǎng)絡(luò)
2.okhttp網(wǎng)絡(luò)
3.Butter Knife代碼模板
4.MPAndroidChart圖表
5.glide圖片
6.leakcanary內(nèi)存
7.Android-Universal-Image-Loader圖片
8.EventBus?事件消息
9.zxing條碼掃描
10.picasso圖片
11.lottie-android動畫
12.fresco圖片
13.RxAndroid異步
14.SlidingMenu菜單
15.PhotoView圖片
16.material-dialogsUI
17.droid-async-http網(wǎng)絡(luò)
18.androidannotations注解
19.fastjsonjson
20.Material-Animations動畫
21.tinker熱修復(fù)
22.ViewPagerIndicatorUI
23.Android-CleanArchitecture架構(gòu)
24.Android-PullToRefresh刷新
25.flexbox-layoutUI
26.AndroidSwipeLayoutUI
27.realm-java數(shù)據(jù)庫
28.greenDAO數(shù)據(jù)
29.stetho調(diào)試
30.BaseRecyclerViewAdapterHelperUI
31.AndroidViewAnimations動畫
32.MaterialDrawer菜單
33.Android-ObservableScrollViewUI
34.CircleImageView圖片
35.logger調(diào)試
36.agera異步
37.BottmBar菜單
38.Calligraphy字體
39.AndroidSlidingUpPanelUI
40.AppIntroUI
41.recyclerview-animators動畫
42.dagger依賴注入
43.Android-BootstarpUI
44.RxBinding響應(yīng)式
45.ListViewAnimations動畫
46.UItimateRecyclerViewUI
47.uCrop圖片
48.RxJava-Android-Samples用例
49.AndroidAutoLayout適配
50.EffectiveAndroidUI性能
51.Luban圖片
52.DroidPlugin插件化
53.otto響應(yīng)式
54.u2020用例
55.buck構(gòu)建
56.PermissionsDispatcher權(quán)限
57.android-gif-drawableGIF
58.Apktool反編譯
59.dynamic-load-apk插件化
60.atlas插件化
61.volley網(wǎng)絡(luò)
62.androidmvp用例
63.SwipeBackLayout手勢
64.FlycoTabLayoutUI
65.android-testing測試
66.FileDownloader下載
67.JieCaoVideoPlayer多媒體
68.glide-transformations圖片
69.android-gpuimage圖片
70.RxPermissions權(quán)限
71.freeline編譯
72.RxLifecycle生命周期
73.classyshark反編譯
74.acra崩潰日志
75.DiskLruCache文件
76.dexposed熱修復(fù)
77.Litho性能
78.mosbyMVP
79.AndResGuard    混淆
80.StatusBarUtil狀態(tài)欄
81.robolectric測試
82.Fragmentation嵌套
83.Small插件化
84.JsBridgehybrid
85.richeditor-androidUI
86.Transitions-Everywhere動畫
87.android-viewbadger勛章
88.AndroidWiFiADB調(diào)試
89.emojicon表情包
90.packer-ng-plugin多渠道
91.android-priority-jobqueue多線程
92.Android-Debug-Database調(diào)試
93.conceal加密
94.ARouter頁面路由
95.MagicaSakura多主題
96.CustomActivityOnCrash崩潰
97.XhsEmoticonsKeyboard鍵盤

?

?

1. Retrofit  

一句話介紹:Retrofit是一款類型安全的網(wǎng)絡(luò)框架,基于HTTP協(xié)議,服務(wù)于Android和java語言

上榜理由:Retrofit以21.8k的stars量雄踞github中android子標(biāo)題榜首,第一當(dāng)之無愧。

官網(wǎng)地址?http://square.github.io/retrofit/

github ??https://github.com/square/retrofit

作者:square團(tuán)隊

使用:

compile 'com.squareup.retrofit2:retrofit:2.3.0'

?

2.okhttp

一句話介紹:okhttp是一款基于HTTP和HTTP2.0協(xié)議的網(wǎng)絡(luò)框架,服務(wù)于java和android客戶端

上榜理由,okhttp以20.4k的stars量雄踞github中android子標(biāo)題第二名。大型公司比如淘寶也封裝的是okhttp。Retrofit2.0開始內(nèi)置okhttp框架,Retrofit專注封裝接口完成業(yè)務(wù)需求,okhttp專注網(wǎng)絡(luò)請求的安全高效,筆者將兩者區(qū)分開,是想讓后來學(xué)習(xí)者知道,這是兩套框架,學(xué)習(xí)框架原理時可以分開學(xué)習(xí),以免理解混亂。

官網(wǎng)地址???http://square.github.io/okhttp/

github ? ?https://github.com/square/okhttp

作者:square團(tuán)隊

使用:

compile 'com.squareup.okhttp3:okhttp:3.8.0'

?

  

3.Butter Knife

一句話介紹:Butter Knife所提供了一種能力——使用注解生成模板代碼,將view與方法和參數(shù)綁定。

上榜理由:github上16.5K個star,配合Androidstudio提供的Butter Knife插件,幫助開發(fā)者省卻了頻繁findviewbyid的煩惱,最新的Butter Knife還提供了onclick綁定以及字符串的初始化,初學(xué)者可以查閱Butter Knife以及Butter Knife插件進(jìn)一步學(xué)習(xí)!

官網(wǎng)地址:http://jakewharton.github.io/butterknife/

github:https://github.com/JakeWharton/butterknife

作者:JakeWharton?,也是square團(tuán)隊成員之一

使用:

dependencies {compile 'com.jakewharton:butterknife:8.6.0'annotationProcessor 'com.jakewharton:butterknife-compiler:8.6.0' }

?

4.MPAndroidChart

一句話介紹:MPAndroidChart是一款圖表框架

上榜理由:github上16.1K個star,以快速、簡潔。強(qiáng)大著稱的圖表框架

官網(wǎng)地址?https://github.com/PhilJay/MPAndroidChart??

github ?https://github.com/PhilJay/MPAndroidChart

作者:PhilJay

使用:

1. 在AS中加入Gradle依賴

  • 在根目錄的?build.gradle上加入:
  • allprojects {repositories {maven { url "https://jitpack.io" }} }

    ?

  

  • 在app的build.gradle上加入:
  • dependencies {compile 'com.github.PhilJay:MPAndroidChart:v3.0.2' }

    ?

 

5. glide

一句話介紹:glide是一款專注于提供流暢劃動能力的“圖片加載和緩存框架”

上榜理由:15.9k個star,圖片加載類框架排名第一的框架,google 在2014開發(fā)者大會上演示的camera app就是基于gilde框架開發(fā)的

github?https://github.com/bumptech/glide

作者?Bump Technologies團(tuán)隊

使用:

repositories {mavenCentral() }

dependencies {
compile ‘com.github.bumptech.glide:glide:3.8.0’
compile ‘com.android.support:support-v4:19.1.0’
}

6.leakcanary

一句話介紹:一款內(nèi)存檢測框架,服務(wù)于java和android客戶端

上榜理由:方便,簡潔是leakcanary最大的特點(diǎn),只需在應(yīng)用的apllication中集成,就可以直接使用它;15.5k個star說明了它有多么受歡迎

github?https://github.com/square/leakcanary

作者 square團(tuán)隊

使用:

dependencies {debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.1'releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'}

在?Application?中寫入:

public class ExampleApplication extends Application {

@Override public void onCreate() {
super.onCreate();
if (LeakCanary.isInAnalyzerProcess(this)) {
// This process is dedicated to LeakCanary for heap analysis.
// You should not init your app in this process.
return;
}
LeakCanary.install(this);
// Normal app init code…
}
}

?

7.Android-Universal-Image-Loader

一句話介紹:曾經(jīng)的圖片加載框架王者,android開發(fā)老手都用過它

上榜理由:android端圖片加載框架的老大哥了,15.3k個star足以證明它的熱門,UIL與gilde最大區(qū)別是可定制,UIL提供了大量配置方式,圖片加載狀態(tài)的回調(diào)(成功,失敗,進(jìn)行中),加載動畫等;以及提供了移動端圖片加載框架的緩存思路:三級緩存策略 sd卡-內(nèi)存-網(wǎng)絡(luò);值得注意的是,UIL以及兩年未更新了,但筆者仍推薦各位使用!

github?https://github.com/nostra13/Android-Universal-Image-Loader

作者 nostra13

使用:

下載地址 ?universal-image-loader-1.9.5.jar

?

?

8.EventBus?

一句話介紹:EventBus是一款本地組件間通信框架

上榜理由:組件間通信框架star量第一:14.8k,在大型項目的Activities,fragments,Threads,Services都可以看到它的使用場景,盡管EventBus在向未創(chuàng)建的組件傳遞事件時有些局限,僅適合在“活著的”組件間傳遞消息,但仍不妨礙它活躍在各個大型項目各個場景里。

官網(wǎng)地址?http://greenrobot.org/eventbus/documentation/how-to-get-started/

github ?https://github.com/greenrobot/EventBus

作者?greenrobot?

使用:

compile 'org.greenrobot:eventbus:3.0.0'

?

9.zxing

一句話介紹:條碼圖像處理庫

上榜理由:如果你用過二維碼,你肯定已經(jīng)間接使用過大名鼎鼎的zxing了。13.9K的star量,讓它排在本榜單第九,實(shí)至名歸,如果你有了解二維碼的需求,不妨從了解、修改它源碼入手。

github??https://github.com/zxing/zxing

作者??Sean Owen

?

10.picasso

一句話介紹:強(qiáng)力的圖片下載、緩存框架

上榜理由:本榜單出現(xiàn)的第三款圖片類框架,不同的是picasso更強(qiáng)調(diào)圖片下載,你可以將picasso集成進(jìn)你的項目中,你也可以結(jié)合gilde和UIL與picasso,三者一齊封裝至你的項目中,按需所用。

官網(wǎng)地址?http://square.github.io/picasso/

github ?https://github.com/square/picasso

作者 square團(tuán)隊

使用:

compile 'com.squareup.picasso:picasso:2.5.2'

或者下載

jar包

?

11.lottie-android

一句話介紹:一款可以在Android端快速展示Adobe Afeter Effect(AE)工具所作動畫的框架

上榜理由:動畫類框架第一名,github上13.3k個star證明了他的優(yōu)越性,利用json文件快速實(shí)現(xiàn)動畫效果是它最大的便利,而這個json文件也是由Adobe提供的After Effects(AE)工具制作的,在AE中裝一個Bodymovin的插件,使用這個插件最終將動畫效果生成json文件,這個json文件即可由LottieAnimationView解析并生成絢麗的動畫效果。而且它還支持跨平臺喲。

github ?https://github.com/airbnb/lottie-android

作者:Airbnb 團(tuán)隊

?

12.fresco

一句話介紹:一款可以管理圖片內(nèi)存的框架

上榜理由:github上12.8k個star,圖片類排行榜第四名,facebook的出身證明了它并非是重復(fù)造的輪子,在管理圖片內(nèi)存領(lǐng)域上有著它的一片天地,漸進(jìn)式加載、加載gif都是它與前三位相比獨(dú)有的特性

官網(wǎng)地址:?https://www.fresco-cn.org/

github??https://github.com/facebook/fresco

作者 facebook

使用:

dependencies {// 其他依賴compile 'com.facebook.fresco:fresco:0.12.0' }

下面的依賴需要根據(jù)需求添加:

dependencies {// 在 API < 14 上的機(jī)器支持 WebP 時,需要添加compile 'com.facebook.fresco:animated-base-support:0.12.0'

// 支持 GIF 動圖,需要添加
compile ‘com.facebook.fresco:animated-gif:0.12.0’

// 支持 WebP (靜態(tài)圖+動圖),需要添加
compile ‘com.facebook.fresco:animated-webp:0.12.0’
compile ‘com.facebook.fresco:webpsupport:0.12.0’

// 僅支持 WebP 靜態(tài)圖,需要添加
compile ‘com.facebook.fresco:webpsupport:0.12.0’
}

?

13.RxAndroid

一句話介紹:一款A(yù)ndroid客戶端組件間異步通信的框架

上榜理由:github上12.7k個star,位居組件通信框架的第二名,僅在EventBus之后,如果要問兩者的區(qū)別,Eventbus是用來取代組件間繁瑣的interface,RxAndroid是用來取代AnsyTask的,并不沖突;當(dāng)然RxAndroid的優(yōu)點(diǎn)并不僅限于此,更多優(yōu)雅的實(shí)現(xiàn),可以去官網(wǎng)查閱!

github ?https://github.com/ReactiveX/RxAndroid

作者?JakeWharton

使用:

compile 'io.reactivex.rxjava2:rxandroid:2.0.1' compile 'io.reactivex.rxjava2:rxjava:2.1.0'

?

14.SlidingMenu

一句話介紹:側(cè)滑菜單欄框架

上榜理由:與Userval-Image-loader 齊名的上古神器框架——為你的app提供側(cè)滑菜單欄的功能;github閃更有10.5k個star,證明了它的經(jīng)久不衰,即使在Google推出了NavigationDrawer,仍然沒有減少開發(fā)者對SildingMenu的擁簇,經(jīng)典總是經(jīng)得起考驗的,這個上古神獸已經(jīng)四年沒有更新了;有太多太多的app使用過它,這些都可以在軟件的開源許可上看到!

github?https://github.com/jfeinstein10/SlidingMenu

作者?Jeremy Feinstein

使用:

在gihub上fork源碼,集成進(jìn)項目中

?

15.PhotoView

一句話介紹:一款I(lǐng)mageView展示框架,支持縮放,響應(yīng)手勢

上榜理由:10.3k的star數(shù)量,位于圖片類框架排行榜第五位,PhotoView與前四位不同的是這次帶來的是圖片的展示能力,你一定好奇微信的頭像點(diǎn)擊放大是如何實(shí)現(xiàn)的,很多App的圖片顯示響應(yīng)手勢按壓是如何實(shí)現(xiàn)的,了解PhotoView,你一定會開心的!(筆者也不會告訴你ImageView的點(diǎn)擊放大效果在Android的sample也有)

github ?https://github.com/chrisbanes/PhotoView

作者:chrisbanes

使用:

在app根目錄的build.gradle中加入: allprojects {repositories {maven { url "https://jitpack.io" }} } 在app的module目錄的build.gralde中加入:

dependencies {
compile ‘com.github.chrisbanes:PhotoView:latest.release.here’
}

使用

<com.github.chrisbanes.photoview.PhotoViewandroid:id="@+id/photo_view"android:layout_width="match_parent"android:layout_height="match_parent"/> PhotoView photoView =(PhotoView) findViewById(R.id.photo_view); photoView.setImageResource(R.drawable.image);

?

16.material-dialogs

一句話介紹:一款自定義dialog框架

上榜理由:9.9k個star,也是繼PhotoView,SlidingMenu之后第三款自定義View框架,也許你還是自定義View的新人,對Dialog使用的還有點(diǎn)生疏,你可以通過它提升你的Dilaog使用能力

github ?https://github.com/afollestad/material-dialogs

作者:Aidan Follestad

使用:

dependencies {// ... other dependencies herecompile 'com.afollestad.material-dialogs:core:0.9.4.5' }

?

17.droid-async-http

?一句話介紹:一款基于Http協(xié)議的異步請求的網(wǎng)絡(luò)框架,

上榜理由:雖然你有無數(shù)個使用retrofit+okhttp的理由,但9.8k個star,證明它仍然值得你深入學(xué)習(xí)。值得注意的是,它也已經(jīng)有兩年沒更新了,你盡管拿去當(dāng)你懶惰的理由!

github ??https://github.com/loopj/android-async-http

作者:James Smith

使用:

repositories {maven {url 'https://oss.sonatype.org/content/repositories/snapshots/'} } dependencies {compile 'com.loopj.android:android-async-http:1.5.0-SNAPSHOT' }

?

18.androidannotations

一句話介紹:一款基于注解的快速開發(fā)框架

上榜理由:與Butterknife一樣基于注解,利用注解快速完成view的初始化,不同的是androidannotations提供了更多的能力:簡單的線程模型等;筆者只接觸過Butterknife,無法更進(jìn)一步敘述androidannotations的優(yōu)勢,如果你志在深入了解注解的妙用,可以嘗試探索一下!

官網(wǎng)地址?http://androidannotations.org/

github?https://github.com/androidannotations/androidannotations

作者:?WonderCsabo

?

19.fastjson

一句話介紹:一款基于json解析、生成的框架

上榜理由:從它的名字不難看出,快速是它最大的特性,阿里巴巴的出身保證了代碼的質(zhì)量和優(yōu)越,9.4k的star數(shù)量,也是榜單里第一個出現(xiàn)的中國開源框架,涉及網(wǎng)絡(luò)的app都會用到j(luò)son,fastjson值得作為你的首選!

github ?https://github.com/alibaba/fastjson

作者:alibaba

使用:

compile 'com.alibaba:fastjson:1.1.58.android'

?

20.Material-Animations

一句話介紹:一款提供場景轉(zhuǎn)換過渡能力的動畫框架

上榜理由:Android動畫框架排行榜第二名,9.3k個star數(shù)量,與動畫框架榜單第一名lottie-android不同的是,Material-Animations提供的是場景切換的動畫效果。Android 官網(wǎng)sample中已經(jīng)提供了部分Transition (轉(zhuǎn)場動畫)的展示,作為初學(xué)者很難快速拓展到自己項目中,Material-Animations的示例出現(xiàn)為開發(fā)者省去了此類麻煩,直接照搬應(yīng)用到自己的App中吧。

?github ?https://github.com/lgvalle/Material-Animations

作者:Luis G. Valle

使用:

down源碼,修改學(xué)習(xí)

?

21.tinker

一句話介紹:它是微信官網(wǎng)的Android熱補(bǔ)丁解決方案

上榜理由:9.1k個star,微信在用的熱補(bǔ)丁方案,心動不如行動

官網(wǎng)地址 ?http://www.tinkerpatch.com/Docs/intro

github ??https://github.com/Tencent/tinker

作者:Tencent

?

?

22.ViewPagerIndicator

一句話介紹:一款基于ViewPager的頁面指示器開源框架

上榜理由:上古神器,盡管已經(jīng)五年未更新了,但你仍然可以在淘寶等app中看到它的使用場景,8.9K的star量讓它不慍不火的在矗立在榜單里

官網(wǎng)地址?http://viewpagerindicator.com/

github ?https://github.com/JakeWharton/ViewPagerIndicator

作者:JakeWharton?

使用:

?下載?地址?https://github.com/JakeWharton/Android-ViewPagerIndicator/zipball/master

?

23.Android-CleanArchitecture

一句話介紹:一個講解設(shè)計框架的demo

上榜理由:它不是框架,你可以把它當(dāng)作一本書,它將教會你如何設(shè)計簡潔的架構(gòu),工程里有一個sample app,配合圖文講解,你將對Android客戶端的架構(gòu)有更深一層的認(rèn)識。8.8k的star數(shù)量,證明了它是一本“好書”喲。

github ?https://github.com/android10/Android-CleanArchitecture

作者:Fernando Cejas

?

24..Android-PullToRefresh

一句話介紹:一款為普通視圖提供刷新UI的視圖框架

上榜理由:8.2K的star數(shù)量使它位居刷新類UI框架榜首,強(qiáng)大的兼容能力,該框架支持ListView,GrdiView,WebViewScrollView,ViewPager等眾多View增加刷新的能力,如果你有增加上拉加載,下拉加載的需求,你應(yīng)該考慮它了!

github?https://github.com/chrisbanes/Android-PullToRefresh

作者:Chris Banes

使用:

github fork源碼,集成到項目中

?

25.flexbox-layout

一句話介紹:一款彈性伸縮布局

上榜理由:8.1k個star,前端H5開發(fā)者轉(zhuǎn)Android開發(fā)的福音,FlexboxLayout作為LinearLayout和RelativeLayout的替代者,值得各位一試,與其一同推出的還有ConstraintLayout。

github ?https://github.com/google/flexbox-layout

作者:Google

使用:

dependencies {compile 'com.google.android:flexbox:0.3.0-alpha3' }

?

26.AndroidSwipeLayout

一句話介紹:非常強(qiáng)大滑動式布局

上榜理由:滑動刪除是國產(chǎn)app常見需求,商品詳情的上下滑動需求作為開發(fā)者的我們也經(jīng)常遇到,AndroidSwipeLayout在github上擁有8K個star,證明它經(jīng)受住了檢驗,各位值得一試

github?https://github.com/daimajia/AndroidSwipeLayout

作者:daimajia

使用:

dependencies {compile 'com.android.support:recyclerview-v7:21.0.0'compile 'com.android.support:support-v4:20.+'compile "com.daimajia.swipelayout:library:1.2.0@aar" }

或下載?

AndroidSwipeLayout-v1.1.8.jar

?

27.realm-java

一句話介紹:Realm是一款移動端數(shù)據(jù)庫框架

上榜理由:核心數(shù)據(jù)引擎C++打造,比普通的Sqlite型數(shù)據(jù)庫快的多。筆者猜測正是如此,realm以7892個star數(shù)讓它位于大名鼎鼎的數(shù)據(jù)庫框架GreenDao(7877)之前

官網(wǎng)地址:https://realm.io/cn/

github?https://github.com/realm/realm-java

作者:Realm團(tuán)隊?

使用:https://realm.io/docs/java/latest/

?

28.greenDAO

一句話介紹:greenDAO是一款高效、快速的SQLite型數(shù)據(jù)庫

上榜理由:greenDAO的star數(shù)量與Realm不相上下,且與EventBus師出同門,也是由greenrobot團(tuán)隊開發(fā)維護(hù)的,質(zhì)量有所保證,但若拷問筆者Realm與greenDao兩者的優(yōu)劣性,只能具體到實(shí)際使用當(dāng)中,模擬線上的使用情形,進(jìn)行高強(qiáng)度測試后才能下判斷,故在此不能一言兩語說完,深表遺憾

官網(wǎng)地址:http://greenrobot.org/greendao/

github ?https://github.com/greenrobot/greenDAO

使用:

buildscript {repositories {jcenter()mavenCentral() // add repository}dependencies {classpath 'com.android.tools.build:gradle:2.3.1'classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' // add plugin} }

-----

apply plugin: ‘com.android.application’
apply plugin: ‘org.greenrobot.greendao’ // apply plugin

dependencies {
compile ‘org.greenrobot:greendao:3.2.2’ // add library
}

?

29.stetho

一句話介紹:一款提供在Chrome開發(fā)者工具上調(diào)試Android app能力的開源框架

上榜理由:上古時期Android程序員要調(diào)試本地數(shù)據(jù)庫,需要進(jìn)入Android Device Monitor找到/data/data/com.xxx.xxx/databases里面的db文件,導(dǎo)出到PC端,用PC的數(shù)據(jù)工具查看,現(xiàn)在使用stetho省卻了如此的麻煩;如今的Android程序員如果想調(diào)試網(wǎng)絡(luò)請求響應(yīng)過程中的報文段,需要在請求中加入Log語句,一個信息一個信息打印出來,相當(dāng)繁瑣,現(xiàn)在請使用stetho,省卻諸如此類的麻煩把!7.8K個star數(shù),廣大Android開發(fā)者調(diào)試的福音,你值得擁有!

作者:FaceBook

官網(wǎng)地址:?http://facebook.github.io/stetho/

github ??https://github.com/facebook/stetho

使用:

compile 'com.facebook.stetho:stetho:1.5.0'

?

30.BaseRecyclerViewAdapterHelper

一句話介紹:強(qiáng)大、流暢的Recyvlerview通用適配器

上榜理由:如果你是RecyclerView的擁簇者,你一定要體驗這款專門服務(wù)該view的適配器,7.7K個star,讓這個家伙位于github上Android 適配器排行榜第一,還有很多驚喜等你去探尋!

官網(wǎng)地址:http://www.recyclerview.org/

作者:陳宇明以及他的小伙伴

使用:

allprojects {repositories {...maven { url "https://jitpack.io" }} }

dependencies {
compile ‘com.github.CymChad:BaseRecyclerViewAdapterHelper:VERSION_CODE’
}

?

31.AndroidViewAnimations

一句話介紹:一款提供可愛動畫集合的框架

上榜理由:正如作者所說,它囊括了開發(fā)需求過程中所有的動畫效果,集成進(jìn)了這個簡潔可愛的動畫框架。7.6K的star數(shù),證明了它在動畫框架領(lǐng)域的戰(zhàn)斗力,讓它僅僅位列l(wèi)ottie-android和Material-Animations兩個動畫框架霸主之后,屈居第三名

github?https://github.com/daimajia/AndroidViewAnimations

作者:daimajia

使用:

dependencies {compile 'com.android.support:support-compat:25.1.1'compile 'com.daimajia.easing:library:2.0@aar'compile 'com.daimajia.androidanimations:library:2.2@aar' }

sample:

YoYo.with(Techniques.Tada).duration(700).repeat(5).playOn(findViewById(R.id.edit_area));

?

32.?MaterialDrawer

一句話介紹:強(qiáng)大的塑料風(fēng)格的抽屜框架

上榜理由:7.6K的star數(shù)量,作者的持續(xù)更新狀態(tài),如果你還在猶豫上手SlidingMenu遇到bug沒人管的困境,那么你可以入手它作為你的抽屜布局?

github ?https://github.com/mikepenz/MaterialDrawer

作者:Mike Penz

使用:

compile('com.mikepenz:materialdrawer:5.9.2@aar') {transitive = true }

?

new DrawerBuilder().withActivity(this).build();

?

?

?33.Android-ObservableScrollView

一句話介紹:一款讓視圖滑動更具有視覺效果的滑動式框架

上榜理由:7.5K的star數(shù)量,證明了它曾經(jīng)的價值,github上提供了12種滑動效果,你可以用它彌補(bǔ)其他框架的不足,提升你的App體驗!

github?https://github.com/ksoichiro/Android-ObservableScrollView

作者:Soichiro Kashima

使用:

compile com.github.ksoichiro:android-observablescrollview

?

34.CircleImageView

一句話介紹:圓角ImageView

上榜理由:也許你已經(jīng)聽說過無數(shù)種展示圓角圖片的方法,但如果你不嘗試嘗試CircleImageView,那么你的知識庫會因為少了它黯然失色,有的時候完成需求是開發(fā)者優(yōu)先考慮的,不同實(shí)現(xiàn)方法牽扯到的性能差異更值得讓人深思,如果你有心在圖片性能上有所涉獵,那么CircleImageView絕對不會讓你敗興而歸。最后別忘了記得去看Romain Guy的建議喲。

github?https://github.com/hdodenhof/CircleImageView

作者:Henning Dodenhof

使用:

dependencies {...compile 'de.hdodenhof:circleimageview:2.1.0' }

?

<de.hdodenhof.circleimageview.CircleImageViewxmlns:app="http://schemas.android.com/apk/res-auto"android:id="@+id/profile_image"android:layout_width="96dp"android:layout_height="96dp"android:src="@drawable/profile"app:civ_border_width="2dp"app:civ_border_color="#FF000000"/>

?

35.logger

一句話介紹:一款讓log日志優(yōu)雅顯示的框架

上榜理由:logger作為調(diào)試框架,并未給出很強(qiáng)大的能力,它最大的亮點(diǎn)是優(yōu)雅的輸出log信息,并且支持多種格式:線程、Json、Xml、List、Map等,如果你整日沉迷于汪洋大海般的log信息不能自拔,logger就是你的指路明燈!6.6k個star讓他位列調(diào)試框架第二名,屈居facebook的stetho之后

github?https://github.com/orhanobut/logger

作者:Orhan Obut

使用:

compile 'com.orhanobut:logger:2.1.1'

?

Logger.d(MAP); Logger.d(SET); Logger.d(LIST); Logger.d(ARRAY); Logger.json(JSON_CONTENT); Logger.xml(XML_CONTENT);

?

36.agera

一句話介紹:一款服務(wù)于Android平臺的響應(yīng)式編程框架

上榜理由:google專門推出一套響應(yīng)式編程框架服務(wù)于Android開發(fā)者,相比于之響應(yīng)式編程框架榜首的?RxJava RxAndroid,它更輕量,兩者最大的不同點(diǎn)在于agera基于push event、pull data (VS Rx系列 push data)。

github?https://github.com/google/agera

作者:Google

使用:

compile 'com.google.android.agera:agera:1.3.0'

擴(kuò)展能力

compile 'com.google.android.agera:content:1.3.0'compile 'com.google.android.agera:database:1.3.0'compile 'com.google.android.agera:net:1.3.0'compile 'com.google.android.agera:rvadapter:1.3.0'compile 'com.google.android.agera:rvdatabinding:1.3.0'

?

37.BottmBar

一句話介紹:一款底部導(dǎo)航欄視圖框架

上榜理由:底部欄里的王者框架,6.3K的star數(shù)量,證明了它的優(yōu)秀,完全遵循材料設(shè)計規(guī)范,上手非常方便。如果說缺點(diǎn),無法設(shè)置icon與titile的間距,無法自定義視圖的大小等,但這些都可以通過修改源代碼解決,筆者獻(xiàn)丑也修改了一套符合國內(nèi)開發(fā)者的底部導(dǎo)航框架,即將開源。

github ?https://github.com/roughike/BottomBar

作者:Iiro Krankka

使用:

compile 'com.roughike:bottom-bar:2.3.1'

?

38.Calligraphy

一句話介紹:一款自定義字體框架

上榜理由:如果你還在為一鍵修改App內(nèi)所有字體樣式而煩惱,6.3K個star的Calligraphy就值得你擁有,它可以同時修改整個整個項目的Textview字體,也可以單獨(dú) 設(shè)置某個Textview的字體,還在等什么,快來試試吧!

github ?https://github.com/chrisjenx/Calligraphy

作者:Christopher Jenkins

使用:

dependencies {compile 'uk.co.chrisjenx:calligraphy:2.3.0' }

?

39.AndroidSlidingUpPanel

一句話介紹:可拖動的滑動面板視圖框架

上榜理由:如果你的項目需要一個可拖拽的滑動式面板(展示某些詳情信息,播放音樂,地圖信息等),那么推薦你使用它,6.3k個star,來自創(chuàng)業(yè)公司umano的作品,證明它是用心推出的杰作

github?https://github.com/umano/AndroidSlidingUpPanel

作者:umano

使用:

dependencies {repositories {mavenCentral()} compile </span><span style="color:rgb(128,0,0); line-height:1.5!important">'</span><span style="color:rgb(128,0,0); line-height:1.5!important">com.sothree.slidinguppanel:library:3.3.1</span><span style="color:rgb(128,0,0); line-height:1.5!important">'</span><span style="line-height:1.5!important">

}

?

40.AppIntro

一句話介紹:一款提供快速制作歡迎頁的框架

上榜理由:筆者從未把打算把歡迎頁框架納入排行榜當(dāng)中,作為國內(nèi)開發(fā)者,ViewPager開發(fā)App的歡迎頁已經(jīng)是手到擒來的需求,為何一個開源的歡迎頁框架會在github上擁有6.3k個star?也許你會不屑一顧,是的,往往就在不屑一顧的瞬間,機(jī)遇就悄悄溜走了。

github?https://github.com/apl-devs/AppIntro

作者:Paolo Rotolo

allprojects {repositories {...maven { url 'https://jitpack.io' }}} dependencies {compile </span><span style="color:rgb(128,0,0); line-height:1.5!important">'</span><span style="color:rgb(128,0,0); line-height:1.5!important">com.github.apl-devs:appintro:v4.2.0</span><span style="color:rgb(128,0,0); line-height:1.5!important">'</span><span style="line-height:1.5!important"> }</span></pre>

?

41.recyclerview-animators

一句話介紹:一款為Recyclerview提供擴(kuò)展動畫能力的框架

上榜理由:有一句老話:如果有天你失去對新事物的興趣,那就說明你老了。recyclerview已經(jīng)推出快三年了,還在用listview的人們,是否已經(jīng)發(fā)掘自己漸漸變老;不要灰心,快為你的項目加入recyclerview-animators框架吧,為“自己”加入新鮮的血液和能量!(筆者備注:6.2K個star)

github ?https://github.com/wasabeef/recyclerview-animators

作者;https://github.com/wasabeef

使用:

dependencies {// jCentercompile 'jp.wasabeef:recyclerview-animators:2.2.6' }

?

42.dagger

一句話介紹:一款通過依賴注入降低程序間耦合的開發(fā)框架

上榜理由:github 上dagger1版本 有6.2k個star , dagger2版本有7.3k個;由square完成的dagger1版本,到如今google團(tuán)隊接手的dagger2版本,強(qiáng)力開發(fā)團(tuán)隊保證了代碼在設(shè)計上的優(yōu)越性;如果你想探究Android 領(lǐng)域的設(shè)計模式,這也是不錯的選擇。

官網(wǎng)地址:https://google.github.io/dagger/

github :https://github.com/google/dagger

作者:google

使用:

dependencies {compile 'com.google.dagger:dagger:2.x'annotationProcessor 'com.google.dagger:dagger-compiler:2.x' } If you're using classes in dagger.android you'll also want to include:

compile ‘com.google.dagger:dagger-android:2.x’
compile ‘com.google.dagger:dagger-android-support:2.x’
annotationProcessor ‘com.google.dagger:dagger-android-processor:2.x’

?

43.Android-Bootstarp

一句話介紹:一款提供在Android應(yīng)用上實(shí)現(xiàn)Bootstrap(web框架)所作出效果的框架

上榜理由:榜單上第二款響應(yīng)web技術(shù)的Android 端框架,還記得第一名是誰嗎——flexbox-layout,作為Android開發(fā)者,你有必要去了解Web技術(shù)了。5.9k個star,證明它不容小覷

github?https://github.com/Bearded-Hen/Android-Bootstrap

作者:Bearded-Hen團(tuán)隊

使用:

dependencies {compile 'com.beardedhen:androidbootstrap:{X.X.X}' }

?

44.RxBinding

一句話介紹:一款提供UI組件事件響應(yīng)能力的框架

上榜理由:如果你還未開始RxAndroid 之旅,RxBinding可以作為你的第一站,通過RXBinding,你將理解響應(yīng)式編程的快樂,讓項目里的事件流程更清晰。5.6K個star,RxAndroid作者親自操刀,快來試用吧!

github ?https://github.com/JakeWharton/RxBinding

作者:JakeWharton

Platform bindings:

compile ‘com.jakewharton.rxbinding2:rxbinding:2.0.0’
‘support-v4’ library bindings:

compile ‘com.jakewharton.rxbinding2:rxbinding-support-v4:2.0.0’
‘a(chǎn)ppcompat-v7’ library bindings:

compile ‘com.jakewharton.rxbinding2:rxbinding-appcompat-v7:2.0.0’
‘design’ library bindings:

compile ‘com.jakewharton.rxbinding2:rxbinding-design:2.0.0’
‘recyclerview-v7’ library bindings:

compile ‘com.jakewharton.rxbinding2:rxbinding-recyclerview-v7:2.0.0’
‘leanback-v17’ library bindings:

compile ‘com.jakewharton.rxbinding2:rxbinding-leanback-v17:2.0.0’

?

45.ListViewAnimations

一句話介紹:一款為ListView提供動展示畫效果能力的框架

上榜理由:如果有一天我承認(rèn)自己老了,我還會排排我的兄弟——ListView,證明我和它一起戰(zhàn)斗過。ListViewAnimations的存在就是證明我們這些“老年人”仍有用武之地,也許你有說不出口的難處,無法體會到RecyclerView里動畫的快樂,擁有ListViewAnimations,你一樣可以驕傲的說,我的孩子(每個item)也有自己的動效啦。(筆者備注 5.6K個star)

github ?https://github.com/nhaarman/ListViewAnimations

作者:nhaarman

使用:

repositories {mavenCentral() }

dependencies {
compile ‘com.nhaarman.listviewanimations:lib-core:3.1.0@aar’
compile ‘com.nhaarman.listviewanimations:lib-manipulation:3.1.0@aar’
compile ‘com.nhaarman.listviewanimations:lib-core-slh:3.1.0@aar’
}

?

46.UItimateRecyclerView

一句話介紹:一款提供刷新、加載更多、動畫特效等額外能力的RecyclerView框架

上榜理由:榜單上第三次出現(xiàn)RecyclerView的身影,足以證明RecyclerView的優(yōu)異性,5.5K個star,框架里所提供眾多的能力,如果你是個功利開發(fā)者,那么此框架會為你節(jié)省很多學(xué)習(xí)時間,它可以完成多item式布局的大多數(shù)需求,值得注意的是,這個項目也是在其他項目的思路上二次開發(fā)的。

github ?https://github.com/cymcsg/UltimateRecyclerView

作者:MarshalChen

使用:

repositories {jcenter()} dependencies {...compile 'com.marshalchen.ultimaterecyclerview:library:0.7.2' }

?

47.uCrop

一句話介紹:一款優(yōu)雅的圖片裁剪框架

上榜理由:5.3K個star,圖片編輯模塊單獨(dú)拎出來也是一款優(yōu)雅的App。

github ?https://github.com/Yalantis/uCrop

作者:Yalantis

使用:

allprojects {repositories {jcenter()maven { url "https://jitpack.io" }} }

compile ‘com.github.yalantis:ucrop:2.2.1’

?

48.RxJava-Android-Samples

一句話介紹:一款介紹RxJava使用場景的app

上榜理由:榜單出現(xiàn)的第一個“僅僅為告訴你如何使用另一個項目”的開源項目,它可以說是RxJava的用例,你想得到的想不到的RxJava用法這里都有,這就是為什么它以5.2k個star矗立在這份榜單里的原因。遺憾自己沒有創(chuàng)作這么一個受人追捧的demo?趕快動手寫個其他的“XX項目用例吧”

github ?https://github.com/kaushikgopal/RxJava-Android-Samples

作者:kaushikgopal

使用:

clone到本地慢慢探索吧

?

49.AndroidAutoLayout

一句話介紹:一個提供適配能力的框架

上榜理由:5.2K個star,鴻洋老弟的作品,適合小項目的開發(fā)團(tuán)隊,拿到設(shè)計MM的px像素設(shè)計稿是不是很頭疼捏?這個框架一鍵式搞定你的問題,它有很多的不足,但在追求完美適配的路上,你值得探索和了解它!筆者并不推薦把它應(yīng)用到已經(jīng)成熟運(yùn)行的項目中,畢竟市面上已經(jīng)有太多的適配解決方案了,適配問題就像是個大雜燴,想炒一盤好菜,就得備好各種佐料(適配小方案),當(dāng)你把各種小佐料用的爐火純青的時候,你離美食大廚就不遠(yuǎn)了。

github?https://github.com/hongyangAndroid/AndroidAutoLayout

作者:張鴻洋

使用:

dependencies {compile 'com.zhy:autolayout:1.4.5' }

?

50.EffectiveAndroidUI

一句話介紹:一款講解高效展示UI的教學(xué)型App

上榜理由:編程新手很難對MVC MVP,MVVM等模式有深刻的理解,如果有一個示例型app,那對初學(xué)者會有很大裨益,筆者在遇到它時也是相見恨晚。4.8K個star,證明了它經(jīng)受了廣大開發(fā)者的考驗與審視,其中Effective UI的編程思想更是與Android官方課程里的Effective UI課程不謀而合,并且,此項目還包含了fragment、dagger、主題樣式、Butterknife等眾多小知識點(diǎn),作為編程初學(xué)者的學(xué)習(xí)用例再適合不過了

github ?https://github.com/pedrovgs/EffectiveAndroidUI

作者:Pedro Vicente?

使用:

clone項目到本地

?

51.Luban

一句話介紹:最接近微信的圖片壓縮框架

上榜理由:好的思路總是可以讓你大放異彩,Luban僅以圖片壓縮單一功能,俘獲了4.8K個star,證明了它在圖片壓縮上的造詣,它可能不是最優(yōu)秀的,但它是讓你我最接近偉大的項目

github ?https://github.com/Curzibn/Luban

作者:Curzibn

使用:

compile 'top.zibin:Luban:1.1.1'

52.DroidPlugin

一句話介紹:一款熱門的插件化開發(fā)框架 上榜理由:4.8K個star,插件化框架榜單第一名,,360團(tuán)隊出品,框架質(zhì)量有保證,有成功案例——360手機(jī)助手,并且持續(xù)維護(hù)著 github?https://github.com/DroidPluginTeam/DroidPlugin/blob/master/readme_cn.md 作者:Andy Zhang 使用: clone項目到本地

53. otto

一句話介紹:一款老舊且強(qiáng)大的事件總線框架 上榜理由:4.8K個star,是square團(tuán)隊早先推出的事件響應(yīng)型框架,淘寶app的事件驅(qū)動也是基于此框架封裝的,如今square已經(jīng)建議開發(fā)者采用RxJava RxAndroid來代替otto了。但otto仍有與EventBus橫向?qū)Ρ鹊膬r值,縱向來說,otto與square自家開發(fā)的Rx系列框架的差異同樣值得開發(fā)者們?nèi)ヌ骄俊? github?https://github.com/square/otto 作者:square 使用: repositories {mavenCentral()maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } }

compile ‘com.michaelpardo:activeandroid:3.1.0-SNAPSHOT’

?

54.u2020

一句話介紹:一款提供Dagger的高級教學(xué)示例的app(額,名字是有點(diǎn)繞) 上榜理由:4.7K個star,JakeWharton牽頭開發(fā)的教學(xué)類app,教你使用Dagger在其他高級框架的用法,它展示了Dagger與ButterKnife、Retrofit、Moshi、Picasso、Okhttp、RxJava、Timber、Madge、LeakCanar等眾多優(yōu)秀框架結(jié)合起來的高級用法,你也可以借鑒到自己的項目當(dāng)中 github ?https://github.com/JakeWharton/u2020 作者:JakeWharton

55.buck

一句話介紹:buck是一個快速構(gòu)建系統(tǒng) 上榜理由:facebook+google出身的作者,對構(gòu)建代碼的出色理解,加上大型團(tuán)隊的維護(hù),以及增量更新時的快速高效,讓buck成為了微信Android團(tuán)隊構(gòu)建項目的首選,構(gòu)建大型項目時,它比gradle更快,然而中小公司并不適合此框架,但作為立志在框架設(shè)計領(lǐng)域有一番作為的人們,歡迎來一探究竟 官網(wǎng)地址:https://buckbuild.com/ github ?https://github.com/facebook/buck 作者:facebook 使用: linux or mac system +docs

?

56.PermissionsDispatcher

一句話介紹:一款基于注解的提供解決運(yùn)行時危險權(quán)限方案的框架 上榜理由:自Android6.0 Google提出危險權(quán)限一詞起,用戶安全性被提到一定的高度,一些運(yùn)行時對用戶較為危險的權(quán)限將不再自動被開發(fā)者獲取,需要經(jīng)過用戶批準(zhǔn),開發(fā)者才可以繼續(xù)使用該權(quán)限,如果你曾經(jīng)被權(quán)限問題搞的抓耳撓腮,建議你試試這個框架,它足夠解決你的問題 官網(wǎng)地址:https://hotchemi.github.io/PermissionsDispatcher/ github?https://github.com/hotchemi/PermissionsDispatcher 作者:Shintaro Katafuchi 使用: dependencies {compile('com.github.hotchemi:permissionsdispatcher:${latest.version}') {exclude module: "support-v13"}annotationProcessor 'com.github.hotchemi:permissionsdispatcher-processor:${latest.version}' }

repositories {
jcenter()
maven { url ‘http://oss.jfrog.org/artifactory/oss-snapshot-local/’ }
}

?

57.android-gif-drawable

一句話介紹:一款提供展示GIF動畫能力的視圖框架

上榜理由:據(jù)我所查國內(nèi)著名App——知乎使用了android-gif-drawable,因此證明了它的存在價值,盡管在榜單第十一位介紹了lottie-android直接應(yīng)用AE動畫的示例,但AE設(shè)計師不是每個公司都配備的,GIF的存在,就必然存在了展示GIF的需要,它值得你擁有!

github?https://github.com/koral--/android-gif-drawable

作者:Karol Wrótniak

使用:

repositories {mavenCentral()maven { url "https://oss.sonatype.org/content/repositories/snapshots" } } dependencies {compile 'pl.droidsonroids.gif:android-gif-drawable:1.2.+' }

?

58.Apktool

一句話介紹:一款反編譯apk的工具

上榜理由:開源的反編譯工具,對于志在了解apk逆向破解的諸位,值得擁有,4.5k個star,逆向破解apk神器!

github ?https://github.com/iBotPeaches/Apktool

官網(wǎng)地址:https://ibotpeaches.github.io/Apktool/

作者:Connor Tumbleson

?

59.dynamic-load-apk

一句話介紹:插件化開發(fā)框架

上榜理由:4.5k個star,位于插件化開發(fā)框架第二名(第一名來自360團(tuán)隊),全面的文檔介紹讓你很快就能上手插件化開發(fā),如果你喜歡大段文字講解,那么這個項目一定適合你

github:https://github.com/singwhatiwanna/dynamic-load-apk

作者:singwhatiwanna

使用:

github上的文檔配合作者博客更配喲

?

60.atlas

一句話介紹:淘寶推出的組件化開發(fā)框架

上榜理由:淘寶團(tuán)隊所出的精品,atlas框架提供了解耦、組件、動態(tài)的開發(fā)能力,4.5k個star讓他位列組件化開發(fā)框架第一名

github?https://github.com/alibaba/atlas

作者:alibaba

?

?61.volley

一句話介紹:google推薦使用的Android端網(wǎng)絡(luò)請求框架

上榜理由:4.4k個star,并不是他不夠優(yōu)秀,而是使用volley已經(jīng)漸漸成為廣大開發(fā)者的習(xí)慣

github?https://github.com/google/volley(新版volley地址)

作者:google

使用:

clone源碼到本地

62.androidmvp

一句話介紹:一款展示Android端Mvp設(shè)計的demo 上榜理由:榜單里為數(shù)不多、僅憑展示某種設(shè)計模式就獲得4.2K個star的項目,如果你有嘗試mvp的打算,androidmvp可以作為你的前哨站 github ?https://github.com/antoniolg/androidmvp 作者:Antonio Leiva 使用: clone到本地

63.SwipeBackLayout

一句話介紹:一款可以讓你通過滑動手勢關(guān)閉頁面的的框架 上榜理由:仿微信滑動退出當(dāng)前聊天界面的效果,提供了activity的滑動關(guān)閉能力,通過這種思路,實(shí)現(xiàn)fragment的滑動關(guān)閉輕而易舉;筆者堅持建議諸位clone源碼到本地探索一番;4.2k個star證明很多人都喜愛它 github?https://github.com/ikew0ng/SwipeBackLayout 作者:ike_w0ng 使用: compile 'me.imid.swipebacklayout.lib:library:1.0.0'

?

64.FlycoTabLayout

一句話介紹:一款可以讓作出多種多樣指示器效果的框架

上榜理由:盡管我們沒有理由為了給app加入頁面指示器功能就集成2.5M的依賴庫,但是作為了解viewpager或swip views的指示器設(shè)計原理的優(yōu)秀框架,你值得打開它試試,筆者建議單獨(dú)拆分所需源碼,加入到自己的項目中去。4.1K個star,二次開發(fā)的作品,仍然推薦!

github ?https://github.com/H07000223/FlycoTabLayout

作者:Flyco

?

65.android-testing

一句話介紹:一款展示四大自動化測試框架用例的demo(Espresso,UiAutomator,AndroidJunitRunner,JUnit4)

上榜理由:學(xué)習(xí)者經(jīng)常會陷入似懂非懂的境地,如果你有幸學(xué)習(xí)過Android Testing Support Library site的課程,那么你一定對android的四大測試框架迫不及待,這款demo非常適合你,快來學(xué)習(xí)這個4.1k個star的明星項目吧

github?https://github.com/googlesamples/android-testing

作者:googlesampes團(tuán)隊

?

66.FileDownloader

一句話介紹:一款高效、穩(wěn)定、靈活、易用的文件下載引擎

上榜理由:4.1k證明了它有多受人喜愛,文件下載看似簡單的背后暗藏了多少的坑坑點(diǎn)點(diǎn),我知道你有能力自己實(shí)現(xiàn)文件下載功能,但優(yōu)秀的框架可以提升你的設(shè)計編碼能力,這款框架可以提升你的實(shí)力!

github?https://github.com/lingochamp/FileDownloader

作者:LingoChamp團(tuán)隊

使用:

dependencies {compile 'com.liulishuo.filedownloader:library:1.5.5' }

?

?67.JieCaoVideoPlayer

一句話介紹:基于MediaPlayer api——VideoView 的多媒體播放框架

上榜理由:榜單里第三款多媒體播放框架,它以靈巧的身姿擠入本榜單,精巧是它最大的優(yōu)點(diǎn),不到100k,擁有它,你就可以快速開發(fā)類似今日頭條那樣的視頻播放效果,4k個star,證明它值得一試

github?https://github.com/lipangit/JieCaoVideoPlayer

作者:Nathen

使用: compile 'fm.jiecao:jiecaovideoplayer:5.5.4'

?

68.glide-transformations

一句話介紹:為眾多著名圖片加載框架提供圖片形狀變幻能力的框架

上榜理由:在榜單靠前的部分已經(jīng)介紹過glide,Picasso,Fresco等圖片加載框架,glide-transformations就是一款為他們提供圖片變形能力的框架,使用起來非常簡單,因此受到了大家的喜愛,github上有3.8K個star github ?https://github.com/wasabeef/glide-transformations 作者:Daichi Furiya 使用: repositories {jcenter() }

dependencies {
compile ‘jp.wasabeef:glide-transformations:2.0.2’
// If you want to use the GPU Filters
compile ‘jp.co.cyberagent.android.gpuimage:gpuimage-library:1.4.1’
}

在Glide里設(shè)置變幻效果

Set Glide Transform.

Glide.with(this).load(R.drawable.demo)
.bitmapTransform(new BlurTransformation(context))
.into((ImageView) findViewById(R.id.image));

?

69.android-gpuimage

一句話介紹:一款基于OpenGL的圖片渲染引擎 上榜理由:放下GpuImage在IOS平臺的榮譽(yù)不談,Android版的android-gpuimage就提供多達(dá)70多種圖片渲染效果,你還在好奇美圖秀秀是如何實(shí)現(xiàn)圖片變幻的?有了它,一切都不是問題。如果你是美圖工具類的工程師,此框架的建設(shè)思路也會對你大有裨益。筆者也是通過android-gpuimage仿造了美圖App并俘獲女友芳心的,再次為它的實(shí)力點(diǎn)贊。ios版+android版一共19k個star,已經(jīng)證明了它的實(shí)力,還在等什么呢? github:https://github.com/CyberAgent/android-gpuimage 作者:CyberAgent 團(tuán)隊 使用: repositories {jcenter() }

dependencies {
compile ‘jp.co.cyberagent.android.gpuimage:gpuimage-library:1.4.1’
}

更多的改造方法,還需要閱讀Ios的編程文檔,對于有毅力的小伙伴強(qiáng)力推薦!

70.RxPermissions

一句話介紹:一款基于RxJava完成權(quán)限申請的框架 上榜理由:榜單里第二款提供權(quán)服務(wù)的框架,基于RxJava的設(shè)計,讓你可以專心寫業(yè)務(wù),3.7K個star已經(jīng)證明了它的實(shí)用價值 github?https://github.com/tbruyelle/RxPermissions 作者:Thomas Bruyelle 使用: repositories {jcenter() // If not already there }

dependencies {
compile ‘com.tbruyelle.rxpermissions:rxpermissions:0.9.4@aar’
}

?

優(yōu)雅的使用: RxPermissions rxPermissions = new RxPermissions(this);

rxPermissions
.request(Manifest.permission.CAMERA)
.subscribe(granted -> {
if (granted) { // I can control the camera now
} else {
// Oups permission denied
}
});

?

71.freeline

一句話介紹:一款動態(tài)替換的編譯構(gòu)建框架

上榜理由:繼Facebook的Buck,Androdi官方的InstRun之后,螞蟻金服推出了Freeline編譯框架,官網(wǎng)宣稱Freeline與業(yè)內(nèi)主流構(gòu)建方式相比仍然有數(shù)倍的速度領(lǐng)先;排行有先后,編譯速度并不在本榜單排序的考據(jù)因素中,因此freeline以3.7個star,暫列編譯框架第二名

官網(wǎng)地址:https://www.freelinebuild.com/

github:https://github.com/alibaba/freeline

作者:alibaba

使用:

buildscript {repositories {jcenter()}dependencies {classpath 'com.antfortune.freeline:gradle:0.8.7'} }

apply plugin: 'com.antfortune.freeline'android {... }

File → Settings... → Plugins → Browse repositories →freeline.

?

72.RxLifecycle

一句話介紹:一款提供在使用RxJava過程中管理Activity和Fragment生命周期能力的框架

上榜理由:在榜單靠前的部分,你已經(jīng)了解RxJava和RxAndroid的強(qiáng)大之處,但部分粗心的開發(fā)者因為沒有及時取消訂閱而產(chǎn)生嚴(yán)重的內(nèi)存泄漏,不要擔(dān)心,RxLifecycle可以為你解決難題,在gtihub上擁有3.7K個star,國內(nèi)知名軟件——知乎和淘寶也都在使用它

github ?https://github.com/trello/RxLifecycle

作者:trello團(tuán)隊

使用:

clone源碼到本地

?

73.classyshark

一句話介紹:一款可執(zhí)行文件瀏覽器

上榜理由:榜單里繼Apktool之后第二款apk逆向工具,如果你喜歡優(yōu)雅的圖形數(shù)據(jù)展示,那么你一定不能錯過他,classyshark可以將破解的結(jié)果以圖形化展示用戶,方便分析,3.7K個star,讓它暫列apk逆向工具第二位!

github ?https://github.com/google/android-classyshark

作者:google

使用:

下載?JAR?

?

74.acra

一句話介紹:一款提供記錄APP崩潰日志能力的框架

上榜理由:如果你面臨著收集APP崩潰日志的需求,那么acra是個不錯的選擇。3.7K個star,讓acra位列崩潰日志框架排行榜第一名,acra有足夠的能力記錄線上APP,并且發(fā)回服務(wù)端,acra也提供了相當(dāng)棒的崩潰日志統(tǒng)計服務(wù)端框架Acralyzer,cralyzer工作在Apache CouchDB之上,所以除了CouchDB之外,沒有必要安裝任何額外的軟件,移動端開發(fā)者也可以借此學(xué)習(xí)服務(wù)端的建設(shè),一舉兩得!

github?https://github.com/ACRA/acra

服務(wù)端github ?https://github.com/ACRA/acralyzer

作者:acra團(tuán)隊

使用:

沒有什么方法比clone源碼到本地更方便了

?

75.DiskLruCache

一句話介紹:一款提供磁盤文件緩存管理能力的框架

上榜理由:3.7k個star并不足以說明DiskLruCache的優(yōu)秀,僅僅以管理磁盤文件能力單獨(dú)拎出來成為一個框架,作者需要很大的勇氣,很幸運(yùn),作者做到了,并且也成為Google官網(wǎng)提倡的緩存 ?;如還記得上次做“一鍵清除緩存”、“查看緩存文件大小”功能是什么時候嗎?DiskLruCache一句話就可以搞定!

github?https://github.com/JakeWharton/DiskLruCache

作者:JakeWharton

使用:

?

compile 'com.jakewharton:disklrucache:2.0.2'

或者下載?latest .jar

?

76.dexposed

一句話介紹:一款支撐阿里大部分App客戶端熱修復(fù)、線上調(diào)試能力的框架

上榜理由:榜單上再次出現(xiàn)熱修復(fù)框架的身影,證明App熱修復(fù)技術(shù)的火熱,dexposed提供圖形化的性能監(jiān)控、在線熱修復(fù)bug漏洞、支持AOP編程思想等,不論你是企業(yè)熱修復(fù)技術(shù)的設(shè)計者還是打算在熱修復(fù)領(lǐng)域一探究竟的新人,這款框架很適合你。3.5k個star,證明它作為一門技術(shù)框架的存在,是多么令人喜愛!

github ?https://github.com/alibaba/dexposed

作者:alibaba

使用:

dependencies {compile 'com.taobao.android:dexposed:0.1.1@aar'}

?

77.Litho

一句話介紹:一款提供高效構(gòu)建UI能力的框架?

上榜理由:作為一款專門構(gòu)建UI的框架,Litho高效的地方在于:單獨(dú)開辟了用于渲染和布局的線程,然后將創(chuàng)建好的組件傳遞給UI線程去完成最終的渲染,使用更少的視圖層級,來提升界面的滾動速度,值得注意的是,它僅支持開發(fā)者作出不可改變的UI組件?,3.5K個star,證明了它在構(gòu)建UI領(lǐng)域的價值,更多的妙處,期待你親自去發(fā)掘!

github ?https://github.com/facebook/litho

作者:facebook

?使用:

ependencies {// ...// Lithocompile 'com.facebook.litho:litho-core:0.3.1'compile 'com.facebook.litho:litho-widget:0.3.1'provided 'com.facebook.litho:litho-annotations:0.3.1'

annotationProcessor ‘com.facebook.litho:litho-processor:0.3.1’

// SoLoader
compile ‘com.facebook.soloader:soloader:0.2.0’

// Optional
// For debugging
debugCompile ‘com.facebook.litho:litho-stetho:0.3.1’

// For integration with Fresco
compile ‘com.facebook.litho:litho-fresco:0.3.1’

// For testing
testCompile ‘com.facebook.litho:litho-testing:0.3.1’
}

?

78.mosby

一句話介紹:一款提供構(gòu)建MVP項目能力的框架

上榜理由:榜單靠前的部分已經(jīng)介紹了MVC,MVVM,MVP的框架項目,想必此時你在構(gòu)建企業(yè)項目架構(gòu)上,選擇或者開發(fā)一款合適的MVP框架迫在眉睫,mosby可以作為你的第一步參考,你可以封裝它,也可以照抄它,無論如何,3.4K個star,證明了它在框架設(shè)計上有多受開發(fā)者的喜愛

github?https://github.com/sockeqwe/mosby

作者:Hannes Dorfmann

使用:

dependencies {

compile ‘com.hannesdorfmann.mosby3:mvi:3.0.4’ // Model-View-Intent
// or
compile ‘com.hannesdorfmann.mosby3:mvp:3.0.4’ // Plain MVP
// or
compile ‘com.hannesdorfmann.mosby3:viewstate:3.0.4’ // MVP + ViewState support
}

allprojects {repositories {...maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } }

?

79.AndResGuard

一句話介紹:一款提供資源文件路徑混淆 的工具

上榜理由:如果你是個對APK大小很敏感的人,那么AndResGuard一定適合你,它的原理類似Java Proguard,但是只針對資源。他會將原本冗長的資源路徑變短,例如將res/drawable/wechat變?yōu)閞/d/a,3.4K個star,證明了在優(yōu)化APK道路上,你不是一個人在戰(zhàn)斗!

github ?https://github.com/shwenzhang/AndResGuard

作者:wechat team

使用:

clone項目到本地,其實(shí)也就是個三兩句話的文檔

?

80.StatusBarUtil

一句話介紹:一款提供設(shè)置沉浸式狀態(tài)欄樣式能力的框架

上榜理由:設(shè)計師MM總是抱怨系統(tǒng)狀態(tài)欄不優(yōu)雅?那就給她一個完美的沉浸式狀態(tài)欄。StatusBarUtil可以隨心所欲的設(shè)置狀態(tài)欄樣式,3.3K個star,足以說明它有多受設(shè)計MM的喜愛

github?https://github.com/laobie/StatusBarUtil

作者:Jaeger

使用:

compile 'com.jaeger.statusbarutil:library:1.4.0'

?

81.robolectric

一句話介紹:一款不依賴于Android設(shè)備的單元測試框架,

上榜理由:sample中列舉了如何對Android四大組件和常見功能測試的用例,3.2K個star,值得充滿好奇心的人嘗試

官網(wǎng)地址:http://robolectric.org/

github ?https://github.com/robolectric/robolectric

作者:robolectric

使用:

testCompile "org.robolectric:robolectric:3.3.2"

?

82.Fragmentation

一句話介紹:一款提供管理Fragmen嵌套t能力的框架

上榜理由:對于Activity和Fragment使用,你一定得心應(yīng)手,但如果要做一套通用的Activity&Fragment嵌套設(shè)計,想必你有點(diǎn)手足無措了,Fragmentation可以作為你設(shè)計Fragment管理上的第一步,3.2K個star,筆者認(rèn)為有點(diǎn)名副其實(shí)了,項目介紹里說的是Fragment的管理能力,但并未提供Fragment&Activity生命周期、任務(wù)棧的管理能力,因此很難直接應(yīng)用到企業(yè)項目當(dāng)中,但源碼當(dāng)中的設(shè)計思路,值得筆者與諸位借鑒,拾人牙慧留有余香!

github:https://github.com/YoKeyword/Fragmentation

作者:YoKey

使用:

// appcompat v7包是必須的 compile 'me.yokeyword:fragmentation:0.10.7' // 如果想使用SwipeBack 滑動邊緣退出Fragment/Activity功能,請再添加下面的庫 // compile 'me.yokeyword:fragmentation-swipeback:0.10.4'

?

83.Small

一句話介紹:輕巧的插件化框架

上榜理由:作為插件框架榜單的新成員,Small的優(yōu)點(diǎn)是輕巧,適合作為小團(tuán)隊的插件開發(fā)方案,3.1K個star,讓它獲得了酷狗音樂等著名開發(fā)團(tuán)隊的青睞,如果你們的團(tuán)隊想逐步實(shí)施插件化開發(fā),Small是個不錯的選擇!

?官網(wǎng)地址:http://code.wequick.net/Small/cn/cases

github ?https://github.com/wequick/Small

作者:wequick 團(tuán)隊

使用:

buildscript {dependencies {classpath 'net.wequick.tools.build:gradle-small:1.2.0-alpha6'} }

apply plugin: ‘net.wequick.small’

small {
aarVersion = ‘1.2.0-alpha6’
}

?

84.JsBridge

一句話介紹:一款提供WebView和Javascript通信能力的框架

上榜理由:該框架提供給了允許H5頁面調(diào)用通過JS調(diào)用App方法的能力;3.1K個star,簡潔的通訊方式,值得每一個Web\Hybrid App開發(fā)者嘗試

gtihub?https://github.com/lzyzsd/JsBridge

作者:hi大頭鬼hi

使用:

repositories {// ...maven { url "https://jitpack.io" } }

dependencies {
compile ‘com.github.lzyzsd:jsbridge:1.0.4’
}

?

85.richeditor-android

一句話介紹:一款強(qiáng)大的富文本編輯框架?

上榜理由:2.8k個star,榜單里第一個為TextView提供擴(kuò)展能力的框架,你暫時不需要它,但不能不知道它

github ?https://github.com/wasabeef/richeditor-android

作者:Daichi Furiya

使用:

repositories {jcenter() }

dependencies {
compile ‘jp.wasabeef:richeditor-android:1.2.2’
}

?

86.Transitions-Everywhere

一句話介紹:一款教你正確使用Transitions API(Android 轉(zhuǎn)場動畫API)的教學(xué)型項目

上榜理由:你可能還未嘗試過Android API的Transitions 框架,可能聽過,但卻無法做出優(yōu)雅奇妙的動效——別擔(dān)心,Transitions-Everywhere正如它的名字一樣,它將帶你全面體驗Transitions 的強(qiáng)大之處

github ?https://github.com/andkulikov/Transitions-Everywhere

作者:Andrey Kulikov

使用:

dependencies {compile "com.andkulikov:transitionseverywhere:1.7.4" }

?

87.android-viewbadger

一句話介紹:能夠快速的為Android 視圖加入“勛章”能力的框架

上榜理由:如果說勛章一詞聽起來陌生,那么顯示已讀未讀個數(shù)、小紅點(diǎn)標(biāo)記信息這一類詞語你一定不太陌生,筆者相信在諸位實(shí)際開發(fā)中經(jīng)常遇到為某些item加入小紅點(diǎn)標(biāo)記的需求,聰明的各位一定有著各種實(shí)現(xiàn)方案,為什么不能快速優(yōu)雅的完成呢?android-viewbadger可以幫你實(shí)現(xiàn),當(dāng)然,在某些情況下,你需要具備修改源碼的能力,以符合設(shè)計MM的需求!值得注意的是,這寬項目已經(jīng)五年沒有更新了!

github?https://github.com/jgilfelt/android-viewbadger

作者:Jeff Gilfelt

使用:

clone源碼到本地

View target = findViewById(R.id.target_view); BadgeView badge = new BadgeView(this, target); badge.setText("1"); badge.show();

?

88.AndroidWiFiADB

一句話介紹:一款不用數(shù)據(jù)線也可以讓你調(diào)試手機(jī)設(shè)備APP的插件項目

上榜理由:你是否還在擔(dān)心測試過程中高強(qiáng)度的拔插數(shù)據(jù)線對手機(jī)電池和USB端口造成終生難以彌補(bǔ)的損害?別擔(dān)心,有wifi有AndroidWiFiADB,無須數(shù)據(jù)線也可以調(diào)試應(yīng)用了,更有趣的是,在測試工程師一邊拿著手機(jī)一邊找你聊bug的時候,你已經(jīng)偷偷在它的手機(jī)上修復(fù)了bug,深藏功與名!

github?https://github.com/pedrovgs/AndroidWiFiADB

作者:Pedro Vicente Gómez Sánchez

使用:

Preferences/Settings->Plugins->Browse Repositories->serch AndroidWiFiADB

?

889.emojicon

一句話介紹:一款提供在TextView、EdiText展示表情包能力的框架

上榜理由:2.7k個star,,榜單第二款增強(qiáng)TextView顯示能力的框架,這款專為表情包設(shè)計,如果你曾經(jīng)好奇微信、QQ的表情顯示是如何做到的?這款框架一定能滿足你的求知欲。

?

90.packer-ng-plugin

一句話介紹:一款打爆工具插件

上榜利用:筆者盡力維護(hù)榜單涉及范圍的全面性,因此引入此插件項目——項目號稱完成100個渠道包只需要10秒鐘,在市面上各種各樣多渠道打包方案的今天,選擇一款適合自己團(tuán)隊的,才是上上選擇

github?https://github.com/mcxiaoke/packer-ng-plugin

作者:Xiaoke Zhang

使用:

buildscript {......dependencies{// add packer-ngclasspath 'com.mcxiaoke.gradle:packer-ng:1.0.9'} }

?

apply plugin: 'packer'

dependencies {
compile ‘com.mcxiaoke.gradle:packer-helper:1.0.9’
}

android {
//…
signingConfigs {
release {
// 滿足下面兩個條件時需要此配置
// 1. Gradle版本 >= 2.14.1
// 2. Android Gradle Plugin 版本 >= 2.2.0
// 作用是只使用舊版簽名,禁用V2版簽名模式
v2SigningEnabled false
}
}
}

?

91.android-priority-jobqueue

一句話介紹:一款提供后臺任務(wù)管理能力的框架

上榜理由:如果你是個志在深入研究多線程操作的開發(fā)者,這個項目一定不要錯過,不論是Activity重新加載、Service使用線程池時的任務(wù)優(yōu)先級和并發(fā)問題,都不要擔(dān)心,Job Manage會照顧優(yōu)先級,持久性,負(fù)載平衡,延遲,網(wǎng)絡(luò)控制,分組,2.4K個star,優(yōu)秀的多線程管理能力,況且它依賴的第三方框架很少,值得你一試

github ?https://github.com/yigit/android-priority-jobqueue

作者:Yigit Boyar

?

92.Android-Debug-Database

一句話介紹:一款提供測試App內(nèi)部數(shù)據(jù)庫能力的框架

上榜理由:榜單里第二款針對調(diào)試數(shù)據(jù)庫的框架,一行代碼集成,直接在瀏覽器增刪改查App的數(shù)據(jù)庫,2.3k個star,心動不如行動!

github ?https://github.com/amitshekhariitbhu/Android-Debug-Database

作者:AMIT SHEKHAR

使用:

debugCompile 'com.amitshekhar.android:debug-db:1.0.0'

瀏覽器鍵入

http://XXX.XXX.X.XXX:8080

?

93.conceal

一句話介紹:一款facebook提供的加密本地大文件的框架

上榜理由:如果還在擔(dān)心App內(nèi)的圖片的隱私問題,這款facebook提供的文件加密框架足以解決你的問題,facebook客戶端的圖片和數(shù)據(jù)都是使用conceal加密的

官網(wǎng)地址:http://facebook.github.io/conceal/

github?https://github.com/facebook/conceal

作者;facebook

使用:

clone項目到本地/官網(wǎng)下載jar

?

94.ARouter

一句話介紹:一款提供服務(wù)、頁面跳轉(zhuǎn)路由的框架

上榜理由:正如作者宣稱的那樣,該框架提供:從外部URL映射到內(nèi)部頁面、跨模塊的頁面跳轉(zhuǎn)(頁面解耦)、攔截跳轉(zhuǎn)過程等能力,還有更多功能等你去發(fā)掘,2.1K個star,值得為企業(yè)級的框架喝彩

github ?https://github.com/alibaba/ARouter

作者:alibaba?

使用:

ndroid {defaultConfig {...javaCompileOptions {annotationProcessorOptions {arguments = [ moduleName : project.getName() ]}}} }

dependencies {
// 替換成最新版本, 需要注意的是api
// 要與compiler匹配使用,均使用最新版可以保證兼容
compile ‘com.alibaba:arouter-api:x.x.x’
annotationProcessor ‘com.alibaba:arouter-compiler:x.x.x’

}
// 舊版本gradle插件(< 2.2),可以使用apt插件,配置方法見文末’其他#4’
// Kotlin配置參考文末’其他#5’

?

95.MagicaSakura

一句話介紹:一款提供多主題切換能力的框架

上榜理由:框架所提供的能力,一直是本榜單所看重的,這款由bilibili提供的多主題框架,作為榜單所涉及范圍能補(bǔ)充,1.9個star,感謝bilibili團(tuán)隊所作出的貢獻(xiàn)!

github?https://github.com/Bilibili/MagicaSakura

作者:Bilibili

使用:

compile 'com.bilibili:magicasakura:0.1.6@aar'

?

96.CustomActivityOnCrash

一句話介紹:一款當(dāng)APP crash的時候自動載入某個Activity的框架(而不是顯示Unfortunately, X has stopped)

上榜理由:新奇的創(chuàng)意是榜單所需要的,所以它贏得了1.8K個star;作為開發(fā)者應(yīng)該擁有考慮到各種潛伏的bug的能力,但我們不能總是面面俱到,其他系統(tǒng)端的同事也可能造成程序的意外crash,因此,如何讓程序優(yōu)雅的crash->重啟值得我們思考,這款框架就提供了這種能力

github ?https://github.com/Ereza/CustomActivityOnCrash

作者:Eduard Ereza Martínez

使用:

dependencies {compile 'cat.ereza:customactivityoncrash:2.1.0' } 添加到 Application class:

@Override
public void onCreate() {
super.onCreate();

CaocConfig.Builder.create().backgroundMode(CaocConfig.BACKGROUND_MODE_SILENT) </span>.enabled(<span style="color:rgb(0,0,255); line-height:1.5!important">false</span>) <span style="color:rgb(0,128,0); line-height:1.5!important">//</span><span style="color:rgb(0,128,0); line-height:1.5!important">default: true</span>.showErrorDetails(<span style="color:rgb(0,0,255); line-height:1.5!important">false</span>) <span style="color:rgb(0,128,0); line-height:1.5!important">//</span><span style="color:rgb(0,128,0); line-height:1.5!important">default: true</span>.showRestartButton(<span style="color:rgb(0,0,255); line-height:1.5!important">false</span>) <span style="color:rgb(0,128,0); line-height:1.5!important">//</span><span style="color:rgb(0,128,0); line-height:1.5!important">default: true</span>.trackActivities(<span style="color:rgb(0,0,255); line-height:1.5!important">true</span>) <span style="color:rgb(0,128,0); line-height:1.5!important">//</span><span style="color:rgb(0,128,0); line-height:1.5!important">default: false</span>.minTimeBetweenCrashesMs(<span style="color:rgb(128,0,128); line-height:1.5!important">2000</span>) <span style="color:rgb(0,128,0); line-height:1.5!important">//</span><span style="color:rgb(0,128,0); line-height:1.5!important">default: 3000</span>.errorDrawable(R.drawable.ic_custom_drawable) <span style="color:rgb(0,128,0); line-height:1.5!important">//</span><span style="color:rgb(0,128,0); line-height:1.5!important">default: bug image</span>.restartActivity(YourCustomActivity.<span style="color:rgb(0,0,255); line-height:1.5!important">class</span>) <span style="color:rgb(0,128,0); line-height:1.5!important">//</span><span style="color:rgb(0,128,0); line-height:1.5!important">default: null (your app's launch activity)</span>.errorActivity(YourCustomErrorActivity.<span style="color:rgb(0,0,255); line-height:1.5!important">class</span>) <span style="color:rgb(0,128,0); line-height:1.5!important">//</span><span style="color:rgb(0,128,0); line-height:1.5!important">default: null (default error activity)</span>.eventListener(<span style="color:rgb(0,0,255); line-height:1.5!important">new</span> YourCustomEventListener()) <span style="color:rgb(0,128,0); line-height:1.5!important">//</span><span style="color:rgb(0,128,0); line-height:1.5!important">default: null</span>

.apply();
}

?

?

總結(jié)

以上是生活随笔為你收集整理的2017年Android百大框架排行榜的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。