我应该从 onCreate 还是 onResume 中的 sharedpreferences 加载值

我将 textview 值存储在 sharedpreferences 中,但不确定在 oncreate 或 onresume 中加载它们?


当用户关闭应用程序然后再次打开它时,我想再次显示这些值。


StorageUtil 是一个管理我的共享首选项的类。


我想将seekbar 值存储在sharedpreferences 中。


搜索栏值


  mSeekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {

        @Override

        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {

            StorageUtil storageUtil = new StorageUtil(getApplicationContext());

            if (mediaPlayer != null && fromUser){

                lastSeekbarPos = progress;

                mSeekbarProgress = progress * 1000;

                mediaPlayer.seekTo(mSeekbarProgress);

            }

            //Store last SeekBar position in mSharedPreferences

            storageUtil.storeSeekbarProgress(lastSeekbarPos);

        }


        @Override

        public void onStartTrackingTouch(SeekBar seekBar) {

        }


        @Override

        public void onStopTrackingTouch(SeekBar seekBar) {

        }

    });


  songList = storageUtil.getSongs();

  songIndex = storageUtil.loadSongIndex();

  lastSeekbarPos = storageUtil.loadSeekbarProgress();


  if (songList != null && !songList.isEmpty() && songIndex != -1){

        lastSeekbarPos = storageUtil.loadSeekbarProgress();


        tvSongTitle.setText(songList.get(songIndex).getTitle());

        tvArtistName.setText(songList.get(songIndex).getArtist());

        mSeekbar.setProgress(lastSeekbarPos);

        loadAlbumArt();

        loadAlbumArtBottom();

        Log.i(TAG, "Data found in mSharedPreferences");

    }else{

        mSlideUpPanel.setPanelState(SlidingUpPanelLayout.PanelState.HIDDEN);

        tvSongTitle.setText("");

        tvArtistName.setText("");

    }

存储实用程序


public class StorageUtil {

  private final String STORAGE = "com.vince_mp3player.STORAGE";

  private SharedPreferences mSharedPreferences;

  private Context context;

  private SharedPreferences.Editor mEditor;


public StorageUtil(Context context){

    this.context = context;

}



守着一只汪
浏览 154回答 1
1回答

慕尼黑5688855

要么应该工作。onCreate() 如果 Activity 完全完成,即您从“最近”中关闭应用程序,则调用。onResume()也可以onCreate()在 Activity 重新进入前台后立即调用,即回家然后从“最近”打开应用程序。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java