安卓开发 第三篇 我的安卓应用架构设计-----Responce类
来源:互联网 发布:php办公管理系统 编辑:程序博客网 时间:2024/06/07 19:44
我的项目中使用了model和Responce来保存数据,Responce是服务器直接返回的数据的类
例如,服务器返回:
{ "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类Userpublic 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
0 0
- 安卓开发 第三篇 我的安卓应用架构设计-----Responce类
- 安卓开发 第四篇 我的安卓应用架构设计-----Presenter类
- 安卓开发 第五篇 我的安卓应用架构设计-----Repository类
- 安卓开发 第六篇 我的安卓应用架构设计-----BaseActivity类
- 安卓开发 第二篇 我的安卓应用架构设计
- 安卓开发 第八篇 我的安卓应用架构设计-----图片选择以及剪裁
- 安卓开发 第七篇 我的安卓应用架构设计-----Adapter类及ViewHolder类
- 第二篇 我的安卓应用架构设计
- 安卓设计架构
- 我的安卓开发学习笔记一:安卓系统架构
- 安卓应用架构思考
- 安卓的架构
- Android开发架构设计之健壮且可读的安卓架构(上篇)
- Android开发架构设计之健壮且可读的安卓架构(下篇)
- 我的安卓
- 基于安卓的移动应用开发
- 安卓的简单开发应用
- 安卓开发中Handler的应用
- ansible入门
- 半卷湘帘半掩门,碾冰为土玉为盆——客户端检测
- 消息机制之Looper
- Linus,一生只为寻找欢笑(完全版)
- 用sift检测模糊图像
- 安卓开发 第三篇 我的安卓应用架构设计-----Responce类
- POJ 1005
- Eclipse启动Tomcat错误:Several ports (8080, 8009) required by Tomcat v6.0 Server at localhost are alread
- 消息机制之Handler
- POJ 1006
- 南京理工大学第八届程序设计大赛(校外镜像)A题
- Flex 设置WMODE 后滚轮失效的解决方法
- SQLite 约束
- Android Service使用拾遗[阿里工程师分享]