首先,就是实现代码
MainActivity.java
public class MainActivity extends AppCompatActivity {
private String URL1 = "图片地址";
private ImageView img_vieww;
private Bitmap bitmap;
Handler handler = new Handler(){
public void handleMessage(Message message){
if(message.what == 1){
Bitmap bitmap = (Bitmap) message.obj;
img_vieww.setImageBitmap(bitmap);
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
img_vieww = (ImageView) findViewById(R.id.img_view);
new Thread(){
public void run(){
Bitmap bitmap = getBitmap(URL1);
Message message = Message.obtain();
message.what = 1;
message.obj = bitmap;
handler.sendMessage(message);
}
}.start();
}
public Bitmap getBitmap(String str){
try {
Bitmap bitmap = null;
URL imageUrl = new URL(str);
HttpURLConnection conn = (HttpURLConnection) imageUrl.openConnection();
conn.setConnectTimeout(30000);
conn.setReadTimeout(30000);
//conn.setRequestMethod("GET");
conn.setInstanceFollowRedirects(true);
InputStream is = conn.getInputStream();
bitmap = BitmapFactory.decodeStream(is);
is.close();
return bitmap;
} catch (Exception e) {
e.printStackTrace();
System.out.println("is抛出异常");
return null;
}
}
}
xml代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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">
<ImageView
android:id="@+id/img_view"
android:layout_width="80dp"
android:layout_height="80dp"
android:background="@mipmap/ic_launcher"
/>
</LinearLayout>
其次就是网络权限的问题
在AndroidManifest.xml添加
<uses-permission android:name="android.permission.INTERNET" /> 和
android:usesCleartextTraffic="true"
这样就OK了,希望可以帮到你哦