Android 如何依次调用两个方法?
我正在构建一个简单的Android应用程序。我想解析JSON。我用按钮使一切正常。但我不想用按钮来打电话。首先需要从url获取JSON,然后解析它。我有函数getJson和parseJSON。首先,我希望调用getJSON,然后在5秒钟后解析JSON。这是我的密码:Android 如何依次调用两个方法?,android,json,Android,Json,我正在构建一个简单的Android应用程序。我想解析JSON。我用按钮使一切正常。但我不想用按钮来打电话。首先需要从url获取JSON,然后解析它。我有函数getJson和parseJSON。首先,我希望调用getJSON,然后在5秒钟后解析JSON。这是我的密码: Runnable[] methods = new Runnable[]{ new Runnable() { @Override public v
Runnable[] methods = new Runnable[]{
new Runnable() {
@Override
public void run() {
Toast.makeText(SheduleActivity.this, "This is gettin JSON", Toast.LENGTH_LONG).show();
getJSON();
}
},
new Runnable() {
@Override
public void run() {
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
},
new Runnable() {
@Override
public void run() {
Toast.makeText(SheduleActivity.this, "This is Parsing JSON", Toast.LENGTH_LONG).show();
parseJSON();
}
}
};
for(Runnable r : methods)
//r.run();
service.submit(r);
service.shutdown();
while (!service.isTerminated()) {}
Toast.makeText(SheduleActivity.this,"Finished all threads", Toast.LENGTH_LONG).show();
每次我运行我的应用程序时,只会调用和停止getJSON方法。有什么建议吗?我认为您需要使用AsyncTask。将getJson放在doInBackground块中,将parseJSON放在onPostExecute块中。希望这有帮助 Android不建议使用sleep5000延迟。使用handler执行此操作。请参阅Handler的示例 例如,在您的代码中
Handler handler = new Handler( /* --- */ );
handler.postDelayed(methods[i], 5000);
另外,为了从web获取json,建议使用Asynctask使UI具有响应性。Asynctask的最佳教程是。请将日志放在这里