【问题标题】:Is there something equivalent to plist files in Android like we have in iOS?有没有像我们在 iOS 中一样的东西与 Android 中的 plist 文件等效?
【发布时间】:2011-09-10 15:28:51
【问题描述】:

在编写 iOS 应用程序时,我们可以将数据保存在 plist 文件中,然后使用 NSDictionary 只需一两行即可将其读入/读出。 Android上是否存在类似的东西?我已经在 iOS 上制作了一个应用程序,其中包含一个包含数百个条目的 plist 文件。那只是普通的 XML 不是吗?所以我可以用 SAX/DOM Java 解析器解析文件吗?

【问题讨论】:

标签: java android objective-c ios


【解决方案1】:

Plist 文件以三种形式之一存在:

  • NeXTSTEP 格式(看起来很像 JSON)。这已被弃用。
  • XML 格式(可以在任何平台上轻松解析)
  • 二进制格式(Apple 没有记录,但与 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 :(
  • 你可以使用 JSON!您不能直接将它与 plist API 一起使用。
【解决方案2】:

除了此处提供的其他答案之外,我还会查看您的 plist 文件中所需数据的性质。如果您的 plist 文件只是字符串值的平面 NSDictionary,而不是结构化值的字典,那么您可以选择使用 Java Properties 对象:

Android Java Properties

同样,如果您的要求包括与 plist 文件等效的完全结构化的文件,这对您没有帮助。但是,如果您只需要一个存储在文本文件中的简单键值字典,那么 java.util.Properties 是您的最佳选择。

【讨论】:

    【解决方案3】:

    最终,plist 只是一个具有特定格式的 xml 文档。使用解析器在java中制作自己的应该不难。您还可以定制 xml 文件以满足您的特定需求。

    【讨论】:

      猜你喜欢
      • 2017-09-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-30
      • 2014-09-29
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      相关资源
      最近更新 更多