关于二层爬虫程序数据获取问题? -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

关于二层爬虫程序数据获取问题?

2016-03-25 10:49:26 2666 1

比如我定义了一个实体类,如下

 MessageItem{
 string title;
 string image Url;
 ……
 }

省略号为get和set方法。

现在我用开启了一个线程请求网页数据,可是这个网页只有标题,和内容链接。我在这个线程返回的数据中setTitle()的值,可是面对后面链接我又得开一个线程来获取图片链接,可是当我在第二个线程中这样做的时候,数据已经返回了,即使获得了图片链接,也没有存储到我在第一个线程中创建的实体类中。我在第一个线程中执行玩后调用第二个线程才返回实体类,可是没等返回第二数据设置,数据就已经返回了。可能不好理解,我配上代码。

假如我用的某个网络请求类为okHttp

`okHttp.get(url,new CallBack(){
public void success(string response){
MessageItem item =new MessageItem()
......`
上面一段解析获得了,文章标题,和文章内容链接。
item.setTitle(title);
因为获取的是文章链接不是图片链接我这个时候又开了一个异步
` okHttp.get(contentUrl,new CallBack(){
public void success(string response{`
这里解析后我获得了图片链接于是我设置

 item.setImageUrl(imageUrl)imageUrl;
 }
 });
 return item ;
 }
 });

假如上面的代码包裹在一个方法中,返回实体类数据,并设置到Android界面,可是第二个异步还没执行完,第一个异步获取的结果就已经返回了,我设置到界面的图片链接就为空。

我知道异步不阻塞UI怎么保证第二个异步中的数据设置到MessageItem中在返回呢?

取消 提交回答
全部回答(1)
  • 爵霸
    2019-07-17 19:13:47

    可以利用handler来进行这种异步的操作

    0 0
相关问答

10

回答

【精品问答合集】Hbase热门问答

hbase小能手 2019-05-29 14:37:26 123079浏览量 回答数 10

37

回答

干货分享:DBA专家门诊一期:索引与sql优化问题汇总

xiaofanqie 2014-12-25 15:13:38 92963浏览量 回答数 37

119

回答

OSS存储服务-客户端工具

newegg11 2012-05-17 15:37:18 301013浏览量 回答数 119

22

回答

爬虫数据管理【问答合集】

我是管理员 2018-08-10 16:37:41 148517浏览量 回答数 22

23

回答

【云服务器分享】网站访问速度快才是硬道理

dreamdoo 2012-10-15 10:15:02 86377浏览量 回答数 23

13

回答

【云服务器分享】如何节省网站流量

dreamdoo 2012-10-15 10:36:09 81449浏览量 回答数 13

8

回答

mail.aliyun.com邮箱android手机客户端设置方法

jack_yang 2013-04-24 09:01:34 123785浏览量 回答数 8

62

回答

磁盘原地扩容功能4月22日正式上线

艳馨 2015-04-21 23:40:33 97131浏览量 回答数 62

23

回答

【精品问答合集】Redis热门问答

李博 bluemind 2019-05-29 16:36:15 130295浏览量 回答数 23

2

回答

区域选择帮助

fanyue88888 2012-12-07 15:54:30 205400浏览量 回答数 2
+关注
2
文章
9426
问答
问答排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载