Android保存并加载firstrun状态

时间:2011-05-30 08:20:24

标签: android

在我的应用中,当用户点击按钮时,会播放男声或女声。我想要这个:如果在第一次运行时播放了男性声音,那么在其他点击/运行中也会播放男性声音。所以没有女声。如果在第一次运行时播放了女性声音,那么在其他点击/跑步时也会播放女性声音。我并不是说只需单击按钮,我的意思是每次用户打开应用程序时。

这是我的随机化和播放代码:

    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);
              }

                 });

             }


        }

    });

2 个答案:

答案 0 :(得分:1)

如果我理解正确,您希望将应用程序中的状态存储在重新启动后仍然存在。共享偏好似乎是一个理想的选择。

您可以执行以下操作:

  1. 如果男性/女性声音存储在键PREF_VOICE下,请检查您的共享首选项。
  2. 如果PREF_VOICE为空,请启动随机数发生器,并将结果(男性或女性)存储在PREF_VOICE首选项中。
  3. 从那时起,始终从共享偏好中检索语音(男/女)。
  4. 当您重新启动应用程序时,无需运行随机数发生器,因为PREF_VOICE将包含上次使用的语音(男/女)。

    有关共享首选项的更多信息,请访问:

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

答案 1 :(得分:0)

通过使用共享首选项(它将保存计数),您可以计算您的应用程序打开的次数,现在为奇怪的修复男性,甚至为女性修复它,这可以解决您的每次问题您的应用程序将启动,然后它将知道要播放的语音。我希望这可以帮助你一点,谢谢