在我的 MainActivity 我有一个像这样的类初始化:
Presentation presentation = new Presentation("link");
Presentation 是一个使用 Web 服务器上 .JSON 文件中的值进行初始化的类:
public Presentation(String URL) {
// Do stuff
doNetworking();
}
private doNetworking() {
// Network access here
// This throws the Network on Main Thread exception
}
在我的 MainActivity 中,下一步我需要 Presentation 的所有值:
Presentation presentation = new Presentation();
// Do some stuff with it
使用 AsyncTask 我不知道应该怎么做,到目前为止我有这样的东西: public Presentation(String URL) { // Do stuff new InitializePresentation().execute(URL); }
private class InitializePresentation extends AsyncTask<String, Void, Boolean> {
// Amongst other things
protected Boolean doInBackground(String... params) {
// Do the networking stuff here
}
}
我需要的是重构这段代码,使它是异步的,但表现得像一个同步调用。任何帮助是极大的赞赏。
编辑 如何重构代码来实现这一点?
Bitmap b = new Bitmap();
Load bitmap from network;
Use bitmap in imageview;
可以以这种方式使用吗?还是我必须像这样使用它
Async, doInBackground() {
Load bitmap from network
Use bitmap in imageview
Continue with application
}
谢谢!