前言
作为web/h5开发的我,使用了uniapp开发过程中,使用了原生插件 面审和活体检测。
最初原生插件为另外一个公共小组提供,在后续的维护中 两个原生插件 改动比较小,又有部门组织架构的调整,我们与公共小组沟通愈加困难,于是自学了android,在后续维护中自己能够独立定位一些问题。
学习步骤
以下是我学习的步骤
- 初级菜鸟教程
- android官网
- 哔哩哔哩视频 视频资讯app
- github优质项目
- android framework
- 《Android进阶揭秘》
jetpack
常用库
- 网络 有系统自带的URLConnection和HttpClient;还有开源的框架,比如Volley ,Xutils,OK3、retrofit2等。
implementation 'com.squareup.okhttp3:okhttp:3.11.0'
implementation 'com.squareup.retrofit2:retrofit:2.4.0'
implementation 'com.squareup.retrofit2:converter-gson:2.4.0'
ApiBuilder builder=new ApiBuilder()
.Url("car")//这里填根Url后的部分
.Headers("token",value)//请求头 键,值
.Params("key",value)//请求参数 键,值
.Params("key",value);//参数可以有多个
ApiClient.getInstance().doGet(builder,new CallBack<BeanClass>(){
//BeanClass为解析接口数据得到的实体类
@Override
public void onResponse(BeanClass data) {
if (data.isSuccess()){ //获取接口数据成功
//请求体处理
}else {
//请求失败处理 Activity.this为当前活动.this
Toast.makeText(Activity.this,data.getMsg(),Toast.LENGTH_SHORT).show();
}
}
@Override
public void onFail(String msg) {
Toast.makeText(Activity.this,msg,Toast.LENGTH_SHORT).show();
}
}, BeanClass.class, this);
HashMap<String,Integer>map=new HashMap<>();
map.put("model_id",mode);//向服务器提交的信息
JSONObject object=new JSONObject(map);#HashMap转JSONObject对象
String str=object.toString();#转换成JSON字符串
RequestBody body=RequestBody.create(MediaType.parse("application/json;charset=UTF-8"),str);#创建请求体,create第一个参数是请求头及编码格式,第二个参数是JSON字符串
ApiBuilder builder=new ApiBuilder()
.Url(StringConstant.POST_MODEL)
.Headers("Content-Type","application/json")
.Body(body);
ApiClient.getInstance().doPost(builder, new CallBack<PostCodeBean>() {
@Override
public void onResponse(PostCodeBean data) {
if (data.getRes()==0){
Toast.makeText(getContext(),"设置成功",Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(getContext(),"设置失败",Toast.LENGTH_SHORT).show();
}
}
@Override
public void onFail(String msg) {
System.out.println(msg);
}
},PostCodeBean.class,getContext());
Gradle命令
- gradlew build
- gradlew assembleRelease
Gradle build脚本使用Groovy编写,Groovy基于JVM(Java虚拟机)的敏捷开发语言,它结合了Python、Ruby和Smalltalk的许多强大的特性
工具
- 抓包工具 charles、Wireshark、fiddler、stream
- 异常捕获 firebase
证书
- .key 私钥,与证书配对
- .csr 请求文件,证书颁发机构使用其根证书私钥签名生成的证书公钥文件
- .cer 可将多级证书导入生成包含完整证书链的证书
- .mobileprovision 证书描述文件
- .p12 同时包含证书和私钥,一般有密码保护
- .keystore 同时包含证书和私钥,keytool生成
- .jks android studio生成的签名证书文件
收获
欢迎关注我的前端自检清单,我和你一起成长