我很高兴将同一个应用程序(付费/免费)的不同版本的代码重构到android库项目中,这样实际的应用程序就可以简单地自定义库并减少代码重复。
我开始想知道库代码中的getApplicationContext()
是什么意思?是否与从子应用程序获得的ApplicationContext
相同?当我从库项目的SharedPreferences
而不是原始应用程序的getApplicationContext()
访问getApplicationContext()
时会发生什么?SharedPreferences
文件是相同的还是不同的?
如果我使用活动访问了SharedPreferences
,该怎么办?活动现在是一个库活动而不是原来的应用程序,这有关系吗?SharedPreferences
是否相同?
谢谢你的澄清。
最佳答案
当apk打包后,所有类都将属于主应用程序。
调用getapplicationcontext().getpackagename(),它将返回应用程序的包名,而不是库的包。
对于免费/付费的应用程序,我有相同的设置,当我将类移到库项目中时没有问题。
但是,必须检查XML文件(清单、小部件等)才能使用库项目的完整包名。