【问题标题】:How to implement BitmapFactory in a singleton pattern on Android Studio?如何在 Android Studio 上以单例模式实现 BitmapFactory?
【发布时间】:2016-03-22 21:39:46
【问题描述】:

我正在尝试实现单例模式,但是当我尝试使用位图创建图像时,它说无法解析方法 getResources()。我在下面留下了一个示例代码,说明我想要实现的目标。

private static Singleton instance = null;
public static synchronized Singleton getInstance(){
    if(instance == null){
        instance = new Singleton (BitmapFactory.decodeResource(getResources(), R.drawable.singleton_image), 142, 90, 4);
    }
    return instance;
}

【问题讨论】:

    标签: java android singleton android-bitmap bitmapfactory


    【解决方案1】:

    我不知道你想用它做什么,但getResources() 是任何 Context(Activity, Service) 下任何从 Context 继承的东西都可用的公共方法。

    您可以将方法编辑成这样

    public static synchronized Singleton getInstance(Context context){
        if(instance == null){
            instance = new Singleton (BitmapFactory.decodeResource(context.getResources(), R.drawable.singleton_image), 142, 90, 4);
        }
        return instance;
    }
    

    【讨论】:

    • 我已经尝试过这样做,但是我收到一个错误,说我无法应用上下文。我正在尝试为我的游戏中的主要玩家创建实现单例模式,但是当我尝试绘制时图像模式不允许我使用 BitmapFactory 的 getResources()
    • 你是怎么调用这个方法的?
    • getResources() 方法是 Android Studio 中内置的方法。我之前使用过类似的代码并且它已经工作了,因为我使用了 Singleton 模式,我认为这种方法不起作用。我一直在寻找替代方案,但我还没有找到。
    • Android studio 与所涉及的方法无关,您可以在任何其他编辑器中编写相同的应用程序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 2013-08-22
    • 1970-01-01
    • 2011-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多