Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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 添加元素并将该元素保存到strings.xml中创建的数组中_Android_Arrays_Serialization - Fatal编程技术网

Android 添加元素并将该元素保存到strings.xml中创建的数组中

Android 添加元素并将该元素保存到strings.xml中创建的数组中,android,arrays,serialization,Android,Arrays,Serialization,假设Type是数组的名称,该数组包含A、B、C、D作为元素,并在strings.xml中创建。现在,在表单中,用户可以选择任何元素或添加新元素。假设用户添加E、F,G。现在我想要实现的是,无论如何,类型数组中有A、B、C、D、E、F、G。使用sqlite已完成。但我只想将其保存在类型数组中,而不想保存在其他任何位置。是否可能?因为您在res文件夹中定义的任何内容都会在R.java中获取唯一的id,即数组,并且在运行时无法更改数组的大小。。因此,这是不可能的。您只能将数据保存到永久性存储中,如SQ

假设Type是数组的名称,该数组包含A、B、C、D作为元素,并在strings.xml中创建。现在,在表单中,用户可以选择任何元素或添加新元素。假设用户添加E、F,G。现在我想要实现的是,无论如何,类型数组中有A、B、C、D、E、F、G。使用sqlite已完成。但我只想将其保存在类型数组中,而不想保存在其他任何位置。是否可能?

因为您在res文件夹中定义的任何内容都会在R.java中获取唯一的id,即数组,并且在运行时无法更改数组的大小。。因此,这是不可能的。

您只能将数据保存到永久性存储中,如SQLite数据库、共享首选项或文本文件,每种存储都有不同的优缺点,适合不同的情况,因此请选择。

创建什么?如果你说的是创建R.java,android会根据你在res文件夹中定义的元素自行创建。我的意思是通过代码创建数组,然后尝试实现相同的功能。另外,你在res文件夹中没有写权限。。您只能通过代码进行读取。。因为你放在res文件夹中的任何东西都会增加apk的大小。是的,如果我通过代码这样做,我的意思是在java文件中而不是在xml中创建数组,如果是,那么如何进行?是否可以在共享首选项中保存数组?这是可以做到的,虽然有点棘手,看看这个:看到这一个,以及它说的api级别11和以上,我的应用程序是支持从版本4虽然它实际上应该从8找到一种方法,虽然它保存为字符串和创建数组使用分裂()函数有一种方法可以将字符串数组保存到共享首选项,而不考虑api级别: