Android ClassLoader.getSystemResource

时间:2011-03-17 12:27:20

标签: android

假设我想使用ClassLoader.getSystemResource来读取资源

URL url = ClassLoader.getSystemResource("com/my/some.properties");

我应该在哪里放置some.properties文件?我用这样的位置得到'null'

my.apk/com/my/some.properties

2 个答案:

答案 0 :(得分:2)

如果您想存储某种偏好设置,则应使用SharedPreferences。如果你想要包含一些要阅读的文件,你应该把它放在你的资产文件夹中,你可以这样读它。

InputStream input = context.getAssets().open("some.properties");

要将数据保存到文件,请按此打开。

OutputStream outputStream = openFileOutput("some.properties", Context.MODE_PRIVATE);

并阅读相同的文件。

InputStream inputStream = openFileInput("some.properties");

Android Dev Site上的Data Storage主题非常清楚。

答案 1 :(得分:1)

解决方案是从某个类

中检索ClassLoader
ClassLoader classLoader = Some.class.getClassLoader();
URL url = classLoader.getResource("com/my/some.properties");

网址值为

jar:file:/data/app/com.my.apk!/com/my/some.properties