Android解析XML(PULL)与Android解析Json
来源:互联网 发布:单片机中断程序编写 编辑:程序博客网 时间:2024/05/22 15:08
安卓解析json4种格式:
http://blog.csdn.net/mfc2003/article/details/38584845/
动态生成XML:
http://blog.csdn.net/qq776306395/article/details/28859901
Android解析XML(PULL)
private ProgressDialog pd; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); pd = new ProgressDialog(this); pd.setMessage("正在拼命加载中...."); } //从网页上获取数据 public void getXMLByNet(View view){ new MyTask().execute(); } class MyTask extends AsyncTask{ @Override//获取数据 protected Object doInBackground(Object[] params) { //获取网络XML数据 String path="http://169.254.113.40:8080/students.xml"; try { //定义一个网络协议(java.net)传入一个路径 URL url=new URL(path); //打开连接 HttpURLConnection connection= (HttpURLConnection) url.openConnection(); //设置请求方式 connection.setRequestMethod("GET"); //设置请求超时的时间 connection.setConnectTimeout(5000); //获取结果码 int code=connection.getResponseCode(); if(code==200){ //获取数据 InputStream is=connection.getInputStream();// int len=0;// byte[] buf=new byte[1024]; //StringBuffer stringBuffer=new StringBuffer();// while((len=is.read(buf))!=-1){// String s=new String(buf,0,len);// stringBuffer.append(s);// } //Log.i("test",stringBuffer.toString()); //解析XML (PULL) XmlPullParser pullParser=Xml.newPullParser(); pullParser.setInput(is,"UTF-8"); //解析的标签类型 int type=pullParser.getEventType(); while(type!=XmlPullParser.END_DOCUMENT){ switch (type) { case XmlPullParser.START_TAG: //获取开始标签的名字 String startTagName=pullParser.getName(); if("student".equals(startTagName)){ //获取属性id的值 String sid=pullParser.getAttributeValue(0); Log.i("test",sid); }else if("sname".equals(startTagName)){ String sname=pullParser.nextText(); Log.i("test"," "+sname); }else if("sage".equals(startTagName)){ String sage=pullParser.nextText(); Log.i("test"," "+sage); } break; case XmlPullParser.END_TAG: break; } //细节: type=pullParser.next(); } is.close(); } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (XmlPullParserException e) { e.printStackTrace(); } return null; } @Override//更新界面 protected void onPostExecute(Object o) { super.onPostExecute(o); } }
Android解析Json(导入一个架包fastjson-1.2.3.jar)public class MainActivity extends AppCompatActivity { private ProgressDialog pd; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); pd = new ProgressDialog(this); pd.setMessage("正在拼命加载中...."); } public void getJsonByNet(View view){ new MyJsonTask().execute(); } class MyJsonTask extends AsyncTask { @Override protected void onPreExecute() { super.onPreExecute(); pd.show(); } @Override protected Object doInBackground(Object[] params) { //获取网络Json数据 String path = "http://169.254.113.40:8080/students.json"; try { //定义一个网络协议(java.net)传入一个路径 URL url = new URL(path); //打开连接 HttpURLConnection connection = (HttpURLConnection) url.openConnection(); //设置请求方式 connection.setRequestMethod("GET"); //设置请求超时的时间 connection.setConnectTimeout(5000); //获取结果码 if (connection.getResponseCode() == 200) { InputStream is = connection.getInputStream(); int len = 0; byte[] buf = new byte[1024]; StringBuffer stringBuffer = new StringBuffer(); while ((len = is.read(buf)) != -1) { String s = new String(buf, 0, len); stringBuffer.append(s); } Log.i("test", stringBuffer.toString()); //FastJson //解析JSON BigObject bigObject = JSON.parseObject(stringBuffer.toString(), BigObject.class); int count = bigObject.getCount(); Log.i("test", count + " "); List<Student> students = bigObject.getStudents(); for (Student student : students) { Log.i("test", student.getSname() + " " + student.getSsex()); } } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(Object o) { pd.cancel(); super.onPostExecute(o); } }}
<!--json权限--> <uses-permission android:name="android.permission.INTERNET"></uses-permission>
阅读全文
0 0
- Android解析XML(PULL)与Android解析Json
- 30-31.Android-解析XML(PULL)-解析Json
- Android XML解析(PULL)
- Android Pull解析xml
- android pull 解析xml
- android PULL 解析XML
- Android Pull解析xml
- Android Pull 解析 XML
- Android Pull 解析 XML
- Android Pull解析xml
- Android PULL解析XML
- Android Pull解析xml
- Android PULL解析XML
- android xml-----Pull解析
- android pull解析xml
- Android Pull 解析 Xml
- Android Pull解析xml
- Android PULL解析XML
- Android的pull解析XML文件
- 小心使用typedef带来的陷阱
- 深入学习Java之ArrayList
- 数据库日期格式转换函数
- Oracle中 (+)与left join 的用法区别
- Android解析XML(PULL)与Android解析Json
- 了解JAVA
- FFmpeg的初学习常见问题
- html+CSS 进阶
- 剑指Offer:数组中出现次数超过一半的数字
- 阿里巴巴2017实习生笔试(一)
- Prototype功能预览五:一个注解简化任意IO操作
- SSRS地图图例嵌入自定义图像显示解决
- 2017 Multi-University Training Contest