Хранение списков в базе данных и извлечение их всех вместе: Android - PullRequest
0 голосов
/ 02 апреля 2011

Я хочу сохранить список строк, а затем получить их.Как бы я сделал это с помощью базы данных?

1 Ответ

8 голосов
/ 02 апреля 2011

В идеале, это подход, основанный на структурированном способе взаимодействия вашей основной деятельности / службы с классом 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()

Эта строка вернет вам ссылку на вашу базу данных, где вы можете запрашивать, удалять, обновлять при необходимости!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...