每次应用程序执行。应用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+"");
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaG93bGFh/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
先写到这里。
晚安。