测验应用程序是多方面的选择

时间:2015-06-24 00:44:05

标签: android eclipse android-intent android-activity

我有一些活动,每个活动都是一个问题,最后一个活动会向用户显示分数。我该怎么做呢?任何人都可以教我或举一些例子作为参考吗?

如何存储每个问题的分数,然后显示上一个活动的总分?我不知道如何为此编写代码。有人可以教我吗?

2 个答案:

答案 0 :(得分:1)

您可以声明任何全局变量,并为所有正确答案递增它。

当您的测验完成后,您可以将该varibale传递给将显示结果的新活动..

代表前 -

int score; QuizActivity.java

  Intent it = new Intent(QuizActivity.this, AnswersActivity.class);
  it.putIntExtra("Score",score);
  StartActivity(it);

AnswersActivty.java

Intent it = getIntent();
int score = it.getIntExtra("Score");

我希望这会对你有帮助......

答案 1 :(得分:0)

创建SharedPreferences

SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", MODE_PRIVATE); 
Editor editor = pref.edit();

将数据存储为KEY / VALUE对

editor.putBoolean("key_name1", true);           // Saving boolean - true/false
editor.putInt("key_name2", "int value");        // Saving integer
editor.putFloat("key_name3", "float value");    // Saving float
editor.putLong("key_name4", "long value");      // Saving long
editor.putString("key_name5", "string value");  // Saving string

// Save the changes in SharedPreferences
editor.commit(); // commit changes

获取SharedPreferences数据

//如果key的值不存在则返回第二个参数值 - 在这种情况下为null或""

pref.getBoolean("key_name1", null);         // getting boolean
pref.getInt("key_name2", null);             // getting Integer
pref.getFloat("key_name3", null);           // getting Float
pref.getLong("key_name4", null);            // getting Long
pref.getString("key_name5", null);          // getting String

从SharedPreferences中删除键值

editor.remove("key_name3"); // will delete key key_name3
editor.remove("key_name4"); // will delete key key_name4

// Save the changes in SharedPreferences
editor.commit(); // commit changes

清除SharedPreferences中的所有数据

 editor.clear();
 editor.commit(); // commit changes