Android开发常用框架:
- BaseQuickAdapter
- Glide
- GreenDao
- MMKV
- OkHttp
- Retrofit
- RxJava
- Easypermissions
- Fragmentation
- MVP
- MVVM
- EventBus
- SmartRefreshLayout
- Butterknife
- Gson
- Autosize
- Bugly
- Leakcanary
- WakeLock
- JobScheduler
- Doraemonkit
- BadgeView
- PowerfulViewLibrary
- PhotoView
- ViewPager
- ToolBar
- Stetho
- DialogPlus
- Gradle
结尾介绍一下Activity Fragment Service的生命周期。
接下来,一一介绍各个框架如何使用
2 Glide
with: 指定上下文
load: 加载图片
overide: 图片裁剪
error: 图片获取失败
transition: 动画
into: 图片加载到什么地方
Glide.with(App.g_Context)
.load(Constant.BASE_NGINX_URL + item.getCaptureUrl())
.apply(new RequestOptions().fitCenter()
.override(100, 100)
.error(R.drawable.pot_blank))
.transition(DrawableTransitionOptions.withCrossFade(R.anim.anim_loading))
.into(ivFaceClick);
3 GreenDao
(1)初始化数据库
private void initDataBase() {
MySqliteOpenHelper helper = new MySqliteOpenHelper(this, "huoyan.db", null);
SQLiteDatabase readableDatabase = helper.getReadableDatabase();
//进行数据库加密
//DaoMaster daoMaster = new DaoMaster(helper.getEncryptedWritableDb("huoyanapp"));
DaoMaster daoMaster = new DaoMaster(readableDatabase);
daoSession = daoMaster.newSession();
}
(2)实体关系映射
@Entity
public class TrackRegistBean {
@Id(autoincrement = true)
private Long trackId;
private String id;
private String refFaceId;
private String facedbId;
private String engineFaceId;
private String cardType;
private String cardId;
private String name;
private String birthday;
private String address;
private String cardOrg;
private int gender;
private String nation;
private String nativePlace;
private String validDate;
private String facePath;
private String cardPath;
private String phoneNo;
private int state;
private int keyState;
private int suspectState;
private String remark;
private String extFiled1;
private String extFiled2;
private String extFiled3;
private String createdBy;
private long createdTime;
private String createdUserid;
private String updatedTime;
private String updatedUserid;
private String deletedTime;
private String deletedUserid;
private String facedbName;
private double recogScore;
private byte[] face;
private long searchedTime;
@Generated(hash = 1096182932)
}
(3)数据库表的增删改查
public class TrackRegistBeanHelper {
/**
* functionName: insert <p>
* description: 新增一个跟踪预览注册数据 <p>
* params: trackRegistBean <p>
* return: long <p>
* author: <p>
* date: 2019/4/2 <p>
*/
public static long insert(TrackRegistBean trackRegistBean) {
if (trackRegistBean == null) {
throw new IllegalArgumentException("Params TrackRegistBean can't be null");
}
return App.getInstance().getTrackRegistBeanDao().insertOrReplace(trackRegistBean);
}
/**
* functionName: queryAll <p>
* description: 查询所有的跟踪注册数据 <p>
* params: <p>
* return: java.util.