package com.lotaai.canguiayw.application;
|
|
import android.app.Activity;
|
import android.app.Application;
|
import android.database.sqlite.SQLiteDatabase;
|
import android.os.Bundle;
|
import android.util.Log;
|
|
import com.lotaai.canguiayw.logger.LoggerInit;
|
import com.lotaai.canguiayw.sqllitedb.DaoMaster;
|
import com.lotaai.canguiayw.sqllitedb.DaoSession;
|
|
public class App extends Application {
|
private final String TAG = "ActivityLifecycle: ";
|
private static App mTestActivityLifecycleApplcation;
|
private int mActivityCount = 0;
|
public static DaoSession mSession;
|
public static App app;
|
@Override
|
public void onCreate() {
|
super.onCreate();
|
app=this;
|
//初始化本地sqllite数据库
|
initDb();
|
//捕捉崩溃的日志
|
/* CrashManager crashManager = CrashManager.getInstance();
|
crashManager.init(getApplicationContext());*/
|
mTestActivityLifecycleApplcation = new App();
|
//初始化日志
|
LoggerInit.init();
|
registerActivityLifecycleCallbacks(new Application.ActivityLifecycleCallbacks() {
|
@Override
|
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
|
Log.d(TAG,activity.getLocalClassName() + " onActivityCreated");
|
}
|
|
@Override
|
public void onActivityStarted(Activity activity) {
|
Log.d(TAG,activity.getLocalClassName() + " onActivityStarted");
|
mActivityCount++;
|
}
|
|
@Override
|
public void onActivityResumed(Activity activity) {
|
Log.d(TAG,activity.getLocalClassName() + " onActivityResumed");
|
}
|
|
@Override
|
public void onActivityPaused(Activity activity) {
|
Log.d(TAG,activity.getLocalClassName() + " onActivityPaused");
|
}
|
|
@Override
|
public void onActivityStopped(Activity activity) {
|
Log.d(TAG,activity.getLocalClassName() + " onActivityStopped");
|
mActivityCount--;
|
if(0 == mActivityCount) {
|
// String isTabbar = CacheUtils.getString(getApplicationContext(),CacheUtils.checkTabbar);
|
//// String tt= CacheUtils.getString(getApplicationContext(),CacheUtils.showDaohangKey);
|
// if ("0".equals(isTabbar.trim())){
|
// AppUtils.execCmd("chmod 777 "+getPackageCodePath());
|
// AppUtils.execCmd("reboot");
|
// }
|
}
|
}
|
|
@Override
|
public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
|
Log.d(TAG,activity.getLocalClassName() + " onActivitySaveInstanceState");
|
}
|
|
@Override
|
public void onActivityDestroyed(Activity activity) {
|
Log.d(TAG,activity.getLocalClassName() + " onActivityDestroyed");
|
}
|
});
|
}
|
|
public static App getInstance( ) {
|
if (null == mTestActivityLifecycleApplcation) {
|
mTestActivityLifecycleApplcation = new App();
|
}
|
return mTestActivityLifecycleApplcation;
|
}
|
|
public int getActivityCount( ) {
|
return mActivityCount;
|
}
|
|
/**
|
* 连接数据库并创建会话
|
*/
|
public void initDb() {
|
// 1、获取需要连接的数据库
|
DaoMaster.DevOpenHelper devOpenHelper = new DaoMaster.DevOpenHelper(this, "lotaaicangui.db");
|
SQLiteDatabase db = devOpenHelper.getWritableDatabase();
|
// 2、创建数据库连接
|
DaoMaster daoMaster = new DaoMaster(db);
|
// 3、创建数据库会话
|
mSession = daoMaster.newSession();
|
}
|
|
// 供外接使用
|
public DaoSession getDaoSession() {
|
return mSession;
|
}
|
}
|