前段时间终于下定决心自己实践 RxJava,Retrofit 等当前十分流行的库,利用 Gank.io 的公共 API,做一个自己的 Gank 客户端。项目地址: Gank。只要有闲暇时间便会写写代码,慢慢完善。期间有一些小的知识点,但是却很实用,这里便列一下。关于 RxJava,Retrofit 目前学习还不是很深入,这里便不展开了。
@SerializedName
现在与服务端通信通常都是Json,但是服务器返回的Json串的key是服务端自己的命名规则(可能是中文key,或者大写开头),我们直接通过Gson解析就必须一一对应,但是这样的命名在Java里很不友好。
那么就可以通过@SerializedName注解给Bean类进行“重命名”,这样在解析的时候便可以直接利用我们自己的命名规则命名变量了。
举个栗子:http://gank.io/api/day/2017/08/03
返回的数据包含Android
,福利
等不符合Java规范的key,那么就可以这样:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16public class DataResults {
List<ItemData> androidList;
List<ItemData> iOSList;
List<ItemData> restList;
List<ItemData> jsList;
List<ItemData> welfareList;
}
如此便可以直接通过Gson解析,并且变量名是以我们自己的命名规则进行命令的了。
more >>