2011-07-07 51 views
6

关于Android资产管理器,是否有可能从资产中获取文件没有上下文?我读过我可以用“file:/// android_assets”类型初始化一个File对象,然后从那里获取文件,但它说文件不存在(Honeycomb)。Android资产没有上下文

这个问题的一般解决方法是什么?没有任何方法可以从我需要资产中的文件的位置获取上下文。

感谢

+0

我们可以知道为什么你不能在这个地方获得上下文吗? – MByD

+0

,因为我有一个专有的工作人员,从UI部分和工作人员那里做所有事情,我将它们作为库,然后我只有一个需要实现某个接口的类,那时我没有Context。 – Pett

+0

那么,为什么你不通过上下文作为参数? – MByD

回答

4

要访问上下文那里它不存在,你可以扩展应用类和创建静态参照上下文。通过这种方式,您可以在应用程序的任何地方访问它:

public class MyApp extends Application { 

    public static Context context; 

    @Override 
    public void onCreate() { 
     super.onCreate(); 
     context = getApplicationContext(); 
    } 
} 
+0

它似乎是最好的解决方案,在2016年这里 – Fattie

+0

这不是一个好的选择,请使用依赖注入来注入上下文依赖关系。有这样的图书馆:匕首2(谷歌),匕首(方形),吉斯等 – rupinderjeet