2012-03-14 29 views
2

我必须为我的大学课程作品创建一个小型的Android应用程序,其中呈现10个数学问题并从用户处获得答案以计算得分。如何保存和检索android应用程序上次运行的数据?

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

如何编程以在应用程序运行期间保存数据,如果用户按下继续按钮,则从存储位置检索以继续从该位置继续? (我应该看什么样的方法来完成这样的任务?)

在此先感谢。

+0

这将帮助你: http://stackoverflow.com/questions/9529302/what -is-more-efficient-static-data-passing-shared-preferences-database/9529787#9529787 – 2012-03-14 04:28:15

回答

1

只需使用优先于code.Here存储和检索值是片段

//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", ""); 
+0

谢谢。我通过使用这种方法得到了它的工作。 – 2012-03-14 16:09:32

0

这取决于你要存储的数据类型。如果它非常基本,那么您需要将它们作为名称值对存储在onSaveInstanceState方法中或作为Preferences存储在onPause方法中,如果它稍微复杂一些,则可能需要将其存储在SQLiteDB中。

guide

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

这是你如何在保存的onSaveInstanceState数据:Saving Android Activity state using Save Instance State

这就是你可以在首选项保存数据:Making data persistent in android

0

只需使用SharedPreferences。查看此链接了解更多详情。 2日一早给你我自己的例子:P

How do I get the SharedPreferences from a PreferenceActivity in Android?

偏好持续,只要把应用程序安装在设备上。如果删除了一个,它也会删除它们。

如果要检查,如果您的应用程序是在它的第一次运行,永远,那么只需选中一个布尔值存储(或不存储在第一次运行)的设备上,你可能会想知道,另一个很酷的事情。 :)如果没有一个(它会返回默认值),那么只需将它的值更改为true或其他值,并且每次运行应用程序时都会检查它,您会知道这不是第一次运行:)

希望这会有所帮助,欢呼声。

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个问题的数组..

相关问题