android从零开始(五)读取网络图片
来源:互联网 发布:国税数据质量整改 编辑:程序博客网 时间:2024/04/28 08:25
本文的目标是学习对网络图片的读取。
1、界面设计:
界面包括一个用于输入网络图片地址的TextView,一个Button用于提交用户请求。
界面代码如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="${relativePackage}.${activityClass}" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /><EditText android:id="@+id/imagepath" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="http://img05.tooopen.com/images/20140919/sy_71272488121.jpg" /><Button android:id="@+id/submit" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/submit"/><ImageView android:id="@+id/imageView" android:layout_height="wrap_content" android:layout_width="wrap_content"/>"</LinearLayout>
2.功能实现:
package pub.tobest.netimage;import java.io.ByteArrayOutputStream;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.os.Handler.Callback;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.ImageView;public class MainActivity extends Activity { EditText mEditText; Button submitButton; ImageView mImageView; Handler handle; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); Callback callBack=new Callback() { @Override public boolean handleMessage(Message msg) { // TODO Auto-generated method stub byte[] data=(byte[])msg.obj; Bitmap bitMap=BitmapFactory.decodeByteArray(data, 0, data.length-1); mImageView.setImageBitmap(bitMap); return true; } }; handle=new Handler(callBack); } private void initView() { // TODO Auto-generated method stub mEditText=(EditText) findViewById(R.id.imagepath); submitButton=(Button) findViewById(R.id.submit); mImageView=(ImageView) findViewById(R.id.imageView); submitButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub try { URL url=new URL(mEditText.getText().toString()); HttpURLConnection conn=(HttpURLConnection) url.openConnection(); conn.setReadTimeout(1000); conn.setRequestMethod("GET"); InputStream inputStream=null; if(conn.getResponseCode()==200){ inputStream=conn.getInputStream(); } ByteArrayOutputStream bOutPutStream=new ByteArrayOutputStream(); byte[] data=new byte[1024]; int len=0; while((len=inputStream.read(data))!=-1){ bOutPutStream.write(data,0,data.length-1); } byte[] bytes=bOutPutStream.toByteArray(); Message msg=new Message(); msg.obj=bytes; handle.sendMessage(msg); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }).start(); } }); }}
3.总结:
对网络图片的读取,主要使用到HttpURLConnection类和InputStream、OutputStream类。
0 0
- android从零开始(五)读取网络图片
- 第101章、读取网络图片(从零开始学Android)
- android读取网络图片
- android读取网络图片
- Android读取网络图片
- 从零开始学Android(五)
- Android--网络通信(读取网络图片的示例)
- 网络图片加载的封装-(从零开始搭建android框架系列(4))
- 网络图片加载的封装-(从零开始搭建android框架系列(4))
- 网络图片加载的封装-(从零开始搭建android框架系列(4))
- 网络图片加载的封装【从零开始搭建android框架系列(4)】
- 网络图片加载的封装【从零开始搭建android框架系列(4)】
- android读取本地或网络图片方法
- android读取网络上的图片
- Android 使用URL读取网络图片
- android 网络图片与网页读取
- android通过url读取网络图片
- Android通过URL读取网络图片
- Yii2设置别名函数(setAlias)和获取别名函数(getAlias)
- android应用开发全程实录-你有多熟悉listview? getView重写 inflate结合各种Adapter实例
- C++操作符重载
- XSS攻击及其解决方案
- 动手写一个HTML5的无限循环滚动焦点图
- android从零开始(五)读取网络图片
- 混淆——混淆文档格式
- 关于stm32寄存器地址定义的小结
- 网易游戏笔试题─两个圆相交,交点是A1,A2。现在过A1点做一直线与两个圆分别相交另外一点B1,B2。 B1B2可以绕着A1点旋转。问在什么情况下,B1B2最长
- 【转】如何登陆Tomcat的控制台(Web管理界面)
- 反转链表
- 伪静态
- 计算机网络(8)网络层
- Android:防止过快点击造成多次事件