简单写了个请求网络下载图片,保存到sdcard中,并在app中展示图片

public class MainActivity extends AppCompatActivity {    private ImageView mIamgeView ;    Handler handler  = new Handler();    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mIamgeView  = (ImageView) findViewById(R.id.imageview);       new MyThread("http://b.hiphotos.baidu.com/image/pic/item/7a899e510fb30f2493c8cbedcc95d143ac4b0389.jpg",mIamgeView,handler).start();    }}

然后写一个工具类

public class MyThread extends Thread {    private String uri;    private ImageView imageView;    Handler handler;    private File name;    public MyThread(String uri, ImageView imageView, Handler handler) {        this.uri = uri;        this.imageView = imageView;        this.handler = handler;    }    @Override    public void run() {        super.run();        try {            final URL httpuri = new URL(uri);            HttpURLConnection connection = (HttpURLConnection) httpuri.openConnection();            connection.setReadTimeout(2000);            connection.setRequestMethod("GET");            connection.setConnectTimeout(2000);            connection.setDoInput(true);            InputStream inputStream = connection.getInputStream();            FileOutputStream fos   = null;            if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {                File file = Environment.getExternalStorageDirectory();                name = new File(file, "a");                fos = new FileOutputStream(name);            }            byte [] b = new byte[1024];            int len;            while((len=inputStream.read(b))!=-1){                fos.write(b,0,len);            }            final Bitmap bitmap = BitmapFactory.decodeFile(name.getAbsolutePath());            handler.post(new Runnable() {                @Override                public void run() {                    imageView.setImageBitmap(bitmap);                }            });        } catch (Exception e) {            e.printStackTrace();        }    }}

最后别忘了加二个权限,一个是写sdcard,一个是请求网络。
我输入的URL是一张美图哦。展示美图效果:

更多相关文章

  1. Android使用Retrofit进行网络请求
  2. Android中判断网络功能是否可用
  3. Android的网络状态判断
  4. Android(安卓)Paging组件Demo
  5. 【安卓笔记】android客户端与服务端交互的三种方式
  6. Android(安卓)7.0 https/tls证书配置问题
  7. Android(安卓)startActivityForResult的使用
  8. Android网络状态获取类 在api 29中 NetworkInfo Deprecated
  9. 13-7-13如何修改android的title

随机推荐

  1. 记一次新建Android工程报错: Could not do
  2. Android方向
  3. Android 将文件保存到SD卡中
  4. Android在屏幕任意位置显示对话框
  5. android悬浮窗--获取内存
  6. android中限制EditText中输入指定字符
  7. Android之三种实现自定义ProgressBar的方
  8. The Android ION memory allocator
  9. 如何去掉Android kitkat中的红框
  10. 编译NotificationManagerService.java文