在Android中是否有类似于iOS中plist文件的等效物?

7

在编写iOS应用程序时,我们可以使用plist文件存储数据,并使用NSDictionary读取/写入数据,只需一两行代码即可。类似的东西也存在于Android么?我已经在iOS上开发过一个应用程序,其中包含了数百个条目的plist文件。这不就是普通的XML吗?因此,我可以使用SAX/DOM Java解析器解析该文件吗?


1
谷歌搜索“android plist解析器”。 https://github.com/tenaciousRas/android-plist-parser - drharris
3个回答

4

Plist文件有三种形式:

  • NeXTSTEP格式(类似于JSON),已不推荐使用。
  • XML格式(可以在任何平台上轻松解析)。
  • 二进制格式(苹果未公开文档,但相比XML格式更节省空间)。

如果要解析的plist文件是NeXTSTEP或XML格式,则大多数平台上都可以使用现有工具轻松构建解析器。对于XML格式,您可以使用Java内置的解析器。

然而,如果Plist文件是二进制的,则必须自己编写解析器或使用现有的第三方类。其中一个存在于http://www.java2s.com/Open-Source/Java-Document/Swing-Library/jide-oss-2.8.3/com/jidesoft/plaf/aqua/BinaryPListParser.java.htm,但我自己没有使用过,因此无法保证其准确性/质量/性能。


太糟糕了,他们让你使用XML而不是JSON :( - 700 Software
你可以使用JSON!但是你不能直接在plist API中使用它。 - Jonathan Grynspan

1
除了其他答案之外,我会看一下您在plist文件中需要的数据的性质。如果您的plist文件只是一个字符串值的平面NSDictionary,而不是结构化值的字典,那么您确实可以使用Java属性对象: Android Java Properties 同样,如果您只需要在文本文件中存储键入值的简单字典,则java.util.Properties是正确的选择。但如果您的要求包括完全结构化等效于plist文件,则此方法无法帮助您。

0

最终,plist只是一个具有特定格式的XML文档。使用解析器在Java中制作自己的plist不应该太难。此外,您将能够调整XML文件以适应您的特定需求。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接