2011-05-30 86 views
0

在我的應用程序中,當用戶單擊按鈕時,播放男聲或女聲。我想要這樣:如果在第一次運行時發出男性聲音,那麼在其他點擊/運行中也會播放男性聲音。所以沒有女性的聲音。如果在第一次運行時播放了女性聲音,則在其他點擊/運行中也會播放女性聲音。我不是說只需點擊按鈕,我的意思是每次用戶打開應用程序。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); 
       } 

       }); 

      } 


     } 

    }); 

回答

1

如果我理解正確的,你要存儲在您的應用程序重新啓動後仍然存在的狀態。共享首選項似乎是一個理想的選擇。

你可以做到以下幾點:

  1. 檢查你的共享偏好,如果一個男性/女性的聲音是關鍵PREF_VOICE下儲存。
  2. 如果PREF_VOICE爲空,請啓動隨機數發生器,並將結果(男性或女性)存儲在PREF_VOICE首選項中。
  3. 從此,始終從共享偏好中檢索語音(男性/女性)。

當您重新啓動應用程序時,無需運行隨機程序,因爲PREF_VOICE將包含上次使用的語音(男性/女性)。

共享首選項

更多信息可以在這裏找到:使用共享偏好(這將節省數)你可以指望的時候你的應用程序已經開啓數

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

0

,現在的奇怪的修復男性,甚至修復它的女性,這可以解決你的問題,每次你的應用程序將開始,那麼它會知道要播放的聲音。以及我希望這可以幫助你一點,謝謝