网络编程(获取json和网络图片)
来源:互联网 发布:js半圆形仪表盘代码 编辑:程序博客网 时间:2024/06/05 09:59
package com.itheima.netxml;import java.io.StringReader;import java.util.ArrayList;import java.util.List;import org.apache.http.Header;import org.json.JSONArray;import org.json.JSONException;import org.json.JSONObject;import org.xmlpull.v1.XmlPullParser;import android.app.Activity;import android.os.Bundle;import android.util.Xml;import android.view.View;import android.widget.Toast;import com.loopj.android.http.AsyncHttpClient;import com.loopj.android.http.JsonHttpResponseHandler;import com.loopj.android.http.TextHttpResponseHandler;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void getXml(View v) {new AsyncHttpClient().get("http://192.168.1.251:8080/WebServer/persons.xml", new TextHttpResponseHandler() {public void onSuccess(int statusCode, Header[] headers, String responseString) {List<Person> persons = parseXml(responseString);for (Person p : persons) System.out.println(p);Toast.makeText(getApplicationContext(), "获取XML成功", Toast.LENGTH_SHORT).show();}public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {}});}public void getJson(View v) {new AsyncHttpClient().get("http://192.168.1.251:8080/WebServer/persons.js", new JsonHttpResponseHandler() {public void onSuccess(int statusCode, Header[] headers, JSONArray arr) {try {for (int i = 0; i < arr.length(); i++ ) {// 遍历JSONArrayJSONObject obj = arr.getJSONObject(i);// 得到每一个JSONObjectint id = obj.getInt("id");// 获取每个JSONObject中的数据, 封装成PersonString name = obj.getString("name");int age = obj.getInt("age");Person p = new Person(id, name, age);System.out.println(p);}Toast.makeText(getApplicationContext(), "获取JSON成功!!!", Toast.LENGTH_SHORT).show();} catch (JSONException e) {e.printStackTrace();}}});/*new AsyncHttpClient().get("http://192.168.1.251:8080/WebServer/persons.js", new TextHttpResponseHandler() {public void onSuccess(int statusCode, Header[] headers, String responseString) {List<Person> persons = parseJson(responseString);for (Person p : persons) System.out.println(p);Toast.makeText(getApplicationContext(), "获取JSON成功", Toast.LENGTH_SHORT).show();}public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {}});*/}@SuppressWarnings("unused")private List<Person> parseJson(String json) {List<Person> persons = new ArrayList<Person>();try {JSONArray arr = new JSONArray(json);// 把字符串封装成一个JSONArrayfor (int i = 0; i < arr.length(); i++ ) {// 遍历JSONArrayJSONObject obj = arr.getJSONObject(i);// 得到每一个JSONObjectint id = obj.getInt("id");// 获取每个JSONObject中的数据, 封装成PersonString name = obj.getString("name");int age = obj.getInt("age");Person p = new Person(id, name, age);persons.add(p);}} catch (JSONException e) {e.printStackTrace();}return persons;}private List<Person> parseXml(String xml) {List<Person> persons = new ArrayList<Person>();try {XmlPullParser parser = Xml.newPullParser();parser.setInput(new StringReader(xml));Person p = null;for (int type = parser.getEventType(); type != XmlPullParser.END_DOCUMENT; type = parser.next()) {if (type == XmlPullParser.START_TAG) {if ("person".equals(parser.getName())) {// 如果开始的是person, 创建对象, 获取id数据String id = parser.getAttributeValue(0);p = new Person();p.setId(Integer.parseInt(id));persons.add(p);} else if ("name".equals(parser.getName())) {// 如果开始的是name, 获取下一个文本String name = parser.nextText();p.setName(name);} else if ("age".equals(parser.getName())) {// 如果开始的是age, 获取下一个文本String age = parser.nextText();p.setAge(Integer.parseInt(age));}}}} catch (Exception e) {e.printStackTrace();}return persons;}}
0 0
- 网络编程(获取json和网络图片)
- 获取网络json+图片
- 获取网络数据(Json串和图片)
- Android网络编程--获取网络图片
- 安卓 网络编程之json的传输和获取
- 获取网络json解析中的图片
- 获取网络json解析中的图片
- 网络获取图片和ListView
- Android网络编程之获取网络上的Json
- Android网络编程之获取网络上的Json
- android 网络编程--URL获取数据/图片
- Json解析网络获取Viewpager图片glide下载图片
- 访问网络的Json和图片
- 访问网络的Json和图片
- 1、Android网络编程之获取网络图片资源
- android 网络编程:显示从网络获取的图片
- 【Android网络编程】获取网络图片,具有缓存功能
- 安卓网络编程-通过GET方式获取网络图片
- HDU 1896 -- Stones (优先队列)
- Android程序员必备精品资源
- 阅读程序写出运行结果7
- POJ 题目2975 Nim(nim)
- SQLSERVER 数据库引擎中的锁定
- 网络编程(获取json和网络图片)
- fakenet
- SQLSERVER 锁粒度和层次结构
- 阅读程序写出运行结果8
- 网络编程(自定义缓存图片)
- SQLSERVER锁模式
- JAVA菜鸟入门篇 - 封装/隐藏、java访问控制符 (十七)
- 再谈全局数组的外引用
- 网页简易版计算器