android 与后台交互的两种方式xml和json
来源:互联网 发布:热血战歌龙心升级数据 编辑:程序博客网 时间:2024/05/18 02:24
Android 中客户端与后台的交互都比较简单,一个是xml一个是json数据。
Xml的交互之后会写,因为本人不太喜欢这个方式。
说一下json数据的交互方式
Json交互方式准照的是一个原始,遇见大括号就创建类,遇见中括号就建集合。
HTTP 200 OK
Content-Type: application/json
Vary: Accept
Allow: GET, POST, HEAD, OPTIONS
{
"count": 81,
"next": "http:/=6",
"previous": "http://127.0",
"results": [
{
"id": "21039460",
"uer": "8598",
"type": "592263",
"fle_size":42733,
"fie_path": "oqi8gultn1mq9ofl.rmvb",
"imge": "o_1ae6dj5l318fe17su1gb4tm587hg.jpg",
"im_ice": 0,
"play_time": "1969Z",
"duation": 256,
"esc": "易接受。",
"tile": "作版)",
"pay_num": 859,
"shar: "育",
"ad_type": 1,
"sle": 0,
"vad_m_num": 0,
"le_um": 4,
"cree_time": "2016-00Z",
"plul": "http:/kuffAtMt4=",
"tehers": "",
"permission": 0
},
{
"id": "357371",
"user": "85858998",
"type": "261105",
"file_size": 157220937,
以这个为例,起始就很简单了,因为片段是公司服务器的我把许多东西去掉了,为了少麻烦减
建一个类(user)里面的字段3个
又有一个集合results
List<results> list= new Arraylist<results>();
然后是两种选择一种是restults的内部类,一个是外部类,当然这个外不类的名字就可以随便了,不过还是建议用这个results。
我们一般是用gson解析json
Gson gson =new Gson()
User user = gson.fromJson(response.toString(), User.class);
然后我们通过get方法获得相应的字段
另外一种是xml数据的交互方式
<?xml version="1.0" encoding="UTF-8"?>
<beauties>
<beauty>
<name>小智</name>
<age>28</age>
</beauty>
<beauty>
<name>小漠</name>
<age>23</age>
</beauty>
</beauties>
以这个片段为例
注意两个地方一个是document作用的标签beauties一个就是正常的标签name 或者age
public class Beauty {
//解说姓名
private String name;
//解说年龄
private String age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
@Override
public String toString() {
return "解说资料 [年龄=" + age + ", 姓名=" + name + "]";
}
}
XmlPullParser xpp = Xml.newPullParser();
// 设置输入流 并指明编码方式
xpp.setInput(is,"UTF-8");
// 产生第一个事件
int eventType = xpp.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT){
switch (eventType) {
// 判断当前事件是否为文档开始事件
case XmlPullParser.START_DOCUMENT:
mList = new ArrayList<Beauty>(); // 初始化books集合
break;
// 判断当前事件是否为标签元素开始事件
case XmlPullParser.START_TAG:
if (xpp.getName().equals("beauty")) { // 判断开始标签元素是否是book
beauty = new Beauty();
} else if (xpp.getName().equals("name")) {
eventType = xpp.next();//让解析器指向name属性的值
// 得到name标签的属性值,并设置beauty的name
beauty.setName(xpp.getText());
} else if (xpp.getName().equals("age")) { // 判断开始标签元素是否是book
eventType = xpp.next();//让解析器指向age属性的值
// 得到age标签的属性值,并设置beauty的age
beauty.setAge(xpp.getText());
}
break;
// 判断当前事件是否为标签元素结束事件
case XmlPullParser.END_TAG:
if (xpp.getName().equals("beauty")) { // 判断结束标签元素是否是book
mList.add(beauty); // 将book添加到books集合
beauty = null;
}
break;
}
// 进入下一个元素并触发相应事件
eventType = xpp.next();
}
return mList;
这个是使用
//通过assertmanager的open方法获取到beauties.xml文件的输入流
InputStream is = this.getAssets().open("beauties.xml");
//初始化自定义的实现类BeautyParserImpl
BeautyParserImpl pbp = new BeautyParserImpl();
//调用pbp的parse()方法,将输入流传进去解析,返回的链表结果赋给beautyList
beautyList = pbp.parse(is);
/**
* 显示到手机上
*/
private void setupViews(){
String result = "";
for (Beauty b : beautyList) {
result += b.toString();
}
TextView textView = (TextView) findViewById(R.id.textView);
textView.setText(result);
}
- android 与后台交互的两种方式xml和json
- 移动端常用的数据交互格式有xml和json两种方式
- Flex两种与后台JAVA交互的方式
- Flex两种与后台JAVA交互的方式
- Flex两种与后台JAVA交互的方式 .
- Android 与 web后台数据交互之解析XML和JSON
- android与服务端交互的两种方式
- Android--实现H5与Native交互的两种方式
- 与后台交互选择的交互方式
- Extjs与Struts2交互,返回JSON数据的两种实现方式
- Extjs与Struts2交互,返回JSON数据的两种实现方式
- JSON与XML的区别比较以及xml两种解析方式的比较
- android中UI线程与后台的交互方式详解
- JSON与后台交互的一般模式
- JSON前台与后台的交互
- iOS- JSon和Xml解析,与服务器交互数据的解析详解与使用,各种解析方式详解
- android之客户端与webservice的json方式交互
- Android与web后台进行数据交互的三种方式
- 2016-03-28缓存
- iOS UITableView2
- MFC ado 连接sql server提示未知错误
- UI控件--ViewPager详解带Tab交互的ViewPager(5)
- vitamio for android的使用
- android 与后台交互的两种方式xml和json
- Leetcode 111. Minimum Depth of Binary Tree My Submissions QuestionEditorial Solution
- Maven配置
- C++实验2-项目1标准体重
- 项目14-三角形类雏形(3)
- 数组指针和指针数组
- 送伞
- 28 map
- ## BaseAdapter的优化 ##