我正在编写一些库代码,作为jar文件分发,开发人员在使用前需要使用应用程序ID进行初始化。初始化仅仅是一个函数调用,就像Android中的全局初始化
MyLibrary.initialize("16ea53b");
棘手的是,我不知道如何指导开发人员,使这个初始化调用。起初,我认为主要活动中的一个静态初始化块将是最简单的方法。问题是用户可以通过其他活动或意图进入应用程序,并且主要活动不会被加载。是否有一种通用的方法来确保在应用程序启动时运行一行代码,而不管应用程序的启动方式如何?
初始化调用是幂等的,所以我可以告诉人们在它可以使用的每个地方进行初始化调用,但那会很麻烦。
我想我如何让我的库访问SharedPreferences具有相同的问题 - 我需要让开发人员使用有效的上下文初始化库以便访问SharedPreferences。还是有另一种方法来访问应用程序对象?顺便说一句,这是一个很棒的演讲。 – lacker
根据Android的指导原则,我们可以从Application类中继承子类,从而使用它来存储/维护全局数据或使用静态单例类。我个人使用过Application对象。所以是的,您的开发人员使用有效的Context初始化库的方法是有道理的。我想知道更多关于这方面的其他机制。 – omermuhammed
我仍然有同样的问题 - 开发人员在哪里使用上下文初始化库?他们必须从每个可能开始申请的班级开始。 – lacker