import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import org.apache.http.HttpResponse;import org.apache.http.client.HttpClient;import org.apache.http.client.methods.HttpGet;import org.apache.http.impl.client.DefaultHttpClient;import android.os.AsyncTask;import android.os.Bundle;import android.app.Activity;import android.app.ProgressDialog;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.view.Menu;import android.view.View;import android.widget.Button;import android.widget.ImageView;public class MainActivity extends Activity {    private ProgressDialog dialog;    private Button button;    private ImageView p_w_picpathView;    private String p_w_picpath_path = "http://i1.juyouqu.com/uploads/content//2014/04/1396611698344.jpg!w598";    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        dialog = new ProgressDialog(this);        dialog.setTitle("提示");        dialog.setMessage("正在下载.......");        dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);//      dialog.show();        button = (Button)findViewById(R.id.button1);        p_w_picpathView = (ImageView)findViewById(R.id.p_w_picpathView1);        button.setOnClickListener(new View.OnClickListener() {                      @Override            public void onClick(View v) {                // TODO Auto-generated method stub                new MyTask().execute(p_w_picpath_path);            }        });    }    public class MyTask extends AsyncTask    {        @Override        protected void onPreExecute() {            // TODO Auto-generated method stub            super.onPreExecute();            dialog.show();        }        @Override        protected Bitmap doInBackground(String... params) {            // TODO Auto-generated method stub            Bitmap bitmap = null;            ByteArrayOutputStream output = new ByteArrayOutputStream();            InputStream input = null;                          try {                HttpClient httpClient = new DefaultHttpClient();                HttpGet httpGet = new HttpGet(params[0]);                HttpResponse httpResponse = httpClient.execute(httpGet);                if (httpResponse.getStatusLine().getStatusCode() == 200) {                                          input = httpResponse.getEntity().getContent();                    long file_length = httpResponse.getEntity().getContentLength();                    int len = 0;                    byte[] data = new byte[1024];                    int total_length = 0;                    int value = 0;                    while((len = input.read(data)) != -1)                    {                        total_length += len;                        value = (int)((total_length / (float)file_length) * 100);                        publishProgress(value);                        output.write(data, 0, len);                    }                    byte[] result = output.toByteArray();                    bitmap = BitmapFactory.decodeByteArray(result, 0, result.length);                                      }                              } catch (Exception e) {                // TODO: handle exception            }finally            {                if(input != null)                    try {                        input.close();                    } catch (IOException e) {                        // TODO Auto-generated catch block                        e.printStackTrace();                    }                if(output != null)                    try {                        output.close();                    } catch (IOException e) {                        // TODO Auto-generated catch block                        e.printStackTrace();                    }            }            return bitmap;        }        @Override        protected void onPostExecute(Bitmap result) {            // TODO Auto-generated method stub            super.onPostExecute(result);                      dialog.dismiss();            p_w_picpathView.setImageBitmap(result);        }        @Override        protected void onProgressUpdate(Integer... values) {            // TODO Auto-generated method stub            super.onProgressUpdate(values);            dialog.setProgress(values[0]);        }    }}


更多相关文章

  1. Android端实现图标带提示数字功能
  2. Android检查Internet是否可以正常连接
  3. 【android】安卓的权限提示及版本相关
  4. react native android环境配置
  5. 淘宝:模拟实现帮助提示页面
  6. 模拟ProgressBar下载进度显示
  7. Android中十六进制颜色字符串转int的方法
  8. 使用Toast显示提示信息框
  9. 安装时提示:INSTALL_FAILED_INSUFFICIENT_STORAGE

随机推荐

  1. android 一个app启动另一个App的几种方法
  2. Android调用系统, 任意比例裁剪图片
  3. Android 之ActivityThead、ActivityManag
  4. 获取Android设备上的详细的摄像头信息
  5. ListView setOnItemClickListener无效原
  6. Android笔记二十三.Android基于事件监听
  7. Bitmap and DrawPoint
  8. Android笔试(一)
  9. Android 学习笔记1:基本架构
  10. Android开发入门教程1-初试Android