SQLite
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> SQLite

Android SQLiteDB không hoàn thành việc thêm giá trị

Tôi đã khắc phục điều này bằng cách tạo IntentService với AsyncTask bên trong nó và gọi nó trong onPause. Nó hoạt động không có lỗi ngay bây giờ. Đây là mã trong onPause:

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

Và đây là lớp SaveService của tôi:

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_SET () 

  2. Cách bỏ qua các hàng vi phạm các ràng buộc khi chèn dữ liệu vào SQLite

  3. Cột được tạo là gì?

  4. Câu lệnh SQLite REPLACE

  5. Trả về các hàng có chứa ký tự chữ và số trong SQLite