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 优化
闪屏页优化可以参考一下
网友评论