diff --git a/UMC_6th/app/src/main/java/com/example/umc_6th/MainActivity.kt b/UMC_6th/app/src/main/java/com/example/umc_6th/MainActivity.kt index 482a2b0..2f6c8dc 100644 --- a/UMC_6th/app/src/main/java/com/example/umc_6th/MainActivity.kt +++ b/UMC_6th/app/src/main/java/com/example/umc_6th/MainActivity.kt @@ -3,6 +3,7 @@ package com.example.umc_6th import android.app.Activity import android.content.Context import android.content.Intent +import android.content.SharedPreferences import android.os.Bundle import android.util.Log import android.widget.Toast @@ -19,7 +20,6 @@ class MainActivity : AppCompatActivity() { private lateinit var binding: ActivityMainBinding private lateinit var resultLauncher: ActivityResultLauncher private lateinit var viewModel: HomeFragment.SharedViewModel - private lateinit var prefs: SharedPreferencesHelper private var song:Song = Song() private val songs = arrayListOf() @@ -32,6 +32,7 @@ class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityMainBinding.inflate(layoutInflater) + val prefs = getSharedPreferences("song", MODE_PRIVATE) setContentView(binding.root) @@ -77,21 +78,20 @@ class MainActivity : AppCompatActivity() { binding.layoutPlayContainer.setOnClickListener{ val editor = getSharedPreferences("song", MODE_PRIVATE).edit() - editor.putInt("songId",song.id) + editor.putInt("songId",songs[nowPos].id-1) editor.apply() val intent = Intent(this,SongActivity::class.java) startActivity(intent) } - prefs = SharedPreferencesHelper(this) } //문제없음.. override fun onStart() { super.onStart() - val spf = getSharedPreferences("song", MODE_PRIVATE) - val songId = spf.getInt("songId",0) + val prefs = getSharedPreferences("song", MODE_PRIVATE) + val songId = prefs.getInt("songId",0) val songDB = SongDatabase.getInstance(this)!! @@ -114,6 +114,7 @@ class MainActivity : AppCompatActivity() { override fun onResume() { super.onResume() updateFromSharedPrefs() // 추가적으로 UI 업데이트 + Log.d("MainActivityNextSongId", nowPos.toString()) } @@ -162,22 +163,32 @@ class MainActivity : AppCompatActivity() { } private fun playNextSong() { + val prefs = getSharedPreferences("song", MODE_PRIVATE) val songDB = SongDatabase.getInstance(this)!! - val currentSongId = prefs.getSongId() + val currentSongId = prefs.getInt("songId",0) val nextSong = songDB.songDao().getNextSong(currentSongId) // 다음 곡을 조회하는 로직 필요 if (nextSong != null) { setMiniPlayer(nextSong) - prefs.saveSongId(nextSong.id) // Shared Preferences에 다음 곡 ID 저장 + val editor = prefs.edit() + editor.putInt("songId", nextSong.id) + editor.apply() + Log.d("isRight?", nextSong.id.toString()) + // 일단 재생중으로 선택. Shared Preferences에 다음 곡 ID 저장 } } private fun playPreviousSong() { + val prefs = getSharedPreferences("song", MODE_PRIVATE) val songDB = SongDatabase.getInstance(this)!! - val currentSongId = prefs.getSongId() + val currentSongId = prefs.getInt("songId",0) val previousSong = songDB.songDao().getPreviousSong(currentSongId) // 이전 곡을 조회하는 로직 필요 if (previousSong != null) { setMiniPlayer(previousSong) - prefs.saveSongId(previousSong.id) // Shared Preferences에 이전 곡 ID 저장 + val editor = prefs.edit() + editor.putInt("songId", previousSong.id) + editor.apply() + Log.d("isRight?", previousSong.id.toString()) + // 일단 재생중으로 선택. Shared Preferences에 이전 곡 ID 저장 } } diff --git a/UMC_6th/app/src/main/java/com/example/umc_6th/SongActivity.kt b/UMC_6th/app/src/main/java/com/example/umc_6th/SongActivity.kt index 413def9..b4870dc 100644 --- a/UMC_6th/app/src/main/java/com/example/umc_6th/SongActivity.kt +++ b/UMC_6th/app/src/main/java/com/example/umc_6th/SongActivity.kt @@ -45,7 +45,6 @@ class SongActivity : AppCompatActivity() { initPlayList() // 노래 목록 초기화 val sharedPref = getSharedPreferences("song", MODE_PRIVATE) nowPos = sharedPref.getInt("songId", 0) - Log.d("songId", nowPos.toString()) if (songs.isNotEmpty()) { updateSongUI(songs[nowPos]) } @@ -194,6 +193,16 @@ class SongActivity : AppCompatActivity() { } } + + override fun onStart() { + super.onStart() + val sharedPref = getSharedPreferences("song", MODE_PRIVATE) + nowPos = sharedPref.getInt("songId", 0) + Log.d("SongActivitysongId", nowPos.toString()) + if (songs.isNotEmpty()) { + updateSongUI(songs[nowPos]) + } + } override fun onPause() { super.onPause() saveCurrentSongInfo() @@ -283,6 +292,7 @@ class SongActivity : AppCompatActivity() { nowPos = 0 // 목록의 첫 번째 곡으로 돌아가기 } updateSongUI(songs[nowPos]) + Log.d("SongActivityNextSongId", nowPos.toString()) startOrResumeTimer() // 타이머를 다시 시작 }