Appllication的功能设计
每一个App都应该有一个扩展的Application。这个类中主要写一些整个app广泛用到的方法或app相关配置操作
application的生命周期是从app启动到退出。进程结束。所以在application中变量都定义为static, 也可以定义为非static。只是调用的时候稍微麻烦点
public classPhoebeApp extends android.app.Application
private static Context context;
private static Handler handler;
App的上下文引用,主要用于调用系统api
比如说 context.getSystemService(String name) 我们在app的方法中调用的时候可以
PhoebeApp.getContext().getSystemService(Context.NOTIFICATION_SREVICE)。 不需要每次使用的时候都传入参数Context,在类设计的时候可以更加自由。
另外App中会频繁用到handler与线程的交互。有时候我们需要用Handler#postDelayed(Runnable r , intdelayMills) 这个时候我们无需重新new handler(); 只需要调用全局的PhoebeApp#getHander() 即可
更高级的用法先不讲。后续再
至此一个基本的Application扩展类已经定义完成
package phoebe.frame;
import android.app.Application;
import android.content.Context;
import android.os.Handler;
/**
* 这个类中主要做一些全局的配置, 或者整个app广泛用到的方法逻辑<br>
*
* 生命周期从
*
* @author coffee<br>
* 2015-12-15下午3:28:30
*/
public class PhoebeApp extends Application {
/**
* app的上下文的引用,主要用于调用系统api的时候传参
*/
private static Context context;
/**
* 全局Handler 一般一个app只需要定义一个Handler就搞定了
*/
private static Handler handler;
@Override
public void onCreate() {
super.onCreate();
}
public static Context getContext() {
return context;
}
public static Handler getHandler() {
return handler;
}
}