当前位置 : 主页 > 手机开发 > android >

我应该在Android应用程序中将全局方法和变量放在哪里?

来源:互联网 收集:自由互联 发布时间:2021-06-11
当我编写方法或使用成员变量时,我经常发现我需要在应用程序中共享它们.但他们应该去哪里? 我可以将Activity子类化,但是一旦我使用MapView并且被迫使用MapActivity就会失败,所以我的所有
当我编写方法或使用成员变量时,我经常发现我需要在应用程序中共享它们.但他们应该去哪里?

我可以将Activity子类化,但是一旦我使用MapView并且被迫使用MapActivity就会失败,所以我的所有活动都不会从我的子类继承.我有办法解决这个问题吗?

在继承不适用的情况下,我倾向于将泛型方法和成员变量放入Application对象的子类中,但我发现它创建了一堆代码,因为每个类都需要通过via获取对应用程序对象的访问权限上下文,或者我必须把它传下来.

我怀疑我最好创建MyApplication.getInstance()并将所有内容保存在单例中,而不是通过应用程序类传递应用程序对象.但之前我想看看你们要说些什么.

如果要访问活动之外的“Global Singleton”并且不希望通过所有涉及的对象传递Context来获取单例,则可以如您所述定义应用程序类中的静态属性,其中包含对自身的引用.只需在onCreate()方法中初始化该属性.

例如:

public class ApplicationController extends Application {
    private static ApplicationController _appCtrl;

    public static ApplicationController getAppCtrl()
    {
         return _appCtrl;
    }
}

资源的一个示例:因为Application的子类也可以获取资源,所以只需在定义静态方法时可以访问它们,返回它们,如:

public static Resources getAppResources()
{
    return _appCtrl.getResources();
}
网友评论