`
yanghaoli
  • 浏览: 288478 次
社区版块
存档分类
最新评论

android读取远程图片案例

 
阅读更多

关键代码:
Bitmap bitmap=BitmapFactory.decodeByteArray(data, 0, data.length);
imageview.setImageBitmap(bitmap);

注意访问网络权限:<uses-permission android:name="android.permission.INTERNET"/>

完整测试代码如下:

 1 package caicai.cn.netimag;
 2 
 3  import java.io.ByteArrayOutputStream;
 4  import java.io.InputStream;
 5  import java.net.HttpURLConnection;
 6  import java.net.URL;
 7 
 8  public class imageserver {
 9  public static byte[] getimage(String path) throws Exception{ //连接远程网址
10  URL url=new URL(path);
11  HttpURLConnection conn=(HttpURLConnection) url.openConnection();
12  conn.setConnectTimeout(5000);
13  conn.setRequestMethod("GET");
14  if(conn.getResponseCode()==200){
15  InputStream instream=conn.getInputStream();
16  return read(instream); 
17  }
18  return null;
19  }
20 
21  private static byte[] read(InputStream instream) throws Exception{ //  读取数据流,返回字节数据流
22  ByteArrayOutputStream outstream=new ByteArrayOutputStream(); 
23  byte[] buffer=new byte[1024];
24  while( (instream.read(buffer))!=-1){
25  outstream.write(buffer); 
26  } 
27  instream.close();
28  return outstream.toByteArray();
29  }
30  }
imageserver.java
 1 package caicai.cn.netimag;
 2 
 3  import android.app.Activity;
 4  import android.graphics.Bitmap;
 5  import android.graphics.BitmapFactory;
 6  import android.os.Bundle;
 7  import android.view.View;
 8  import android.widget.ImageView;
 9  import android.widget.Toast;
10 
11  public class NetimageActivity extends Activity {
12 
13  public ImageView imageview;
14  public void onCreate(Bundle savedInstanceState) {
15  super.onCreate(savedInstanceState);
16  setContentView(R.layout.main);
17  imageview=(ImageView) findViewById(R.id.imageview);
18  }
19  public void submit(View v){
20  String path="http://192.168.0.117/testxml/bottom.png";
21  try{
22    byte[] data=imageserver.getimage(path);
23    Bitmap bitmap=BitmapFactory.decodeByteArray(data, 0, data.length);   //生成图片工厂
24  imageview.setImageBitmap(bitmap);  //显示图片
25  }catch(Exception e){
26 
27  Toast.makeText(getApplicationContext(), "出错了", 1).show();
28  }
29  }
30  }
NetimageActivity.java
 1 <?xml version="1.0" encoding="utf-8"?>
 2  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3  android:layout_width="fill_parent"
 4  android:layout_height="fill_parent"
 5  android:orientation="vertical" >
 6 
 7  <Button 
 8  android:layout_width="fill_parent"
 9  android:layout_height="wrap_content"
10  android:text="获取网络图片"
11  android:onClick="submit"/>
12  <ImageView 
13  android:layout_width="fill_parent"
14  android:layout_height="wrap_content"
15  android:id="@+id/imageview"
16  android:src="@drawable/ic_launcher"
17  />
18 
19  </LinearLayout>
main.xml
 1 <?xml version="1.0" encoding="utf-8"?>
 2  <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 3  package="caicai.cn.netimag"
 4  android:versionCode="1"
 5  android:versionName="1.0" >
 6 
 7  <uses-sdk android:minSdkVersion="8" />
 8  <uses-permission android:name="android.permission.INTERNET"/>
 9 
10  <application
11  android:icon="@drawable/ic_launcher"
12  android:label="@string/app_name" >
13  <activity
14  android:label="@string/app_name"
15  android:name=".NetimageActivity" >
16  <intent-filter >
17  <action android:name="android.intent.action.MAIN" />
18 
19  <category android:name="android.intent.category.LAUNCHER" />
20  </intent-filter>
21  </activity>
22  </application>
23 
24  </manifest>
AndroidManifest.xml

 

1
1
分享到:
评论

相关推荐

    Android手机远程监控源码.zip

    在Android平台上实现手机远程监控,通常涉及到多个技术领域,包括网络通信、图像处理、设备权限管理等。这个项目"Android手机远程监控源码"可能是提供了一整套解决方案,让我们一起探讨其中可能涉及的关键知识点。 ...

    Android经典项目案例开发实战宝典实例源文件 下)

    在本资源中,"Android经典项目案例开发实战宝典实例源文件(下)",包含的是13到22个Android应用开发的经典案例,这些案例是深入理解和掌握Android开发技术的重要资源。每个案例都提供了完整的源代码,有助于开发者...

    Android经典案例集合

    7. **网络编程**:Android应用往往需要获取远程数据,这就涉及到了HTTP请求。案例可能包括使用HttpURLConnection,OkHttp,或者Retrofit进行网络请求,以及处理JSON或XML数据。 8. **权限管理**:Android 6.0引入了...

    Android案例-远程调用支付宝.zip

    "Android案例-远程调用支付宝.zip"这个压缩包文件,显然涉及到如何在Android应用中集成支付宝的远程调用服务,以便实现支付功能。下面我们将深入探讨这一主题。 首先,服务在Android中的使用场景通常包括音乐播放、...

    android实用案例-开发参考必备

    5. **Gallery从SD卡中获取图片,并显示**:Gallery是一个可滚动的照片展示控件,案例中展示了如何从SD卡读取图片并加载到Gallery中,涉及到Bitmap的解码和内存优化。 6. **gallery重叠特效源码+注释**:这是一个...

    android开发十个小案例

    1. **图片浏览器**:一个基础的图片查看器应用,涉及的核心技术包括图片加载库(如Glide或Picasso)、图片缓存策略以及手势识别(用于缩放和滑动图片)。开发者需要理解Android的ImageView组件,以及如何处理大图...

    Android开发精典案例合集打包下载(共60个) 免费版.rar

    12. **GPS定位与地图集成**:通过集成Google Maps SDK,案例可能展示如何获取用户位置、绘制路线或添加自定义标注。 13. **Android组件间通信(IPC)**:例如使用AIDL实现进程间通信,或使用Parcelable接口进行数据...

    android开发十个案例打包下载

    3. **通讯录**:通讯录应用涉及到读取和写入联系人数据,这需要使用到Android的ContactsContract API。开发者需要处理数据的增删改查,同时考虑隐私保护,如请求访问联系人的权限。 4. **任务管理器**:任务管理器...

    android开发的10个实战案例源代码

    在Android开发领域,掌握实战案例是提升技能的关键。以下是对标题和描述中提及的10个实战案例的详细解析,每个案例都会涵盖相关的技术点和知识点: 1. **图片浏览器**: - 使用`GridView`或`RecyclerView`展示图片...

    Android案例

    7. **地理位置服务**:Android提供了Location API,可以获取设备的GPS坐标,实现地图集成,进行定位和导航功能。 8. **通知与消息推送**:理解如何使用Notification API发送本地通知,以及如何集成Firebase Cloud ...

    android新手入门经典案例源码

    5. 网络通信:现代应用通常需要获取远程数据,因此网络请求是必备技能。EX04_11和EX05_10可能涉及到使用HttpURLConnection、OkHttp或者Volley库进行网络请求,以及JSON数据的解析。 6. 更高级的主题:EX05_10和EX05...

    android 实现流媒体播放远程mp3文件代码pdf

    ### Android 实现流媒体播放远程MP3文件代码详解 #### 一、背景介绍与目标 在Android开发过程中,实现远程音频文件(如MP3)的流式播放是一项常见且实用的功能。本文档将深入探讨一个具体的实现案例,该案例通过...

    android开发十个案例打包

    通讯录应用涉及读取和显示设备上的联系人信息,需要熟悉ContentResolver和ContactsContract类,以及如何使用CursorLoader进行异步数据获取。 4. **任务管理器(4_taskmanager.rar)** 任务管理器展示了如何获取并...

    android经典开发案例60个(源码类)

    6. **地图与定位服务**:可能有集成Google Maps API的案例,包括显示地图、添加标记、获取用户位置等功能。 7. **多媒体处理**:音频、视频播放器的实现,图片加载库如Glide或Picasso的使用,以及相机API的应用。 ...

    android应用案例开发大全(第3版)源程序.rar

    开发者会接触到网络请求技术,如使用HttpURLConnection或OkHttp获取远程数据,以及如何解析JSON或XML格式的网络响应,将数据展示给用户。 第02章"3D动态壁纸——百纳水族馆"则展示了Android壁纸开发的魅力。这一章...

    (基于android的毕业设计)远程健康监控App(源码+演示录像).zip

    该毕业设计项目是一款...综上所述,这个基于Android的远程健康监控App项目涵盖了多方面的技术知识,包括定位服务、数据同步、传感器数据分析、机器学习、UI设计以及软件架构等,是Android开发领域的一个综合实践案例。

    基于Arduino与Android的远程控制系统.pdf

    根据提供的文件内容,我们可以提炼出与“基于Arduino与Android的远程控制系统”相关的知识点,详细地介绍其设计原理、组成部分以及实现的功能。 ### Arduino与Android远程控制系统的概念 远程控制系统是一种通过...

    Android应用案例开发大全(配书光盘)

    《Android应用案例开发大全》是一本深度探讨Android应用程序开发的实战型书籍,旨在帮助开发者通过实际案例提升技能,掌握Android平台上的应用设计与实现。这本书的配书光盘可能包含了书中各个章节的源代码和相关...

    Android与Tomcat远程访问

    《Android与Tomcat远程访问详解》 在移动应用开发中,常常需要实现客户端(如Android应用)与服务器端(如Tomcat服务器)的数据交互,以便完成注册、登录、数据存储等核心功能。本文将深入探讨如何实现Android应用...

Global site tag (gtag.js) - Google Analytics