关于android中的应用程序的全局变量的使用Application的方法可以参考:
http://oyeal.iteye.com/blog/941183
同时对getApplication()和getApplicationContext()进行了解。
从源代码可以知道getApplication()获得的Application类对象,Application类继承
ContextWapper,ContextWapper继承Context类。
getApplicationContext()直接获得Context类对象。
从某种意义上说两个方法是用于获得应用程序的全局对象,Application类中添加了一些事件。
具体他们有什么区别还是很模糊,望指教。
分享到:
相关推荐
详细总结了Context是什么?Android系统中Context的继承关系,不同Context源码分析,Context应用场景,getApplication和getApplicationContext区别。
- 在处理需要权限的操作时,`getApplication()`可以作为上下文参数传递给权限检查和请求的方法。 6. **资源操作**: - 获取应用的资源,如字符串、颜色、尺寸等,`getApplication()`提供的上下文同样适用。 7. *...
String filename = getApplication().getFilesDir().toString() + "test.png"; ScreentShotUtil.getInstance().takeScreenshot(getApplicationContext(), filename); } 把ScreentShotUtil.class和ShellUtils....
manager.init(new MyLocationListener(), this.getApplication().getApplicationContext()); ``` 其中,`MyLocationListener`是我们自定义的位置监听器,用于接收位置更新信息。 **3. 获取经纬度** 要获取用户...
在上面的例子中,`ApplicationDemoActivity`通过`getApplication()`方法获取到了`MyApplication`实例,然后通过这个实例调用了`ismHasPassword()`和`setmHasPassword()`方法。 #### 5. 在其他Activity中使用全局...
移植的基本思路分为三步:(1)利用getApplicationContext().getDatabasePath()获取源数据库文件的虚拟路径;(2)通过Environment.getExternalStorageDirectory()获取外部存储设备的路径;(3)使用文件流的方式将数据库...
举个例子:公共SQLdm这个类,就使用getApplication(),因为不涉及UI。构建AlertDialog,就使用this来获取context。 关于SQLiteDatabase.close()方法 文档中对方法的说明,简单理解就是,调用这个方法释放资源。 ...
在`ApplicationDemo`项目中,我们可以期待看到如何创建自定义的 `Application` 子类,并在其中进行初始化操作,以及如何在其他组件中通过 `getApplicationContext()` 或者 `getApplication()` 来访问这个全局的 `...
((MyApplication) getApplication()).getAppComponent().inject(this); // 初始化Presenter presenter.onViewCreated(this); } } ``` 以上是`MvPDemo-master`项目中的部分核心代码,展示了如何在Android应用中...
在Android应用开发中,`OnSharedPreferenceChangeListener` 是一个关键组件,用于监听`SharedPreferences`的变更。...在开发过程中,定期进行内存分析和使用Android Studio的内存分析工具也能帮助发现和解决类似问题。
((MyApplication) getApplication()).getAppComponent().inject(this); } } ``` 通过以上步骤,Dagger2将自动管理`Context`的创建和销毁,无需我们在每个需要`Context`的地方手动创建。 ### 4. 扩展与高级用法...
- `new BMapManager(getApplication())`:创建`BMapManager`实例。 - `init(String apiKey, OnStartListener listener)`:初始化SDK,传入API密钥和启动监听器。 - `initMapActivity(BMapManager manager)`:完成...
SDKInitializer.initialize(getApplication()); mapView = (MapView) findViewById(R.id.bmapView); baiduMap = mapView.getMap(); baiduMap.setMyLocationEnabled(true); ``` ##### 2. 显示当前位置 当定位成功...
这里需要用到`Context`对象,可以通过`getApplication()`或者`getApplicationContext()`获得。使用`AssetManager`来读取`assets`目录的文件,然后通过`FileOutputStream`将数据写入到目标位置。注意,`databases`...
- 获取方式:`Context.getApplicationContext()` 或者 `Activity.getApplication()`。 - 应用场景:当需要访问全局设置、系统服务(如网络、蓝牙)时,推荐使用Application Context,因为它们与具体活动无关。 2....
- 在非Activity组件中,通常可以通过`getApplication()`或`getApplicationContext()`获取全局的Context,这两个方法分别返回当前运行的Application实例和应用程序上下文。 6. **Context的使用注意事项**: - 尽量...
- `getApplicationContext()`:返回应用程序的全局上下文,生命周期最长,适用于需要在整个应用程序中使用的组件。 - `getActivity()`:在Fragment中使用,返回Fragment所附加的Activity对象,但在Fragment销毁后...
- 这样,可以在任何Activity中通过`getApplication()`或`getApplicationContext()`获取`myApp`实例,进而获取或设置Cookie。 5. **处理Cookie**: - 当收到HTTP响应后,可以通过`HttpClient`的`getCookieStore()`...
5. **使用自定义Application类**:在任何Activity中,都可以通过`getApplication()`方法获取到自定义的Application实例,从而访问或修改全局状态: ```java class Blah extends Activity { @Override public ...
int count = ((CustomApplication) context.getApplicationContext()).getActiveActivityCount(); if (count == 0) { // 所有Activity都已停止,应用可能进入后台 // 执行相应的后台逻辑 } } else if (action....