Shared Preferences Veri Ekleme
Merhaba,
Android ile bir radyo uygulaması yazdım. Radyodan çıkıldığında çalma işleminin devam etmesi için bir android service yazdım. Uygulamadan geri tuşu ile çıkıldığında "Shared Preferences" içerisine "Pause" şeklinde bir veri ekliyorum ve radyo çalışmaya devam ediyor. Uygulama tekrar açıldığında "Shared Preferences" içerisine eklediğim verinin değerine göre "Play" ya da "Pause" butonunu görüntülüyorum. Uygulama sorunsuz şekilde çalışıyor. Uygulama son uygulamaların listelendiği kısımdan kapatılırsa "Shared Preferences" içerine veri ekleyemediğim için(veri ekleme işini yazmış olduğum android service içerisinde yapıyorum) uygulamaya tekrar giriş yaptığımda "pause" butonu gözüküyor.
Yazmış olduğum android servis kodu aşağıdaki gibidir. Yardımlarınızı bekliyorum.
public class RadioService extends Service {
private MediaPlayer player;
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onDestroy() {
stopPlaying();
}
@Override
public void onTaskRemoved(Intent rootIntent) {
stopPlaying();
}
@Override
public void onStart(Intent intent, int startId) {
initializeMediaPlayer();
startPlaying();
}
private void initializeMediaPlayer() {
player = new MediaPlayer();
try {
player.setDataSource(url);
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
player.setOnBufferingUpdateListener(new OnBufferingUpdateListener() {
public void onBufferingUpdate(MediaPlayer mp, int percent) {
Log.i("Buffering", "" + percent);
}
});
}
private void startPlaying() {
player.prepareAsync();
player.setOnPreparedListener(new OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
player.start();
}
});
}
private void stopPlaying(){
if (player.isPlaying()){
player.stop();
player.release();
initializeMediaPlayer();
}
}
}