项目中常用的基础框架做个总结,一直累加中,方便以后的开发使用
- Toasty Android Toast提示UI框架 https://github.com/hss01248/Toasty
- OKGO https://github.com/jeasonlzy/okhttp-OkGo 我的代码中对于这个网络,到处用到,感觉很好用,但是有个缺点(不能链式操作,只能在获取结果里面处理),
OkGo.post(PadConfig.querycommonmode)
.upJson(jsonParm)
.execute(new StringCallback() {
@Override
public void onSuccess(String s, Call call, Response response) {
try {
JSONObject data = new JSONObject(s);
// fStockDetail
Log.i("checkiscommonstock", data.toString());
List<checkisCommonStock> checkisCommonList = gson.fromJson(data.getString("data"),
new TypeToken<List<checkisCommonStock>>() {
}.getType());
} catch (Exception e) {
}
}
@Override
public void onError(Call call, Response response, Exception e) {
}
});
List<checkisCommonStock> checkisCommonList = gson.fromJson(data.getString("data"),
new TypeToken<List<checkisCommonStock>>() {
}.getType());
这个里面主要 gson 解析实体,很方便
3.EventBus https://github.com/greenrobot/EventBus EventBus能够简化各组件间的通信,让我们的代码书写变得简单,能有效的分离事件发送方和接收方(也就是解耦的意思),能避免复杂和容易出错的依赖性和生命周期问题。
4.ARouter https://github.com/alibaba/ARouter 这个主要是路由跳转和 EventBus混合使用效果佳,
ARouter.getInstance().build("/kedacom/generalMaterialDetailsActivity")
.withString("modelIntent", modelJSON)
.withSerializable("mocodeString", (Serializable) mocodeList)
.withString("storeHouse", storeHouse)
.withString("preparationArea", preparationArea)
.withString("targetStorage", targetStorage)
.navigation();
withSerializable 对于复杂的数据传递 (Serializable) mocodeList 即为
List<String> mocodeList = new ArrayList<>();
接收可以这种原生更直观
mocodeList = (List<String>) getIntent().getSerializableExtra("mocodeString");
5.butterknife View注解框架 https://github.com/JakeWharton/butterknife