【问题标题】:Adding elements and saving that elements to array that is created in strings.xml添加元素并将该元素保存到在 strings.xml 中创建的数组中
【发布时间】:2013-07-18 11:48:18
【问题描述】:

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

【问题讨论】:

    标签: android arrays serialization


    【解决方案1】:

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

    【讨论】:

    • 创建什么?如果您正在谈论创建 R.java,android 会根据您在 res 文件夹中定义的元素自行创建它。
    • 我的意思是通过代码创建数组,然后尝试实现同样的事情
    • 另外,您在 res 文件夹中没有写入权限..您只能通过代码读取权限..因为您放入 res 文件夹中的任何内容都会增加 apk 大小..
    • 是的,如果我通过代码进行操作,我的意思是在 java 文件中而不是在 xml 中创建数组,如果是,那么如何去做?
    【解决方案2】:

    您只能将数据保存到持久性存储中,例如 SQLite 数据库、共享首选项或文本文件,它们各有优缺点,适合不同的情况,所以请自行选择。

    【讨论】:

    • 是否可以在共享首选项中保存数组..?
    • 它可以做到,虽然有点棘手,看这个:stackoverflow.com/questions/7057845/…
    • 也看到了这个,它说 api level 11 及以上,我的应用程序从版本 4 开始支持,尽管它实际上应该是从 8 开始
    • 找到一种方法,将其保存为字符串并使用 split() 函数创建数组
    • 这是一种将字符串数组保存到共享首选项的方法,无论 api 级别如何:stackoverflow.com/questions/7965290/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-14
    • 2019-05-03
    • 2020-12-23
    • 2018-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多