package com.king.tv; import android.app.Application; import android.content.Context; import android.support.multidex.MultiDex; import com.king.base.util.LogUtils; import com.king.thread.nevercrash.NeverCrash; import com.king.tv.dao.greendao.DaoMaster; import com.king.tv.dao.greendao.DaoSession; import com.king.tv.di.component.AppComponent; import com.king.tv.di.component.DaggerAppComponent; import com.king.tv.di.module.AppModule; import com.tencent.bugly.Bugly; import com.tencent.bugly.beta.Beta; import com.tencent.bugly.crashreport.CrashReport; /** * @author Jenly <a href="mailto:jenly1314@gmail.com">Jenly</a> * @since 2017/2/13 */ public class App extends Application { private static final String BUGLY_ID = "28aeafeef1"; private DaoMaster.DevOpenHelper mHelper; private DaoSession mDaoSession; private AppComponent mAppComponent; @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(base); Beta.installTinker(); } @Override public void onCreate() { super.onCreate(); initDatabase(); // 调试时,将第三个参数改为true Bugly.init(this,BUGLY_ID,false); mAppComponent = DaggerAppComponent.builder().appModule(new AppModule(this,Constants.BASE_URL)).build(); NeverCrash.init(new NeverCrash.CrashHandler() { @Override public void uncaughtException(Thread t, Throwable e) { CrashReport.postCatchedException(e); } }); } public void initDatabase(){ mHelper = new DaoMaster.DevOpenHelper(this,"tv-db",null); DaoMaster daoMaster = new DaoMaster(mHelper.getWritableDatabase()); mDaoSession = daoMaster.newSession(); } public AppComponent getAppCommponent(){ return mAppComponent; } public DaoSession getDaoSession(){ return mDaoSession; } }