andriod studio显示网络图片

(1)要用线程,否则google不支持

     InputStream is = url.openStream(); 

(2)intertnet权限的位置要对

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.lenovo.chenshownetpic">
    <uses-permission android:name="android.permission.INTERNET"/>
    <application
XXXXXXXXXXXXXXXXXx

(3)一个imageview,一个按钮,代码如下

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Handler;
import android.os.Message;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import java.io.IOException;
import java.io.InputStream;
import java.lang.ref.WeakReference;
import java.net.MalformedURLException;
import java.net.URL;


public class MainActivity extends AppCompatActivity {
    private ImageView imageView_netPic=null;
    private final MyHandler myHandler = new MyHandler(this);
    private static final int LOAD_SUCESS = 0x1;
    private Button bt1 = null;//图1

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        imageView_netPic = (ImageView) findViewById(R.id.imageView);
        bt1 = (Button) findViewById(R.id.button);
        bt1.setOnClickListener(listener);
    }
    private static class MyHandler extends Handler{
         private final WeakReference<MainActivity> weakReference;   // 软引用
         public MyHandler(MainActivity mainActivity){
                        weakReference = new WeakReference<MainActivity>(mainActivity);
                    }
        @Override
         public void handleMessage(Message msg) {
                        MainActivity mainActivity = weakReference.get();
                        if (mainActivity!=null){
                                switch (msg.what){
                                        case LOAD_SUCESS:
                                                 mainActivity.imageView_netPic.setImageBitmap((Bitmap) msg.obj); // 获取msg 设置UI显示
                                                 break;
                                     }
                             }
                     }
     }
    private View.OnClickListener listener = new View.OnClickListener() {
        public void onClick(View v) {
            if (v == bt1) {
               new Thread(new Runnable() {
                        @Override
                        public void run() {
                                                    try {
                                                            URL url = new URL("http://img.ads.csdn.net/2017/201704061716043246.jpg");
                                                            InputStream inputStream = url.openStream();
                                                             Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
                                                            // 通过handler把bitmap传出去
                                                             Message msg = myHandler.obtainMessage(LOAD_SUCESS,bitmap);
                                                              myHandler.sendMessage(msg);
                                                         } catch (MalformedURLException e) {
                                                             e.printStackTrace();
                                                         } catch (IOException e) {
                                                             e.printStackTrace();
                                                        }
                                                }
             }).start();

            }


        }
    };


}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值