本文主要是介绍使用URL读取网络资源,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
布局
/URLTest/res/layout/activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"><ImageViewandroid:id="@+id/show"android:layout_width="match_parent"android:layout_height="match_parent"android:scaleType="fitCenter"/></LinearLayout>
显示图片和下载图片
/URLTest/src/com/lxm/urltest/MainActivity.java
package com.lxm.urltest;import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.os.Handler;
import android.view.Menu;
import android.widget.ImageView;public class MainActivity extends Activity {ImageView show;// 代表从网络下载得到的图片Bitmap bitmap;Handler handler = new Handler(){public void handleMessage(android.os.Message msg) {if(msg.what == 0x123){// 使用ImageView显示该图片show.setImageBitmap(bitmap);}};};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);show = (ImageView) findViewById(R.id.show);new Thread(){public void run() {try {// 定义一个URL对象URL url = new URL("http://h.hiphotos.baidu.com/image/pic/item/6d81800a19d8bc3e06bac73c808ba61ea9d34592.jpg"); InputStream is = url.openStream(); bitmap = BitmapFactory.decodeStream(is);handler.sendEmptyMessage(0x123);is.close();// 再次打开URL对应的资源的输入流is = url.openStream();// 打开手机文件对应的输出流OutputStream os = openFileOutput("crazyit.png", MODE_WORLD_READABLE);byte[] buff = new byte[1024];int hasRead = 0;while((hasRead = is.read(buff)) > 0){os.write(buff, 0 , hasRead);}is.close();os.close();} catch (Exception e) {e.printStackTrace();} }}.start();}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}
添加权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><!-- 授权访问网络 --><uses-permission android:name="android.permission.INTERNET"/>
源代码下载
这篇关于使用URL读取网络资源的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!