android之通过URL来获取网络资源并下载资源简单实例

来源:互联网 发布:飞行器路径规划算法 编辑:程序博客网 时间:2024/05/22 04:31

    欢迎加入QQ交流3群:317874559

package com.android.xiong.urltest;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.MalformedURLException;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.os.Message;import android.view.Menu;import android.widget.ImageView;public class MainActivity extends Activity {ImageView show;Bitmap bitmap;Handler handler = new Handler() {@Overridepublic void handleMessage(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() {@Overridepublic void run() {// 定义一个URL对象URL url;try {url = new URL("http://img1.gtimg.com/news/pics/hv1/37/195/1468/95506462.jpg");// 打开该URL的资源输入流InputStream is = url.openStream();// 从InputStream中解析出图片bitmap = BitmapFactory.decodeStream(is);// 发送消息handler.sendEmptyMessage(0x123);is.close();// 再次打开RL对应的资源输入流is = url.openStream();// 打开手机文件对应的输出流OutputStream os = openFileOutput("KEQIANG.JPG", MODE_APPEND);byte[] buff = new byte[1024];int hasRead = 0;// 将URL资源下载到本地while ((hasRead = is.read(buff)) > 0) {os.write(buff, 0, hasRead);}is.close();os.close();} catch (MalformedURLException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.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;}}

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context=".MainActivity" >    <ImageView         android:id="@+id/show"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:contentDescription="@string/hello_world"/></LinearLayout>

 

</pre><pre code_snippet_id="86820" snippet_file_name="blog_20131128_4_1113442" name="code" class="html"> <uses-permission         android:name="android.permission.INTERNET"/>