2011-05-09 4 views
1

Я кодирую приложение для Android для разбора sms-сообщений. Мне нужны разные правила для разных стран, и идея состоит в том, чтобы определить правила для моей страны и более позднего проекта с открытым исходным кодом, чтобы другие пользователи могли вносить свои правила в свои страны. Формат XML является наиболее удобным, на мой взгляд, для определения этих правил.Выбор правильного варианта хранения данных

У меня есть приложение, которое использует правила из файла XML, хранящегося в res/raw, и пользователи впоследствии смогут обновлять этот набор правил или правил загрузки для какой-либо другой страны, когда они станут доступными.

Как я уже сказал, я поставил существующие файлы XML в res/raw, но проблема в том, что пользователи загружают новое или измененное множество правил. Приложение не может изменять или хранить файлы в ресурсах (исправьте меня, если я ошибаюсь).

Итак, у меня есть два варианта, и мне не нравится ни один. Я хотел бы услышать ваше мнение по этому вопросу.

a) Я могу хранить XML-файлы в виде локальных файлов, но затем я должен читать по умолчанию правила из res/raw и копировать их в файловую систему при установке приложения или отслеживать две отдельные группы файлов. Возможно ли предустановить файлы в файловой системе при установке приложения?

b) Я могу сохранить XML-код в базе данных, но также скопировать его из файлов во время установки. Или еще хуже код XML как String в классе, чтобы вставить его при установке?

Прошу прощения, если вопрос слишком длинный или неясен, английский не является моим родным языком, и это мой первый вопрос.

ответ

0

Я не уверен, правильно ли я понял, но вы можете хранить XML-файл во внутреннем хранилище данных приложения. ->http://developer.android.com/guide/topics/data/data-storage.html

Если вы хотите прикрепить первую версию XML-файла при установке, сначала сохраните ее в ressources и скопируйте ее во внутреннее хранилище данных после установки. При обновлении XML-файла вы можете просто перезаписать этот файл во внутреннем хранилище данных.

Надеюсь, что смогу вам помочь, это мой первый ответ на stackoverflow. Извините, если я просто рассказал вам то, что вы уже знали.

+0

ну, это был диллема для меня год назад, но я все равно соглашусь с этим ответом. Добро пожаловать в SO –

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