#android #xml #layout #dynamic #save
#Android #xml #макет #динамический #Сохранить
Вопрос:
У меня есть макет, в котором пользователи могут добавлять кнопки и размещать их там, где они хотят. Я хочу разрешить пользователю сохранять свой макет, чтобы он загружался при следующем открытии приложения. Кто-нибудь знает, могу ли я сохранить файл на sdcard? В качестве альтернативы я мог бы использовать какой-нибудь метод layout.getXML() и поместить его в базу данных, используемую моим приложением. Заранее спасибо
Ответ №1:
При создании макета с помощью кода нет файла для сохранения. Вам нужно будет создать свой собственный формат файла, который можно было бы сохранить на SD-карте или вставить в базу данных.
Ответ №2:
Вы можете использовать метод savedInstaceState() с тем же типом объекта в качестве параметра . во время перезагрузки загружается пользовательский интерфейс, который вы хотите. В методе onCreate() задайте условие, является ли объект savedInstaceState obj нулевым или нет . если нет, то вызовите LoadUI().
Ответ №3:
На вашем месте я бы создал класс, содержащий всю информацию об этом макете и кнопках. И запишите всю информацию о классе в файл с помощью JsonWriter. Когда приложение открылось, я просто прочитал файл и воссоздал массивы, используя JSONObjects.