zoukankan      html  css  js  c++  java
  • 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);
      }


        

  • 相关阅读:
    常规放大电路和差分放大电路
    二级管工作原理(PN结原理)学习
    数字图像处理(MATLAB版)学习笔记(2)——第2章 灰度变换与空间滤波
    数字图像处理(MATLAB版)学习笔记(1)——第1章 绪言
    PPT制作线条动画
    MOSFET使用与H桥驱动问题
    WPF自定义控件(1)——仪表盘设计[1]
    WPF自定义控件(2)——图表设计[1]
    c# lamp表达式例子
    HashCode和equal方法的区别和联系
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5143982.html
Copyright © 2011-2022 走看看