android查看网络图片的实现方法

本文实例为大家分享了android查看网络图片的具体代码,供大家参考,具体内容如下

需求描述: 输入一个 图片地址,下载到本地 展示。

效果展示

代码清单

MainActivity.java

package com.example.www.checkimage;

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.EditText;

import android.widget.ImageView;

import android.widget.Toast;

import java.io.InputStream;

import java.net.HttpURLConnection;

import java.net.URL;

public class MainActivity extends AppCompatActivity {

private EditText mPt_url;

private ImageView mIv_show;

private Handler mHandler = new Handler(){

@Override

public void handleMessage(Message msg) {

if(msg.what == 1){

Bitmap bitmap = (Bitmap) msg.obj;

mIv_show.setImageBitmap(bitmap);

Toast.makeText(getApplicationContext(), "图片展示成功", Toast.LENGTH_LONG).show();

}

}

};

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mPt_url = (EditText) findViewById(R.id.pt_url);

mIv_show = (ImageView) findViewById(R.id.imageCon);

}

public void checkImage(View v) {

new Thread(){

@Override

public void run() {

try {

String path = mPt_url.getText().toString().trim();

URL url = new URL(path);

HttpURLConnection conn = (HttpURLConnection) url.openConnection();

conn.setRequestMethod("GET");

conn.setConnectTimeout(5000);

int responseCode = conn.getResponseCode();

if(responseCode == 200) {

InputStream is = conn.getInputStream();

Bitmap bitmap = BitmapFactory.decodeStream(is);

Message msg = Message.obtain(); // 创建 消息

msg.obj = bitmap;

msg.what = 1;

mHandler.sendMessage(msg);

}

} catch (Exception e) {

e.printStackTrace();

}

}

}.start();

}

}

activiity_main.xml

<?xml version="1.0" encoding="utf-8"?>

<android.support.constraint.ConstraintLayout 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"

tools:context=".MainActivity">

<EditText

android:id="@+id/pt_url"

android:layout_width="368dp"

android:layout_height="wrap_content"

android:layout_marginStart="8dp"

android:layout_marginTop="8dp"

android:layout_marginEnd="8dp"

android:ems="10"

android:hint="请输入与图片地址"

android:inputType="textPersonName"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent" />

<Button

android:id="@+id/button"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginStart="8dp"

android:layout_marginTop="8dp"

android:layout_marginEnd="8dp"

android:text="Button"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintHorizontal_bias="0.0"

app:layout_constraintStart_toStartOf="parent"

android:onClick="checkImage"

app:layout_constraintTop_toBottomOf="@+id/pt_url" />

<ImageView

android:id="@+id/imageCon"

android:layout_width="0dp"

android:layout_height="0dp"

android:layout_marginStart="8dp"

android:layout_marginTop="8dp"

android:layout_marginEnd="8dp"

android:layout_marginBottom="8dp"

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toBottomOf="@+id/button"

app:srcCompat="@mipmap/ic_launcher" />

</android.support.constraint.ConstraintLayout>

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="com.example.www.checkimage">

<uses-permission android:name="android.permission.INTERNET"/>

<application

android:allowBackup="true"

android:icon="@mipmap/ic_launcher"

android:label="@string/app_name"

android:roundIcon="@mipmap/ic_launcher_round"

android:supportsRtl="true"

android:theme="@style/AppTheme">

<activity android:name=".MainActivity">

<intent-filter>

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>

</application>

</manifest>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

以上是 android查看网络图片的实现方法 的全部内容, 来源链接: utcz.com/p/241814.html

回到顶部