2015-03-03 3 views
0

Я изучаю базы данных в android, и я понял, что в android вам не нравится, что вы создаете свою базу данных и помещаете ее где-то в память и получаете к ней доступ, а вы создаете и помещаете данные в приложение. Я узнал, как создать свой SQlite DB вне кода и скопируйте его в папку активов и использовать InputStream, чтобы скопировать его вновь созданную БД, что вы можете найти этот код из HEREЯвляется ли это избыточность данных в базах данных Android?

Так что мой вопрос заключается в том, что есть t это избыточность данных, потому что мои уже созданные пакеты DB внутри файла .apk, а между тем, когда приложение запускается в первый раз, я создаю другой БД и копирую свои данные в недавно созданный БД?

Я знаю, что есть еще способы сделать это, например, создать XML-файл или даже использовать INSERT операцию, чтобы помещать данные в базу данных, но не все эти способы рода дополнительные работы?

ответ

2

Так что мой вопрос, что is't такого рода избыточность данных, потому что мои уже создали DB пакетов внутри .apk файла и то время, когда приложение запускается в первый раз я создаю другую БД и копировать мои данные для вновь созданной БД?

У вас будет две копии данных: одна в активе и одна на внутренней памяти. Копия ресурса должна быть сжата в ZIP-архиве, что немного помогает.

BTW, я надеюсь, что вы для этого using SQLiteAssetHelper.

Я знаю, что есть другие способы сделать это, например создать файл XML или даже использовать операцию INSERT для посылки данных в базу данных, но не все эти способы являются дополнительными работами?

Да.

Единственный способ избежать избыточной копии - загрузить базу данных из Интернета при первом запуске приложения. Однако для этого требуется доступ в Интернет, который может или не может быть удобным для пользователя.

+0

Как я могу использовать SQLiteAssetHelper? Я добавил строку в app/gradle.build, но я не могу импортировать com.readystatesoftware.sqliteasset.SQLiteAssetHelper – Morteza

+0

@Morteza: Что-то должно быть не так с вашими файлами 'build.gradle'. В дополнение к образцу приложения на репо библиотеки, [здесь есть еще одно примерное приложение] (https://github.com/commonsguy/cw-omnibus/tree/master/Database/ConstantsAssets-AndroidStudio), это определенно настроено для с Android Studio и Gradle для Android. – CommonsWare

+0

Кажется, что у меня были настройки интернет-прокси, которые не позволяли AS загружать библиотеку, решая мою проблему, обновляя настройки прокси-сервера. – Morteza

 Смежные вопросы

  • Нет связанных вопросов^_^