使用 XML 文件作为 Android 应用程序数据持有者
我开发了应用程序,它将数据保存在 res/xml/myfilename.xml 的 .xml 文件中,并将所有数据绑定到可扩展列表视图。
XML 结构:
<companyes>
<company>
<name> </name>
<employees>
<employee>
(employee parameters)
<employee>
</employees>
</company>
...
</companyes>
现在我正在尝试实现数据编辑/删除功能,但我发现这似乎是不可能的(使用这样的结构):您无法在运行时编辑资源或资产文件夹内容。这是真的吗?
是否可以通过使用像我使用的结构(用于数据保存的XML)来解决这个问题?或者我应该使用其他方法?内容提供商? (我是 Android 开发新手,还没有讨论内容提供者的部分)
I have developed app which holds data in .xml file in res/xml/myfilename.xml and binds all the data to expandable list view.
XML structure:
<companyes>
<company>
<name> </name>
<employees>
<employee>
(employee parameters)
<employee>
</employees>
</company>
...
</companyes>
Now I am trying to implement data editing/deleting feature and I have found out that it seems to be impossible (using structure like this): you can not edit resources nor assets folder content on runtime. Is this true?
Is it possible to solve this problem by using structure like I use (XML for data holding)? Or should I use some other method? contentprovider? (Im new in android development and haven't got to the part where content provider is disgussed)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
正确的是,您无法修改应用程序内部的数据。您的 .apk 是不可变的。您需要将此数据存储在可通过 Context 访问的持久存储中(数据库或原始文件中)。
Correct you can not modify the data inside of your application. Your .apk is immutable. You need to store this data in your persistent storage (in a database or a raw file) available through Context.
我的两分钱:我前段时间遇到过同样的问题(+我必须在多个应用程序之间共享底层数据)。我最终使用了带有 SQLite 数据库的 ContentProvider,并在桌面上管理 xml 到 SQLite 的来回转换。
我建议使用 sqlite 数据库。
My two cents: I experienced the same kind of issue some times ago (+ I have to share the underlying data between several applications). I finally used a ContentProvider with à SQLite database and manage xml to SQLite back and forth conversion on desktop.
I suggest to use a sqlite database.