SQLite
 sql >> Teknologi Basis Data >  >> RDS >> SQLite

Cara menggunakan kelas databasehelper di kelas asynctask yang bekerja di kelas yang berbeda

Coba ini:

 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
     }
 }

Anda dapat memanggil AsyncTask ini dengan baris berikut - dengan asumsi Anda berada dalam suatu aktivitas:

 new FetchData().execute(this);

jika Anda tidak dapat mengubah perlambatan AsyncTask Anda, maka Anda dapat mencoba menggunakan variabel statis - meskipun tidak seefisien dan secantik perlambatan AsyncTask. Coba ini:

Class myStatic{
private  static Context mContext;


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

static public Context getContext(){
return mContext;
}

}

dan dalam kode utama Anda, sebelum Anda memanggil AsyncTask, panggil ini:

myStatic.setContext(this);

dalam metode doInBackground dari AsyncTask Anda, tambahkan ini:

Context myContext = myStatic.getContext();



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Seberapa fleksibel/restriktif tipe kolom SQLite?

  2. Bagaimana cara memulai SQLCipher untuk android?

  3. Cadangkan Database SQLite

  4. Cara membuat Aplikasi Internasionalisasi Offline:Gunakan database Sqlite

  5. Pengecualian Kueri SQLite Kode Kesalahan Sintaks Android Studio 1