jon*_*ohn 9 architecture android
我知道没有可用于定义共享逻辑/数据的应用程序级别范围,并且每个活动本质上是由清单绑定在一起的独立应用程序...
但我有一组用户访问权限,我通过Web服务调用获得,并且不希望在每个活动中进行此调用onCreate()
.
我SharedPreferences
在应用程序中使用,但由于权限不是可由用户编辑的,因此Android设备上的平面文件曝光感觉就像处理此问题的不安全方式.
如果应用程序重新启动,我需要重新请求此信息,所以我认为最便宜的是将它存储在变量中.
我知道IntentExtras,但我们谈论的是设置"对象",而不是原始类型.
正确处理这种情况的方法?
rhi*_*nds 28
您实际上可以创建一个"应用程序"类,可用于实质上创建应用程序范围的设置.
只需创建一个新类并扩展Application,然后设置任何类成员和适当的getter/setter方法,您就可以在整个应用程序中访问它们.
然后,您需要更新清单,如下所示:
<application android:icon="@drawable/logo"
android:label="@string/app_name"
android:name=".application.CustomApplication">
Run Code Online (Sandbox Code Playgroud)
然后在任何活动中,您可以按如下方式访问它:
CustomApplication app = ((CustomApplication)getApplication());
Run Code Online (Sandbox Code Playgroud)