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

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

布局文件中就一個 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);//設置超時
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)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
淺析Android Studio 3.0 升級各種坑(推薦)
本文是小編給大家收藏整理的關于Android Studio 3.0 升級后遇到的一些坑,非常不錯,具有參考借鑒價值,需要的朋友參考下吧2017-11-11
三種Android單擊事件onclick的實現(xiàn)方法
這篇文章主要為大家詳細介紹了三種Android單擊事件onclick的實現(xiàn)方法,感興趣的小伙伴們可以參考一下2016-05-05
Android平臺中實現(xiàn)數(shù)據(jù)存儲的5種方式
這篇文章主要為大家分享了介紹了Android平臺中實現(xiàn)數(shù)據(jù)存儲技術的5種方式,供大家學習,感興趣的小伙伴們可以參考一下2016-06-06
Android中RecyclerView實現(xiàn)多級折疊列表效果(TreeRecyclerView)
RecyclerView出現(xiàn)已經(jīng)有一段時間了,相信大家肯定不陌生了,下面這篇文章主要給大家介紹了Android中RecyclerView實現(xiàn)多級折疊列表效果(TreeRecyclerView)的相關資料,文中介紹的非常詳細,需要的朋友可以參考下。2017-05-05
完美解決EditText和ScrollView的滾動沖突(下)
這篇文章再次為大家詳細介紹了完美解決EditText和ScrollView滾動沖突的方法,感興趣的小伙伴們可以參考一下2016-06-06

