【问题标题】:How to get File within' package, in an Android application如何在 Android 应用程序中获取“包内的文件”
【发布时间】:2010-12-06 19:44:05
【问题描述】:

我正在创建一个 Android 应用程序,但为了使其中一项功能正常工作,我需要读取一个预定义的 xml 文件,同时只知道它的名称,而不是 R.id..

在普通的 Java 中我知道我可以使用

getClass().getClassLoader().getResource(xmlName)

但是使用有限的 Android SDK 无法正常工作,有谁知道如何解决这个问题?

【问题讨论】:

  • 您的意思是您试图从 jar 文件本身中读取它,对吗?
  • 好吧,在这个例子中是.apk

标签: java android file package


【解决方案1】:

来自Data Storage Section in the android developer manual

如果你有一个静态文件要在编译时打包到你的应用程序中,你可以保存 项目中的文件 res/raw/myDataFile,然后使用 Resources.openRawResource (R.raw.myDataFile)。它返回一个 InputStream 对象,您可以 用于从文件中读取。

【讨论】:

  • 发帖人指出问题在于 R.raw.myDataFile 不可用。
【解决方案2】:

使用Context 中的getResources().getIdentifier()(例如Activity),但如果您将多次使用它,请缓存结果。 getIdentifier()Resources 上实现。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-18
    • 2021-11-08
    • 1970-01-01
    • 1970-01-01
    • 2015-09-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多