Android獲取網(wǎng)絡(luò)圖片并顯示的方法
本文實例為大家分享了Android獲取網(wǎng)絡(luò)圖片并顯示的具體代碼,供大家參考,具體內(nèi)容如下
使用 HttpURLConnection 獲得連接,再使用 InputStream 獲得圖片的數(shù)據(jù)流,通過 BitmapFactory 將數(shù)據(jù)流轉(zhuǎn)換為 Bitmap,再將 Bitmap 通過線程的 Message 發(fā)送出去,Handler 接收到消息就會通知 ImageView 顯示出來。

記得要在manifest文件中添加 < uses-permission android:name=”android.permission.INTERNET” />上網(wǎng)權(quán)限,不然無法顯示圖片。
工程文件結(jié)構(gòu):

布局文件中就一個 ImageView 用來顯示圖片,一個 Button 用來獲取圖片。
MainActivity.java
public class MainActivity extends AppCompatActivity {
Button button;
ImageView imageView;
String url = "http://i4.buimg.com/dccba6282641a9e0.jpg";
//String textURL = "http://192.168.1.104:8080/add.jsp";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
imageView = (ImageView) findViewById(R.id.imageView);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new Thread(new Runnable() {
@Override
public void run() {
Bitmap bmp = getURLimage(url);
Message msg = new Message();
msg.what = 0;
msg.obj = bmp;
System.out.println("000");
handle.sendMessage(msg);
}
}).start();
}
});
}
//在消息隊列中實現(xiàn)對控件的更改
private Handler handle = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case 0:
System.out.println("111");
Bitmap bmp=(Bitmap)msg.obj;
imageView.setImageBitmap(bmp);
break;
}
};
};
//加載圖片
public Bitmap getURLimage(String url) {
Bitmap bmp = null;
try {
URL myurl = new URL(url);
// 獲得連接
HttpURLConnection conn = (HttpURLConnection) myurl.openConnection();
conn.setConnectTimeout(6000);//設(shè)置超時
conn.setDoInput(true);
conn.setUseCaches(false);//不緩存
conn.connect();
InputStream is = conn.getInputStream();//獲得圖片的數(shù)據(jù)流
bmp = BitmapFactory.decodeStream(is);//讀取圖像數(shù)據(jù)
//讀取文本數(shù)據(jù)
//byte[] buffer = new byte[100];
//inputStream.read(buffer);
//text = new String(buffer);
is.close();
} catch (Exception e) {
e.printStackTrace();
}
return bmp;
}
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android使用ViewPager實現(xiàn)啟動引導(dǎo)頁效果
這篇文章主要為大家詳細介紹了Android使用ViewPager實現(xiàn)啟動引導(dǎo)頁效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-04-04
Android模擬實現(xiàn)網(wǎng)易新聞客戶端
這篇文章主要為大家詳細介紹了Android模擬實現(xiàn)網(wǎng)易新聞客戶端,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05
Android修改DatePicker字體顏色及分割線顏色詳細介紹
這篇文章主要介紹了Android修改DatePicker字體顏色及分割線顏色詳細介紹的相關(guān)資料,需要的朋友可以參考下2017-05-05

