Android 通过网络图片路径查看图片实例详解

Android 通过网络图片路径查看图片实例详解

1.在项目清单中添加网络访问权限

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

2.获取网络图片数据

/**
   * 获取网络图片的数据
   * @param path 网络图片路径
   * @return
   * @throws Exception
   */
  public static byte[] getImage(String path) throws Exception {
    URL url=new URL(path);
    HttpURLConnection conn=(HttpURLConnection)url.openConnection();//得到基于HTTP协议的连接对象
    conn.setConnectTimeout(5000);//设置超时时间
    conn.setRequestMethod("GET");//请求方式
    if(conn.getResponseCode()==200){//判断是否请求成功
      InputStream inputStream=conn.getInputStream();
      return read(inputStream);
    }
    return null;
  }
  /**
   * 读取流中的数据
   */
  public static byte[] read(InputStream inputStream) throws IOException {
    ByteArrayOutputStream outputStream=new ByteArrayOutputStream();
    byte[] b=new byte[1024];
    int len=0;
    while((len=inputStream.read(b))!=-1){
      outputStream.write(b);
    }
    inputStream.close();
    return outputStream.toByteArray();
  }

3.处理查看图片的控制

public class NetimageActivity extends Activity {
  private EditText pathText;
  private ImageView imageView;
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main); 

    pathText=(EditText)this.findViewById(R.id.imagepath);//图片路径
    imageView=(ImageView)this.findViewById(R.id.imageView);//显示图片控件
    Button button=(Button)this.findViewById(R.id.button);//查看图片按钮
    button.setOnClickListener(new ButtonClickListener());//注册查看图片按钮事件
  }
  /**
   * 处理查看图片按钮事件
   */
  private final class ButtonClickListener implements View.OnClickListener{
    @Override
    public void onClick(View v) {
      //取得图片路径
      String path=pathText.getText().toString();
      try {
        //获取图片数据
        byte[] data=ImageService.getImage(path);
        //使用数组的所有数据构建位图对象
        Bitmap bitmap=BitmapFactory.decodeByteArray(data, 0, data.length);
        imageView.setImageBitmap(bitmap);//显示图片
      } catch (Exception e) {
        e.printStackTrace();
        Toast.makeText(getApplicationContext(), R.string.error, 1).show();
      }
    }
  }
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

时间: 2017-05-30

android图片文件的路径地址与Uri的相互转换方法

一个android文件的Uri地址一般如下: content://media/external/images/media/62026 这是一张图片的Uri,那么我们如何根据这个Uri获得其在文件系统中的路径呢? 其实很简单,直接上代码: public static String getRealFilePath( final Context context, final Uri uri ) { if ( null == uri ) return null; final String scheme

android获取相册图片和路径的实现方法

Android开发获取相册图片的方式网上有很多种,这里说一个Android4.4后的方法,因为版本越高,一些老的api就会被弃用,新的api和老的api不兼容,导致出现很多问题. 比如:managedQuery()现在已经被getContentResolver().query()替代了,不过它们的参数都是一样的 再比如Android4.4后Intent(Intent.ACTION_GET_CONTENT);和Intent(Intent.ACTION_OPEN_DOCUMENT);两个方法所得到的

Android获取SD卡中选中图片的路径(URL)示例

最近在做一个图片上传的功能,需要提供上传图片在SD卡中的路径,在网上看了些例子,改改调试成功,代码很简单.其布局文件如下: 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill

Android获取SD卡上图片和视频缩略图的小例子

如何判断文件呢? 可以通过Cursor遍历数据库,对比INTERNAL_CONTENT_URI字段的值,这是一个Uri,这里保存着Android手机SD卡上的多媒体文件完整路径. [java] 复制代码 代码如下: Uri originalUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;                 //若为视频则为MediaStore.Video.Media.EXTERNAL_CONTENT_URI;          

Android获取SD卡路径及SDCard内存的方法

本文实例讲述了Android获取SD卡路径及SDCard内存的方法.分享给大家供大家参考.具体分析如下: 昨天在研究拍照后突破的存储路径的问题,开始存储路径写死为: private String folder = "/sdcard/DCIM/Camera/"(SD卡上拍照程序的图片存储路径); 后来发现这样写虽然一般不会出错,但不是很好,因为不同相机,可能路径会出问题.较好的方法是通过Environment 来获取路径,最后给出一个例子,教你怎样获取SDCard 的内存,显示出来告诉用

Android数据库SD卡创建和图片存取操作

Android数据库中的创建,图片的存.取操作如下: 数据库类: import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.util.Log; /** * 此类继承了SQLiteOpenHelper抽象类,是一个辅助器类,需要 一个构造函数和重写两个方法. * */ pu

Android编程读取sd卡中图片的方法

本文实例讲述了Android读取sd卡中图片的方法.分享给大家供大家参考,具体如下: 一.获取读取SD卡的权限 <!--在SDCard中创建与删除文件权限 --> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <!-- 往SDCard写入数据权限 --> <uses-permission android:name="andr

Android数据持久化之读写SD卡中内容的方法详解

本文实例讲述了Android数据持久化之读写SD卡中内容的方法.分享给大家供大家参考,具体如下: 前面文章里讲的那三个方法:openFileOutput .openFileInput 虽然都能通过流对象OutputStream和InputStream可以处理任意文件中的数据,但与 SharedPreferences 一样,只能在手机内存的指定目录下建立文件,因此,在实际的开发使用中有很大的局限性,那么在这一节中,我们来看一个比较高级的方法来实现数据的持久化--读写SD卡上的内容. --读取ass

Android开发之获取SD卡及手机ROM容量的方法

本文实例讲述了Android获取SD卡及手机ROM容量的方法.分享给大家供大家参考,具体如下: 这里通过一个简单的小例子,来获取SD卡的容量和手机ROM的容量,代码如下: package com.urovo.sdcardspace; import java.io.File; import android.os.Bundle; import android.os.Environment; import android.os.StatFs; import android.app.Activity;

基于Android扫描sd卡与系统文件的介绍

如果你做过多媒体应用,一定会苦恼过,怎样获取sd卡中的多媒体文件.android还是很强大的,如果你知道怎么调用android的api,万事就ok了. 当手机或模拟器开机时,会调用android的MediaScanner,扫描sd卡和内存里的文件.以下是log信息. 复制代码 代码如下: 12-13 15:39:11.062: VERBOSE/MediaPlayerService(67): Create new media retriever from pid 349<BR> 12-13 15

Android开发中使用外部应用获取SD卡状态的方法

本文实例讲述了Android开发中使用外部应用获取SD卡状态的方法.分享给大家供大家参考,具体如下: 先来看看常规获取SD卡状态的方法 if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) { // sd card 可用 }else { // 当前不可用 } Environment.MEDIA_MOUNTED // sd卡在手机上正常使用状态 Environment.MEDIA_UNMOUNTE

Android实现获取SD卡总容量,可用大小,机身内存总容量及可用大小的方法

本文实例讲述了Android实现获取SD卡总容量,可用大小,机身内存总容量及可用大小的方法.分享给大家供大家参考,具体如下: 可能有的同学不知道系统已经提供了获取获取SD卡总容量,可用大小,机身内存总容量及可用大小的系统方法,用系统源代码提供的方法可以很简单,方便的获取其大小.这里我把系统源代码中的一个方法贴出来,供大家参考一下: 图片: 图片上红色方框中的代码就是源代码中获取SD卡大小的程序方法. 在这里我整理了一下,我把我整理封装好的方法给大家贴出来: /** * 获得SD卡总大小 * *