Android Java:如何让您的应用记住答案

时间:2013-03-07 21:57:20

标签: java android xml database

我正在我的Android手机上做一个测验应用程序,我现在很长时间都在努力解决问题,因为我不知道如何继续。我的测验应用程序的目标是让用户听一个声音并猜出它的名字是什么。所以你必须在文本框中输入你的答案。如果输入错误的答案,可以再试一次。如果您输入正确的答案,应用程序必须记住您键入了正确的答案。因此,如果您完成了一个问题,然后您将返回该问题页面,您将看到您输入的正确答案。

我的应用程序可以检查您输入的答案,但我的问题是您是否必须创建一个完整的数据库才能让应用程序记住您的答案?这可能在申请表上吗?

我希望有人可以帮助我解决我的问题,因为我不熟悉java并制作应用程序......

4 个答案:

答案 0 :(得分:3)

您可以轻松地使用SharedPreferences。

只需保存一个布尔值即可将问题标记为已回答。 例如:

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
preferences.edit().putBoolean("Question_ID", true).commit();

http://developer.android.com/reference/android/content/SharedPreferences.Editor.html

答案 1 :(得分:1)

您可以在Android上存储以下选项:http://developer.android.com/guide/topics/data/data-storage.html

如果你有大量的测验问题,那么毫无疑问你应该使用SQLite。

但是,如果您的问题数量较少,那么将数据作为CSV存储到文件中或使用SharedPreferences可能是最简单可行的解决方案,可以帮助您前往功能性应用程序。

答案 2 :(得分:0)

http://developer.android.com/guide/topics/data/data-storage.html

您可以使用简单文件,共享首选项或数据库。阅读上面链接的页面。它拥有您需要的一切,包括示例代码和出色的解释。

答案 3 :(得分:0)

如果您的问题是有序的 - 它们应该是,即使您是随机呈现它们,因为您从某些流中读取它们或者在应用程序启动时将它们放在某个数组中 - 那么用户的答案可以采用相同的顺序,以及你的程序的问题“用户是否做到了这一点?” (以及测试软件可能会问自己的许多其他有用的问题)只是简单地回答:#问题是这个,内部?哦,它是42.那么userGotItRight [42]是真还是假?

userGotItRight []是一个布尔数组,可以毫不费力地保存在单个SharedPreference中。

您不需要SQL。您确定不需要1:1的问题映射到SharedPreference键。随着程序的发展,你可以存储一个进化的可序列化对象数组而不是一个布尔数组,或者你可能每个问题库都有一个偏好。