XML_解析 ——HttpUtils


package com.example.lianxi;

import java.util.ArrayList;
import java.util.List;

import android.annotation.SuppressLint;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.RadioButton;

import com.example.fragment.Fragment01;
import com.example.fragment.Fragment02;
import com.example.fragment.Fragment03;
import com.example.fragment.Fragment04;

public class MainActivity extends FragmentActivity implements OnClickListener{
    private ViewPager mypager;
    RadioButton but1,but2,but3,but4;
    private View v1,v2,v3,v4;
    private List<Fragment> fragmentlist;
    String[] str = {
            "http://www.oschina.net/action/api/news_list?catelog=1&pageIndex=1",
            "http://www.oschina.net/action/api/news_list?catelog=4&show=week&pageIndex=1",
            
            "http://www.oschina.net/action/api/blog_list?type=latest&pageIndex=1",
            "http://www.oschina.net/action/api/blog_list?type=recommend&pageIndex=1" };
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mypager=(ViewPager) findViewById(R.id.mypager);
        init();
        initfragmnet();
        setSelect(0);
        FragmentManager fm=getSupportFragmentManager();
        mypager.setAdapter(new FragmentPagerAdapter(fm) {
            
            @Override
            public int getCount() {
                // TODO Auto-generated method stub
                return fragmentlist.size();
            }
            
            @Override
            public Fragment getItem(int arg0) {
                // TODO Auto-generated method stub
                return fragmentlist.get(arg0);
            }
        });
        mypager.setOnPageChangeListener(new OnPageChangeListener() {
            
            @Override
            public void onPageSelected(int arg0) {
                // TODO Auto-generated method stub
                setSelect(arg0);
            }
            
            @Override
            public void onPageScrolled(int arg0, float arg1, int arg2) {
                // TODO Auto-generated method stub
                
            }
            
            @Override
            public void onPageScrollStateChanged(int arg0) {
                // TODO Auto-generated method stub
                
            }
        });
    }
    private void setSelect(int position) {
        // TODO Auto-generated method stub
        switch (position) {
        case 0:
            but1.setTextColor(Color.RED);
            but2.setTextColor(Color.BLACK);
            but3.setTextColor(Color.BLACK);
            but4.setTextColor(Color.BLACK);
            v1.setVisibility(View.VISIBLE);
            v2.setVisibility(View.INVISIBLE);
            v3.setVisibility(View.INVISIBLE);
            v4.setVisibility(View.INVISIBLE);
            break;
        case 1:
            but1.setTextColor(Color.BLACK);
            but2.setTextColor(Color.RED);
            but3.setTextColor(Color.BLACK);
            but4.setTextColor(Color.BLACK);
            v1.setVisibility(View.INVISIBLE);
            v2.setVisibility(View.VISIBLE);
            v3.setVisibility(View.INVISIBLE);
            v4.setVisibility(View.INVISIBLE);
            break;
        case 2:
            but1.setTextColor(Color.BLACK);
            but2.setTextColor(Color.BLACK);
            but3.setTextColor(Color.RED);
            but4.setTextColor(Color.BLACK);
            v1.setVisibility(View.INVISIBLE);
            v2.setVisibility(View.INVISIBLE);
            v3.setVisibility(View.VISIBLE);
            v4.setVisibility(View.INVISIBLE);
            break;
        case 3:
            but1.setTextColor(Color.BLACK);
            but2.setTextColor(Color.BLACK);
            but3.setTextColor(Color.BLACK);
            but4.setTextColor(Color.RED);
            v1.setVisibility(View.INVISIBLE);
            v2.setVisibility(View.INVISIBLE);
            v3.setVisibility(View.INVISIBLE);
            v4.setVisibility(View.VISIBLE);
            break;

        }
    }
    private void initfragmnet() {
        // TODO Auto-generated method stub
        fragmentlist=new ArrayList<Fragment>();
//        Fragment01 fm01=new Fragment01();
//        Fragment02 fm02=new Fragment02();
//        Fragment03 fm03=new Fragment03();
//        Fragment04 fm04=new Fragment04();
//        fragmentlist.add(fm01);
//        fragmentlist.add(fm02);
//        fragmentlist.add(fm03);
//        fragmentlist.add(fm04);
        for (int i = 0; i < str.length; i++) {
            fragmentlist.add(new Fragment01(str[i],i));
        }
    }
    @SuppressLint("NewApi")
    private void init() {
        // TODO Auto-generated method stub
        but1=(RadioButton) findViewById(R.id.but1);
        but2=(RadioButton) findViewById(R.id.but2);
        but3=(RadioButton) findViewById(R.id.but3);
        but4=(RadioButton) findViewById(R.id.but4);
        v1=findViewById(R.id.v1);
        v2=findViewById(R.id.v2);
        v3=findViewById(R.id.v3);
        v4=findViewById(R.id.v4);
        
        but1.setOnClickListener(this);
        but2.setOnClickListener(this);
        but3.setOnClickListener(this);
        but4.setOnClickListener(this);
    }
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        switch (v.getId()) {
        case R.id.but1:
            mypager.setCurrentItem(0);
            break;
        case R.id.but2:
            mypager.setCurrentItem(1);
            break;
        case R.id.but3:
            mypager.setCurrentItem(2);
            break;
        case R.id.but4:
            mypager.setCurrentItem(3);
            break;

        default:
            break;
        }
    }


}

 

@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();
}
}

 

posted on 2016-04-05 15:13  小荣荣  阅读(240)  评论(0编辑  收藏  举报