Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.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
Java 是否可以添加<;项目>;至<;字符串数组>;应用程序正在运行时?_Java_Android - Fatal编程技术网

Java 是否可以添加<;项目>;至<;字符串数组>;应用程序正在运行时?

Java 是否可以添加<;项目>;至<;字符串数组>;应用程序正在运行时?,java,android,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> <

在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 Studio中,有没有办法在应用程序运行时将新的
添加到

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


提前感谢您的帮助

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

您似乎在寻找一种持久化数据的方法,这可以通过共享首选项、文件或通过数据库如SQLite来实现

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

SQLite很可能是更好的数据库,因为它实际上是普遍内置于Android设备(嵌入式)中的,并且与许多替代方案不同,它是基于客户端的,因此不需要服务器

共享首选项最适合一组特定的项,而数据库在处理可变数量的数据时则更为有利

有许多教程/指南介绍如何使用共享首选项和SQLite数据库。对于有限的使用,使用共享首选项可能是最简单的,因此这可能会引起兴趣:-