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();
      }
    }
  }
}

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

(0)

相关推荐

  • 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获取相册图片和路径的实现方法

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

  • 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 通过网络图片路径查看图片实例详解 1.在项目清单中添加网络访问权限 <!--访问网络的权限--> <uses-permission android:name="android.permission.INTERNET"/> 2.获取网络图片数据 /** * 获取网络图片的数据 * @param path 网络图片路径 * @return * @throws Exception */ public static byte[] getImage(Str

  • Android使用xml自定义图片实例详解

    Android使用xml自定义图片实例详解 实现效果图: 白色圆角图片 bg_round_rectangle_white.xml <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <!-

  • Android 录制手机屏幕视频生成GIF图片实例详解

    Android 录制手机屏幕视频生成GIF图片实例详解 无图无真相,在我们日常的网络交流中往往需要给交流对象提供直观的显示,而视频是一个很好的方式,但是视频需要播放器,还需要当做文件进行对点传输,并不是很方便.想CSDN这样的博客网站也并不支持在博客里放视频这种方式,除非你贴外链,太烦了不是么.最好是如下图这种gif方式,直观 今天来教大家一个易操作的录制方式.当然,一般只适合Android开发者.因为你需要有AndroidStudio 工具 AndroidStudio(完成手机屏幕的视频录制,

  • Android xmlns 的作用及其自定义实例详解

     Android xmlns 的作用及其自定义实例详解 xmlns:Android="http://schemas.android.com/apk/res/android的作用是: 这个是xml的命名空间,有了他,你就可以alt+/作为提示,提示你输入什么,不该输入什么,什么是对的,什么是错的,也可以理解为语法文件.或者语法判断器什么的 这个主要作用是在运行的时候那些控件的属性都是通过它来识别的,如果上面你写错了,不会有任何问题,但是在运行的时候就会有问题,提示你没有指定宽度等什么.这个是不用联

  • Android Activity启动模式之singleTop实例详解

    本文实例讲述了Android Activity启动模式之singleTop.分享给大家供大家参考,具体如下: 在前面文章<Android Activity启动模式之standard实例详解>中,我们介绍了活动的默认启动模式standard,本文继续介绍Activity的singleTop模式. singleTop模式:当Activity的活动模式设置为singleTop时,在启动活动时首先检查栈顶活动是否是该活动,如果是,在使用当前实例,否则继续创建新的实例. (1)修改AndroidMani

  • Android Drawable和Bitmap的转换实例详解

    Android Drawable和Bitmap的转换实例详解 通常我们需要通过代码去设置图片,就需要设置图片Bitmap和Drawable的转换,下面整理了几种方式 一.Bitmap转Drawable Bitmap bm=xxx; //xxx根据你的情况获取 BitmapDrawable bd=new BitmapDrawable(bm);//因为BtimapDrawable是Drawable的子类,最终直接使用bd对象即可. 二. Drawable转Bitmap Drawable d=xxx;

  • Android 使用selector改变按钮状态实例详解

    Android 使用selector改变按钮状态实例详解 在res/drawable文件夹新增一个文件,此文件设置了图片的触发状态,你可以设置 : state_pressed,state_checked,state_pressed,state_selected,state_focused,state_enabled 等几个状态: < selector xmlns:android="http://schemas.android.com/apk/res/android"> &l

  • Android Studio 修改应用包名实例详解

    Android Studio 修改应用包名实例详解 我们平时新建项目有些朋友可能当时就是随意写的一个包名,然后在项目过程中, 又感觉这个包名不太好,所以就要对包名进行修改,根据我们正常的修改方式,是这样的. 在种情况是只能修改最外层的那个名称, 如果我们现在是需要修改中间的某一个,这里就行不通了. 那么我们来看一下如何修改成你最终要的包名. 操作图如下: 看到没有,我们只需要在setting里面,把 compact empty middle packages 这个选项去掉,这样,我们的包的层次结

  • Android Fragment滑动组件ViewPager的实例详解

    Android Fragment滑动组件ViewPager的实例详解 1适配器FragmentPagerAdapter的实现 对于FragmentPagerAdapter的派生类,只需要重写getItem(int)和getCount()就可以了. public class MyFragmentPagerAdapter extends FragmentPagerAdapter { private List<Fragment> list; public MyFragmentPagerAdapter

  • 微信小程序wx.previewImage预览图片实例详解

    一.小知识 二.例子 1.wxml <span style="font-family:Comic Sans MS;font-size:18px;color:#333333;"><view class="container"> <view wx:for="{{imgalist}}" wx:for-item="image" class="previewimg"> <im

随机推荐