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

Android SQLiteDB tidak selesai menambahkan nilai

Saya memperbaikinya dengan membuat IntentService dengan AsyncTask di dalamnya, dan memanggilnya di dalam onPause. Ini berfungsi tanpa kesalahan sekarang. Berikut kode di onPause:

    Intent saveIntent = new Intent(this, SaveService.class);
    startService(saveIntent); 

Dan inilah kelas SaveService saya:

public class SaveService extends IntentService
{
    private ArrayList<Ingredient> ingredientsArray;
    private ArrayList<Unit> unitsArray;
    private DatabaseHelper dbHelper;

    public SaveService(String name) 
    {
        super(name);
    }

    public SaveService() 
    {
        super("SaveService");
    }

    @Override
    protected void onHandleIntent(Intent intent) 
    {
        //save data to database
        dbHelper = new DatabaseHelper(getApplicationContext());
        ingredientsArray = QuickBakeConverterPro.ingredients;
        unitsArray = QuickBakeConverterPro.units;

        new SaveAllTask().execute();
    }

    private class SaveAllTask extends AsyncTask<Void, Void, Void>
    {
        @Override
        protected Void doInBackground(Void... args) 
        {
            //open database
            try 
            {
                dbHelper.openDatabase();
            }catch(SQLException sqle)
            {    
                throw sqle;  
            }

            dbHelper.deleteAll();

            //add all ingredients & units
            for (int i = 0; i < ingredientsArray.size(); i++)
                dbHelper.addIngredient(ingredientsArray.get(i));
            for (int i = 0; i < unitsArray.size(); i++)
                dbHelper.addUnit(unitsArray.get(i));

            dbHelper.close();

            return null;
        }
    }//SaveAllTask
}//class SaveService



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLite JSON_INSERT()

  2. Cara Mengaktifkan Dukungan Kunci Asing di SQLite

  3. Sqlite tidak memasukkan data di tabel ke-2

  4. 11 Cara Menemukan Baris Duplikat sambil Mengabaikan Kunci Utama di SQLite

  5. Basis data yang telah diisi sebelumnya tidak berfungsi di API 28 tanpa pengecualian tabel seperti itu