Android获取网络图片

Posted 梦想还是要有的,万一实现了呢!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android获取网络图片相关的知识,希望对你有一定的参考价值。

/**
 * 
 * 访问网络的操作,必须放在工作线程中完成
 *
 */
public class MainActivity extends Activity {
    static List<HashMap<String, String>> list;
    static List<String> userList2 = new ArrayList(); 
    private static final int LOADSUCCESS=0x1;
    private static ImageView iv;
    private static TextView tv;
    private final myhandler handler=new myhandler(this);
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        iv=(ImageView) findViewById(R.id.imageView1);
        new Thread(new Runnable() {
            public void run() {
                try {
                    URL url=new URL("http://files.cnblogs.com/files/hyyweb/welcome.bmp");
                    InputStream in=url.openStream();
                    Bitmap bitmap=BitmapFactory.decodeStream(in);
                    String result="";
                    Message message= handler.obtainMessage(LOADSUCCESS, bitmap);
                    handler.sendMessage(message);
                } catch (MalformedURLException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }).start();
    }

    private static class myhandler extends Handler{
        
        private final WeakReference<MainActivity> weakReference;
        public myhandler(MainActivity mainActivity){
            weakReference=new WeakReference<MainActivity>(mainActivity);
        }
        
        public void handleMessage(Message msg) {
            MainActivity mainActivity=weakReference.get();
            if(mainActivity!=null){
                switch (msg.what) {
                case LOADSUCCESS:
                    MainActivity.iv.setImageBitmap((Bitmap) msg.obj);
                    break;
                }
            }
        }
    }

}

 

以上是关于Android获取网络图片的主要内容,如果未能解决你的问题,请参考以下文章

如何从Android片段中的相机获取图像

Android通过请求网络获取图片资源

Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题

Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题

Android 通过网络获取图片的源码

Android获取各个应用程序的缓存文件代码小片段(使用AIDL)