XML_解析 ——HttpUtils



@XStreamAlias("oschina")
public class MyDatas {

public class Mynewslist {
    @XStreamImplicit(itemFieldName="news")
    private List<MyNews> news;

package com.example.fragment;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.example.adapter.CopyOfMybaseadpter;
import com.example.adapter.Mybaseadpter;
import com.example.bean.Mmsupper;
import com.example.bean.Myblog;
import com.example.view.XListView;
import com.example.view.XListView.IXListViewListener;
import com.example.vo.Mynews;
import com.example.vo.Super;
import com.example.yk06.R;
import com.lidroid.xutils.HttpUtils;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;
import com.lidroid.xutils.http.client.HttpRequest.HttpMethod;
import com.thoughtworks.xstream.XStream;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class F1 extends Fragment implements IXListViewListener{
private XListView listView;
String url;
int mm;
private Mybaseadpter mybaseadpter;
private CopyOfMybaseadpter mybaseadpte;
int count=1;
private List<Mynews> l=new ArrayList<Mynews>();
private List<Myblog> li=new ArrayList<Myblog>();

public F1(String url, int mm) {
    super();
    this.url = url;
    this.mm = mm;
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    View view=inflater.inflate(R.layout.activity_f1, null);
    listView = (XListView) view.findViewById(R.id.lsitview);
    listView.setPullLoadEnable(true);
    listView.setPullRefreshEnable(true);
    listView.setXListViewListener(this);
    init();

    return view;

}

private void init() {
    // TODO Auto-generated method stub
    HttpUtils utils=new HttpUtils();
    utils.send(HttpMethod.GET, url+count++, new RequestCallBack<String>() {

        @Override
        public void onFailure(HttpException arg0, String arg1) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onSuccess(ResponseInfo<String> arg0) {
            // TODO Auto-generated method stub
            String ss=arg0.result;

            XStream stream=new XStream();
            if (mm==0||mm==1) {

            stream.processAnnotations(Super.class);
            Super super1=(Super) stream.fromXML(ss);
            List<Mynews> ll=super1.getNewslist().getNews();

            l.addAll(0,ll);
            mybaseadpter = new Mybaseadpter(l, getActivity());

            listView.setAdapter(mybaseadpter);
            }
            if(mm==2||mm==3){
                stream.processAnnotations(Mmsupper.class);
                Mmsupper super1=(Mmsupper) stream.fromXML(ss);
                List<Myblog> ll=super1.getBlogs().getBlog();

                li.addAll(0,ll);
                System.out.println(li.toString());
                mybaseadpte= new CopyOfMybaseadpter(li, getActivity());

                listView.setAdapter(mybaseadpte);
            }
        }
    });
}

private void onLoad() {
    // TODO Auto-generated method stub
    listView.stopRefresh();
    listView.stopLoadMore();
    // 设置日期格式
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    // 获取当前系统时间
    String nowTime = df.format(new Date(System.currentTimeMillis()));
    // 释放时提示正在刷新时的当前时间
    listView.setRefreshTime(nowTime);
}

@Override
public void onRefresh() {
    // TODO Auto-generated method stub
    init();
    onLoad();
}

@Override
public void onLoadMore() {
    // TODO Auto-generated method stub
    HttpUtils utils=new HttpUtils();
    utils.send(HttpMethod.GET, url+count++, new RequestCallBack<String>() {

        @Override
        public void onFailure(HttpException arg0, String arg1) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onSuccess(ResponseInfo<String> arg0) {
            // TODO Auto-generated method stub
            String ss=arg0.result;

            XStream stream=new XStream();
            if (mm==0||mm==1) {

            stream.processAnnotations(Super.class);
            Super super1=(Super) stream.fromXML(ss);
            List<Mynews> ll=super1.getNewslist().getNews();

            l.addAll(ll);
            mybaseadpter.notifyDataSetChanged();

            }
            if (mm==2||mm==3){
                stream.processAnnotations(Mmsupper.class);
                Mmsupper super1=(Mmsupper) stream.fromXML(ss);
                List<Myblog> ll=super1.getBlogs().getBlog();

                li.addAll(ll);
                mybaseadpte.notifyDataSetChanged();
            }
        }
    });
    onLoad();
}
}
时间: 2024-09-14 02:31:51

XML_解析 ——HttpUtils的相关文章

XML_解析使用NSXMLPaser(SAX)和GDataXML(DOM)

目录[-] 一.SAX方法:NSXMLParser 二.DOM方法:GDataXML XML有两种解析方法SAX和DOM. SAX方法可以使用iOS SDK中的NSXMLParser,DOM方法可以使用GOOGLE提供的GDataXML(下载地址:http://code.google.com/p/gdata-objectivec-client/downloads/detail?name=gdata-objectivec-client-1.12.0.zip&can=1&q=gdata),GD

xstream解析、httputils请求

使用radioGroup  radiobutton展示导航列表,viewpaer. fragment 实现页面 ,xlistview展示数据 MainActivity.class package com.bwie.test; import java.util.ArrayList; import java.util.List; import com.bwie.adapter.MyViewPagerAdapter; import com.bwie.fragment.MyFragment; impor

Java通过jxl解析Excel文件入库,及日期格式处理方式 (附源代码)

JAVA可以利用jxl简单快速的读取文件的内容,但是由于版本限制,只能读取97-03  xls格式的Excel. 本文是项目中用到的一个实例,先通过上传xls文件(包含日期),再通过jxl进行读取上传的xls文件(文件格式见下user.xls),解析不为空的行与列,写入数据库. 文件user.xls格式为: 下面来看代码实例演示: 一.前端jsp页面(本来内容很多,这里精简了) <%@ page language="java" contentType="text/htm

Android 之json解析2

JSON(JavaScript Object Notation) 定义:字符串 键值对 解析方法有JSON,谷歌GSON,阿里巴巴FastJSON 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性. 业内主流技术为其提供了完整的解决方案(有点类似于正则表达式,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换. JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为. Json建构于两种结构: 1.“名称/值”对的集合(A collection of name

android Json Gson FastJson 解析

一 Json xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android

使用Xutils(HttpUtils)请求网络数据

HttpUtils utils = new HttpUtils();            utils.send(HttpMethod.POST, urls[i] + 1,                    new RequestCallBack<String>() { @Override                        public void onFailure(HttpException arg0, String arg1) {                      

4.json解析

格式 {"name":"zhangsan", "age":18, "books":[{"name":"金瓶","price":10}, {"name":"红楼梦","price":20}]} 解析 1.JSONObject [{"id":"5","versio

Android DOM、SAX、Pull解析XML(转)

本篇随笔将详细讲解如何在Android当中解析服务器端传过来的XML数据,这里将会介绍解析xml数据格式的三种方式,分别是DOM.SAX以及PULL. 一.DOM解析XML 我们首先来看看DOM(Document Object Model)这种方式解析xml,通过DOM解析xml在j2ee开发中非常的常见,它将整个xml看成是一个树状的结构,在解析的时候,会将整个xml文件加载到我们的内存当中,然后通过DOM提供的API来对我们的xml数据进行解析,这种方式解析xml非常的方便,并且我们可以通过

网络获取json数据并解析

1.升级流程分析 2.Android通过URL获取网络资源 JSONObject来解析Json字符串 //创建URL对象 //本机地址用localhost, 但是如果用模拟器加载本机的地址时,可以用ip(10.0.2.2)来替换 URL url=new URL("http://10.0.2.2:8080/update.json"); //第一步是creat HttpURLConnection conn = (HttpURLConnection) url.openConnection()