【发布时间】:2015-11-30 15:13:47
【问题描述】:
我收到错误:android.os.networkonmainthreadexception。我发现,发生这种情况是因为我必须将 Internet 请求放在主线程以外的线程上。我已经搜索了将它放在单独线程上的方法,并使用了这个,因为我可以很好地理解它:
public void use() throws Exception
{
int a;
Thread thread = new Thread(new Runnable()
{
@Override
public void run()
{
try
{
//do something
a=32;
//do smthn else
}
catch (Exception e)
{
e.printStackTrace();
}
}
});
thread.start();
int b= a;
}
我创建了一个新线程并将网络层放入其中。问题是,我无法从中获取变量。当我喜欢 int b= a;从代码中可以看出:变量(int a)是从内部类中访问的,需要声明为final(int b)。如何以简单的方式从变量中获取 int a 外部?
非常感谢所有帮助:) 谢谢。
【问题讨论】:
标签: android multithreading android-studio runnable