Android学习笔记_12_网络通信之从web获取资源数据到Android
来源:互联网 发布:羽绒服 时尚 知乎 编辑:程序博客网 时间:2024/06/04 01:36
从web获取图片信息,并显示到android的imageView控件。
一、添加网络访问权限。
<uses-permission android:name="android.permission.INTERNET"/>
二、界面布局及activity的实现:
<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <Button android:id="@+id/btnImage" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginLeft="34dp" android:layout_marginTop="15dp" android:text="查看图片" /> <ImageView android:id="@+id/imageView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/btnImage" android:layout_below="@+id/btnImage" android:layout_marginTop="20dp" /></RelativeLayout>
package com.example.image;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.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ImageView;public class MainActivity extends Activity { private Button button = null; private ImageView imageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (Button) this.findViewById(R.id.btnImage); imageView = (ImageView) this.findViewById(R.id.imageView); final String path="http://192.168.8.103:8080/Simple/0001.jpg"; button.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { try { byte[] data = getImage(path); Bitmap bm=BitmapFactory.decodeByteArray(data, 0, data.length); imageView.setImageBitmap(bm); } catch (Exception e) { e.printStackTrace(); } } }); } /** * 获取图片流 * @param path * @return * @throws Exception */ public static byte[] getImage(String path) throws Exception{ //创建URL对象,获取HttpURLConnection
HttpURLConnection conn = (HttpURLConnection) new URL(path).openConnection(); conn.setConnectTimeout(5000); conn.setRequestMethod("GET"); if (conn.getResponseCode()==200) { //处理从web返回的资源数据 return read(conn.getInputStream()); } return null; } /** * 将流转化成字节数组 * @param in * @return * @throws Exception */ public static byte[] read(InputStream in) throws Exception{ ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); byte[] buf = new byte[1024]; int len=0; while((len=in.read(buf))!=-1){ outputStream.write(buf,0,len); } outputStream.close(); return outputStream.toByteArray(); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; }}
0 0
- Android学习笔记_12_网络通信之从web获取资源数据到Android
- android-从网络下载资源到本地
- Android网络通信--学习笔记
- android网络通信之获取网络图片
- android网络通信之获取网络图片
- Android开发之从网络(Intent)获取和发送数据
- Android异步加载学习笔记之二:实现ListView中的图片数据从网络加载
- Android学习笔记_15_网络通信之文件断点下载
- Android学习笔记_43_网络通信之文件断点上传
- Android学习笔记(十一)-从Internet获取数据
- Android学习笔记(十一)-从Internet获取数据
- android:使用网络通信技术从客户端直接获取服务端的对象数据
- 【Java】java学习笔记:【从网络获取图像资源】实现
- android 从 service 获取数据 到 activity
- Android学习文档之数据提交到网络
- 【android初级】之Android之从网络上获取数据(图片,网页,xml,json等)
- Android笔记之 网络http通信
- Android 多媒体 MediaPlayer之从三种资源文件中获取数据播放
- Android学习笔记_8_使用SharedPreferences存储数据
- Android学习笔记_9_SQLiteOpenHelper对象之数据库增删改查以及事务回滚操作
- 区间选点问题(贪心)
- Android学习笔记_10_ContentProvider内容提供者的使用
- Android学习笔记_11_ListView控件使用
- Android学习笔记_12_网络通信之从web获取资源数据到Android
- Android学习笔记_13_网络通信之多个上传文件
- Android学习笔记_14_对JSON格式数据的处理
- FileUpload框架实现文件上传(多个文件)和下载
- Android学习笔记_15_网络通信之文件断点下载
- arraylist转换为数组 ,数组转换为arraylist
- Android学习笔记_16_添加多个Activity、参数传递、请求码和结果码使用
- Ombrophobic Bovines poj 2391 二分+拆点+最大流sap模板
- Android学习笔记_17_Intent匹配规则(隐式意图)