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运行)。
posted @ 2015-05-13 21:59  何人之名  阅读(356)  评论(1)    收藏  举报