Back to project page android-mvc-framework.
The source code is released under:
Apache License
If you think the Android project android-mvc-framework listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package com.android_mvc.framework.activities.installation; /*from w w w . ja v a 2 s. c o m*/ import com.android_mvc.framework.activities.base.BaseNormalActivity; import com.android_mvc.framework.common.FWUtil; import com.android_mvc.framework.common.AbstractAppSettings; import com.android_mvc.framework.db.dao.FWPrefDAO; import com.android_mvc.framework.db.dao.IFWDAO; import com.android_mvc.framework.db.DBHelper; import com.android_mvc.framework.task.AsyncTasksRunner; import com.android_mvc.framework.task.SequentialAsyncTask; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; /** * ?????????????????????? * @author id:language_and_engineering * */ public abstract class InstallAppFWBaseActivity extends BaseNormalActivity { /** * ???????????????FW???????????????????????? */ private IFWDAO fwDAO = new FWPrefDAO(); /** * ???????????????????????????????FW??????????? * ??DI???????????????????????????FW???????????????? */ protected abstract void injectAppInfoIntoFW(); /** * ????????????? */ protected abstract void init_db_preferences(); /** * DB???????? */ protected abstract void init_db_schema(); /** * DB????????????? * @param db */ protected abstract void init_db_data(SQLiteDatabase db); /** * ?????????????????? */ protected abstract void init_etc(); /** * ????????????????????? */ protected abstract void onInstallCompleted(); /** * ?????????????????????? */ protected abstract void onInstallSkipped(); @Override public void onCreate(Bundle savedInstanceState) { // NOTE:????????onCreate?????????????????????? // ????????????????????????????????????? injectAppInfoIntoFW(); // NOTE: FW??????????????????????????? // ??????????????????????????????????????????? // FW????????????????????????????????? clear_prefs_if_required(); // ????????????????DB?? clear_rdb_if_required(); super.onCreate(savedInstanceState); // TODO: ??????????? // ???? if( requires_installation( this ) ) { // ??????????????????? executeDefaultInstallationProcessAsync(); } else { onInstallSkipped(); } } /** * ???????????????????????????????? * ???????????????????????????????????????????????? */ private void clear_prefs_if_required() { if( FWUtil.mustClearPrefsForDebug() ) { FWUtil.d("???????????????????????????????"); fwDAO.deleteAll(this); } else { FWUtil.d("?????????????????????????"); } } /** * ????????????????RDB????????? * ????????????????? */ private void clear_rdb_if_required() { if( FWUtil.mustClearPrefsForDebug() ) { FWUtil.d("RDB????????????????????????"); new DBHelper(this).deleteDB(); } else { FWUtil.d("RDB??????????????????"); } } /** * ????????????????????????????? */ private boolean requires_installation(Context context) { // DIARY: ?????????!??????????????????require???completed???????????????????????? return ! fwDAO.getFWInstallCompletedFlag(context); } /** * ???????????????????? */ private void executeDefaultInstallationProcessAsync() { FWUtil.d("??????????????"); final Context context = this; new AsyncTasksRunner( new SequentialAsyncTask[]{ new SequentialAsyncTask(){ @Override protected boolean main() { // ???????????? init_db_preferences(); // DB????? // TODO:DAO?????? init_db_schema(); SQLiteDatabase db = new DBHelper(context).getWritableDatabase(); init_db_data( db ); db.close(); // ?????????????? init_etc(); // ???????????? fwDAO.updateFWInstallCompletedFlag( context, true ); FWUtil.d("??????????????"); // ?????????????????? onInstallCompleted(); return CONTINUE_TASKS; } } }).withSimpleDialog("????????????", this).begin(); } /** * ??????????AP??????????????????????FW?????????????????? */ protected void receiveAppInfoAsFW( AbstractAppSettings settings ) { // NOTE: FW?????????????????IAppSettings??????????????????????????????? // ????????static??????????????????????????? // ????static???????????AP????????????FW???????????????????????????????????? // ???????????? FWUtil.initAppTag( settings.getAppTagForLog() ); // ??????????? FWUtil.initDebuggingMode( settings.isDebuggingFlag() ); // ????????????????????? FWUtil.setForgetPrefOnDebug( settings.isForgetPrefsOnDebug() ); // ???RDB??????????? FWUtil.setForgetRdbOnDebug( settings.isForgetRdbOnDebug() ); // RDB?????????? DBHelper.setDB_NAME( settings.getDbName() ); // RDB???????????? DBHelper.setDB_FULLPATH( settings.getDbFullpath() ); // TODO:????AP??????????FW?????????????? } }