android异步从网上下载图片

原创 2015年11月19日 01:20:15
package com.peach.asynctask;

import org.apache.http.HttpEntity;
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 org.apache.http.util.EntityUtils;

import android.app.Activity;
import android.app.ProgressDialog;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends Activity {

    private Button btn;
    private ImageView img;
    private String image_Path = "图片地址";
    private ProgressDialog dialog;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();

        dialog = new ProgressDialog(this);
        dialog.setTitle("提示信息");
        dialog.setMessage("玩命下载中。。。");
        btn.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                new MyTask().execute(image_Path);
            }
        });

    }
    private void initView() {

        btn = (Button) findViewById(R.id.btn);
        img = (ImageView) findViewById(R.id.img);
    }

    class MyTask extends AsyncTask<String,Void,Bitmap>{

        @Override
        protected void onPreExecute() {
            dialog.show();
            super.onPreExecute();
        }

        @Override
        protected Bitmap doInBackground(String... params) {
            HttpClient hc = new DefaultHttpClient();
            HttpGet hg = new HttpGet(params[0]);
            Bitmap bitmap = null;
            HttpResponse hr = httpClient.execute(httpGet);
            byte[] data = EntityUtils.toByteArray(HttpEntity);
            bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
            return bitmap;
        }

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}

xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/btn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />
    <ImageView 
        android:id="@+id/img"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/btn"
        android:src="@drawable/ic_launcher"/>

</RelativeLayout>
版权声明:本文为博主原创文章,未经博主允许不得转载。

android 从网络上获取数据(图片,网页,xml,json等)

1>从网络上获取数据(图片,网页,xml,json等) A.从网络上获取一张图片,然后显示到手机上 这是在java中 public class ImageRequest { /** * ...
  • zhang_biao_1991
  • zhang_biao_1991
  • 2012年12月26日 19:11
  • 582

Android 从网上下载图片并显示到ListView上

首先我们要准备好图片的数据,就是一些网站上图片的地址 拿到之后就可以直接来写了 package com.example.androidnet; import java.io.File; im...
  • An_Illusion
  • An_Illusion
  • 2016年05月10日 16:00
  • 2065

AsyncTask异步从网上下载图片

AsyncTask异步从网上下载图片本次讲解一个通过AsyncTask异步任务从网上下载图片,在安卓中,一般对于耗时操作,我们都不能再主线程中进行操作,如果在主线程操作耗时的程序,那么会产生ANR(A...
  • qq_27630169
  • qq_27630169
  • 2016年08月03日 00:15
  • 408

Android从网上下载图片

package cn.com.hh.http; import java.io.IOException; import java.io.InputStream; import java.net.Mal...
  • tuke_tuke
  • tuke_tuke
  • 2016年04月05日 20:42
  • 1312

android:异步任务asyncTask介绍及异步任务下载图片(带进度条)

为什么要用异步任务? 在android中只有在主线程才能对ui进行更新操作,而其它线程不能直接对ui进行操作 android本身是一个多线程的操作系统,我们不能把所有的操作都放在主线程中操作 ,比...
  • su20145104009
  • su20145104009
  • 2016年02月28日 14:27
  • 3353

android从网上下载图片

package com.example.exp14_5_1; import java.io.File; import java.io.FileOutputStream; import java.io...
  • u010002184
  • u010002184
  • 2015年10月11日 10:08
  • 506

【转】python下载网页图片代码

# -*- coding:utf-8 -*- import httplib import urllib import string import re def getContent():       ...
  • huang2009303513
  • huang2009303513
  • 2013年10月27日 22:55
  • 924

android ImageView 异步下载显示图片

在大多数的网络应用程序开发中,都需要从网络中下载图片,并显示图片,如QQ列表头像、微博列表头像等,第一种方法是将列表中的所有图片下载下来在显示,这种方法虽然可行,但在网络环境很差的情况下,下载时间比较...
  • XSL1990
  • XSL1990
  • 2014年01月15日 11:10
  • 5039

android下载网络图片并缓存

异步下载网络图片,并提供是否缓存至内存或外部文件的功能 异步加载类AsyncImageLoader     public void downloadImage(final String u...
  • heng615975867
  • heng615975867
  • 2014年02月12日 10:58
  • 7122

android网络图片适配不同分辨率屏幕

需要在android手机上面显示网络图片,但是手机的分辨率是有不同的,有mdpi,ldpi,hdpi,xhdpi等多种分辨率,怎么让图片在每个手机上面显示都是和屏幕一样宽。 是让手机传不同的分辨率给...
  • tangxu5713
  • tangxu5713
  • 2016年12月30日 00:35
  • 542
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android异步从网上下载图片
举报原因:
原因补充:

(最多只允许输入30个字)