关于图片问题

关于图片问题

我的写法是通过asyncTask中解析出“http://www.imooc.com/api/shopping?type=11"的返回值

http://img1.sycdn.imooc.com/climg//5987fdea000156ee08470545.jpg

其他值都能够正常展示,这里解析出的img是服务器的图片地址,我是否要通过getImagefromNetWork()这个方法 再向服务端请求,返回bitmap对象从而才能获取到客户端可以使用的图片资源

http://img1.sycdn.imooc.com/climg//5987fe8f000162f808110380.jpg

但是报错了

http://img1.sycdn.imooc.com/climg//5987febf00011d8309380225.jpg

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

AsyncTask的使用一般是将耗时操作比如连网数据处理放在AsyncTask类的doInBackground()方法中,当doInBackground方法运行完后,他会调用onPostExecute()方法,并传入Result。因为onPostExecute()方法是运行在UI线程,所以在此方法中,我们就可以将Result更新到UI控件上,一般不会在此方法中再开一个线程处理耗时操作。所以你可以在onPostExecute()只完成数据源即数据集合的构建,将得到的集合重新设置给适配器,在自定义Adapter的getView()方法中再使用AsyncTask专门用来处理图片。

  • qq_老滑头_0 提问者 #1
    非常感谢!
    2017-08-07 16:25:25
  • qq_老滑头_0 提问者 #2
    我现在已经有一个适配器:AppListAdapter,我也已经收集到数据并已经放入到实体类 list_view.setAdapter(new AppListAdapter(getActivity(), foodListResponse.getFoodInfos())); 你的意思是接下来我要在AppListAdapter的getView()中调用new ImageLoadTask(getActivity(),appListAdapter).execute(""); 请求网络图片这个方法吗
    2017-08-08 09:39:34
  • irista23 回复 提问者 qq_老滑头_0 #3
    getView()中需要开启AsyncTask,在doInBackground()方法中连接服务器,从网上获取图片并保存到SD卡中,返回的Bitmap交给UI线程运行的onPostExecute(Bitmap)方法,再使用ImageView的setImageBitmap(Bitmap)设置图片显示。
    2017-08-08 10:04:57
jfhdibrbfjd 2017-09-20 22:45:24

我和你的差不多就是加载不出来图片   一返回就null这个值始终都是这个值

  • 提问者 qq_老滑头_0 #1
    用okhttputils
    2017-09-20 22:56:22
  • 没学过说了我也不知道是什么
    2017-09-20 23:01:40
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Android网络操作与数据存储2018版
  • 参与学习           人
  • 提交作业       307    份
  • 解答问题       1613    个

本专题是联网及数据处理的必备技能。课程从网络基础知识到线程间协同工作、异步下载处理。介绍了Android内外部文件存储、轻量级数据库SQLite的使用。利用屏幕适配、状态保持、百度地图解决实际问题。

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师