zoukankan      html  css  js  c++  java
  • 封装类 handler

    public class MainActivity extends Activity {

     private Button btn;  private ImageView view;  private String path="http://www.baidu.com/img/bdlogo.gif";    @Override  protected void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   setContentView(R.layout.activity_main);   btn=(Button) findViewById(R.id.button1);   view=(ImageView) findViewById(R.id.imageView1);   btn.setOnClickListener(new OnClickListener() {        @Override    public void onClick(View v) {     // TODO Auto-generated method stub     Down down=new Down(MainActivity.this);     down.load(path, new DownLoadContent() {            @Override      public void load(byte[] reuslt) {       // TODO Auto-generated method stub       Bitmap bitmap=BitmapFactory.decodeByteArray(reuslt, 0, reuslt.length);       view.setImageBitmap(bitmap);      }     });    }   });  }

    下面的是封装类

    package com.example.a;

    import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.util.EntityUtils;

    import android.app.ProgressDialog; import android.content.Context; import android.os.Handler; import android.os.Message;

    public class Down {

     private ProgressDialog dialog;    public Down(Context context) {   super();   // TODO Auto-generated constructor stub   this.dialog=new ProgressDialog(context);   dialog.setMessage("load...");  }    public void load(final String path,final DownLoadContent call){      final Handler handler=new Handler(){    @Override    public void handleMessage(Message msg) {     // TODO Auto-generated method stub     super.handleMessage(msg);     byte[] result=(byte[]) msg.obj;     call.load(result);     if(msg.what==2){      dialog.dismiss();     }    }   };      class MyThread implements Runnable{

       @Override    public void run() {     // TODO Auto-generated method stub     HttpClient client=new DefaultHttpClient();     HttpPost post=new HttpPost(path);     try {      HttpResponse response=client.execute(post);      if(response.getStatusLine().getStatusCode()==200){       byte[] result=EntityUtils.toByteArray(response.getEntity());       Message message=Message.obtain();       message.obj=result;       message.what=2;       handler.sendMessage(message);      }     } catch (Exception e) {      // TODO: handle exception      e.printStackTrace();     }finally{      client.getConnectionManager().shutdown();     }    }       }   new Thread(new MyThread()).start();   dialog.show();  }      

     public interface DownLoadContent{   public void load(byte[] reuslt);  } }

  • 相关阅读:
    TensorFlow 1.2.0新版本完美支持Python3.6,windows在cmd中输入pip install tensorflow就能下载应用最新tensorflow
    两眼论&矩阵变现理论结合打造赚钱大模式
    《影响力》6个使人顺从的武器之一互惠原理深入剖析
    电子书如何定位、如何取名呢?电子书文案模型的6个要点
    《影响力》顺从心理学6个使人顺从的策略
    SEO三种职位类型:编辑型SEO、技术型SEO、营销型SEO详解
    json-lib-2.4-jdk15.jar所需全部JAR包.rar java jsoup解析开彩网api接口json数据实例
    防DNS劫持教程,手动修复本地DNS教程
    拆分字符串
    计算目录下文件数
  • 原文地址:https://www.cnblogs.com/lk119/p/3606639.html
Copyright © 2011-2022 走看看