diff --git a/app/src/main/java/com/example/energy/presentation/view/community/CommunityCuriousFragment.kt b/app/src/main/java/com/example/energy/presentation/view/community/CommunityCuriousFragment.kt index e2dbbe7..6e778b1 100644 --- a/app/src/main/java/com/example/energy/presentation/view/community/CommunityCuriousFragment.kt +++ b/app/src/main/java/com/example/energy/presentation/view/community/CommunityCuriousFragment.kt @@ -12,6 +12,7 @@ import com.example.energy.presentation.view.base.BaseFragment class CommunityCuriousFragment : BaseFragment({ FragmentCommunityCuriousBinding.inflate(it)}) { private lateinit var postCommunityAdapter: PostCommunityRVAdapter + private var accessToken : String? = "" override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) @@ -19,10 +20,17 @@ class CommunityCuriousFragment : BaseFragment({ //토큰 가져오기 // var sharedPreferences = requireActivity().getSharedPreferences("userToken", Context.MODE_PRIVATE) // var accessToken = sharedPreferences?.getString("accessToken", "none") - val accessToken = "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imtpaml3aTFAbmF2ZXIuY29tIiwiaWF0IjoxNzIzODg3ODYzLCJleHAiOjE3MjY0Nzk4NjN9.qGR9PibGimGon0_82i_Z73nxXJzK1BDoPLWRLjC0QI4" + accessToken = "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InRqZ3VzaWRAbmF2ZXIuY29tIiwiaWF0IjoxNzI0MTY4NjQwLCJleHAiOjE3MjY3NjA2NDB9.fUaTieyCFhodHH1YTWJTNVTmDFZuvW6RjJ2t_tVzs_M" + } + + override fun onResume() { + super.onResume() + // API를 다시 호출하여 데이터를 갱신 + refreshData() + } - //test - CommunityRepository.getListCommunity(accessToken, "INQUIRY", 0, 10, "") { + private fun refreshData() { // 게시글 조회 + CommunityRepository.getListCommunity(accessToken!!, "INQUIRY", 0, 10, "") { response -> response.let { //통신성공 @@ -36,20 +44,5 @@ class CommunityCuriousFragment : BaseFragment({ } } } - -// // community_post에 데이터 리스트 생성 -// communityDB = CommunityPostDatabase.getInstance(requireContext())!! -// -// // 백그라운드 스레드에서 데이터베이스 접근 -// lifecycleScope.launch { -// withContext(Dispatchers.IO) { -// val allPosts = communityDB.communityPostDao().getAllPosts() -// postInfo.addAll(allPosts.filter { it.categoryString == "궁금해요" }) -// } -// // RecyclerView 초기화 및 데이터 연결 (메인 스레드) -// postCommunityAdapter = PostCommunityRVAdapter(postInfo) -// binding.curiousCommunityPostRv.layoutManager = LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false) -// binding.curiousCommunityPostRv.adapter = postCommunityAdapter -// } } } \ No newline at end of file diff --git a/app/src/main/java/com/example/energy/presentation/view/community/CommunityDailyFragment.kt b/app/src/main/java/com/example/energy/presentation/view/community/CommunityDailyFragment.kt index 4eddfba..46979ee 100644 --- a/app/src/main/java/com/example/energy/presentation/view/community/CommunityDailyFragment.kt +++ b/app/src/main/java/com/example/energy/presentation/view/community/CommunityDailyFragment.kt @@ -12,6 +12,7 @@ import com.example.energy.presentation.view.base.BaseFragment class CommunityDailyFragment : BaseFragment({ FragmentCommunityDailyBinding.inflate(it)}) { private lateinit var postCommunityAdapter: PostCommunityRVAdapter + private var accessToken : String? = "" override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) @@ -19,9 +20,16 @@ class CommunityDailyFragment : BaseFragment({ Fra //토큰 가져오기 // var sharedPreferences = requireActivity().getSharedPreferences("userToken", Context.MODE_PRIVATE) // var accessToken = sharedPreferences?.getString("accessToken", "none") - val accessToken = "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imtpaml3aTFAbmF2ZXIuY29tIiwiaWF0IjoxNzIzODg3ODYzLCJleHAiOjE3MjY0Nzk4NjN9.qGR9PibGimGon0_82i_Z73nxXJzK1BDoPLWRLjC0QI4" + accessToken = "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InRqZ3VzaWRAbmF2ZXIuY29tIiwiaWF0IjoxNzI0MTY4NjQwLCJleHAiOjE3MjY3NjA2NDB9.fUaTieyCFhodHH1YTWJTNVTmDFZuvW6RjJ2t_tVzs_M" + } + + override fun onResume() { + super.onResume() + // API를 다시 호출하여 데이터를 갱신 + refreshData() + } - //test + private fun refreshData() { // 게시글 조회 CommunityRepository.getListCommunity(accessToken!!, "DAILY", 0, 10, "") { response -> response.let { @@ -36,20 +44,5 @@ class CommunityDailyFragment : BaseFragment({ Fra } } } - -// // community_post에 데이터 리스트 생성 -// communityDB = CommunityPostDatabase.getInstance(requireContext())!! -// -// // 백그라운드 스레드에서 데이터베이스 접근 -// lifecycleScope.launch { -// withContext(Dispatchers.IO) { -// val allPosts = communityDB.communityPostDao().getAllPosts() -// postInfo.addAll(allPosts.filter { it.categoryString == "일상" }) -// } -// // RecyclerView 초기화 및 데이터 연결 (메인 스레드) -// postCommunityAdapter = PostCommunityRVAdapter(postInfo) -// binding.dailyCommunityPostRv.layoutManager = LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false) -// binding.dailyCommunityPostRv.adapter = postCommunityAdapter -// } } } \ No newline at end of file diff --git a/app/src/main/java/com/example/energy/presentation/view/community/CommunityDetailActivity.kt b/app/src/main/java/com/example/energy/presentation/view/community/CommunityDetailActivity.kt index f20c181..98b2ee1 100644 --- a/app/src/main/java/com/example/energy/presentation/view/community/CommunityDetailActivity.kt +++ b/app/src/main/java/com/example/energy/presentation/view/community/CommunityDetailActivity.kt @@ -10,6 +10,7 @@ import android.os.Bundle import android.util.Log import android.view.MotionEvent import android.view.View +import android.view.ViewGroup import android.view.inputmethod.InputMethodManager import androidx.appcompat.app.AppCompatActivity import androidx.recyclerview.widget.LinearLayoutManager @@ -26,6 +27,7 @@ import com.example.energy.databinding.DialogCommunityCommentWriterSeeMoreBinding import com.example.energy.databinding.DialogCommunityUserSeeMoreBinding import com.example.energy.databinding.DialogCommunityWriterSeeMoreBinding import com.example.energy.databinding.DialogHelpStatusBinding +import com.example.energy.databinding.DialogLoadingBinding import com.example.energy.databinding.DialogPostCommunitySuccessBinding import com.google.android.material.bottomsheet.BottomSheetDialog @@ -43,6 +45,7 @@ class CommunityDetailActivity : AppCompatActivity(){ private var postId: Int = 0 private var selectedComment: CommentModel? = null // 선택된 댓글 객체를 추적 private var writerId: Int? = null + private var loadingDialog: Dialog? = null @SuppressLint("SuspiciousIndentation") override fun onCreate(savedInstanceState: Bundle?) { @@ -123,6 +126,7 @@ class CommunityDetailActivity : AppCompatActivity(){ override fun onResume() { super.onResume() + showLoading() //데이터 로딩 페이지 // API를 다시 호출하여 데이터를 갱신 refreshData() } @@ -134,6 +138,7 @@ class CommunityDetailActivity : AppCompatActivity(){ response.let { Log.d("게시글댓글정보", "${response}") //통신성공 + hideLoading() if (response != null) { // 댓글 RecyclerView 연결 commentAdapter = ItemCommentAdapter(response, writerId) @@ -167,6 +172,7 @@ class CommunityDetailActivity : AppCompatActivity(){ CommunityRepository.getDetailCommunity(accessToken!!, postId) { response -> if (response != null) { //통신성공 + hideLoading() var isLiked = response.liked var likeCount = response.likeNum writerStatus = response.helpStatus @@ -565,4 +571,23 @@ class CommunityDetailActivity : AppCompatActivity(){ binding.communityDetailLikeIcon.setImageResource(R.drawable.icon_unlike) } } + + private fun showLoading() { //데이터 로딩 페이지 함수 + if (loadingDialog == null) { + loadingDialog = Dialog(this, R.style.LoadingDialog) + val binding = DialogLoadingBinding.inflate(layoutInflater) // 로딩 레이아웃 바인딩 + loadingDialog?.setContentView(binding.root) + loadingDialog?.window?.setLayout( + ViewGroup.LayoutParams.MATCH_PARENT, + ViewGroup.LayoutParams.MATCH_PARENT + ) // 다이얼로그 크기를 전체 화면으로 설정 + loadingDialog?.window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) + loadingDialog?.setCanceledOnTouchOutside(false) // 바깥 영역 터치해도 닫힘 X + } + loadingDialog?.show() + } + + private fun hideLoading() { //로딩 페이지 숨기는 함수 + loadingDialog?.dismiss() + } } \ No newline at end of file diff --git a/app/src/main/java/com/example/energy/presentation/view/community/CommunityHelpFragment.kt b/app/src/main/java/com/example/energy/presentation/view/community/CommunityHelpFragment.kt index f0ffd62..db2ff05 100644 --- a/app/src/main/java/com/example/energy/presentation/view/community/CommunityHelpFragment.kt +++ b/app/src/main/java/com/example/energy/presentation/view/community/CommunityHelpFragment.kt @@ -12,6 +12,7 @@ import com.example.energy.presentation.view.base.BaseFragment class CommunityHelpFragment : BaseFragment({ FragmentCommunityHelpBinding.inflate(it)}) { private lateinit var postCommunityAdapter: PostCommunityRVAdapter + private var accessToken : String? = "" override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) @@ -19,10 +20,17 @@ class CommunityHelpFragment : BaseFragment({ Fragm //토큰 가져오기 // var sharedPreferences = requireActivity().getSharedPreferences("userToken", Context.MODE_PRIVATE) // var accessToken = sharedPreferences?.getString("accessToken", "none") - val accessToken = "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imtpaml3aTFAbmF2ZXIuY29tIiwiaWF0IjoxNzIzODg3ODYzLCJleHAiOjE3MjY0Nzk4NjN9.qGR9PibGimGon0_82i_Z73nxXJzK1BDoPLWRLjC0QI4" + accessToken = "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InRqZ3VzaWRAbmF2ZXIuY29tIiwiaWF0IjoxNzI0MTY4NjQwLCJleHAiOjE3MjY3NjA2NDB9.fUaTieyCFhodHH1YTWJTNVTmDFZuvW6RjJ2t_tVzs_M" + } + + override fun onResume() { + super.onResume() + // API를 다시 호출하여 데이터를 갱신 + refreshData() + } - //test - CommunityRepository.getListCommunity(accessToken, "HELP", 0, 10, "") { + private fun refreshData() { // 게시글 조회 + CommunityRepository.getListCommunity(accessToken!!, "HELP", 0, 10, "") { response -> response.let { //통신성공 @@ -36,20 +44,5 @@ class CommunityHelpFragment : BaseFragment({ Fragm } } } - -// // community_post에 데이터 리스트 생성 -// communityDB = CommunityPostDatabase.getInstance(requireContext())!! -// -// // 백그라운드 스레드에서 데이터베이스 접근 -// lifecycleScope.launch { -// withContext(Dispatchers.IO) { -// val allPosts = communityDB.communityPostDao().getAllPosts() -// postInfo.addAll(allPosts.filter { it.categoryString == "도와줘요" }) -// } -// // RecyclerView 초기화 및 데이터 연결 (메인 스레드) -// postCommunityAdapter = PostCommunityRVAdapter(postInfo) -// binding.helpCommunityPostRv.layoutManager = LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false) -// binding.helpCommunityPostRv.adapter = postCommunityAdapter -// } } } \ No newline at end of file diff --git a/app/src/main/java/com/example/energy/presentation/view/community/CommunityScooterFragment.kt b/app/src/main/java/com/example/energy/presentation/view/community/CommunityScooterFragment.kt index a79ed6a..586d253 100644 --- a/app/src/main/java/com/example/energy/presentation/view/community/CommunityScooterFragment.kt +++ b/app/src/main/java/com/example/energy/presentation/view/community/CommunityScooterFragment.kt @@ -12,6 +12,7 @@ import com.example.energy.presentation.view.base.BaseFragment class CommunityScooterFragment : BaseFragment({ FragmentCommunityScooterBinding.inflate(it)}) { private lateinit var postCommunityAdapter: PostCommunityRVAdapter + private var accessToken : String? = "" override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) @@ -19,10 +20,17 @@ class CommunityScooterFragment : BaseFragment({ //토큰 가져오기 // var sharedPreferences = requireActivity().getSharedPreferences("userToken", Context.MODE_PRIVATE) // var accessToken = sharedPreferences?.getString("accessToken", "none") - val accessToken = "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imtpaml3aTFAbmF2ZXIuY29tIiwiaWF0IjoxNzIzODg3ODYzLCJleHAiOjE3MjY0Nzk4NjN9.qGR9PibGimGon0_82i_Z73nxXJzK1BDoPLWRLjC0QI4" + accessToken = "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InRqZ3VzaWRAbmF2ZXIuY29tIiwiaWF0IjoxNzI0MTY4NjQwLCJleHAiOjE3MjY3NjA2NDB9.fUaTieyCFhodHH1YTWJTNVTmDFZuvW6RjJ2t_tVzs_M" + } + + override fun onResume() { + super.onResume() + // API를 다시 호출하여 데이터를 갱신 + refreshData() + } - //test - CommunityRepository.getListCommunity(accessToken, "SCOOTER", 0, 10, "") { + private fun refreshData() { // 게시글 조회 + CommunityRepository.getListCommunity(accessToken!!, "SCOOTER", 0, 10, "") { response -> response.let { //통신성공 @@ -36,20 +44,5 @@ class CommunityScooterFragment : BaseFragment({ } } } - -// // community_post에 데이터 리스트 생성 -// communityDB = CommunityPostDatabase.getInstance(requireContext())!! -// -// // 백그라운드 스레드에서 데이터베이스 접근 -// lifecycleScope.launch { -// withContext(Dispatchers.IO) { -// val allPosts = communityDB.communityPostDao().getAllPosts() -// postInfo.addAll(allPosts.filter { it.categoryString == "스쿠터" }) -// } -// // RecyclerView 초기화 및 데이터 연결 (메인 스레드) -// postCommunityAdapter = PostCommunityRVAdapter(postInfo) -// binding.scooterCommunityPostRv.layoutManager = LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false) -// binding.scooterCommunityPostRv.adapter = postCommunityAdapter -// } } } \ No newline at end of file diff --git a/app/src/main/java/com/example/energy/presentation/view/community/CommunityWheelchairFragment.kt b/app/src/main/java/com/example/energy/presentation/view/community/CommunityWheelchairFragment.kt index 731e68a..f6a61eb 100644 --- a/app/src/main/java/com/example/energy/presentation/view/community/CommunityWheelchairFragment.kt +++ b/app/src/main/java/com/example/energy/presentation/view/community/CommunityWheelchairFragment.kt @@ -12,16 +12,24 @@ import com.example.energy.presentation.view.base.BaseFragment class CommunityWheelchairFragment : BaseFragment({ FragmentCommunityWheelchairBinding.inflate(it)}) { private lateinit var postCommunityAdapter: PostCommunityRVAdapter + private var accessToken : String? = "" override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) //토큰 가져오기 // var sharedPreferences = requireActivity().getSharedPreferences("userToken", Context.MODE_PRIVATE) // var accessToken = sharedPreferences?.getString("accessToken", "none") - val accessToken = "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imtpaml3aTFAbmF2ZXIuY29tIiwiaWF0IjoxNzIzODg3ODYzLCJleHAiOjE3MjY0Nzk4NjN9.qGR9PibGimGon0_82i_Z73nxXJzK1BDoPLWRLjC0QI4" + accessToken = "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InRqZ3VzaWRAbmF2ZXIuY29tIiwiaWF0IjoxNzI0MTY4NjQwLCJleHAiOjE3MjY3NjA2NDB9.fUaTieyCFhodHH1YTWJTNVTmDFZuvW6RjJ2t_tVzs_M" + } + + override fun onResume() { + super.onResume() + // API를 다시 호출하여 데이터를 갱신 + refreshData() + } - //test - CommunityRepository.getListCommunity(accessToken, "WHEELCHAIR", 0, 10, "") { + private fun refreshData() { // 게시글 조회 + CommunityRepository.getListCommunity(accessToken!!, "WHEELCHAIR", 0, 10, "") { response -> response.let { //통신성공 @@ -35,20 +43,5 @@ class CommunityWheelchairFragment : BaseFragment @android:color/transparent + + \ No newline at end of file