Android 项目中常用的开源框架:
-
Android 之神 Jake Wharton
J神的github:https://github.com/JakeWharton
网络请求框架 Retrofit + Gson + Rxjava
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.5.0'
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.9.0'
implementation 'com.google.code.gson:gson:2.8.5'
okHttp:
implementation 'com.squareup.okhttp3:okhttp:3.12.3'
配套使用:
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://api.example.com")
.client(new OkHttpClient())
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.build();
- 图片加载框架 Glide
implementation 'com.github.bumptech.glide:glide:4.9.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
使用:
ImageView imageView = findViewById(R.id.imageView);
Glide.with(context).load(url).into(imageView);
当然上面是Glide的最基本用法,如需了解更多gilde的用法,请参考:
https://blog.csdn.net/weixin_44160848/article/details/108541447?spm=1001.2014.3001.5501
- AndroidX Jetpack组件:
Lifecycle:
liveData:
ViewModel:
def lifecycle_version = "2.3.1"
// ViewModel
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
// LiveData
implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
dagger2&hilt:
implementation 'com.google.dagger:dagger:2.4'
annotationProcessor 'com.google.dagger:dagger-compiler:2.4'
implementation "com.google.dagger:hilt-android:2.28-alpha"
annotationProcessor "com.google.dagger:hilt-android-compiler:2.28-alpha"
navegation:
def nav_version = "2.3.5"
// Java language implementation
implementation "androidx.navigation:navigation-fragment:$nav_version"
implementation "androidx.navigation:navigation-ui:$nav_version"
Paging:
def paging_version = "2.1.2"
implementation "androidx.paging:paging-runtime:$paging_version"
// optional - RxJava support
implementation "androidx.paging:paging-rxjava2:$paging_version"
Room:
def room_version = "2.2.6"
implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version"
// optional - RxJava2 support for Room
implementation "androidx.room:room-rxjava2:$room_version"
DataBinding:
dataBinding {
enabled true
}
WorkManager:
def work_version = "2.5.0"
// (Java only)
implementation "androidx.work:work-runtime:$work_version"
Biometric:
// Java language implementation
implementation "androidx.biometric:biometric:1.1.0"
布局:
1.Recyclerview 在您的界面中显示大量数据,同时最大限度减少内存用量。
implementation "androidx.recyclerview:recyclerview:1.1.0"
2.Coordinatorlayout 定位顶级应用微件,例如 AppBarLayout 和 FloatingActionButton。
implementation "androidx.coordinatorlayout:coordinatorlayout:1.1.0"
3.Drawerlayout 实现 Material Design 抽屉式导航栏微件。
implementation "androidx.drawerlayout:drawerlayout:1.1.1"
4.Cardview 用圆角和阴影实现 Material Design 卡片图案。
implementation "androidx.cardview:cardview:1.0.0"
5.ViewPager2 以可滑动的格式显示视图或 Fragment。
implementation "androidx.viewpager2:viewpager2:1.0.0"
6.Swiperefreshlayout 实现下拉刷新的界面模式。
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
7.Slidingpanelayout 实现滑动窗格界面模式。
implementation "androidx.slidingpanelayout:slidingpanelayout:1.2.0-alpha01"
8.GridLayout 实现网格布局。
implementation "androidx.gridlayout:gridlayout:1.0.0"
Webkit
implementation "androidx.webkit:webkit:1.4.0"
未完待续。。。。。