本文主要记录和整理开发中常用的第三方包在build.gradle添加依赖,每个第三方包的用法都有很多,也很复杂,
这里只是简单记录下比较基础用法,并没有太多的详解,还是以记录添加依赖的形式为主。
File-->Settings下的Plugins 搜索ButterKnife 如图所示:
2.添加依赖
定义接口 Api.class
Retrofit接口中提供了RxJava的接口(经常与Retrofit结合使用)
@GET("lube/queryVersion")
Observable<ResponseBody> obserVersion(@Query("OsType") String OsType);
被观察者 Observable<T> observable=Observable.create()....
观察者 Observer<T> observer=new Observer<T>(){};
被观察者订阅观察者 observable.subscribe(observer);
(1)在project的build.gradle中dependencies{}
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.1'
(2)在app的build.gradle添加
apply plugin: 'org.greenrobot.greendao'
在其dependencies{}
compile 'org.greenrobot:greendao:3.2.0'
以及配置数据库版本信息
greendao {
//版本号,升级时可配置
schemaVersion 1
daoPackage 'com.xxx.greendao'
targetGenDir 'src/main/java'
}
2.使用
(1)创建实体类UserBean @Entity
编译项目会自动生成get(),set()。
(2)创建数据库
Android 从5.0版本开始,新增了Android Materia Design库
这里只是简单记录下比较基础用法,并没有太多的详解,还是以记录添加依赖的形式为主。
Butterknife注解
1.添加插件File-->Settings下的Plugins 搜索ButterKnife 如图所示:
2.添加依赖
//butterknife
compile 'com.jakewharton:butterknife:8.5.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'
3.基础使用
@BindView(R.id.tv_test)
TextView tvTest;
其他还有 @BindArray @BindString....类型不能是static和private
点击事件:
@OnClick(R.id.bt_test)
public void click(View v){}
其他还有 @OnItemClick @OnCheckedChanged....
在activity中绑定 ButterKnife.bind(this);
在fragment中绑定 ButterKnife.bind(this,view);
Retrofit2网络框架
1.添加依赖 compile 'com.squareup.retrofit2:retrofit:2.+'
compile 'com.squareup.retrofit2:adapter-rxjava2:2.+'
compile 'com.squareup.retrofit2:converter-gson:2.+'
2.基础使用定义接口 Api.class
get请求:@GET("lube/queryVersion")
Call<ResponseBody> callVersion(@Query("OsType") String OsType);
post请求:@FormUrlEncoded
@POST("statisticalEdition/passUbsLogin")
Call<ResponseBody> callLogin(@Field("userName") String userName);
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(Contents.BASEHTTP)
//集成okhttp
.client(okhttp)
//rxjava
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
//gson
.addConverterFactory(GsonConverterFactory.create())
.build();
Api api= retrofit.create(Api.class);
Call<ResponseBody> call = api.callVersion("android");
call.enqueue(...);
OkHTTP3
1.添加依赖 compile 'com.squareup.okhttp3:okhttp:3.3.0'
//添加log过滤器
compile 'com.squareup.okhttp3:logging-interceptor:3.6.0'
2.使用
//log过滤器
HttpLoggingInterceptor interceptor=new HttpLoggingInterceptor(
new HttpLoggingInterceptor.Logger() {
@Override
public void log(String message) {
Log.e("OkHTTP", message);
}
}
);
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
build.addInterceptor(interceptor);
一般与Retrofit结合使用
RxJava2
1.添加依赖 compile 'io.reactivex.rxjava2:rxjava:2.0.3'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
2.使用Retrofit接口中提供了RxJava的接口(经常与Retrofit结合使用)
@GET("lube/queryVersion")
Observable<ResponseBody> obserVersion(@Query("OsType") String OsType);
被观察者 Observable<T> observable=Observable.create()....
观察者 Observer<T> observer=new Observer<T>(){};
被观察者订阅观察者 observable.subscribe(observer);
GreenDao
1.添加依赖(1)在project的build.gradle中dependencies{}
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.1'
(2)在app的build.gradle添加
apply plugin: 'org.greenrobot.greendao'
在其dependencies{}
compile 'org.greenrobot:greendao:3.2.0'
以及配置数据库版本信息
greendao {
//版本号,升级时可配置
schemaVersion 1
daoPackage 'com.xxx.greendao'
targetGenDir 'src/main/java'
}
2.使用
(1)创建实体类UserBean @Entity
编译项目会自动生成get(),set()。
(2)创建数据库
//创建数据库user.db"
DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "user.db", null);
//获取可写数据库
SQLiteDatabase db = helper.getWritableDatabase();
//获取数据库对象
DaoMaster daoMaster = new DaoMaster(db);
//获取Dao对象管理者
DaoSession daoSession = daoMaster.newSession();
daoSession.getUserBeanDao().loadAll();........
imageLoader
1.添加依赖:
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.+'
参考:
Android开源框架Universal-Image-Loader方法详细介绍
自动轮播图框架
compile 'com.youth.banner:banner:1.4.10'
RecyclerView
compile 'com.android.support:recyclerview-v7:26.0.0-alpha1'
Glide
compile 'com.github.bumptech.glide:glide:3.6.1'
Android 从5.0版本开始,新增了Android Materia Design库
可以直接向下兼容到Android 2.2.
compile 'com.android.support:appcompat-v7:25.3.1' compile 'com.android.support:design:26.+'