Android 使用URL访问网络资源

1.介绍

2.使用方法

3.java后台代码

package com.lucky.test51url;

import android.annotation.SuppressLint;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;

import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

public class MainActivity extends AppCompatActivity {
    Button button1;
    ImageView imageView1;
    Bitmap bitmap1;
    String pathString="https://ss0.bdstatic.com/94oJfD_bAAcT8t7mm9GUKT-xh_/timg?image&quality=100&size=b4000_4000&sec=1552803802&di=e730996ff6ab40c6102de6cab6d6ab52&src=http://img4.duitang.com/uploads/item/201406/28/20140628082503_HcGBS.jpeg";
    @SuppressLint("HandlerLeak")
    Handler handler=new Handler(){  //利用hander接收线程中发送的数据,并在UI界面中显示出来
        @Override
        public void handleMessage(Message msg) {
            if(msg.what==0x01){
                imageView1.setImageBitmap(bitmap1);
            }
        }
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button1=findViewById(R.id.button);
        imageView1=findViewById(R.id.imageView);
        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //开辟一个新的线程
                new Thread(){
                    @Override
                    public void run() {
                        try {
                            //利用URL访问网络
                            URL url=new URL(pathString);
                            URLConnection connection=url.openConnection();//获得网络连接
                            InputStream inputStream=connection.getInputStream();//利用connection的输入流访问网络
                            bitmap1=BitmapFactory.decodeStream(inputStream);
                            handler.sendEmptyMessage(0x01);
                        } catch (MalformedURLException e) {
                            e.printStackTrace();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                }.start();
            }
        });

    }

}

原文地址:https://www.cnblogs.com/luckyplj/p/10546992.html

时间: 2024-10-14 16:52:08

Android 使用URL访问网络资源的相关文章

Android学习--使用url访问网络资源

实例:使用url从服务器端下载图片 核心代码: package com.example.xiaocool.urltest; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Handler; import android.os.Message; import android.support.v7.app.ActionBarActivity; import android

Android开发之使用URL访问网络资源

URL (UniformResource Locator)对象代表统一资源定位器,它是指向互联网"资源"的指针.资源可以是简单的文件或目录,也可以是对更复杂的对象的引用,例如对数据库或搜索引擎的查询.通常情况而言,URL可以由协议名.主机.端口和资源组成.即满足如下格式: protocol://host:port/resourceName URL类提供了多个构造方法用于创建URL对象,一旦获得了 URL对象之后,可以调用如下常用方法来访问该URL对应的资源: 1) StringgetF

Android 通过URL获取网络资源

1.先在AndroidManifest.xml中注册加入访问因特网服务的权限: <uses-permission android:name="android.permission.INTERNET" /> (若不加入,则会出现permission denied异常) 2.代码如下: package vip.test.HttpGet; import java.io.BufferedInputStream; import java.io.InputStream; import

Android---52---使用URl访问网络资源

URL:Uniform Resource Locator 统一资源定位器 通常情况而言,URl可以有协议名.主机.端口和资源组成,即满足以下格式: protocol://host:port/resourceName 例如: http://www.baidu.com/index.php Public Constructors 构造方法: URL(String spec) Creates a new URL instance by parsing the string spec. URL(URL c

使用URL访问网络资源

URL(Uniform  Resource  Locator)对象代表统一资源定位器,它是指向互联网“资源”的指针.资源可以是简单的文件或目录,也可以是对更复杂的对象的引用,例如对数据库或搜索引擎的查询.通常情况而言,URL可以由协议名.主机.端口和资源组成,既满足如下格式: protocal://host:port/resourceName 例如如下的URL地址: http://www.baidu.com JDK中还提供了一个URI(Uniform  Resource  Identifiers

android中使用URL读取网络资源

URL(Uniform Resource Locator)对象代表统一资源定位器,它是指向互联网"资源"的指针. 使用URL读取网络资源: import java.io.InputStream; import java.net.URL; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle;

Android开发之使用HTTP访问网络资源

使用HTTP访问网络资源 前面介绍了 URLConnection己经可以非常方便地与指定站点交换信息,URLConnection还有一个子类:HttpURLConnection,HttpURLConnection 在 LIRLConnection的基础上做了进一步改进,增加了一些用于操作http资源的便捷方法. 1.使用HttpURLConnection HttpURLConnection继承了URLConnection,因此也可用于向指定网站发送GET请求 POST请求.它在URLConnec

android的网络访问URL

Thread visitBaiduThread = new Thread(new VisitWebRunnable());     visitBaiduThread.start();     try {         visitBaiduThread.join();               System.out.println("xiancheng======");         } catch (InterruptedException e) {         // TOD

android-使用URL获取网络资源

今日使用URL获取网络资源时遇到问题记录一下: 1. android4.0 以后,不可以在主线程中请求网络资源 访问网络资源,必须新起一个线程. 2.哪个线程创建的view,哪个线程才有权限操作它 Only the original thread that created a view hiberarchy can touch tis views 获取到网络资源之后,只可以回到原来的线程中将资源放入android的view中. android-使用URL获取网络资源