iam在Android应用程序上工作,并且很难为架构保存应用程序数据做出决定。以下情况:
在应用程序中,用户有可能创建新的通用对象并为其赋予他想要的属性。为了支持这一点,我想在创建输入表格(例如汽车)之前给他们一个收藏夹的列表。它具有颜色,重量,速度,马力等。因此,用户可以选择一个经常选择的对象(例如汽车),并将获得他必须填充的表格的适当字段(颜色,weigth ...)。此列表应该很聪明。您选择的项目越多,它出现在列表中的越高。而且该预设必须在偏好中进行编辑。
这就是重点。我应该使用Android的首选项框架(将其保存到XML作为不同的首选项类型,而简单地加载适当的preferfectionBuilder),或者我应该创建自己的XML对象并将其保存到自我创建的用户文件位置?
我的第二个问题:如果我使用首选项框架方法。...这对于在运行时动态添加条目是否有益?ressources在Res文件夹中,但是如果有单独的用户条目怎么办?它们也会保存在程序文件夹中,还是有一个特殊的用户数据文件夹,其中文件(也许加密)在?
中谢谢
将这样的复杂数据存储在共享流程中很棘手。我的意思是假设用户创建了4个对象,并且每个对象具有8个属性。您将将4*8个值存储在共享prefs中并映射。
可以做的是维护用户创建的对象的数组列表。该列表的连续维护计数器数组列表,并按照用户单击对象的次数,并继续内部交换两个列表。示例:
List Name List Counter
ObjA 5
ObjB 3
ObjC 1
ObjD 1
将这两个列表存储在共享的pref中。
现在,对于对象的属性部分(可能出现2个可能性):
为每个对象的名称维护MySQL DB和一个表。如果需要存储用户创建的对象创建的每个实例,则可以存储每个列的值。(每次用户单击对象时,只需向他显示表的列名并存储输入的值)
示例:
ObjA Table :
Color speed horsepower rpm
________________________________
red 20mph 100 3000
black 80mph 500 8000
连续,如果您不想存储每个实例值,则可以将另一个共享prefs用作为键和属性列表作为值。