SQLite
 sql >> база данни >  >> RDS >> SQLite

Открит е теч на база данни на SQLite

Не съм сигурен, че използвате SQLiteOpenHelper правилно... не ви трябва тази myDataBase поле, идеята е, че той управлява връзката с вашата база данни вместо вас. Не подкласирайте по този начин... освен ако не правите неща в onCreate() и т.н., които не са публикувани тук, изглежда, че можете просто да използвате SQLiteOpenHelper директно, т.е.:

SQLiteOpenHelper sqlite = new SQLiteOpenHelper(ctx, DB_PATH+DB_NAME, null,
    DB_VERSION_NUMBER);

Ако приемем, че прекратяването на дейността трябва да спре и вашата фонова задача, бих препоръчал да извикате AsyncTask.cancel(true) от вашия Activity.onPause() . Уверете се, че базата данни е почистена от onCancelled().

И ако вашата фонова задача е единственото нещо, което чете базата данни, направете я собственик на екземпляра на SQLiteOpenHelper. Лесно е да си навлечете проблеми със статични данни, така че е най-добре да се избягва IMHO. Бих направил нещо подобно:

protected class BackTask extends AsyncTask<String, Integer, String>
{
    private SQLiteOpenHelper sqlite;

    public void BackTask(Context ctx) {
        sqlite = new SQLiteOpenHelper(ctx, DB_PATH+DB_NAME, null,
                                      DB_VERSION_NUMBER);
    }
    @Override
    protected String doInBackground(String... params) 
    {
         try {
                //get requeste data from the database
                //access the web service
                return result;

              } catch (Exception e) { 
         }
         return null;
    }

    @Override
    protected void onCancelled() {
         sqlite.close();
    }

    @Override
    protected void onPostExecute(String result)
         sqlite.close();
         // Update UI here
    }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. как да получите изображение от drawable според техните имена в базата данни sqlite и след това да го покажете в изглед на списък

  2. Най-добрите начини за създаване на резервни копия за офлайн приложение?

  3. Връщане на редове, които съдържат буквено-цифрови знаци в SQLite

  4. Форматирайте резултатите от SQLite заявката като колони със заглавки на колони

  5. Създайте книга за контакти с Python, PyQt и SQLite