Да, метод предварительной загрузки, упомянутый в блоге, на который ссылается статья (http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/)), все еще работает для меня после некоторых настроек, вызванных принудительным закрытием от пользователей. Были некоторые проблемы с базой данных, не быть найденным на Desire HD, который вызывал проблемы. Было трудно определить, в чем именно проблема, но я думаю, что проблема была в расположении файлов. Вы должны определить
private static String DB_PATH = Environment.getDataDirectory() + "/data/your/app/package/databases/"
вместо
private static String DB_PATH = "/data/data/your/app/domain/databases/"
Я также изменил весь доступ к базе данных для записи, так как я прочитал, что вызвало проблемы, но не уверен, что это действительно проблема.
Что касается вашего второго вопроса, я бы сказал, что это зависит от того, сколько именно данных у вас есть. Если данных много, вам, вероятно, лучше использовать базу данных в любом случае по соображениям производительности. Существуют ловушки при использовании API-интерфейсов SQLite, такие как апострофы в полях (убедитесь, что вы используете удобные методы query , update и insert вместо rawQuery ). Но я уверен, что есть и с XML - я не думаю, что есть какой-то «правильный» метод, более подходящий для вас - то есть вы предпочитаете работать с базами данных или с необработанным XML? Если ни того, ни другого, и вы не планируете делать серьезные обновления или запросы, я бы использовал XML или даже JSON по причинам, изложенным выше, и на что ссылается Джодес.