Внешний Android против внутренней путаницы базы данных - PullRequest
1 голос
/ 04 декабря 2010

Я работаю над своим первым приложением для Android и пытаюсь создать базу данных с набором типов продуктов (строк), таких как "Говядина, свинина, курица", и для них есть значения времени приготовления (int), например 10000 , 50000,30000 и т. Д. Мой вопрос заключается в том, каков наилучший способ реализовать это. Я чувствую, что лучшим способом может быть использование внешней базы данных, но я также думаю, превратит ли она мою жизнь в ад. По сути, я должен сделать что-то вроде примера, который я нашел, который работает от внутреннего SQlite:

public void onCreate(SQLiteDatabase db) {           
        db.execSQL("CREATE TABLE IF NOT EXISTS "
                +NAMES_TABLE
                +" (_id INT PRIMARY KEY ,name VARCHAR);"
        );

        db.execSQL("INSERT INTO "+NAMES_TABLE+" values(1,'marco');");
        db.execSQL("INSERT INTO "+NAMES_TABLE+" values(2,'luca');");
        db.execSQL("INSERT INTO "+NAMES_TABLE+" values(3,'qlimax');");

    }

Это добавит значения во внутреннюю базу данных при запуске, только если их там нет.
OR
я должен создать базу данных с SQlitebrowser и поместить ее в / assets и читать из нее?

Сейчас я читаю свои значения из ArrayAdapter, и я пытаюсь заменить его и прочитать его из базы данных, это выглядит так:

final FoodType type[] = new FoodType[3];
    type[0] = new FoodType("Filet Mignon",50000);
    type[1] = new FoodType("Skirt Steak",0);
    type[2] = new FoodType("Flank Steak",25000);
    ArrayAdapter<FoodType> typeAdapter = new ArrayAdapter<FoodType>(this,android.R.layout.simple_spinner_item,type);
    typeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

Как мне поступить об этом? Внутренний или Внешний?

1 Ответ

1 голос
/ 04 декабря 2010

По моему личному опыту, это зависит от того, насколько большой и будет ваша база данных. Например, приложение, которое я сейчас пишу, содержит таблицы с более чем 50000 записями, поэтому лучше скопировать уже созданную базу данных в каталог assets.

С другой стороны, если ваша база данных достаточно проста ... гораздо лучше заполнить ее из кода (это предотвратит некоторые головные боли, поверьте мне).

Что касается вашего адаптера ... замените его на SimpleCursorAdapter, в конструкторе требуется несколько изменений.

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