Android使用线程获取网络图片的方法

本文为大家分享了Android使用线程获取网络图片的具体代码,供大家参考,具体内容如下

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"  package="com.zdcrobot.handlermessage">  <uses-permission android:name="android.permission.INTERNET"></uses-permission>  <application    android:allowBackup="true"    android:icon="@mipmap/ic_launcher"    android:label="@string/app_name"    android:supportsRtl="true"    android:theme="@style/AppTheme">    <activity      android:name=".MainActivity"      android:label="@string/app_name"      android:theme="@style/AppTheme.NoActionBar">      <intent-filter>        <action android:name="android.intent.action.MAIN" />         <category android:name="android.intent.category.LAUNCHER" />      </intent-filter>    </activity>  </application> </manifest>

activity_main.xml

<?xml version="1.0" encoding="utf-8"?><android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"  xmlns:app="http://schemas.android.com/apk/res-auto"  xmlns:tools="http://schemas.android.com/tools"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:fitsSystemWindows="true"  tools:context="com.zdcrobot.handlermessage.MainActivity">   <LinearLayout    android:orientation="vertical"    android:layout_width="match_parent"    android:layout_height="match_parent">    <Button      android:id="@+id/button1"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:text="加载图片"/>    <ImageView      android:id="@+id/image1"      android:layout_width="match_parent"      android:layout_height="500dp" />  </LinearLayout> </android.support.design.widget.CoordinatorLayout>

MainActivity.class

package com.zdcrobot.handlermessage; import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.Button;import android.widget.ImageView; import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL; public class MainActivity extends AppCompatActivity {  private Button button;  private ImageView imageView;  private String imagPath = "http://pica.nipic.com/2007-11-09/200711912453162_2.jpg";  private final int IS_FINISH = 1;  private Handler handler = new Handler(){    @Override    public void handleMessage(Message msg) {      Bitmap bitmap = (Bitmap)msg.obj;      imageView.setImageBitmap(bitmap);    }  };  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    button = (Button)findViewById(R.id.button1);    imageView = (ImageView)findViewById(R.id.image1);    button.setOnClickListener(new View.OnClickListener() {      @Override      public void onClick(View v) {        new Thread(new MyClass()).start();      }    });  }   public class MyClass implements Runnable{     @Override    public void run() {      Bitmap bitmap = null;      try {        URL url = new URL(imagPath);        HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();        httpURLConnection.setDoInput(true);        httpURLConnection.connect();        InputStream inputStream = httpURLConnection.getInputStream();        bitmap = BitmapFactory.decodeStream(inputStream);      } catch (MalformedURLException e) {        e.printStackTrace();      } catch (IOException e) {        e.printStackTrace();      }      Message message = Message.obtain();      message.obj = bitmap;      message.what = IS_FINISH;      handler.sendMessage(message);    }  }}

以上就是本文的全部内容,希望对大家学习Android软件编程有所帮助。

要想捉大鱼,不能怕水深。要想摘玫瑰,就得不怕刺。

Android使用线程获取网络图片的方法

相关文章:

你感兴趣的文章:

标签云: