2019-11-08

2019-11-09  本文已影响0人  ambe_gzy

Gson

---

产生错误

java.net.UnknownHostException: Unable to resolve host "go.yolonet.io": No address associated with hostname

换成www.baidu.com,不产生这个问题,初步判断不是网络的问题,go.yolonet.io浏览器也打不开,上面错误是找不到主机,询问后端同事,发现是主机地址换了,更换主机地址,问题解决

java.lang.IllegalStateException: closed,java.lang.IllegalStateException: closed

debug的时候调用了response.body.string,response中的流会被关闭,因此产生此错误


Gson

1.json-string与string-json之间的转化

数据的网络传递:自定义类—>json字符串—>Json—>json字符串—>自定义类

2. 如果客户端和服务端定义的属性名不一样,则解析就会出错;SerializedName 的作用是为了在序列化或反序列化时,指导 Gson 如果将原有的属性名和其它特殊情况下的属性名联系起来;为了应对多种属性名不一致的情况,我们可以用到 SerializedName 注解的另一个属性值 alternate 了;

e.g.@SerializedName(value = "userName", alternate = {"user_name", "Name"})

3.new Gson(); 与new GsonBuilder.create()的区别

前者使用默认的Gson、后者可以使用自定义Gson(如通过new GsonBuilder().serializeNulls() .create();使得属性值为空的某个属性也能进行进序列化)


Android Studio Debug 技巧

下文的 动态打印 和 对象观察 比较常用,建议了解一下。

Android Studio Debug 的 9 个小技巧


Android 优化

闪屏页优化可以参考一下

面试官:今日头条启动很快,你觉得可能是做了哪些优化?

上一篇 下一篇

猜你喜欢

热点阅读