每次应用程序运行时,应用程序的application类保持实例化的状态。通过扩展applicaiton类,可以完成以下3项工作:
1.对android运行时广播的应用程序级事件如低低内做出响应。
2.在应用程序组件之间传递对象(全局变量)。
3.管理和维护多个应用程序组件使用的资源。
其中,后两项工作通过使用单例类来完成会更好。application会在创建应用程序进程的时候实例化。
下面是扩展Application的示例代码:
import android.app.Application;
public class MyApplication extends Application {
private static MyApplication singleton;
//返回应用程序实例
public static MyApplication getInstance(){
return singleton;
}
@Override
public void onCreate() {
super.onCreate();
singleton = this;
}
}
在创建好自己的Application后,在mainfest里面的application注册,如下:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:name="com.example.i18n.MyApplication"
android:theme="@style/AppTheme" >
至于get 和set :
假如MyApplication有变量str,并提供getter和setter,如下:
package com.example.i18n;
import android.app.Application;
public class MyApplication extends Application {
private static MyApplication singleton;
private String str;
//返回应用程序实例
public static MyApplication getInstance(){
return singleton;
}
@Override
public void onCreate() {
super.onCreate();
singleton = this;
}
public String getStr() {
return str;
}
public void setStr(String str) {
this.str = str;
}
}
使用str和赋值:
MyApplication.getInstance().setStr("hello,bitch!");
String mystr = MyApplication.getInstance().getStr();
Log.e("str",mystr+"");
先写到这里。晚安。