如何在Android应用中锁定关卡

时间:2015-05-12 08:12:07

标签: android

我正在Android中开发一个测验应用程序。在我的应用程序中,我有类别,我在每个类别中添加了级别。 现在我需要锁定除第一个类别之外的所有类别。只有在他/她完成关卡的特定目标后,用户才能解锁类别。我不知道如何在Android中锁定类别。类别以按钮的形式出现。通过使用以下我填写列表并传递三个类别,即好莱坞,宝莱坞和音乐。

hollywood = (Button) findViewById(R.id.main_hollywood);
    Typeface tf = Typeface.createFromAsset(getContext().getAssets(),
            "Font/game_font.ttf");
    hollywood.setTypeface(tf);
    OnClickListener listener = new OnClickListener() {

        @Override
        public void onClick(View v) {
            settings.edit().putBoolean("check", false).commit();
            Intent intent = new Intent(getContext(), SceneActivity.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

            startActivity(intent);
            finish();
        }
    };
    hollywood.setOnClickListener(listener);


    bollywood = (Button) findViewById(R.id.main_bollywood);
    tf = Typeface.createFromAsset(getContext().getAssets(),
            "Font/game_font.ttf");
    bollywood.setTypeface(tf);
    listener = new OnClickListener() {

        @Override
        public void onClick(View v) {
            settings.edit().putBoolean("check", false).commit();
            Intent intent = new Intent(getContext(), SceneActivity1.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

            startActivity(intent);
            finish();
        }
    };
    bollywood.setOnClickListener(listener);
    music = (Button) findViewById(R.id.main_music);
    tf = Typeface.createFromAsset(getContext().getAssets(),
            "Font/game_font.ttf");
    music.setTypeface(tf);
    listener = new OnClickListener() {

        @Override
        public void onClick(View v) {
            settings.edit().putBoolean("check", false).commit();
            Intent intent = new Intent(getContext(), SceneActivity2.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

            startActivity(intent);
            finish();
        }
    };
    music.setOnClickListener(listener);


}

1 个答案:

答案 0 :(得分:1)

有两种方法可以解决这个问题

  1. 在您可以处理情况的应用程序中使用shared preference

  2. 使用sqlite数据库并相应地更新列

  3. 如果您需要更多信息,请告诉我

    对于共享偏好设置,您可以使用TinyDb

    此类简化了对一行代码中对SharedPreferences的调用。它还可以更像:保存字符串,整数和保存图像的列表。全部在一行代码中!

    使用示例:

        TinyDB tinydb = new TinyDB(context);
    
        tinydb.putInt("clickCount", 2);
        tinydb.putFloat("xPoint", 3.6f);
         tinydb.putLong("userCount", 39832L);
    
        tinydb.putString("userName", "john");
        tinydb.putBoolean("isUserMale", true); 
    
        tinydb.putList("MyUsers", mUsersArray);
        tinydb.putImagePNG("DropBox/WorkImages", "MeAtlunch.png", lunchBitmap);
    

    //这些以及相应的get方法都包含在内 这只是一个简单易用的例子。这个类中还包含许多有用的方法。享受:)