sql >> Database >  >> RDS >> SQLite

Hoe databasehelper-klasse te gebruiken in een asynctask-klasse die aan een andere klasse werkt?

Probeer dit:

 private class FetchData extends AsyncTask<Context, Void, Void> {
     protected Long doInBackground(Context... c) {
         Context myContext = c[0];
// Do your things here....
     }


     protected void onPostExecute() {
// Insert your post execute code here
     }
 }

Je kunt deze AsyncTask aanroepen met de volgende regel - ervan uitgaande dat je bezig bent met een activiteit:

 new FetchData().execute(this);

als u uw AsyncTask-vertraging niet kunt wijzigen, kunt u proberen een statische variabele te gebruiken - hoewel het niet zo efficiënt en mooi is als AsyncTask-vertraging. Probeer dit:

Class myStatic{
private  static Context mContext;


static public void setContext(Context c);
mContext = c;
}

static public Context getContext(){
return mContext;
}

}

en in je hoofdcode, voordat je AsyncTask aanroept, noem dit:

myStatic.setContext(this);

in je doInBackground-methode van je AsyncTask, voeg dit toe:

Context myContext = myStatic.getContext();



  1. Meerdere MySQL-instanties die op dezelfde machine worden uitgevoerd controleren - ClusterControl Tips &Tricks

  2. Hoe selecteert u gegevens tussen twee datums van sqlite db in dd-mm-jjjj-indeling?

  3. Emulator versus Samsung-apparaat SD-kaartopslag

  4. MySQL-groep per SUM