浏览网络中的图片
来源:互联网 发布:python练手项目 编辑:程序博客网 时间:2024/06/03 05:43
在日常应用中,经常不需要将网络中的图片保存到我们的手机中,只是在线浏览一下内容而已。此时可以使用类HttpURLConnection打开网络链接,这样就可以获取链接中的数据,将获取的数据用InputStream的方式保存在内存空间中。具体实现如下:
(1)布局文件
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.demo.picturedemo.MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1.5" android:orientation="vertical"> <EditText android:id="@+id/edit_URL" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="https://gss3.bdstatic.com/-Po3dSag_xI4khGkpoWK1HF6hhy/baike/c0%3Dbaike72%2C5%2C5%2C72%2C24/sign=6ebfda6f87cb39dbd5cd6f04b17f6241/d6ca7bcb0a46f21f0d72e0d6f0246b600d33aef5.jpg"/> <Button android:id="@+id/btn_show" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="显示"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1"> <ImageView android:id="@+id/img" android:layout_width="match_parent" android:layout_height="match_parent"/> </LinearLayout> </LinearLayout></LinearLayout>
(2)MainActivity代码
package com.demo.picturedemo;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Handler;import android.os.Message;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.ImageView;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;public class MainActivity extends Activity { private EditText mEdit_URL; private Button mBtn_show; private ImageView mImageView; private Bitmap bitmap=null; private Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what){ case 0: mImageView.setImageBitmap(bitmap); break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } /** * 打开链接,获取图片输入流,并转换为bitmap格式 * @param url * @return */ private Bitmap loadImageFromNewWork(String url){ Bitmap bitmap=null; URL imageURL=null; try { imageURL=new URL(url); } catch (MalformedURLException e) { e.printStackTrace(); } try { HttpURLConnection conn= (HttpURLConnection) imageURL.openConnection(); conn.connect(); InputStream is=conn.getInputStream(); bitmap= BitmapFactory.decodeStream(is); is.close(); } catch (IOException e) { e.printStackTrace(); } return bitmap; } public void showView_onLine(){ new Thread(new Runnable() { @Override public void run() { bitmap=loadImageFromNewWork(mEdit_URL.getText().toString()); handler.sendEmptyMessage(0); } }).start(); } public void initView(){ mEdit_URL= (EditText) findViewById(R.id.edit_URL); mBtn_show= (Button) findViewById(R.id.btn_show); mImageView= (ImageView) findViewById(R.id.img); mBtn_show.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { showView_onLine(); } }); }}
阅读全文
0 0
- 浏览网络中的图片
- 网络浏览图片
- 浏览网络图片
- 网络图片浏览
- 网络图片浏览
- 网络编程之网络图片浏览
- Androd WebView中的图片浏览及缩放
- 动画效果浏览相册中的图片
- 点击cell中的图片进行放大浏览
- 如何认识网络浏览中的迷路现象?
- Android 图片浏览(PhotoBrowse),网络图片,资源图片查看浏览
- Threadf访问网络从网络中浏览图片
- 图片浏览
- 图片浏览
- 图片浏览
- 图片浏览
- 图片浏览
- 图片浏览
- OpenCV环境配置 吐血整理!
- MFC多线程处理:CSemaphore
- sql
- STM32L152RC+cubeMX+FreeRTOS学习(1)
- jquery.load()函数 在JSP中局部加载刷新页面时的参数传递及获取
- 浏览网络中的图片
- BIO与NIO、AIO的区别(这个容易理解)
- 微信网页授权登录
- [Unity]Unity 安装的官方标准组件的说明
- SwipeRefreshLayout + RecyclerView 实现 上拉刷新 和 下拉刷新
- POJ:3020-Antenna Placement(二分图的最小路径覆盖)
- 深入浅出php socket编程
- mybatis中整合ehcache缓存框架的使用
- 集群查看空间大小