Я хочу разрешить пользователю создавать "настраиваемые экраны" динамически, выбирая из существующего набора полей во время выполнения, т.е. все должно быть сделано в приложении на телефоне.
Например, существующий набор полей = {name, location, picture, age}
.
Пользователь A хочет создать новый экран с именем, местоположением и возрастом.
и пользователь B хочет иметь экран с только именем и изображением.
Эти экраны должны быть постоянными и должны иметь возможность сохранять, запрашивать и редактировать информацию в локальной базе данных на телефоне.
Любая помощь о том, как достичь этого в Android, будет оценена по достоинству.
Спасибо.
Вы хотите динамически создавать эти представления в 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().
Создайте PreferenceScreen и добавьте некоторые логические настройки с именами ваших полей. Таким образом, каждый пользователь может настроить, какие поля будут отображаться в вашей активности данных.