Application数据共享
1、Context 是 Android 中一个非常重要的概念,用于访问全局信息,几乎所有的基础组件都继承自 Context,理解 Context 对于学习 Android 四大基本组件非常有帮助。
2、当一个工程里面有两个Activity(他们都属于同一个应用程序)被申明为启动Activity,那么将会有两个启动图标被创建。这就是为什么android程序有多个程序入口点。卸载其中一个时,系统会自动把另一个图标卸载掉,因为它们毕竟是同一个Application之中。


3、通过Application来在多个Activity(需在同一个Application下)之间共享数据。
- 自定义的全局共享类
-
public class Share extends Application{ private String data = "default"; public String getData() { return data; } public void setData(String data) { this.data = data; } }
- manifest代码
-
<application android:allowBackup="true" android:name = ".Share" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".Main1" android:label="@string/title_activity_main1" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>
- 获得共享数据
- (Share)getApplicationContext();
4、Application
- oncreate会先于内部的Activity的oncreate先执行。
- 如果同一个Application有两个入口Activity。当一个Activity未destroy的时候,启动另一个Activity。这时会执行Application的oncrate函数,但是全局Appllication对象不会被回收,直到这个Application完全退出(我理解为无任何server或Activity运行)。

浙公网安备 33010602011771号