2013-08-23 81 views
1

我想访问我的android类中的访问权限。访问资产android

我知道我可以使用getAssets,但我正在使用util类而不是活动,所以我无法访问上下文。

我可以在我的构造函数或setter方法添加PARAM但这不是很恰当

伊尔有一个很好的解决方案来访问的UTIL类我的资产?

感谢

编辑:

File file = new File("file:///"); 
String[] list = file.list(); 
for(int i = 0; i<list.length; i++){ 
    System.out.println(list[i]); 
} 

但列表为空

+0

什么在你的资产文件夹在那里? – TheLittleNaruto

+0

属性文件 – Ajouve

+0

这真的不起作用。我尝试过使用不同扩展名的文件 – TheLittleNaruto

回答

0

我使用上下文找到一个解决方案,这是正确的

public static Properties getProperties(Context context) 
{ 
    Properties prop = new Properties(); 
    try { 
     prop.load(context.getAssets().open("config.properties")); 
    } catch (FileNotFoundException e) { 
     Log.v(TAG+"_PROPERTIES","FileNotFoundException",e); 
    } catch (IOException e) { 
     Log.v(TAG+"_PROPERTIES","IOException",e); 
    } 

    return prop; 
} 
0

您可以使用此file:///android_asset/assetname.extension来指资产。 大概创建一个File与上面的路径到您的资产。

+0

谢谢,但我什么都没有(我编辑我的第一篇文章) – Ajouve

+1

我不认为你做的方式,它会工作。你需要有android_asset/filename,这在某种程度上是指你的资产目录中的东西。 – Varun

0

试试这个:

File file = new File("file:///android_asset/"); 
String[] list = file.list(); 
for(int i = 0; i<list.length; i++){ 
    System.out.println(list[i]); 
}