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是空的。而我合并起来的时候 直接在耗时线程中输出信息 因此就可以输出了
大佬别笑话我,我刚学, 我该怎么改这个?