2

我必须为我的大学课程作业创建一个小型 android 应用程序,它提出 10 个数学问题并从用户那里获取答案来计算分数。

该程序应该有一个带有“新游戏”按钮和“继续”按钮的主屏幕。

如果用户按下继续按钮,我如何编程以在应用程序运行期间保存数据并从存储的位置检索它们以从该点继续?(我应该为这样的任务寻找什么样的方法?)

提前致谢。

4

4 回答 4

1

只需使用偏好来存储和检索代码中的值。这里是代码片段

//Set Preference
SharedPreferences myPrefs = getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
SharedPreferences.Editor prefsEditor;  
prefsEditor = myPrefs.edit();  
prefsEditor.putString("REFKEY", valuetobestored);
prefsEditor.commit();

//Get Preferenece  
SharedPreferences myPrefs;  
myPrefs = getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
String output=myPrefs.getString("REFKEY", "");
于 2012-03-14T04:22:18.313 回答
0

这取决于您要存储的数据类型。如果它真的很基本,您可能希望将它们作为名称值对存储在onSaveInstanceState方法中或作为PreferencesonPause方法中,如果它有点复杂,您可能希望存储在SQLiteDB中。

导游说_

onSaveInstanceState(Bundle) 方法在将 Activity 置于这样的后台状态之前被调用,允许您将 Activity 中的任何动态实例状态保存到给定的 Bundle 中,如果需要,稍后在 onCreate(Bundle) 中接收该 Activity重新创建。有关流程的生命周期如何与其托管的活动相关联的更多信息,请参阅流程生命周期部分。请注意,将持久数据保存在 onPause() 而不是 onSaveInstanceState(Bundle) 中很重要,因为后者不是生命周期回调的一部分,因此不会在其文档中描述的所有情况下都被调用。

这是您在 onSaveInstanceState 中保存数据的方式:使用 Save Instance State 保存 Android Activity 状态

这是在首选项中保存数据的方法:使数据在 android 中持久化

于 2012-03-14T04:24:00.507 回答
0

只需使用 SharedPreferences。查看此链接以获取更多详细信息。2一大早给你举个我自己的例子:P

如何从 Android 中的 PreferenceActivity 获取 SharedPreferences?

只要应用程序安装在设备上,首选项就会持续存在。如果你删除一个,它也会删除它们。

您可能想知道的另一件很酷的事情是,如果您想检查您的应用程序是否处于首次运行状态,那么只需检查设备上存储(或未存储在第一次运行时)的布尔值。:) 如果没有(它将返回默认值),那么只需将其值更改为 true 或其他内容,因为您每次运行应用程序时都会检查它,您会知道这不是第一次运行 :)

希望这会有所帮助,干杯。

于 2012-03-14T04:29:05.900 回答
0

可能这不是最好的解决方案..但这是获得所需功能的一种方式..在单击继续按钮时输入此代码

finish();
                 Intent k=new Intent(youractivitytivity.this,youractivity.class);
k.putExtra("qno",x+1)<---- next question number to appear on screen(x is the present question number)
k.putExtra("score",bool)<--- if the answer is right or wrong)
                 startActivity(k);

然后在创建您的活动时.. 获取额外内容并检查您必须显示哪个问题...我认为您有 10 个问题的数组..

于 2012-03-14T04:37:19.933 回答