Android asynctask使用

继承asynctask,有三个参数

三个参数的含义是第一个表示输入参数,第二个为progress,表示当前的进度,第三个为doInbackground
   返回值

需要一个参数传入url,返回一个result结果,如果没有网络则返回空

import java.io.InputStream;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;

import mybook.bookInfo;
import mybook.httpget;
import mybook.jsontest;

import android.os.AsyncTask;
import android.util.Log;
import android.widget.LinearLayout;
import android.widget.ListView;
import hdu.m12306.zzy.*;
import hdu.m12306.zzy.listview.myadapter2;
public class mytask extends AsyncTask<String ,Void,String > {
    private LinearLayout li;
    private ListView  listview;
    private myadapter2 myadapter;
    private InputStream in;
   private List<LinkedHashMap> data_set;
   private httpget httpget;
	//需要一个参数传入url,返回一个result结果,如果没有网络则返回空
    //三个参数的含义是第一个表示输入参数,第二个为progress,第三个为doInbackground
    //返回值
	public mytask(ListView listview,myadapter2 adapter,httpget httpget){
		this.listview=listview;
		this.myadapter=adapter;
		//this.in=in;
		this.httpget=httpget;
		new ArrayList<LinkedHashMap>();
	}
	@Override
	protected String doInBackground(String...urls) {
		// TODO Auto-generated method stub
		String response=null;
		//urls为字符串数组
		String geturl=new String();
		for(String url:urls)
			geturl+=url;
		
		Log.e("geturl", geturl);
		//httpget http=new httpget(geturl,in);
		//http.init();
		InputStream myin=httpget.get_IN();
		//读取到文件结束,会有问题
		//证书文件读取结束
		response=httpget.get_reponse(myin);
		 
		
		return response;
	}
	protected void onPostExecute(String result){
		//doinBakcground 返回的结果
		//这里面跟新ui
		if(result!=null){
			jsontest json=new jsontest(result);
			
		     json.init();
		    data_set=json.get_data();
		    myadapter.set_dataset(data_set);
		   // listview.setAdapter(myadapter);
		}
		
	}
   

}

在下面的代码中更新

  public void on_fresh(final View v){
	  mytask task=new mytask(listview,myadapter,http);
	  Log.e("onfresh", url);
	  
	  String []params=new String[]{url};
	  task.execute(params);
  }


    

Android asynctask使用,布布扣,bubuko.com

Android asynctask使用

上一篇:Android的代码都得自己一个个敲一遍吗?


下一篇:AndroidUI组件之ImageSwitcher