zoukankan      html  css  js  c++  java
  • Android使用URL访问网络资源

        当我们的安卓应用需要用到的图片是网上的资源的时候可以通过使用URL打开流和图片资源的连接

    在xml文件中定义一个ImageView用于放图片

     1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     2     android:layout_width="match_parent"
     3     android:layout_height="match_parent"
     4     android:orientation="vertical"
     5     >
     6 
     7     <ImageView
     8         android:id="@+id/show"
     9         android:layout_width="wrap_content"
    10         android:layout_height="wrap_content" />
    11 
    12 </LinearLayout>

    在Activity中访问网络资源,并且和自定义的输入流连接获取图片

     1 package com.contentprovide.liuliu.url_demo;
     2 
     3 import android.graphics.Bitmap;
     4 import android.graphics.BitmapFactory;
     5 import android.os.Handler;
     6 import android.os.Message;
     7 import android.support.v7.app.AppCompatActivity;
     8 import android.os.Bundle;
     9 import android.widget.Button;
    10 import android.widget.ImageView;
    11 
    12 import java.io.IOException;
    13 import java.io.InputStream;
    14 import java.net.MalformedURLException;
    15 import java.net.URL;
    16 
    17 public class MainActivity extends AppCompatActivity {
    18     ImageView show;
    19     Bitmap bitmap;//得到获取的图片
    20     Handler handler = new Handler(){
    21         @Override
    22         public void handleMessage(Message msg) {
    23             super.handleMessage(msg);
    24             show.setImageBitmap(bitmap);
    25         }
    26     };
    27 
    28     Thread thread = new Thread(){
    29         @Override
    30         public void run() {
    31             super.run();
    32             try {
    URL中放的是图片的地址,图片地址随便在网上找一张图片,右键图片就可以复制了,这里需要捕捉异常
    33 URL url = new URL("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1513089945188&di=12fd9cbe927799bda7d84d04acdd70f8&imgtype=0&src=http%3A%2F%2Fimage.tianjimedia.com%2FuploadImages%2F2015%2F131%2F42%2F1Q177R2I7739.jpg"); 34 35 InputStream inputStream = url.openStream(); 36 bitmap = BitmapFactory.decodeStream(inputStream); 37 handler.sendEmptyMessage(1);//主线程中是不能更新的,所以得发送消息到handler,到handleMessage方法中设置获取得到的图片 38           inputStrem.close; 39 } catch (MalformedURLException e) { 40 e.printStackTrace(); 41 } catch (IOException e) { 42 e.printStackTrace(); 43 } 44 } 45 }; 46 47 @Override 48 protected void onCreate(Bundle savedInstanceState) { 49 super.onCreate(savedInstanceState); 50 setContentView(R.layout.activity_main); 51 show = (ImageView) findViewById(R.id.show); 52 thread.start();//让线程开始执行 53 54 55 } 56 57 58 59 }

    使用网络资源时需要设置权限:

    打开AndroidMenifest.xml文件在

    <application></application>之外设置权限,添加
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
  • 相关阅读:
    微信小程序保存图片功能实现
    小程序清除缓存功能如何实现
    小程序自定义函数—数字千位转换
    小程序身份证号检测函数
    小程序 的 textarea 组件 层级问题如何解决
    Markdown 语法背一下咯
    跨域了解一下?
    sort命令的k选项大讨论【转】
    Shell脚本中实现切换用户并执行命令操作【转】
    Ansible Tower系列 四(使用tower执行一个命令)【转】
  • 原文地址:https://www.cnblogs.com/lyd447113735/p/8029606.html
Copyright © 2011-2022 走看看