您的位置:首页 > 理论基础 > 计算机网络

Android网络开发之URL读取网络资源

2016-12-17 19:26 441 查看
就以获取一张网络上的图片为例,很简单的,就看下边的代码吧!

这里使用BitmapFactory的decodeStream来解析输入流中的图片

                  // 定义一个URL对象

                    URL url = new URL(uri);

                    try {

                        // 打开url对应的资源输入流

                        InputStream resource = url.openStream();

                        // 从InputStream中解析出图片

                        mBitmap = BitmapFactory.decodeStream(resource);

                        // 发送消息、通知UI组件显示该图片

                        handler.sendEmptyMessage(123);
                        resource.close();// 释放掉

下边就new一个Handler来接收子线程的获取资源:

private Handler handler = new Handler() {

        public void handleMessage(Message msg) {

            if (msg.what == 123) {

                mImageView.setImageBitmap(mBitmap);

            }

        };

    };

这里是使用IO将输入流中的图片下载到本地(图片路径:data/data/包名/Files)

resource = url.openStream();

                        // 打开手机文件对应的输出流

                        OutputStream os = openFileOutput("lll.png", 0);

                        byte[] buff = new byte[1024];

                        int hasRead = 0;

                        // 将URL对应的资源下载到本地

                        while ((hasRead = resource.read(buff)) > 0) {

                            os.write(buff, 0, hasRead);

                        }

                        resource.close();

                        os.close();

刚开始写博客,不太清晰请见谅,下边附有源代码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  网络 url android 图片