每次启动我的应用程序时,我都需要运行几个php脚本,如下所示:
//runScript1
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("_name",_NAME));
params.add(new BasicNameValuePair("_id",_ID));
JSONObject json = jsonParser.makeHttpRequest(ScriptURL, "POST", params);
现在我在AsyncTask中这样做,但我不确定它是否是一个好方法:
public class ReadBadgesDatabaseAsyncTask extends
AsyncTask<Void, Integer, Void> {
@Override
protected void onPostExecute(Void result) {
//do stuff like Log.i(result of script1, script 2...)
}
@Override
protected Void doInBackground(Void... params) {
if (condition 1) runScript1();
if (condition 2) runScript2();
if (condition 3) runScript3();
if (condition 4) runScript4();
if (condition 5) runScript5();
//it is not else if! these will run anyway!
}
}
我不能将这些脚本放在一起(因此作为一个httprequest运行),因为条件足够敏感,不允许我这样做。但是,这现在有效我不确定这是最好的解决方案。我真的不知道这些脚本的运行顺序,有时当我在onPostExecute()
中记录结果时,脚本还没有准备好,我没有得到正确的结果。我该怎么解决这个问题?