Android通过网络URL获取图片并显示
16lz
2021-01-23
1.布局文件
2.在AndroidManifest.xml添加可以访问网络的权限 3.主要代码
package com.example.pic;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Bundle;import android.os.StrictMode;import android.util.Log;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ImageView;public class MainActivity extends Activity {private Button btn;private ImageView imageview;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btn = (Button) this.findViewById(R.id.button);imageview = (ImageView) this.findViewById(R.id.imageView);StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().detectDiskReads().detectDiskWrites().detectNetwork().penaltyLog().build()); StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectLeakedSqlLiteObjects().detectLeakedClosableObjects().penaltyLog().penaltyDeath().build()); btn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {btn.setEnabled(false);String strURL = "http://192.168.31.184:8011/main.png";try {Bitmap bitmap = getBitmap(strURL);imageview.setImageBitmap(bitmap);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}});}public Bitmap getBitmap(String path) throws IOException {try {URL url = new URL(path);HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setConnectTimeout(5000);conn.setRequestMethod("GET");if (conn.getResponseCode() == 200) {InputStream inputStream = conn.getInputStream();Bitmap bitmap = BitmapFactory.decodeStream(inputStream);return bitmap;}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return null;}}
下面这一段代码很重要 StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().detectDiskReads().detectDiskWrites().detectNetwork().penaltyLog().build()); StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectLeakedSqlLiteObjects().detectLeakedClosableObjects().penaltyLog().penaltyDeath().build());
下载地址: Android通过网络URL获取图片并显示
更多相关文章
- ClipDrawable制作图片渐进效果
- Android 再按一次返回键退出 代码
- Android拍照后图片旋转问题
- Android中发短信的代码
- android studio 代码混淆
- Android杂谈之网络实时监测