android模块化编程,线程

无线大脑袋 2018-09-26 07:09:51
是这样。
有一个主activity;
另一个包中有一个实现了Runnable的类,在这个类的子线程中,我写了HttpURLConnection的连接以及传回的输入流的解析。我将解析出来的字符串直接赋值到了一个本类中的全局变量content中,这个类中唯一一个方法 getconn(),方法里只有对子线程的调用,即new Thread(...).start()。

看到主activity 我定义了一个上面提到的类的对象,然后先用对象调用了getconn(),然后调用了content,并将其的值赋给了一个string,然后输出,发现这个content是空的

于是我换了一个方法,舍弃了另一个包和类,只有一个主activity,令主activity实现Runnable,我将原本在另一个类的操作全部放到这里来,并且成功在现在的子线程中输出了信息。

这是为什么, 我的想法是 因为在另一个包中我调用getconn实际上是开启了一个耗时的线程,我继续调用content的时候,那个线程还没有执行完毕,自然content是空的。而我合并起来的时候 直接在耗时线程中输出信息 因此就可以输出了

大佬别笑话我,我刚学, 我该怎么改这个?
...全文
303 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yh1124390430 2018-09-29
  • 打赏
  • 举报
回复
可能是线程没同步吧?有没有用Handler处理异步消息呢?
verejava 2018-09-27
  • 打赏
  • 举报
回复
Android 之 HTTP 读取网上文件 http://www.verejava.com/?id=17476835806637
YXTS122 2018-09-27
  • 打赏
  • 举报
回复
你应该把代码贴出来啊,光描述别人怎么帮你改啊!

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧