我最近编写了一个 Android 应用程序。这只是一个简单的应用程序,可让您通过几个简单的计数间隔来记录篮球比赛的得分。我收到添加保存功能的要求,这样您就可以保存您的分数,然后将其加载回来。目前,当您停止应用程序时,您的数据就会丢失。所以我想知道的是我必须添加什么才能让应用程序保存标签(分数)然后将其加载回来。谢谢各位,抱歉我对这个东西了解不多。
你有两个选择,我将让你选择。
-
共享偏好设置
这是 Android 独有的框架,允许您存储原始值(例如int
, boolean,
and String
,虽然严格来说String
不是键值框架中的原语)。这意味着您为一个值指定一个名称,例如“homeScore”,并将该值存储到该键中。
SharedPreferences settings = getApplicationContext().getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putInt("homeScore", YOUR_HOME_SCORE);
// Apply the edits!
editor.apply();
// Get from the SharedPreferences
SharedPreferences settings = getApplicationContext().getSharedPreferences(PREFS_NAME, 0);
int homeScore = settings.getInt("homeScore", 0);
-
内部存储器
在我看来,这就是您可能正在寻找的。您可以将任何想要的内容存储到文件中,因此这为您提供了更大的灵活性。然而,这个过程可能会比较棘手,因为所有内容都将存储为字节,这意味着您必须小心保持读写过程协同工作。
int homeScore;
byte[] homeScoreBytes;
homeScoreBytes[0] = (byte) homeScore;
homeScoreBytes[1] = (byte) (homeScore >> 8); //you can probably skip these two
homeScoreBytes[2] = (byte) (homeScore >> 16); //lines, because I've never seen a
//basketball score above 128, it's
//such a rare occurance.
FileOutputStream outputStream = getApplicationContext().openFileOutput(FILENAME, Context.MODE_PRIVATE);
outputStream.write(homeScoreBytes);
outputStream.close();
现在,您还可以查看外置储存 http://developer.android.com/guide/topics/data/data-storage.html#filesExternal,但我不建议在这种特殊情况下这样做,因为外部存储稍后可能不存在。 (注意,如果选择此项,则需要许可)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)