diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml index ae6db12..d2b3dda 100644 --- a/.idea/deploymentTargetDropDown.xml +++ b/.idea/deploymentTargetDropDown.xml @@ -7,11 +7,11 @@ - + - - + + \ No newline at end of file diff --git a/app/src/main/java/com/example/taveconnect/BurgerActivity.kt b/app/src/main/java/com/example/taveconnect/BurgerActivity.kt index f845dcf..33364cd 100644 --- a/app/src/main/java/com/example/taveconnect/BurgerActivity.kt +++ b/app/src/main/java/com/example/taveconnect/BurgerActivity.kt @@ -18,14 +18,28 @@ class BurgerActivity: AppCompatActivity() { binding = ActivityBurgerBinding.inflate(layoutInflater) val view = binding.root + val gamePaused = intent.getBooleanExtra("gamePaused", false) + + val listFragment = ListFragment() + + // ListFragment에 gamePaused 값을 전달 + val bundle = Bundle() + bundle.putBoolean("gamePaused", gamePaused) + listFragment.arguments = bundle + setContentView(view) } + override fun onBackPressed() { + val intent = Intent(this, GameActivity::class.java) + intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP // 이전에 열려 있던 모든 Activity를 종료 + startActivity(intent) + finish() // BurgerActivity를 종료 + } private fun Fragment.changeFragment() { - - class ButtonClickedReceiver : BroadcastReceiver() { + /*class ButtonClickedReceiver : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { val intent2 = Intent(activity, LoadActivity::class.java) val gameActivity = activity as GameActivity @@ -44,8 +58,7 @@ class BurgerActivity: AppCompatActivity() { intent2.putExtra("col6", col6) intent2.putExtra("col7", col7) } - } - + }*/ manager.beginTransaction().replace(R.id.fv_burger, this).commit() } diff --git a/app/src/main/java/com/example/taveconnect/HomeActivity.kt b/app/src/main/java/com/example/taveconnect/HomeActivity.kt index d735b83..98ffc33 100644 --- a/app/src/main/java/com/example/taveconnect/HomeActivity.kt +++ b/app/src/main/java/com/example/taveconnect/HomeActivity.kt @@ -10,7 +10,8 @@ class HomeActivity : AppCompatActivity() { private lateinit var binding: ActivityHomeBinding val manager = supportFragmentManager - var goMainButtonClicked = false + + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -48,8 +49,8 @@ class HomeActivity : AppCompatActivity() { R.id.explanation -> { ExplainFragment().changeFragment() } - R.id.mypage -> { - MyPageFragment().changeFragment() + R.id.option -> { + SettingFragment().changeFragment() } R.id.rank -> { RankingFragment().changeFragment() diff --git a/app/src/main/java/com/example/taveconnect/ListFragment.kt b/app/src/main/java/com/example/taveconnect/ListFragment.kt index 0f220d1..cdd728b 100644 --- a/app/src/main/java/com/example/taveconnect/ListFragment.kt +++ b/app/src/main/java/com/example/taveconnect/ListFragment.kt @@ -27,35 +27,32 @@ ListFragment : Fragment(R.layout.fragment_list) { return view } - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) + val gamePaused = arguments?.getBoolean("gamePaused") ?: false + // btnNewGame 버튼 클릭 이벤트 처리 binding.btnNewGame.setOnClickListener { - val intent = Intent(activity, DifficultyActivity::class.java) + val intent = Intent(requireActivity(), DifficultyActivity::class.java) + /*val gameActivity = activity as? GameActivity + gameActivity?.reset() + requireActivity().finish() // 현재 액티비티 종료*/ startActivity(intent) } - // btnPreviousGame 버튼 클릭 이벤트 처리 + binding.btnPrevious.setOnClickListener { - val intent = Intent(activity, ReviewActivity::class.java) + val intent = Intent(requireActivity(), ReviewActivity::class.java) startActivity(intent) } binding.btnGameIng.setOnClickListener { - val homeActivity = activity as? HomeActivity - if (homeActivity?.goMainButtonClicked == true) { - val intent = Intent(activity, LoadActivity::class.java) - Toast.makeText(context, "이전 게임을 불러옵니다.", Toast.LENGTH_SHORT).show() - startActivity(intent) - } - else { - Toast.makeText(context, "이어할 게임이 없습니다.", Toast.LENGTH_SHORT).show() - } + val intent = Intent(requireActivity(), GameActivity::class.java) + intent.putExtra("gamePaused", true) + intent.putExtra("resumeGame", true) // 이어하기 정보 추가 + startActivity(intent) } - - } override fun onDestroyView() { diff --git a/app/src/main/java/com/example/taveconnect/LoadActivity.kt b/app/src/main/java/com/example/taveconnect/LoadActivity.kt index 3918999..4ae25e1 100644 --- a/app/src/main/java/com/example/taveconnect/LoadActivity.kt +++ b/app/src/main/java/com/example/taveconnect/LoadActivity.kt @@ -16,7 +16,7 @@ import java.util.Random private var turn: Int = 0 class LoadActivity : AppCompatActivity() { - /*private lateinit var binding: ActivityLoadBinding + private lateinit var binding: ActivityLoadBinding // Fragment 매니저 val manager = supportFragmentManager @@ -899,7 +899,7 @@ class LoadActivity : AppCompatActivity() { val intent = Intent(this, BurgerActivity::class.java) startActivity(intent) } - }*/ + } } diff --git a/app/src/main/java/com/example/taveconnect/MenuFragment.kt b/app/src/main/java/com/example/taveconnect/MenuFragment.kt index c81deb3..4b6d516 100644 --- a/app/src/main/java/com/example/taveconnect/MenuFragment.kt +++ b/app/src/main/java/com/example/taveconnect/MenuFragment.kt @@ -1,3 +1,5 @@ +package com.example.taveconnect; + import android.content.Intent import android.os.Bundle import android.view.LayoutInflater @@ -5,9 +7,6 @@ import android.view.View import android.view.ViewGroup import androidx.activity.OnBackPressedCallback import androidx.fragment.app.Fragment -import com.example.taveconnect.DifficultyActivity -import com.example.taveconnect.HomeActivity -import com.example.taveconnect.R import com.example.taveconnect.databinding.FragmentMenuBinding class MenuFragment : Fragment(R.layout.fragment_menu) { @@ -22,7 +21,8 @@ class MenuFragment : Fragment(R.layout.fragment_menu) { savedInstanceState: Bundle? ): View? { _binding = FragmentMenuBinding.inflate(inflater, container, false) - return binding.root + val view = binding.root + return view } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { @@ -36,8 +36,14 @@ class MenuFragment : Fragment(R.layout.fragment_menu) { binding.btnNewStart.setOnClickListener { val intent = Intent(activity, DifficultyActivity::class.java) + val gameActivity = activity as? GameActivity + gameActivity?.reset() startActivity(intent) } + + binding.btnBack.setOnClickListener { + activity?.finish() + } } override fun onDestroyView() { diff --git a/app/src/main/java/com/example/taveconnect/MotionActivity.java b/app/src/main/java/com/example/taveconnect/MotionActivity.java index f427141..b9c6c50 100644 --- a/app/src/main/java/com/example/taveconnect/MotionActivity.java +++ b/app/src/main/java/com/example/taveconnect/MotionActivity.java @@ -3,7 +3,6 @@ import android.content.Intent; import android.os.Bundle; import android.os.Handler; -import android.view.Window; import android.view.WindowManager; import androidx.appcompat.app.AppCompatActivity; diff --git a/app/src/main/java/com/example/taveconnect/MyPageFragment.kt b/app/src/main/java/com/example/taveconnect/MyPageFragment.kt index 630b279..35e120c 100644 --- a/app/src/main/java/com/example/taveconnect/MyPageFragment.kt +++ b/app/src/main/java/com/example/taveconnect/MyPageFragment.kt @@ -8,6 +8,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment +import com.bumptech.glide.Glide import com.example.taveconnect.databinding.FragmentMypageBinding import com.kakao.sdk.user.UserApiClient @@ -26,13 +27,43 @@ class MyPageFragment : Fragment(R.layout.fragment_mypage) { } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) + showInit() kakaoLogout() } + // 프로필 연결 + private fun showInit() { + + UserApiClient.instance.me { user, error -> + if (error != null) { + Log.e("PROFILE", "마이페이지 프로필 연결 실패", error) + } + + else if (user != null) { + Log.i("PROFILE", "마이페이지 연결 성공") + binding.tvName.text = user.kakaoAccount?.profile?.nickname + val profile = user.kakaoAccount?.profile?.profileImageUrl + + Glide.with(this) + .load(profile) + .placeholder(binding.ivProfile.drawable) + .error(binding.ivProfile.drawable) + .fallback(binding.ivProfile.drawable) + .circleCrop() + .into(binding.ivProfile) + } + } + + } + + + + private fun kakaoLogout() { binding.btnLogout.setOnClickListener { diff --git a/app/src/main/java/com/example/taveconnect/ReviewActivity.kt b/app/src/main/java/com/example/taveconnect/ReviewActivity.kt index 9e326cb..2842a61 100644 --- a/app/src/main/java/com/example/taveconnect/ReviewActivity.kt +++ b/app/src/main/java/com/example/taveconnect/ReviewActivity.kt @@ -1,11 +1,28 @@ package com.example.taveconnect +import android.content.Intent import android.os.Bundle +import android.widget.ImageView +import android.widget.Toast import androidx.appcompat.app.AppCompatActivity import com.example.taveconnect.databinding.ActivityReviewBinding class ReviewActivity : AppCompatActivity() { private lateinit var binding: ActivityReviewBinding + private lateinit var imageViews: List // 이미지뷰들을 저장할 리스트 변수 + + var index = 0 + + val extras: Bundle? = intent.extras + + val d_index = extras?.getInt("index", 0) + val col1 = extras?.getIntArray("col1") + val col2 = extras?.getIntArray("col2") + val col3 = extras?.getIntArray("col3") + val col4 = extras?.getIntArray("col4") + val col5 = extras?.getIntArray("col5") + val col6 = extras?.getIntArray("col6") + val col7 = extras?.getIntArray("col7") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -13,14 +30,101 @@ class ReviewActivity : AppCompatActivity() { val view = binding.root setContentView(view) + // 이미지뷰들을 초기화하고 리스트에 추가 + imageViews = listOf( + binding.ivGm11, + binding.ivGm12, + binding.ivGm13, + binding.ivGm14, + binding.ivGm15, + binding.ivGm16, + binding.ivGm21, + binding.ivGm22, + binding.ivGm23, + binding.ivGm24, + binding.ivGm25, + binding.ivGm26, + binding.ivGm31, + binding.ivGm32, + binding.ivGm33, + binding.ivGm34, + binding.ivGm35, + binding.ivGm36, + binding.ivGm41, + binding.ivGm42, + binding.ivGm43, + binding.ivGm44, + binding.ivGm45, + binding.ivGm46, + binding.ivGm51, + binding.ivGm52, + binding.ivGm53, + binding.ivGm54, + binding.ivGm55, + binding.ivGm56, + binding.ivGm61, + binding.ivGm62, + binding.ivGm63, + binding.ivGm64, + binding.ivGm65, + binding.ivGm66, + binding.ivGm71, + binding.ivGm72, + binding.ivGm73, + binding.ivGm74, + binding.ivGm75, + binding.ivGm76, + ) + + showBurger() + // 이전 복기 binding.btnBefore.setOnClickListener { - + if (index == 0) { + Toast.makeText(this, "되돌아갈 수가 없습니다.", Toast.LENGTH_SHORT).show() + } else { + index-- + updateImageView(index) // 이전 인덱스의 이미지뷰를 업데이트 + } } // 다음 복기 binding.btnNext.setOnClickListener { + if (index >= d_index!!) { + Toast.makeText(this, "더 이상 수가 없습니다.", Toast.LENGTH_SHORT).show() + } else { + index++ + updateImageView(index) // 다음 인덱스의 이미지뷰를 업데이트 + } + } + } + + // 이미지뷰 업데이트 함수 + private fun updateImageView(index: Int) { + val arrays = listOf(col1, col2, col3, col4, col5, col6, col7) + val imageIndex = index - 1 // 인덱스는 0부터 시작하므로 1을 빼줌 + + for ((i, array) in arrays.withIndex()) { + if (array != null && i < imageViews.size) { + val imageView = imageViews[i] + if (imageIndex >= 0 && imageIndex < array.size) { + // 이미지뷰의 이미지 변경 + val image = array[imageIndex] + imageView.setImageResource(image) + } else { + // 이미지뷰의 이미지를 기본 이미지로 변경 + imageView.setImageResource(R.drawable.nothing) + } + } + } + } + // BurgerFragment 클릭 이벤트 + fun showBurger() { + binding.btnBurger.setOnClickListener { + val intent = Intent(this, BurgerActivity::class.java) + startActivity(intent) } } -} \ No newline at end of file +} + diff --git a/app/src/main/res/layout/activity_burger.xml b/app/src/main/res/layout/activity_burger.xml index 5e0dbce..5ab760d 100644 --- a/app/src/main/res/layout/activity_burger.xml +++ b/app/src/main/res/layout/activity_burger.xml @@ -1,8 +1,6 @@ - @@ -13,6 +11,6 @@ android:layout_width="match_parent" android:layout_height="match_parent" tools:ignore="MissingConstraints" - tools:layout="@layout/fragment_menu" /> + tools:layout="@layout/fragment_menu" /> \ No newline at end of file diff --git a/app/src/main/res/layout/activity_difficulty.xml b/app/src/main/res/layout/activity_difficulty.xml index e8158ab..49c697d 100644 --- a/app/src/main/res/layout/activity_difficulty.xml +++ b/app/src/main/res/layout/activity_difficulty.xml @@ -6,7 +6,7 @@ android:layout_height="match_parent" android:layout_gravity="center" android:orientation="vertical" - tools:context=".DifficultyFragment"> + tools:context=".DifficultyActivity"> + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + tools:context=".EndActivity"> + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_bias="0.9" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_menu.xml b/app/src/main/res/layout/fragment_menu.xml index f6a79e0..01e749a 100644 --- a/app/src/main/res/layout/fragment_menu.xml +++ b/app/src/main/res/layout/fragment_menu.xml @@ -17,7 +17,8 @@ android:textSize="24sp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" /> + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintBottom_toTopOf="@+id/btn_new_start"/>