我的技术堆栈

持续更新中。。。

一、 日志输出框架:
Logger框架:极其优雅的Logger日志输出
Logger输出样例,这里是对Java对象进行序列化
项目地址:https://github.com/orhanobut/logger
使用步骤:

  1. 添加依赖:
implementation 'com.orhanobut:logger:2.2.0'
  1. 初始化Logger适配器(在项目中通常放在Application中初始化)
Logger.addLogAdapter(new AndroidLogAdapter()); //初始化Logger
  1. 直接使用
Logger.d("debug");
Logger.e("error");
Logger.i("information");
// 默认filter关键字为PRETTY_LOGGER

这里我们也可以自定义Logger的结构,代码如下:

Logger.addLogAdapter(new AndroidLogAdapter(formatStrategy)); //初始化Logger
 public PrettyFormatStrategy formatStrategy = PrettyFormatStrategy.newBuilder()
            .showThreadInfo(true)   //(可选)是否显示线程信息。 默认值为true
            .methodCount(1)         // (可选)要显示的方法行数。 默认2
            .methodOffset(5)        // (可选)隐藏内部方法调用到偏移量。 默认5
            .tag("doShare")         //(可选)每个日志的全局标记。 默认PRETTY_LOGGER
            .build();

注意事项:
1. 当在项目中多个Activity中需要使用到Logger时,可是直接在Application中对Logger进行初始化;
2. Logger打印路径可以在DiskLogAdapter类的构造函数,进入build()方法里;

二、json解析 / Java对象序列化框架
fastjson.android:这个是针对Android简化过的版本,原版本比较冗杂
项目地址:https://github.com/alibaba/fastjson
1.Java对象序列化步骤:
1.1.添加依赖

implementation 'com.alibaba:fastjson:1.1.71.android'

1.2.对对象进行序列化

//这里的group就是一个对象
String jsonString = JSON.toJSONString(group);
Logger.e(jsonString);
  1. json数据解析步骤:
    对于json结构不是很了解的,可以点击这里:关于json数据类型和构成的介绍
    下面我已下面这个在线API接口的返回数据为例进行json数据的解析:
{
	"showapi_res_code": 0,
	"showapi_res_error": "",
	"showapi_res_body": {
		"code": 100000,
		"ret_code": 0,
		"text": "我叫图灵机器人,聪明又可爱的图灵机器人"
	}
}

我们需要提取出这个json序列中text的值

		//这里的res字符串为从服务器上返回的json序列字符串
		JSONObject resultData =  JSON.parseObject(res);
        String inString = resultData.getString("showapi_res_body");
        JSONObject inData = JSON.parseObject(inString);
        String result = inData.getString("text");

注意:1. json字符串转化成java对象字段不区分大小写;

三、数据库操作框架
greenDAO:轻量且高效
项目地址:http://greenrobot.org/greendao/

四、网络请求框架

  1. Volley框架:适合轻量级数据请求且请求频繁
    项目地址:https://github.com/mcxiaoke/android-volley
    使用步骤:点击这里

五、图片加载框架
2. Picasso:轻量级,几乎能够满足除壁纸类APP和图片社交类软件之外大部分应用需求
项目地址:https://github.com/square/picasso
依赖:implementation 'com.squareup.picasso:picasso:2.71828'
使用步骤:

ImageView iv_show = findViewById(R.id.iv_show);
String internetUrl = "https://a.36krcnd.com/photo/2014/5be404781da19da8778d6cbf0296acc1.jpg";
Picasso.get().load(internetUrl).into(iv_show);

六、其他常用功能框架:

  1. 数据与UI跨组件同步:即一个页面的某个数件发生变化后,另一个页面需要能实时捕获并进行UI更新;
    实现方案:LiveData
    使用方法及介绍:这里
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值