В идеале, это подход, основанный на структурированном способе взаимодействия вашей основной деятельности / службы с классом Utility, который напрямую взаимодействует с базой данных, а не с деятельностью / службой, которой он сам занимается.
Делая это, вы модулируете процесс, делая его намного проще, чем все в одном классе. В частности, поток будет следовать за этим
Активность / Сервис -> Класс утилиты базы данных -> База данных
Операция получает результаты базы данных через служебный класс. Вы можете иметь все функциональные возможности вашей базы данных, такие как сложение, вычитание, редактирование записей в служебном классе.
В частности, вам нужно изучить SQLiteOpenHelper
public class myDatabaseOpenHelper extends SQLiteOpenHelper {
public myDatabaseOpenHelper(Context context) {
super(context, (Database Name), null, (Database Version));
}
@Override
public void onCreate(SQLiteDatabase db) {
// create event database & category database
db.execSQL([TableCreationStatementHere]);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
Одна вещь, которую стоит упомянуть, - это сначала создать таблицы на бумаге, настроить требуемые отношения и имена столбцов, а затем создать выражение, подобное этому :
public static String CREATE_EVENTDATABASE = "CREATE TABLE " + TABLE_EVENTS
+ " ( " + COL_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ COL_NAME + " TEXT, "
+ COL_DATE + " TEXT NOT NULL, "
+ COL_TIME + " TEXT NOT NULL, "
+ COL_DATETIME + " TEXT, "
+ COL_IMAGE + " TEXT, "
+ COL_NOTE + " TEXT, "
+ COL_REPEAT + " INTEGER, "
+ COL_REPEAT_INTERVAL + " INTEGER, "
+ COL_REMINDER + " INTEGER, "
+ COL_CATEGORY + " TEXT, "
+ COL_FLAG + " INTEGER )";
Затем, после того как вы создали свою таблицу, просто возьмите дескриптор вашей базы данных следующим образом:
myDatabaseOpenHelper helper = new myDatabaseOpenHelper(getApplicationContext());
SQLiteDatabase database = helper.getWritableDatabase()
Эта строка вернет вам ссылку на вашу базу данных, где вы можете запрашивать, удалять, обновлять при необходимости!