是否有一种轻量级方法来获取上下文来处理资源?

时间:2017-09-18 05:46:19

标签: java android dependency-injection android-context

我的船类需要从资源文件夹中获取位图,所以我将其传递给构造函数,如下所示:

public Ship(Context context) {
    bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.myShipPic);
    ...

我不想传递一个上下文对象并让船只类更自包含,这怎么可能?我不认为我可以让船扩展一个Activity类,因为那是为了创建窗口吗?

1 个答案:

答案 0 :(得分:1)

我写了一个blog entry关于为什么要使用 on 的上下文,所以这是要走的路,你需要在构造函数或方法中传递上下文。不要静态检索上下文,因为有一天您的应用程序将崩溃,然后您将不得不重构所有代码以取代按需。希望它有所帮助:)