Android Open Source - android-mvc-framework Install App F W Base Activity






From Project

Back to project page android-mvc-framework.

License

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.

Java Source Code

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??????????????


    }

}




Java Source Code List

com.android_mvc.framework.activities.CommonActivityUtil.java
com.android_mvc.framework.activities.IBaseActivity.java
com.android_mvc.framework.activities.base.BaseMapActivity.java
com.android_mvc.framework.activities.base.BaseNormalActivity.java
com.android_mvc.framework.activities.base.BaseTabHostActivity.java
com.android_mvc.framework.activities.installation.InstallAppFWBaseActivity.java
com.android_mvc.framework.annotations.SuppressDebugLog.java
com.android_mvc.framework.common.AbstractAppSettings.java
com.android_mvc.framework.common.BaseUtil.java
com.android_mvc.framework.common.FWUtil.java
com.android_mvc.framework.controller.BaseController.java
com.android_mvc.framework.controller.ControlFlowDetail.java
com.android_mvc.framework.controller.action.ActionResult.java
com.android_mvc.framework.controller.action.BLExecutor.java
com.android_mvc.framework.controller.action.BaseAction.java
com.android_mvc.framework.controller.routing.IntentPortable.java
com.android_mvc.framework.controller.routing.Router.java
com.android_mvc.framework.controller.routing.RoutingTable.java
com.android_mvc.framework.controller.routing.TabContentMapping.java
com.android_mvc.framework.controller.validation.ActivityParams.java
com.android_mvc.framework.controller.validation.BaseValidationsUtil.java
com.android_mvc.framework.controller.validation.NumberComparator.java
com.android_mvc.framework.controller.validation.ValidationExecutor.java
com.android_mvc.framework.controller.validation.ValidationResult.java
com.android_mvc.framework.db.DBHelper.java
com.android_mvc.framework.db.dao.BaseDAO.java
com.android_mvc.framework.db.dao.BaseDBDAO.java
com.android_mvc.framework.db.dao.BasePrefDAO.java
com.android_mvc.framework.db.dao.FWPrefDAO.java
com.android_mvc.framework.db.dao.Finder.java
com.android_mvc.framework.db.dao.IFWDAO.java
com.android_mvc.framework.db.entity.BaseLogicalEntity.java
com.android_mvc.framework.db.schema.AbstractSchemaDefinition.java
com.android_mvc.framework.db.schema.RDBColumn.java
com.android_mvc.framework.db.schema.RDBSchema.java
com.android_mvc.framework.db.schema.RDBTable.java
com.android_mvc.framework.db.transaction.todo.TxnListener.java
com.android_mvc.framework.db.transaction.todo.TxnScope.java
com.android_mvc.framework.net.HttpPostRequest.java
com.android_mvc.framework.net.HttpPostResponse.java
com.android_mvc.framework.net.old.HttpPostHandler.java
com.android_mvc.framework.net.old.HttpPostTask.java
com.android_mvc.framework.task.AsyncTasksRunner.java
com.android_mvc.framework.task.RunnerFollower.java
com.android_mvc.framework.task.SequentialAsyncTask.java
com.android_mvc.framework.ui.UIBuilder.java
com.android_mvc.framework.ui.UIUtil.java
com.android_mvc.framework.ui.menu.OptionMenuBuilder.java
com.android_mvc.framework.ui.menu.OptionMenuDescription.java
com.android_mvc.framework.ui.tab.TabDescription.java
com.android_mvc.framework.ui.tab.TabHostBuilder.java
com.android_mvc.framework.ui.view.IFWView.java
com.android_mvc.framework.ui.view.MButton.java
com.android_mvc.framework.ui.view.MCheckBox.java
com.android_mvc.framework.ui.view.MEditText.java
com.android_mvc.framework.ui.view.MLinearLayout.java
com.android_mvc.framework.ui.view.MTextView.java
com.android_mvc.sample_project.activities.func_db.DBEditActivity.java
com.android_mvc.sample_project.activities.func_db.DBListActivity.java
com.android_mvc.sample_project.activities.func_db.SampleTabHostActivity.java
com.android_mvc.sample_project.activities.func_net.HttpNetActivity.java
com.android_mvc.sample_project.activities.installation.InstallAppActivity.java
com.android_mvc.sample_project.activities.installation.InstallCompletedActivity.java
com.android_mvc.sample_project.activities.installation.lib.InstallAppUserBaseActivity.java
com.android_mvc.sample_project.activities.main.TopActivity.java
com.android_mvc.sample_project.common.AppSettings.java
com.android_mvc.sample_project.common.Util.java
com.android_mvc.sample_project.controller.FuncDBController.java
com.android_mvc.sample_project.controller.FuncDBValidation.java
com.android_mvc.sample_project.controller.FuncNetController.java
com.android_mvc.sample_project.controller.FuncNetValidation.java
com.android_mvc.sample_project.controller.MainController.java
com.android_mvc.sample_project.controller.util.ValidationsUtil.java
com.android_mvc.sample_project.db.dao.FriendDAO.java
com.android_mvc.sample_project.db.dao.PrefDAO.java
com.android_mvc.sample_project.db.dao.todo.HogeDAO.java
com.android_mvc.sample_project.db.entity.Friend.java
com.android_mvc.sample_project.db.entity.lib.LogicalEntity.java
com.android_mvc.sample_project.db.schema.SchemaDefinition.java
com.android_mvc.sample_project.domain.DBDeleteAction.java
com.android_mvc.sample_project.domain.DBEditAction.java
com.android_mvc.sample_project.domain.DBUpdateAction.java
com.android_mvc.sample_project.domain.HttpNetAction.java