#android #xml #apk #xml-serialization #android-resources
Вопрос:
У меня есть настольное приложение, которое создает файлы ресурсов / данных для моего приложения для Android. Это текстовые XML-файлы, в которых хранятся экземпляры моего пользовательского класса данных. Эти объекты сериализуются с помощью простой библиотеки сериализации XML. В моем приложении для Android я хотел бы создавать экземпляры объектов из этого класса сериализации XML.
Мне нравится добавлять эти xml-файлы в Android Studio, чтобы они включались в APK при установке на устройство и помещались, например, в личный каталог приложений «файлы», в который сопоставляется getFilesDir (). Я не могу найти способ сделать это.
Если я добавлю эти XML-файлы в папку XML-ресурсов Android, мне нужно будет использовать анализатор XML-ресурсов Android, и я не смогу использовать простую библиотеку XML.
Какие-нибудь советы? Я чувствую, что сделал неправильный выбор дизайна, видя, насколько ограничена комплектация ресурсов.
Спасибо, с наилучшими пожеланиями, Хармен
Комментарии:
1. «Я не могу найти способ сделать это» — для этого нет автоматической поддержки. Вы всегда можете скопировать данные из ресурса или ресурса в файл самостоятельно, если файл еще не существует. «Если я добавлю эти xml-файлы в папку XML-ресурсов Android, мне нужно будет использовать анализатор XML-ресурсов Android» — если вы используете необработанные ресурсы или ресурсы, вы можете получить
InputStream
доступ к своему контенту, который, по-видимому, поддерживается простым XML.2. Спасибо. Это действительно решает мою проблему! Опубликовал это как ответ на мой вопрос.
Ответ №1:
Согласно комментарию CommonsWare: решение добавляло его в папку необработанных ресурсов, затем вы могли получить к нему доступ с помощью:
InputStream xmlExerciseInputStream = getResources().openRawResource(R.raw.myresource);
MyClass myClass = serializer.read(MyClass.class, xmlExerciseInputStream);