android从网络中获得一张图片,并显示在屏幕上
来源:互联网 发布:动易cms视频 编辑:程序博客网 时间:2024/05/16 08:46
1:androidmanifest.xml的内容
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="cn.capinftotech.image" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion="8" /> <uses-permission android:name="android.permission.INTERNET" /></manifest>注意访问网络中的数据需要添加android.permission.INTERNET权限
2:MainActivity的内容
package cn.capinftotech.image;import java.io.IOException;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.ImageView;import android.widget.Toast;import com.capinfotech.service.ImageService;public class MainActivity extends Activity {private static final String TAG = "MainActivity";private EditText urlPath = null;private Button button = null;private ImageView imageView = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); urlPath = (EditText)findViewById(R.id.urlpath); button = (Button)findViewById(R.id.button); imageView = (ImageView)findViewById(R.id.imageView); button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String urlPathContent = urlPath.getText().toString();try {byte[] data = ImageService.getImage(urlPathContent);Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length); //生成位图imageView.setImageBitmap(bitmap); //显示图片} catch (IOException e) {Toast.makeText(MainActivity.this, R.string.error, Toast.LENGTH_LONG).show(); //通知用户连接超时信息Log.i(TAG, e.toString());}}}); }}
3:ImageService类的内容
package com.capinfotech.service;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;import com.capinfotech.utils.StreamTool;public class ImageService {public static byte[] getImage(String path) throws IOException {URL url = new URL(path);HttpURLConnection conn = (HttpURLConnection)url.openConnection();conn.setRequestMethod("GET"); //设置请求方法为GET conn.setReadTimeout(5*1000); //设置请求过时时间为5秒InputStream inputStream = conn.getInputStream(); //通过输入流获得图片数据byte[] data = StreamTool.readInputStream(inputStream); //获得图片的二进制数据return data;}}
4:StreamTool的内容
package com.capinfotech.utils;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;public class StreamTool { /* * 从数据流中获得数据 */public static byte[] readInputStream(InputStream inputStream) throws IOException {byte[] buffer = new byte[1024];int len = 0;ByteArrayOutputStream bos = new ByteArrayOutputStream();while((len = inputStream.read(buffer)) != -1) {bos.write(buffer, 0, len);}bos.close();return bos.toByteArray();}}
5:程序中用到的字符串资源strings.xml里的内容
<?xml version="1.0" encoding="utf-8"?><resources> <string name="hello">Hello World, MainActivity!</string> <string name="app_name">图片浏览器</string> <string name="urlpath">网络图片地址</string> <string name="button">显示</string> <string name="error">网络连接超时</string></resources>
6:程序布局文件main.xml的内容
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" ><TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/urlpath" /><EditText android:id="@+id/urlpath" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="http://www.eoeandroid.com/data/attachment/forum/201107/18/142935bbi8d3zpf3d0dd7z.jpg" /><Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button" /><ImageView android:id="@+id/imageView" android:layout_width="wrap_content" android:layout_height="wrap_content" /></LinearLayout>
7:程序界面及测试结果
- android从网络中获得一张图片,并显示在屏幕上
- android从网络中获得一张图片,并显示在屏幕上
- android 实现从网络上抓取图片并显示在手机上
- 获取网络上的一张图片并显示在界面上
- 第四章 网络下载之httpurlconnection 从网络上下载一张图片,在本地显示
- 从网络上获取一张图片,然后显示在手机上
- Android中从网上下载一张图片显示进度并显示下载好的图片
- android 网络图片按原始比例显示在屏幕上
- android从网络中获取一张图片
- 总结:SDL_第一课 在屏幕上显示一张图片
- Android中简单实现从网络下在图片显示并保存在本地
- android 获取网络图片并在Imageview上显示
- android 获取网络图片并在Imageview上显示
- Android如何从图库获取一张图片并显示
- 网络通信之网络图片获取 并显示屏幕上
- 史上最强Android 开启照相或者是从本地相册选中一张图片以后先裁剪在保存并显示的讲解附源码i
- 史上最强Android 开启照相或者是从本地相册选中一张图片以后先裁剪在保存并显示的讲解附源码i
- 史上最强Android 开启照相或者是从本地相册选中一张图片以后先裁剪在保存并显示的讲解附源码i
- linux下配置网卡IP地址命令详细及一些常用网络配置命令
- ORA-01940: cannot drop a user that is currently connected
- android 摄像头编程
- 《独辟蹊径品内核:Linux内核源代码导读(china-pub首发)》的前言
- memcache java客户端优化历程
- android从网络中获得一张图片,并显示在屏幕上
- Oracle数据导入导出imp/exp-备份恢复
- 未来电子商务十大发展趋势--引用51aspx 阿里巴巴空间
- Android捕获未知异常,防止弹出意外终止对话框
- MooTools 1.3的搜索提示功能
- wmsys.wm_concat的几个用法(附加功能)
- VS2003监视窗口(watch)的使用
- freeswitch移植到arm--交叉编译
- oracle 权限与角色