在应用程序运行时是否可以将<item>添加到<string-array>?

时间:2017-09-07 00:01:42

标签: java android

在Android Studio中,我在strings.xml中定义了一个字符串数组:

<string-array name="item_codes">
    <item>FRE</item>
    <item>PAR</item>
    <item>PC</item>
    <item>SUN</item>
    <item>CTRL</item>
</string-array>

当用户运行应用程序时,我希望能够向此数组添加新元素,以便在用户下次打开应用程序时保存所有元素。

所以:

1)Android应用程序在运行时是否有办法向<item>添加新的<string-array>

2)或者,是否有其他方法可以保存数组元素,以便在重新启动应用程序时再次访问它们?

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

没有任何方法可以动态添加字符串资源,因为这些资源被编译为只读二进制文件。所以1)的答案通常是否为。

您正在寻找的是一种保存数据的方法,可以通过共享偏好文件或通过数据库<来完成/ strong>例如SQLite。

使用文件将是最复杂的,因为基本上共享首选项和数据库最终都会将数据保存到文件中,因此较低的杠杆级别进程是使用共享首选项或数据库所固有的。

SQLite可能是首选的数据库,因为它几乎普遍内置于Android设备(嵌入式),而且许多替代方案都是基于客户端的,因此不需要服务器。

共享首选项最适合特定项目集,而数据库在处理可变数据量时最有利。

有许多使用共享首选项和SQLite数据库的教程/指南。使用共享首选项可能是最简单的限制使用,因此这可能是有意义的: - Android Shared preferences example [closed]