安卓开发 第三篇 我的安卓应用架构设计-----Responce类
2016-04-17 17:39
555 查看
我的项目中使用了model和Responce来保存数据,Responce是服务器直接返回的数据的类
例如,服务器返回:
那么Responce类就这样写:(只包含data)
有时候也会这样写:(只包含data)(据说不用setter和getter,访问速度会提升3倍)
我这里使用Responce主要是为了应对服务器返回的数据比较杂乱,不是以对象的形式返回的,如果服务器返回的数据很规范,是以对象的格式返回的,你也可以直接使用你的model类接收。
还是以上面的json数据为例(全部数据)
Responce基类:
然后是具体的Responce类:(假如是登录的Responce)
就这样,我们的Responce类就创建好了,我们可能需要将数据转化成自己的model,比如(model 类为User)
如果服务器返回的数据很规范,是以对象的格式返回的,你也可以直接使用你的model类接收,如:
是不是很简单,好了,就写到这里吧。
如果有更深的理解,本文将会修改;
如果有错误的地方,欢迎指正;
如果你有更好的理解,欢迎交流。
本文为原创文章,版权归博主所有,转载请注明出处。
更多资料:
我的github地址以及使用demo: https://github.com/naivor/naivorapp
例如,服务器返回:
{ "status":1000, "msg":"succeed", "requestTime":1460855439, "responceTime":1460855483, "data":{"name": "BeJson", "url": "http://www.bejson.com", "page": 88, "isNonProfit": true, "address": "科技园路,江苏苏州,中国" } }
那么Responce类就这样写:(只包含data)
public class Responce{ private String name; private String url; private int page; private boolean isNonProfit; private String address; public void setName(String name){ this.name = name; } public String getName(){ return this.name; } public void setUrl(String url){ this.url = url; } public String getUrl(){ return this.url; } public void setPage(int page){ this.page = page; } public int getPage(){ return this.page; } public void setIsNonProfit(boolean isNonProfit){ this.isNonProfit = isNonProfit; } public boolean getIsNonProfit(){ return this.isNonProfit; } public void setAddress(String address){ this.address = address; } public String getAddress(){ return this.address; } }
有时候也会这样写:(只包含data)(据说不用setter和getter,访问速度会提升3倍)
public class Responce{ public String name; public String url; public int page; public boolean isNonProfit; public String address; }
我这里使用Responce主要是为了应对服务器返回的数据比较杂乱,不是以对象的形式返回的,如果服务器返回的数据很规范,是以对象的格式返回的,你也可以直接使用你的model类接收。
还是以上面的json数据为例(全部数据)
Responce基类:
public class BaseResponce<T>{ private int status; private String msg; private int requestTime; private int responceTime; private T data; public void setStatus(int status){ this.status = status; } public int getStatus(){ return this.status; } public void setMsg(String msg){ this.msg = msg; } public String getMsg(){ return this.msg; } public void setRequestTime(int requestTime){ this.requestTime = requestTime; } public int getRequestTime(){ return this.requestTime; } public void setResponceTime(int responceTime){ this.responceTime = responceTime; } public int getResponceTime(){ return this.responceTime; } public void setData(T data){ this.data = data; } public T getData(){ return this.data; } }
然后是具体的Responce类:(假如是登录的Responce)
public class LoginResponce extends BaseResponce<LoginData>{ public static class LoginData{ public String name; public String url; public int page; public boolean isNonProfit; public String address; } }
就这样,我们的Responce类就创建好了,我们可能需要将数据转化成自己的model,比如(model 类为User)
//我们的model类User public class User{ private int id; private String name; private long phone; private int age; private String address; public void setId(int id){ this.id = id; } public int getId(){ return this.id; } public void setName(String name){ this.name = name; } public String getName(){ return this.name; } public void setPhone(long phone){ this.phone = phone; } public long getPhone(){ return this.phone; } public void setAge(int age){ this.age = age; } public int getAge(){ return this.age; } public void setAddress(String address){ this.address = address; } public String getAddress(){ return this.address; } } //然后Responce类 public class LoginResponce extends BaseResponce<LoginData>{ public static class LoginData{ public String name; public String url; public int page; public boolean isNonProfit; public String address; } public User UserMapper(){ User user=new User(); usr.setName(data.name); user.setAdress(data.adress); return User; } }
如果服务器返回的数据很规范,是以对象的格式返回的,你也可以直接使用你的model类接收,如:
public class LoginResponce extends BaseResponce<User>{ }
是不是很简单,好了,就写到这里吧。
如果有更深的理解,本文将会修改;
如果有错误的地方,欢迎指正;
如果你有更好的理解,欢迎交流。
本文为原创文章,版权归博主所有,转载请注明出处。
更多资料:
我的github地址以及使用demo: https://github.com/naivor/naivorapp
相关文章推荐
- 架构设计:系统间通信(25)——ActiveMQ集群方案(上)
- MYSQL高可用(HA)随想
- 大型网站设计-负载均衡
- 【OpenStack】OpenStack原理(一)——OpenStack发展及架构
- Android视图架构详解
- Cypress固件架构彻底解析及USB枚举
- 大型网站技术架构 核心原理与案例分析 2016-4-17
- 【Chromium中文文档】沙箱FAQ
- 如何让网站在百度有LOGO展示
- 关于邮箱前端架构的一些思考
- 常用的网站
- 美团O2O供应链系统架构设计解析
- Android控件架构与自定义控件(二)
- Android x86源码架构
- Android控件架构与自定义控件(一)
- 游戏引擎架构选摘之第五章 游戏支持系统
- 经历一个工具软件版本架构设计后的总结
- 怎么用JS实现网站全屏
- postgresql网站翻译
- 网站实现视频上传、转码、截图及在线播放功能