Динамическое создание экранов и нижележащего слоя доступа к данным на Android

1

Я хочу разрешить пользователю создавать "настраиваемые экраны" динамически, выбирая из существующего набора полей во время выполнения, т.е. все должно быть сделано в приложении на телефоне.

Например, существующий набор полей = {name, location, picture, age}.

Пользователь A хочет создать новый экран с именем, местоположением и возрастом.

и пользователь B хочет иметь экран с только именем и изображением.

Эти экраны должны быть постоянными и должны иметь возможность сохранять, запрашивать и редактировать информацию в локальной базе данных на телефоне.

Любая помощь о том, как достичь этого в Android, будет оценена по достоинству.

Спасибо.

Теги:
dynamic
views
data-access-layer

2 ответа

0
Лучший ответ

Вы хотите динамически создавать эти представления в Java (не используя макеты). Я бы собрал некоторую схему XML, а затем сохранил ее либо в БД, либо на устройстве. Затем вы можете делать такие вещи, как:

//pseudo-code
while (xmlDoc isn't empty) {
View v = null;
if (XML says to create a text view) {
    v = new TextView(this);
    ...
}
else if (XML says to create an ImageView) {
    v = new ImageView(this);
    ...
}
add v to the LinearLayout or whatever type of root view will be passed to setContentView().
  • 0
    Это разумный подход. Тем не менее, я до сих пор не понимаю, как лучше всего прикрепить эти представления к таблицам базы данных, чтобы пользователь мог получить данные для своих пользовательских экранов в следующий раз, когда они используют свое приложение.
  • 0
    Вы могли бы сохранить весь XML в столбце XML базы данных и получить его? Как только вы придумаете схему XML, все будет хорошо, не так ли?
Показать ещё 1 комментарий
0

Создайте PreferenceScreen и добавьте некоторые логические настройки с именами ваших полей. Таким образом, каждый пользователь может настроить, какие поля будут отображаться в вашей активности данных.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню