如何解决Android保存并加载firstrun状态
| 在我的应用程序中,当用户单击按钮时,会播放男性或女性声音。我想要这样:如果首先播放男性声音,然后在其他点击/运行时也播放男性声音。因此,从来没有女性声音。如果首先播放女性声音,则在其他单击/运行时也播放女性声音。我的意思不是仅单击按钮,而是每次用户打开应用程序时。 这是我的随机播放代码: randNem = new Random();
nem = randNem.nextInt(2)+0;
NameButton = (Button)findViewById(R.id.Button01);
NameButton.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
if (nem == 0)
{
mp = MediaPlayer.create(Main.this,R.raw.hellomyfriend_amy);
mp.start();
mp.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mp.release();
NameButton.setEnabled(true);
}
});
}
else if (nem == 1)
{
mp = MediaPlayer.create(Main.this,R.raw.hellomyfriend_joey);
mp.start();
mp.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mp.release();
NameButton.setEnabled(true);
}
});
}
}
});
解决方法
如果我理解正确,那么您希望将状态存储在应用程序中,该状态在重新启动后仍然存在。共享首选项似乎很适合此操作。
您可以执行以下操作:
检查您的共享首选项是否在按键PREF_VOICE下存储了男性/女性声音。
如果PREF_VOICE为空,则启动随机数发生器,并将结果(男性或女性)存储在PREF_VOICE首选项中。
从那时起,请始终从共享首选项中检索声音(男性/女性)。
重新启动应用程序时,无需运行随机发生器,因为PREF_VOICE将包含上次使用的声音(男性/女性)。
有关共享首选项的更多信息,可以在这里找到:
http://developer.android.com/guide/topics/data/data-storage.html#pref
, 通过使用共享的首选项(它将节省计数),您可以计算应用程序打开的次数,现在对于男性的奇数修复,甚至对于女性的修复,这都可以解决您的应用程序每次出现的问题开始,它将知道要播放哪个声音。好吧,我希望这可以对您有所帮助,谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。