多项选择的测验应用程序
Posted
技术标签:
【中文标题】多项选择的测验应用程序【英文标题】:quiz app which is mutiple choice 【发布时间】:2015-09-10 00:29:12 【问题描述】:我有一些活动,每个活动都是一个问题,最后一个活动将向用户显示分数。我该怎么做呢?谁能教我或举一些例子作为参考?
如何存储每个问题的分数,然后在最后一个活动中显示总分?我不知道如何为此编写代码。谁能教教我?
【问题讨论】:
单例有两个变量正确答案,错误答案。将所有正确的问题编号存储在正确的变量中,错误的存储在错误的变量中。并据此计算。使用 sharedpreferences、bundle、intent、sqlite 等 如何使用共享首选项。我不熟悉使用共享首选项。如何给我看一些例子?谢谢 【参考方案1】:您可以声明任何全局变量并为所有正确答案增加它。
当您的测验完成后,您可以将该变量传递给将显示结果的新活动。
前-
int 分数; 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");
希望对你有帮助……
【讨论】:
【参考方案2】:创建共享首选项
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 数据
// 如果键的值不存在,则返回第二个参数值 - 在这种情况下为 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
【讨论】:
以上是关于多项选择的测验应用程序的主要内容,如果未能解决你的问题,请参考以下文章