Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android上动态创建屏幕和底层数据访问层_Android_Dynamic_Views_Data Access Layer - Fatal编程技术网

在Android上动态创建屏幕和底层数据访问层

在Android上动态创建屏幕和底层数据访问层,android,dynamic,views,data-access-layer,Android,Dynamic,Views,Data Access Layer,我想允许用户在运行时通过从一组现有字段中进行选择来动态创建自定义屏幕,也就是说,一切都应该在手机上的应用程序上完成 例如-现有字段集={name,location,picture,age} 用户A希望创建一个包含字段名称、位置和年龄的新屏幕 用户B想要一个只有名字和图片的屏幕 这些屏幕应该是持久的,并且应该能够保存、查询和编辑手机本地数据库中的信息 任何关于如何在Android中实现这一点的帮助都将不胜感激 谢谢 创建并添加一些带有字段名称的布尔首选项。因此,每个用户都可以配置在数据活动中显示哪

我想允许用户在运行时通过从一组现有字段中进行选择来动态创建自定义屏幕,也就是说,一切都应该在手机上的应用程序上完成

例如-现有字段集={name,location,picture,age}

用户A希望创建一个包含字段名称、位置和年龄的新屏幕

用户B想要一个只有名字和图片的屏幕

这些屏幕应该是持久的,并且应该能够保存、查询和编辑手机本地数据库中的信息

任何关于如何在Android中实现这一点的帮助都将不胜感激


谢谢

创建并添加一些带有字段名称的布尔首选项。因此,每个用户都可以配置在数据活动中显示哪些字段。

您将希望在Java中动态创建这些视图,而不使用布局。我会组合一些XML模式,然后将其保存在DB或设备上。然后你可以做一些事情,比如:

//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().

这是一个合理的方法。但是,我仍然不清楚将这些视图附加到数据库表的最佳方式是什么,以便用户下次使用其应用程序时可以为其自定义创建的屏幕获取数据。您可以将整个XML存储在数据库XML列中并检索它吗?一旦你提出了一个XML模式,它应该是好的去权利?是的,我可以存储在数据库或文件系统的XML。但是,我仍然需要一些代码来访问这些屏幕上显示的实际数据。在上面的示例中,我需要一个数据访问层来访问名称、位置、图片、年龄等。