android.os.NetworkOnMainThreadException,Android根据图片URL加载图片
来源:互联网 发布:数据链路层的数据单位 编辑:程序博客网 时间:2024/06/06 00:35
当在主线程中执行网络操作时,比如根据图片URL加载图片,会抛出NetworkOnMainThreadException这个异常。
那么怎么从网络断获取图片并加载呢?使用AsyncTask:
json字符串:
{ "people": [ //数组,最像的50个人,按分数的降序排列 { "score": 0.63, //浮点数,相似度,0到1,越接近1越像 "id": 732, //字符串,这个人的id "chinese_name": "刘博" //字符串,这个人的中文名字。可能是空字符串。chinese_name和english_name至少有一个非空 "english_name": "Barack_Obama" //字符串,这个人的英文名字。可能是空字符串。chinese_name和english_name至少有一个非空 }, {}, ... ], "final_time": 877 //整数,服务器完整处理过程所用时间}获取图片URL:
JSONObject jsonObject = JSON.parseObject(json); JSONArray peopleJsonArr = jsonObject.getJSONArray("people"); JSONObject peopleJsonObj = peopleJsonArr.getJSONObject(0); final String PEOPLEID = peopleJsonObj.getString("id"); Log.e("PEOPLEID====",PEOPLEID); String peolepUrl = "http://faceall.cn/static/img/celebrity/"+PEOPLEID+".jpg";//图片的URL new LoadBitmapFromUrl().execute(peolepUrl);//加载图片
private class LoadBitmapFromUrl extends AsyncTask<String,Void,Bitmap>{ @Override protected Bitmap doInBackground(String... params) { return loadImageFromNetwork(params[0]); } @Override protected void onPostExecute(Bitmap bitmap) { ivResultCelebrity.setImageBitmap(bitmap);//要加载的图片 }}private Bitmap loadImageFromNetwork(String url) { //得到可用的图片 Bitmap bitmap = simpleNetworkImage(url); if (bitmap == null) { Log.i("loadImageFromNetwork:", "bitmap is null"); } return bitmap;}public Bitmap simpleNetworkImage(String url) { Bitmap imgBitmap = null; try { URL picUrl = new URL(url); imgBitmap = BitmapFactory.decodeStream(picUrl.openStream()); } catch (IOException e) { e.printStackTrace(); } return imgBitmap;}
阅读全文
0 0
- android.os.NetworkOnMainThreadException,Android根据图片URL加载图片
- Android加载网络图片android.os.NetworkOnMainThreadException异常解决方法
- android根据url下载图片
- Android 根据文件名加载图片
- Android 根据url地址显示图片
- Android—根据URL获取Bitmap图片
- Android根据Url显示gif类型图片
- android.os.NetworkOnMainThreadException问题
- android.os.NetworkOnMainThreadException问题
- android.os.NetworkOnMainThreadException
- android.os.NetworkOnMainThreadException
- android.os.NetworkOnMainThreadException
- android.os.NetworkOnMainThreadException异常
- 关于android.os.NetworkOnMainThreadException
- android.os.NetworkOnMainThreadException
- android.os.NetworkOnMainThreadException
- android.os.NetworkOnMainThreadException
- 异常:android.os.NetworkOnMainThreadException
- xml中配置定时任务
- OpenTSDB简介
- OSMOCOMBB新手指南
- Hello Kotlin(四)变量和属性
- vue.js字符串转化json
- android.os.NetworkOnMainThreadException,Android根据图片URL加载图片
- 日期 bootsrtap-datatimepicker and bootstrap-datepicker 支持中文
- Android apk 反汇编
- 编程思想之多线程与多进程(1)——以操作系统的角度述说线程与进程
- mysql配置文件中sql_mode
- hdu 4799 LIKE vs CANDLE
- 欢迎使用CSDN-markdown编辑器
- tensorflow_mnist数据集卷积神经网络实例
- 利用jQuery 实现一个简单的侧边菜单隐藏显示功能