我正在使用異步任務從菜單活動中獲取字符串並加載一些東西..但我 無法做到這一點..我以正確的方式使用它,參數正確嗎? 請參閱代碼片段。感謝將參數傳遞給Asynctask
private class Setup extends AsyncTask<Void, Integer, Void> {
@Override
protected Void doInBackground(Void... params) {
try {
if (!(getIntent().getExtras().isEmpty())) {
Bundle gotid = getIntent().getExtras();
identifier = gotid.getString("key");
}
} catch (Exception e) {
e.getStackTrace();
} finally {
if (identifier.matches("abc")) {
publishProgress(0);
db.insert_fri();
} else if ((identifier.matches("xyz"))) {
publishProgress(1);
db.insert_met();
}
}
return null;
}
@Override
protected void onProgressUpdate(Integer... i) {
// start the song here
if (i[0] == 0) {
song.setLooping(true);
song.start();
}
}
@Override
protected void onPostExecute(Void res) {
}
@Override
protected void onPreExecute() {
// do something before execution
}
}
「避免增加構造」爲什麼呢?我試圖確定爲什麼使用構造函數初始化私人領域在asynctask是一個壞的東西在Android中。 – bsautner
我沒有說這是一個壞主意,但只是爲了傳遞參數不通過構造函數的路線,因爲你最終會浪費記憶。 – HimalayanCoder
它可能浪費多少內存? –