From 5756268402f0dc770f3baf3ac348245ec9f60bf3 Mon Sep 17 00:00:00 2001 From: hees00 <1p2h3s@naver.com> Date: Sun, 30 Jan 2022 16:26:36 +0900 Subject: [PATCH 1/4] resign v0 --- .idea/misc.xml | 8 +- .../mechelin/ui/mypage/MypageActivity.kt | 8 ++ .../mechelin/ui/resign/ResignActivity.kt | 5 + app/src/main/res/layout/activity_resign.xml | 101 ++++++++++++++++++ .../main/res/layout/item_recent_review.xml | 2 +- app/src/main/res/menu/main_bnv_menu.xml | 4 +- app/src/main/res/values/colors.xml | 1 + 7 files changed, 123 insertions(+), 6 deletions(-) create mode 100644 app/src/main/java/com/example/mechelin/ui/mypage/MypageActivity.kt create mode 100644 app/src/main/java/com/example/mechelin/ui/resign/ResignActivity.kt create mode 100644 app/src/main/res/layout/activity_resign.xml diff --git a/.idea/misc.xml b/.idea/misc.xml index 6b4b7b1..bcf49ad 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -12,13 +12,15 @@ + - - + + + @@ -42,7 +44,7 @@ diff --git a/app/src/main/java/com/example/mechelin/ui/mypage/MypageActivity.kt b/app/src/main/java/com/example/mechelin/ui/mypage/MypageActivity.kt new file mode 100644 index 0000000..de2cbf0 --- /dev/null +++ b/app/src/main/java/com/example/mechelin/ui/mypage/MypageActivity.kt @@ -0,0 +1,8 @@ +package com.example.mechelin.ui.mypage + +import androidx.appcompat.app.AppCompatActivity + +class MypageActivity: AppCompatActivity() { + + +} \ No newline at end of file diff --git a/app/src/main/java/com/example/mechelin/ui/resign/ResignActivity.kt b/app/src/main/java/com/example/mechelin/ui/resign/ResignActivity.kt new file mode 100644 index 0000000..ba0c070 --- /dev/null +++ b/app/src/main/java/com/example/mechelin/ui/resign/ResignActivity.kt @@ -0,0 +1,5 @@ +package com.example.mechelin.ui.resign + +class ResignActivity { + +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_resign.xml b/app/src/main/res/layout/activity_resign.xml new file mode 100644 index 0000000..35f4dd2 --- /dev/null +++ b/app/src/main/res/layout/activity_resign.xml @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_recent_review.xml b/app/src/main/res/layout/item_recent_review.xml index e83fd9a..537a89e 100644 --- a/app/src/main/res/layout/item_recent_review.xml +++ b/app/src/main/res/layout/item_recent_review.xml @@ -2,7 +2,7 @@ diff --git a/app/src/main/res/menu/main_bnv_menu.xml b/app/src/main/res/menu/main_bnv_menu.xml index eccb378..5fddccc 100644 --- a/app/src/main/res/menu/main_bnv_menu.xml +++ b/app/src/main/res/menu/main_bnv_menu.xml @@ -4,7 +4,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> #6bb2ff #e54b4b + #80f2d4d4 #6A6A6A #E54B4B #F0F0F0 From 965fd5145cb11c2c87126a4170c7dad6f04f0ba8 Mon Sep 17 00:00:00 2001 From: hees00 <1p2h3s@naver.com> Date: Sun, 30 Jan 2022 19:13:35 +0900 Subject: [PATCH 2/4] wrting activity --- app/src/main/AndroidManifest.xml | 1 + .../example/mechelin/ui/main/MainActivity.kt | 11 +- .../mechelin/ui/main/WritingActivity.kt | 104 ++++++++++++++++++ .../mechelin/ui/main/WritingFragment.kt | 65 ----------- .../mechelin/ui/search/SearchPlaceActivity.kt | 5 +- .../mechelin/ui/search/SearchRVAdapter.kt | 2 +- app/src/main/res/layout/fragment_writing.xml | 4 +- 7 files changed, 119 insertions(+), 73 deletions(-) create mode 100644 app/src/main/java/com/example/mechelin/ui/main/WritingActivity.kt delete mode 100644 app/src/main/java/com/example/mechelin/ui/main/WritingFragment.kt diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5f0e96c..3002b90 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -26,6 +26,7 @@ android:exported="true"> + \ No newline at end of file diff --git a/app/src/main/java/com/example/mechelin/ui/main/MainActivity.kt b/app/src/main/java/com/example/mechelin/ui/main/MainActivity.kt index c66fa2f..7201ab2 100644 --- a/app/src/main/java/com/example/mechelin/ui/main/MainActivity.kt +++ b/app/src/main/java/com/example/mechelin/ui/main/MainActivity.kt @@ -1,5 +1,6 @@ package com.example.mechelin.ui.main +import android.content.Intent import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import com.example.mechelin.R @@ -31,10 +32,12 @@ class MainActivity : AppCompatActivity() { } R.id.writingFragment -> { - supportFragmentManager.beginTransaction() - .replace(R.id.main_frm, WritingFragment()) - .commitAllowingStateLoss() - return@setOnItemSelectedListener true +// supportFragmentManager.beginTransaction() +// .replace(R.id.main_frm, WritingFragment()) +// .commitAllowingStateLoss() +// return@setOnItemSelectedListener true + val intent = Intent(this, WritingActivity::class.java) + startActivity(intent) } R.id.mapFragment -> { diff --git a/app/src/main/java/com/example/mechelin/ui/main/WritingActivity.kt b/app/src/main/java/com/example/mechelin/ui/main/WritingActivity.kt new file mode 100644 index 0000000..0fc8543 --- /dev/null +++ b/app/src/main/java/com/example/mechelin/ui/main/WritingActivity.kt @@ -0,0 +1,104 @@ +package com.example.mechelin.ui.main + +import android.app.Activity +import android.content.Intent +import android.os.Bundle +import android.os.PersistableBundle +import android.util.Log +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.ScrollView +import androidx.appcompat.app.AppCompatActivity +import androidx.fragment.app.Fragment +import com.example.mechelin.R +import com.example.mechelin.data.SearchStore +import com.example.mechelin.data.remote.Store +import com.example.mechelin.databinding.ActivitySearchPlaceBinding +import com.example.mechelin.databinding.FragmentHomeBinding +import com.example.mechelin.databinding.FragmentWritingBinding +import com.example.mechelin.ui.save.SearchPlaceActivity + +class WritingActivity: AppCompatActivity() { + + lateinit var binding: FragmentWritingBinding + lateinit var store: Store + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + + binding = FragmentWritingBinding.inflate(layoutInflater) + val view = binding.root + setContentView(view) + + makeTag() + + binding.writingCategorySelectTb.setOnClickListener { + if (binding.writingCategorySelectTb.isChecked) { + binding.writingCategoryLayout.visibility = View.VISIBLE + } else { + binding.writingCategoryLayout.visibility = View.GONE + } + } + +// if (arguments != null) { +// Log.d("resultstore", arguments?.getParcelable("store").toString()) +// } +// +// +// binding.writingSearchView.setOnClickListener { +// val intent = Intent(getActivity(), SearchPlaceActivity::class.java) +// startActivity(intent) +// } + + } +// override fun onCreateView( +// inflater: LayoutInflater, +// container: ViewGroup?, +// savedInstanceState: Bundle? +// ): View? { +// binding = FragmentWritingBinding.inflate(inflater, container, false) +// +// makeTag() +// +// binding.writingCategorySelectTb.setOnClickListener { +// if (binding.writingCategorySelectTb.isChecked) { +// binding.writingCategoryLayout.visibility = View.VISIBLE +// } else { +// binding.writingCategoryLayout.visibility = View.GONE +// } +// } +// +//// if (arguments != null) { +//// Log.d("resultstore", arguments?.getParcelable("store").toString()) +//// } +//// +//// +//// binding.writingSearchView.setOnClickListener { +//// val intent = Intent(getActivity(), SearchPlaceActivity::class.java) +//// startActivity(intent) +//// } +// +// return binding.root +// +// } + + public fun categoryClick(view: View){ + Log.d("category",view.id.toString()) + } + + + fun makeTag() { + var beforeTag = "#행복 #하이 #진짜_진짜" + var tag = beforeTag.split("#") + var resultTag = ArrayList() + Log.d("HashTag", "tag"+tag.toString()) + for (i in 1..(tag.size-1)) { + resultTag.add(tag[i].trim()) + } + Log.d("HashTag", resultTag.toString()) + + } +} + diff --git a/app/src/main/java/com/example/mechelin/ui/main/WritingFragment.kt b/app/src/main/java/com/example/mechelin/ui/main/WritingFragment.kt deleted file mode 100644 index bdf2e0d..0000000 --- a/app/src/main/java/com/example/mechelin/ui/main/WritingFragment.kt +++ /dev/null @@ -1,65 +0,0 @@ -package com.example.mechelin.ui.main - -import android.content.Intent -import android.os.Bundle -import android.util.Log -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import androidx.fragment.app.Fragment -import com.example.mechelin.data.SearchStore -import com.example.mechelin.data.remote.Store -import com.example.mechelin.databinding.FragmentHomeBinding -import com.example.mechelin.databinding.FragmentWritingBinding -import com.example.mechelin.ui.save.SearchPlaceActivity - -class WritingFragment: Fragment() { - - lateinit var binding: FragmentWritingBinding - lateinit var store: Store - - override fun onCreateView( - inflater: LayoutInflater, - container: ViewGroup?, - savedInstanceState: Bundle? - ): View? { - binding = FragmentWritingBinding.inflate(inflater, container, false) - - makeTag() - - binding.writingCategorySelectTb.setOnClickListener { - if (binding.writingCategorySelectTb.isChecked) { - binding.writingCategoryLayout.visibility = View.VISIBLE - } else { - binding.writingCategoryLayout.visibility = View.GONE - } - } - - if (arguments != null) { - Log.d("resultstore", arguments?.getParcelable("store").toString()) - } - - - binding.writingSearchView.setOnClickListener { - val intent = Intent(getActivity(), SearchPlaceActivity::class.java) - startActivity(intent) - } - - return binding.root - - } - - - fun makeTag() { - var beforeTag = "#행복 #하이 #진짜_진짜" - var tag = beforeTag.split("#") - var resultTag = ArrayList() - Log.d("HashTag", "tag"+tag.toString()) - for (i in 1..(tag.size-1)) { - resultTag.add(tag[i].trim()) - } - Log.d("HashTag", resultTag.toString()) - - } -} - diff --git a/app/src/main/java/com/example/mechelin/ui/search/SearchPlaceActivity.kt b/app/src/main/java/com/example/mechelin/ui/search/SearchPlaceActivity.kt index b33fee4..bd47798 100644 --- a/app/src/main/java/com/example/mechelin/ui/search/SearchPlaceActivity.kt +++ b/app/src/main/java/com/example/mechelin/ui/search/SearchPlaceActivity.kt @@ -14,8 +14,9 @@ import com.example.mechelin.data.remote.KakaoapiInterface import com.example.mechelin.data.remote.Place import com.example.mechelin.data.remote.Researchkeyword import com.example.mechelin.databinding.ActivitySearchPlaceBinding +import com.example.mechelin.ui.main.HomeFragment import com.example.mechelin.ui.main.MainActivity -import com.example.mechelin.ui.main.WritingFragment +import com.example.mechelin.ui.main.WritingActivity import retrofit2.Call import retrofit2.Callback import retrofit2.Response @@ -95,7 +96,7 @@ class SearchPlaceActivity : AppCompatActivity(){ //어댑터 설정 val searchRVAdapter = SearchRVAdapter(StoreDatas,itemClickedListener={ - getselectedStore(WritingFragment(),it) + getselectedStore(HomeFragment(),it) }) //리사이클러 뷰에 연결 binding.searchResultRv.adapter= searchRVAdapter diff --git a/app/src/main/java/com/example/mechelin/ui/search/SearchRVAdapter.kt b/app/src/main/java/com/example/mechelin/ui/search/SearchRVAdapter.kt index 545c01a..8a73e9a 100644 --- a/app/src/main/java/com/example/mechelin/ui/search/SearchRVAdapter.kt +++ b/app/src/main/java/com/example/mechelin/ui/search/SearchRVAdapter.kt @@ -9,7 +9,7 @@ import androidx.recyclerview.widget.RecyclerView import com.example.mechelin.R import com.example.mechelin.data.SearchStore import com.example.mechelin.databinding.ItemSearchResultBinding -import com.example.mechelin.ui.main.WritingFragment + class SearchRVAdapter(private val StoreList: ArrayList,private val itemClickedListener:(SearchStore)->Unit) : RecyclerView.Adapter() { //뷰홀더를 생성해줘야 할 때 생성되는 함수 diff --git a/app/src/main/res/layout/fragment_writing.xml b/app/src/main/res/layout/fragment_writing.xml index 83b8401..6b62587 100644 --- a/app/src/main/res/layout/fragment_writing.xml +++ b/app/src/main/res/layout/fragment_writing.xml @@ -169,6 +169,7 @@ app:layout_constraintStart_toStartOf="parent" android:layout_marginStart="39dp" android:layout_marginTop="20dp" + android:onClick="categoryClick" /> -g + Date: Tue, 1 Feb 2022 00:14:45 +0900 Subject: [PATCH 3/4] writing-getstore,ratingscore --- .idea/deploymentTargetDropDown.xml | 12 +- .idea/misc.xml | 3 +- app/build.gradle | 3 + app/src/main/AndroidManifest.xml | 7 +- .../mechelin/ui/main/CustomDialogInterface.kt | 7 ++ .../mechelin/ui/main/PopupScoreActivity.kt | 38 ++++++ .../mechelin/ui/main/WritingActivity.kt | 119 ++++++++++-------- .../mechelin/ui/search/SearchPlaceActivity.kt | 22 ++-- .../drawable/writing_page_rating_drag_1.png | Bin 883 -> 0 bytes .../drawable/writing_page_rating_drag_2.png | Bin 1365 -> 0 bytes .../drawable/writing_page_rating_drag_3.png | Bin 1847 -> 0 bytes .../drawable/writing_page_rating_drag_4.png | Bin 2520 -> 0 bytes .../drawable/writing_page_rating_drag_5.png | Bin 2777 -> 0 bytes ...iting_page_rating_drag_four_and_a_half.png | Bin 2566 -> 0 bytes .../writing_page_rating_drag_half.png | Bin 565 -> 0 bytes ...riting_page_rating_drag_one_and_a_half.png | Bin 1149 -> 0 bytes ...ting_page_rating_drag_three_and_a_half.png | Bin 2168 -> 0 bytes ...riting_page_rating_drag_two_and_a_half.png | Bin 1675 -> 0 bytes .../res/drawable/writing_page_rating_gray.png | Bin 1803 -> 0 bytes .../writing_page_rating_gray_drag.png | Bin 2644 -> 0 bytes .../writingpage_rating_drag_1_xxhdpi.png | Bin 0 -> 2261 bytes .../writingpage_rating_drag_gray_1_xxdpi.png | Bin 0 -> 1354 bytes .../writingpage_rating_drag_half_xxhdpi.png | Bin 0 -> 1552 bytes .../writingpage_rating_gray_xxhdpi.png | Bin 0 -> 5780 bytes .../main/res/layout/activity_popup_score.xml | 88 +++++++++++++ app/src/main/res/layout/activity_writing.xml | 9 +- app/src/main/res/values/colors.xml | 2 + app/src/main/res/values/themes.xml | 12 ++ 28 files changed, 246 insertions(+), 76 deletions(-) create mode 100644 app/src/main/java/com/example/mechelin/ui/main/CustomDialogInterface.kt create mode 100644 app/src/main/java/com/example/mechelin/ui/main/PopupScoreActivity.kt delete mode 100644 app/src/main/res/drawable/writing_page_rating_drag_1.png delete mode 100644 app/src/main/res/drawable/writing_page_rating_drag_2.png delete mode 100644 app/src/main/res/drawable/writing_page_rating_drag_3.png delete mode 100644 app/src/main/res/drawable/writing_page_rating_drag_4.png delete mode 100644 app/src/main/res/drawable/writing_page_rating_drag_5.png delete mode 100644 app/src/main/res/drawable/writing_page_rating_drag_four_and_a_half.png delete mode 100644 app/src/main/res/drawable/writing_page_rating_drag_half.png delete mode 100644 app/src/main/res/drawable/writing_page_rating_drag_one_and_a_half.png delete mode 100644 app/src/main/res/drawable/writing_page_rating_drag_three_and_a_half.png delete mode 100644 app/src/main/res/drawable/writing_page_rating_drag_two_and_a_half.png delete mode 100644 app/src/main/res/drawable/writing_page_rating_gray.png delete mode 100644 app/src/main/res/drawable/writing_page_rating_gray_drag.png create mode 100644 app/src/main/res/drawable/writingpage_rating_drag_1_xxhdpi.png create mode 100644 app/src/main/res/drawable/writingpage_rating_drag_gray_1_xxdpi.png create mode 100644 app/src/main/res/drawable/writingpage_rating_drag_half_xxhdpi.png create mode 100644 app/src/main/res/drawable/writingpage_rating_gray_xxhdpi.png create mode 100644 app/src/main/res/layout/activity_popup_score.xml diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml index d7428f4..82e835c 100644 --- a/.idea/deploymentTargetDropDown.xml +++ b/.idea/deploymentTargetDropDown.xml @@ -1,17 +1,17 @@ - + - + - - + + - - + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 1b2de2d..ce43678 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -13,11 +13,12 @@ + - + diff --git a/app/build.gradle b/app/build.gradle index cc044de..d02ac44 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -70,4 +70,7 @@ dependencies { //kapt kapt "com.android.databinding:compiler:3.2.0" + //custom rating bar + implementation 'com.hedgehog.ratingbar:app:1.1.2' + } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 3002b90..8e9c1bd 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,5 +1,6 @@ @@ -11,13 +12,13 @@ android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" - android:theme="@style/Theme.Mechelin"> + android:theme="@style/Theme.Mechelin" + tools:replace="android:theme"> - @@ -27,6 +28,6 @@ + - \ No newline at end of file diff --git a/app/src/main/java/com/example/mechelin/ui/main/CustomDialogInterface.kt b/app/src/main/java/com/example/mechelin/ui/main/CustomDialogInterface.kt new file mode 100644 index 0000000..33e2957 --- /dev/null +++ b/app/src/main/java/com/example/mechelin/ui/main/CustomDialogInterface.kt @@ -0,0 +1,7 @@ +package com.example.mechelin.ui.main + +interface CustomDialogInterface { + fun onAddButtonClicked() + + fun onCancelButtonClicked() +} \ No newline at end of file diff --git a/app/src/main/java/com/example/mechelin/ui/main/PopupScoreActivity.kt b/app/src/main/java/com/example/mechelin/ui/main/PopupScoreActivity.kt new file mode 100644 index 0000000..a0d9de8 --- /dev/null +++ b/app/src/main/java/com/example/mechelin/ui/main/PopupScoreActivity.kt @@ -0,0 +1,38 @@ +package com.example.mechelin.ui.main + +import android.app.Dialog +import android.content.Context +import android.graphics.Color +import android.graphics.drawable.ColorDrawable +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity +import com.example.mechelin.R +import com.example.mechelin.databinding.ActivityPopupScoreBinding +import com.example.mechelin.databinding.ActivityWritingBinding + +class PopupScoreActivity(): AppCompatActivity(){ + lateinit var binding: ActivityPopupScoreBinding + + + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_popup_score) + + binding = ActivityPopupScoreBinding.inflate(layoutInflater) + val view = binding.root + setContentView(view) + + + // 배경을 투명하게함 + window!!.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) + + // 추가 버튼 클릭 시 onAddButtonClicked 호출 후 종료 + binding.popupScoreBtnConfirmTv.setOnClickListener { + } + + // 취소 버튼 클릭 시 onCancelButtonClicked 호출 후 종료 + binding.popupScoreBtnConfirmTv.setOnClickListener { + } + } + } diff --git a/app/src/main/java/com/example/mechelin/ui/main/WritingActivity.kt b/app/src/main/java/com/example/mechelin/ui/main/WritingActivity.kt index d07b6e2..88dd6c4 100644 --- a/app/src/main/java/com/example/mechelin/ui/main/WritingActivity.kt +++ b/app/src/main/java/com/example/mechelin/ui/main/WritingActivity.kt @@ -1,5 +1,6 @@ package com.example.mechelin.ui.main +import android.app.Activity import android.os.Bundle import android.util.Log import android.view.View @@ -7,12 +8,22 @@ import androidx.appcompat.app.AppCompatActivity import com.example.mechelin.R import com.example.mechelin.data.remote.Store import com.example.mechelin.databinding.ActivityWritingBinding +import android.content.Intent +import android.view.LayoutInflater +import android.widget.RatingBar +import android.widget.TextView +import android.widget.Toast +import androidx.activity.result.contract.ActivityResultContracts +import androidx.appcompat.app.AlertDialog +import com.example.mechelin.databinding.ActivityPopupScoreBinding +import com.example.mechelin.ui.save.SearchPlaceActivity + class WritingActivity: AppCompatActivity(){ lateinit var binding: ActivityWritingBinding - var store: Store = Store("","","",0.0,0.0,1.0,"리뷰내용", makeTag(),1,"N") + var store: Store = Store("","","",0.0,0.0,0.0,"리뷰내용", makeTag(),1,"N") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -54,51 +65,41 @@ class WritingActivity: AppCompatActivity(){ onClick(it) } -// if (arguments != null) { -// Log.d("resultstore", arguments?.getParcelable("store").toString()) -// } -// -// -// binding.writingSearchView.setOnClickListener { -// val intent = Intent(getActivity(), SearchPlaceActivity::class.java) -// startActivity(intent) -// } + //식당 정보 받아오기 + val resultLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -> + if (result.resultCode == Activity.RESULT_OK) { + val myData: Intent? = result.data + store.storeName = myData!!.getStringExtra("storename").toString() + store.address=myData.getStringExtra("storeaddress").toString() + store.tel=myData.getStringExtra("phone").toString() + store.x=myData.getDoubleExtra("x",0.0) + store.y=myData.getDoubleExtra("y",0.0) + Log.d("storeinfo",store.toString()) + + binding.writingSearchTv.text=store.storeName + binding.writingAddressEt.setText(store.address) + binding.writingPhoneEt.setText(store.tel) + + } + } + + //식당 정보 받으러가기 + binding.writingSearchView.setOnClickListener { + var intent = Intent(this,SearchPlaceActivity::class.java) + resultLauncher.launch(intent) + } - } -// override fun onCreateView( -// inflater: LayoutInflater, -// container: ViewGroup?, -// savedInstanceState: Bundle? -// ): View? { -// binding = FragmentWritingBinding.inflate(inflater, container, false) -// -// makeTag() -// -// binding.writingCategorySelectTb.setOnClickListener { -// if (binding.writingCategorySelectTb.isChecked) { -// binding.writingCategoryLayout.visibility = View.VISIBLE -// } else { -// binding.writingCategoryLayout.visibility = View.GONE -// } -// } -// -//// if (arguments != null) { -//// Log.d("resultstore", arguments?.getParcelable("store").toString()) -//// } -//// -//// -//// binding.writingSearchView.setOnClickListener { -//// val intent = Intent(getActivity(), SearchPlaceActivity::class.java) -//// startActivity(intent) -//// } -// -// return binding.root -// -// } + //별점 받기 + binding.writingScoreIv.setOnClickListener { + getStarscore() + } + + } + //해시태그 만들기 fun makeTag(): ArrayList { var beforeTag = "#행복 #하이 #진짜_진짜" var tag = beforeTag.split("#") @@ -111,18 +112,29 @@ class WritingActivity: AppCompatActivity(){ return resultTag } -// -// override fun onClick(view: View?) { -// store.categoryIdx= Integer.parseInt(view!!.tag.toString()) -// binding.writingCategoryBasedfoodTb.isChecked=false -// binding.writingCategoryKoreanfoodTb.isChecked=false -// binding.writingCategoryChineseTb.isChecked=false -// binding.writingCategoryJapaneseTb.isChecked=false -// binding.writingCategoryWeternfoodTb.isChecked=false -// binding.writingCategoryPubTb.isChecked=false -// binding.writingCategoryDessertTb.isChecked=false -// view!!.isSelected=true -// } + //별점 받아오기 + fun getStarscore(){ + val mDialogView = LayoutInflater.from(this).inflate(R.layout.activity_popup_score, null) + val mBuilder = AlertDialog.Builder(this) + .setView(mDialogView) + val mAlertDialog=mBuilder.show() + + mDialogView.findViewById(R.id.popup_score_ratingbar).setOnRatingChangeListener{ + Log.d("starscore",it.toString()) + store.starRate= it.toDouble() + } + mDialogView.findViewById(R.id.popup_score_btn_confirm_tv).setOnClickListener { + mAlertDialog.dismiss() + } + mDialogView.findViewById(R.id.popup_score_btn_cancel_tv).setOnClickListener { + store.starRate=0.0 + mAlertDialog.dismiss() + } + + } + + + //카테고리 클릭 fun onClick(view: View?){ store.categoryIdx= Integer.parseInt(view!!.tag.toString()) binding.writingCategoryBasedfoodTb.isChecked=false @@ -143,5 +155,6 @@ class WritingActivity: AppCompatActivity(){ } } + } diff --git a/app/src/main/java/com/example/mechelin/ui/search/SearchPlaceActivity.kt b/app/src/main/java/com/example/mechelin/ui/search/SearchPlaceActivity.kt index a35d793..3936edc 100644 --- a/app/src/main/java/com/example/mechelin/ui/search/SearchPlaceActivity.kt +++ b/app/src/main/java/com/example/mechelin/ui/search/SearchPlaceActivity.kt @@ -1,5 +1,7 @@ package com.example.mechelin.ui.save +import android.app.Activity +import android.content.Intent import android.os.Bundle import android.util.Log import androidx.appcompat.app.AppCompatActivity @@ -52,7 +54,7 @@ class SearchPlaceActivity : AppCompatActivity(){ companion object { const val BASE_URL = "https://dapi.kakao.com/" - const val API_KEY = "KakaoAK **********" // REST API 키 + const val API_KEY = "KakaoAK b897e9989fedf2db699cf5b819537e64" // REST API 키 } private fun searchKeyword(keyword: String) { @@ -93,7 +95,7 @@ class SearchPlaceActivity : AppCompatActivity(){ //어댑터 설정 val searchRVAdapter = SearchRVAdapter(StoreDatas,itemClickedListener={ - getselectedStore(HomeFragment(),it) + putSelectedStore(it) }) //리사이클러 뷰에 연결 binding.searchResultRv.adapter= searchRVAdapter @@ -102,13 +104,15 @@ class SearchPlaceActivity : AppCompatActivity(){ } - private fun getselectedStore(fragment: Fragment,store: SearchStore){ - val bundle = Bundle() - bundle.putParcelable("store",store) - fragment.arguments = bundle - val transaction = supportFragmentManager.beginTransaction() - transaction.replace(R.id.main_frm,fragment) - transaction.commit() + private fun putSelectedStore(store: SearchStore){ + val intent = Intent(this, WritingActivity::class.java) + intent.putExtra("storename",store.storename) + intent.putExtra("storeaddress",store.storeaddress) + intent.putExtra("x",store.x) + intent.putExtra("y",store.y) + intent.putExtra("phone",store.phone) + setResult(Activity.RESULT_OK, intent) + finish() } } diff --git a/app/src/main/res/drawable/writing_page_rating_drag_1.png b/app/src/main/res/drawable/writing_page_rating_drag_1.png deleted file mode 100644 index 80f58e5dd9e96168214f1670ddc2add21d9f709c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 883 zcmeAS@N?(olHy`uVBq!ia0vp^SwI}X!3HEh9(WJ~q&N#aB8wRqxP?KOkzv*x37{Zj zage(c!@6@aFM%AEbVpxD28NCO+uKAF;e`B$H6)pawo zZ?p36OjMZF!rAn|NIvgX#G8AkORU7cX0C1bSgHN`7?0cf{YM_>p4#cI$1`8%-3trR zudPwbEoVmG+Q}YYUClqy;8D|~RR%wmCwhwS{@hq-5LaR{FMZMHJ0Xq5KVR>hB=z~a zMyiKGp`&PsRmo8nzRydKux%Bt^UG}&Z#x>WMeM7NmU~Qq;q!kj1~G5`Wp8~kiF>o7 z!n$4GLR{afg?N40+x7dgZs^J-LaLL@zf9e7Ii&H>XK#&*hYx=E))#xI;9O{I&sT?- zfQ7}pKii6T#kjt`{j&Dxvdp|35p$kX(SQD~le#DOYR>&TZ=z*n&O~L`*2%Ws__lEO zZcTBP?AC|1aELvhai8mThjAI=H*ERUfeC?!4UQY!!U#U}IU~q}Zc; z>3=KsykWnhUAfsVyEufI?^50U8v^EEPR{Rg@4deg`#xT!i~H4)6DO4X_s9p8hV>Zwdn!z{ z7PjxHJR|yHnwIdVEB~sp)i%2@b@IF_QQMq1d)BWCiRzF2`H>HGmvp~<{CK^G#zpH> z6K^&)el}d1SMXV;y>Lpol1-es>+h;azE8&YAGGi_{q9`3l2^#5CV=(y$}5cjoHk7U w{&QAk$LWuUDjL(vi&frScf*zhfnryGvHqF*!Y(AO$q=N%)78&qol`;+0AXZ|82|tP diff --git a/app/src/main/res/drawable/writing_page_rating_drag_2.png b/app/src/main/res/drawable/writing_page_rating_drag_2.png deleted file mode 100644 index b383ee0a947207665e098f3982df5590a43863ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1365 zcmZ`(`!^E`9N+GZ>y^TFJuZnzNSAKdS}bD?mxa7`Y1UD>F|T>db`>|=(Ma9RPK!|H zF8?MZ?>V3E=X}2Bd(QX!!{>bR{gH^>8pav`0ARPb zmuH}oW0de$Q&sl0$KnVjsV91&k^ulsy{`ZQZkHM=hrr}O1Psu~Gg(xMUD57-?f^hj zk>>U}6{VDVd%6du17)`({|FB@;buyvOAf}}nix%!33$7!-Tc?6%*a1bp@&(in5+%?67TEzE^w%iSPBqLpo4PmY@MnQxcNuB%#N7-(Ay&kzMly$}{_{QG}?oW`Bm zzj`-N+R01bcD4W2R9jS?H$A8W$M?-fN*^#2KLsH2YD}x9FOj*{LvpkhsWUVOpp+c9_6cN^ z1y_BHBvJ}D87&R&ir2boulY~(A~uF6dVBo{=8k=td zPX$fx(R1hzIKtXn*M(&fDXD%!wnu`~k1qQ;4x9kNyfD${eaYqSuA8!L@y3JpTJe8l zFq`|e$r`*N+g4ked@C0BwzW?U!PJck)~O>fm{pCU&nG7HRi_E94l&YtdTVv< z=jR2?1P@ef-#GZDdbR~~FjZDti1sf{Io`u*NLo*_cbE*&ch;`&?_$ks(Cc(C1f%K7 zhITrpa&FM!8EDmZzAT(U-P}nxL=(Z4?Vc!_gg~lamo%^?5l`n^@JGgH<&Esg=wa|v zbG^N6A+-72zVhRV;yun6BWF4;SW!AwA`(`>Zc(yP&YjA^8X_^HIWF$`rF&UFe;4tV z8M3HgyfA;|+M4;rqZ`Z0E-z_GMCP59{GfUeoU(lAy5MATbGHg=A;er}Ls@_xFsW)0 zrku*VGR4~Ztqx{lZ=G##pL}?PZlHrdjZeuKnyHbc7ll_-KaAStKysUwNRZJEXgm%=q0R+|UC`Z7Vc)p|-nC?ffufUfXXB{B?rPWKd zW0W(2AlyM$J4V;Z!neUO*R*=I5bA6CV?}eWpIp%T+qrLSkTfPb$K-&A^16);RC1}V zvG$FrC|cI^Y6YDd&gEu`=Pbv#6S?!g)UPHJmU%IXO^7?$oP_HTOK)0lS%biz-BDHrTLA>{u?^q*)oE8?susq&H zvzet`{}w^vN5;pCy^b9oDlJlFFMWAcf*YP1{siqK`1;>FGQ1xti z%D@MV?3@Jw(_XLzbb3$U;)qeqjq{ec`Wv`tB(oxF%Ek?A)p_rwCGgv60sxFVegWzv UQ$j@Cpw_Q@-f*O6BMfu(e^^$Li~s-t diff --git a/app/src/main/res/drawable/writing_page_rating_drag_3.png b/app/src/main/res/drawable/writing_page_rating_drag_3.png deleted file mode 100644 index d26acb4fe4f7d084988575a5b4379881ff15d556..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1847 zcmah~_d6R10}i!XGlJR`Q4)G~tlAQ*X+9Nc&!~&L+C>gUXbCl2t*X&a1dXjFJ$h;r z>LjAp8M(7dVv`c%(~tJ^{RQ_t?|9z#d4GSi+|W+qmlQ7n0040pXN3E?hn&+*MCe@i zXiGllb`kIF83h1{g8olF0EsMrUh+k`JJ|!MBgz}+K_JlXrX2v#m?L`XCkOxteR4tA zdBpMUkRtBOAZ2KQ0kQ95=~2+wmtZO`5+?j;rsatPJ2R^4XR@G z?B&pIcM;*b5qG%QCLvW#B;}v5-$Rr}9!ySIF)s!aXZ3b(YM|l3K9lLGF8dQU9-6%*>VWuzA?fUEj9-Uhv(dX9k5L^p*cM9e!($KfDVYipN6Oub9)* zWmWap<-FBXf82r$Hef))31Oa(&a|}={vo)f*&<=dh3%(~4!5C`A}1EwD|>RTb&TnG z*{4?GuLSR)qP9|wj*@#qL$$ONX8WL4a#{4G7X*u~%|4;3XLC(Q^Q`F@59Y`e%jPqr z6McNrg56$tlnW&Sk$CVz%1Dq#c39!))}00t7i;;sQFXsF=+|%E#S7q}c;(J5hjq?Q6GUatWQ>;%<5%K1tdZatn%Ylxr7HftOX{#2 zY4$@DbXm%FN2#pNo4M%6do2zboe4SAcOSOwHzMN_i}ByGG94dujO1Gja~J!J!$Pac z5*t2arkJ|PfN~N4boG42BT+LJ8(ZPwy94}$nkek8H84DE{n@h}LwSu^;8x2WoUmmr zI_npWjexz=5VB$NJ@?f{ZZGZ#JGx##IHSI~h#>mSqq}e#CuEJCoNnvY$%vPCt+d`@ zSj4;lDP*mY#~xeud0p7s)5cUcxz#M!c?nQJt>NV&lg(140X#j26?9Vx!j!@3@}BQ9 z9AA}_JGxg2RY&Nt{I_0|xl{{O+Hj1tfHFNo>O8<3J z>YCJyaSe;iUQ4j2oVdkQdzkwG_YBB_)U*z*oxpXJfiZiA@|yYb4bCi#I7Ls-6|g8M zUIjLEc3xKg0yI2rH@9m1D^a&4q$oy&5|n}sf(HE-I2YqcbMRbFQ}d2{YxzrXPE!lL zdDbCU(jqkY_P%B7C#9>)efq6VB~imUz_{4d?9Om$OV(I@I}lmxgUa^^{t|wS*1_Fc zO6I`J8H||b8Ze~ZWGF))mD8W-&QEeG;R>8D8c$_l zeE5@z@W`Pi*RKl~Acy>2iDx9I<+4hFRR0pSCvK+YOy+Xa9p_xy=4NKG<<42?!{IQa;S_POwhIfd|uD^P?fSqPVW2z;1PR~`0bdwv#6^ooQlmKZJ_o7(;-oQNhN*)^x1t-KYfEVa|p z7vCFeQ5uOFAX=(?i1FpnP#u(OAd#}PrP{U8QqPkWmS7}F6hxn@A4&wzT(Ac376xYG z`|-f;-O}v-m8(Cj{n7rw>tEV%CA4NAYJy3t3l}2=(6^6bsvshEQUd>gOPnimAABR( SEz6Yip98oc(Fm$NF6DnyuVxtl diff --git a/app/src/main/res/drawable/writing_page_rating_drag_4.png b/app/src/main/res/drawable/writing_page_rating_drag_4.png deleted file mode 100644 index ef80f3a9ab85900ac7fa403adf723aaac0b473ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2520 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 K0!lD+Px=qtO+}9Y diff --git a/app/src/main/res/drawable/writing_page_rating_drag_four_and_a_half.png b/app/src/main/res/drawable/writing_page_rating_drag_four_and_a_half.png deleted file mode 100644 index fcfe9abab0c6dd7a24562584cf5ca3404f6cb35f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2566 zcmai0`8yMi10JH3IdTsXN^YUZG080{b6*p)+(%Z;oTU_>9=^VR!RLA2<9Xlbd4GRX@7P-bPlHYa005wkwK?S2gO7RV6wk3TJN|eb z8*ikwI|2YWBm94I0P+eXj!O;%#Oem1x=(uHIGhMDy=4jj)M3uBeYuYZ`8MXJPSG4I zd9jgBt}8n(qIq24rT0FbcA39>{@KF50sI}sH(9Log+mwSJ{qyh6pg-${1=p#Cm?WGF zWvnJTHxlxgch@dcJ!S)zQ@OdgU|lpC2h7j!U1pTxgN->I_UBaAV0HBx7BcB?EAwr% z$D;G7zq*=B40bOtj&0-3Ls|L-Nw^i6P+MNJYN4(-J~GmGZ4%^E5s;90WHDA|J!`Ym z%Fcvfs-7R*pw(4ZQ#u$fzV1HZAnDdfLJ167*qL}y#DuF26Y{3Xz)-wQ|LEL|5h&gA z-C&Tod`1eU+_+bZB+6JZ{^k`q%`Pe^7;l{2VN%z=qJiUD{GH^1V)JQbZ_Foc`Bj@9 zD_<5zkc1}-Hmb$Ap#^@DJhs`hI0!b>2m9#x6K*V&jQE}U4YLk0+w~4lcZY!ac2{2S z620FLiI(`^3Cf=*?&BxQ2BPJe;V0%EPqSYzlap)h^PRGXwoyBgfG3rzzYSY`&4iN< zPV~fc0~5%sNPQh{(xGUsW46!Kd}+Xm27_aOxdlh1LTysBBCv%l9@Hss%ajoq!6~wuMnyTs# zM74cxTbj1>Av0Il*Iqu4y^T{NWrnZ3ce-y19kpVdHOgu^;TIJ}Jf(V4&&P|Mso@T# zK}D&Abx=pYl6giVoB(Oh^|dn@mP`(T+dgvnjz?k_FZYa5T3L@@sa*x&Lz@>LN=cpr z&zAkA*3Si=uxZa7(SwY9Yxs~bg+a6;D=V<<(H4TK-($xN%m1UIgOBwZ>0tu zHA=Q!imX0VbkL6uQv48K3;wAV^0Q|x-r}z5pjTL7{dKaIfK3>Pj$<9PZvZY*_gy61 zmc{9MNlAM1itUg2hzn-bMNs$`d6+*z;U!|9@3paP?lpJyCy%52TbGKkl&+Mv=Ck$! zdD!~smutJZWga^ZjRh|)I+ZWKvDkO=Q}xMxWE>#;sqlmI+qSfbN5tN0QeU5%UVZpE zRl4-awuCwKLO0g9OEZ zA0L6IZ(L@_Lw-_6KKgl}m$ER$oq4Zc8~19o)uT4T92ZzoZRoie9WvEOrb_4=Xfv3z z$q5z~=CHbvU+ScW2>hbEey6Hr<`Ffpf9#==o>_!7@-&;DnI;U3QIZUah{$!3H_xDq z&f2`V*o38eEKDn1L zwY7ETjCKYd{r;EAj7iPyO8ni`g z+A{tQ#G`9&*`hrB*XIl^+65;?nx&Aq)t*H`VxPuZQ$WLhA?1PC+)NH9coJO&?ViY} zubSLf`!2ArS|}0I$8x8w?L&Pf;;*@1>8(%qmX`8-ImsN?MgcEuN~WVAOL6rQxtSCB zdWonX2Qlwa(zduQ({g9-ji57})XezW2Li19S0dIVpO=sq-gq$)YQ>9E%{R3^kX*c;x7dO>E*CqjR(}S=KeSniX&Pr}o;kXqx8E zF;}4N#Z6^yqH@_2e{m`c$p2DYovxCKC8PqJ0dQB^uluH`r_SV^slC1b^x$E2!JCVJ zBgPfzpi0ZjTWU~LtNGiDa0#8(xjT!uT)5pr>|5@gV%~P){^vp5&CclxUI8G@9AC-2 z_N3WpF8hfP6X_z8$n5E`U&mCPaPz!*J08+QA5rTcfU46IBfobs=JkW$`hT!UfkEAK zmrqjFIs;?EOywen6gKoiw@xy6W$9(D+I0k3_=N&u0>f)TXfvy`Q(SK6bUrtAg&pmi zc$DHfQQzKB{?_W#~SP`uodAP zQA785HcShUYigMm`o4?NAkR2ZLUrZRdB=+Pi<*w3(T5w*Bgpjtk-> zMMHMwf4qJB!^as1;7O3go=m=E+sa{(c1B9;#(e(~_G~El(efxsICXz*Lray*X&M-w zw`3L{ulYl9%t&huQP616OpbB9&PjZC+Nz{wc>Xc&E;B=c?m&t?pO}OrYX(EgtMP4Z zIRR(+1o+>U+gvm`LDQUr|M4QbGY2!bTku0J2t`5a;~bdbogJ>gg)!9JvM&BTTfFqS zNW{hf`)Bb>LU%-!&k;Xq z^2psTXsjsq0&8gDw5_qWsD_mOkve$NLczI#!@&@_XPNxMB+YF(Iij-I>|HU-U4@ra z^XaP~`|vO`kOg-+zsJL)ry~1BbWmeH!Nl^umIzuy1FO2ka5(biqV+m@0C(5|Vp-+WY_+bXl diff --git a/app/src/main/res/drawable/writing_page_rating_drag_half.png b/app/src/main/res/drawable/writing_page_rating_drag_half.png deleted file mode 100644 index d1524054dda9796584d738e6d697d795a0334067..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 565 zcmeAS@N?(olHy`uVBq!ia0vp^(Lfx)!3HGDK5|9@Db50q$YKTtZeb8+WSBKa0w~B> z9OUlAu7srqa#&=3jOYIsWncn+Xercodd! z9O^g{cckmcBr~25?i)57bYXAnnA_UBf3erpUcH__j66E71|p@I?W>;D^s8@QB@ps< zip}d!e>G11+!OKdXHEG&p!F!g!CQ60+V%0j4JC3`zWQo?`*!}GE%P6LbPk?5NhlQ;kF9}f+U+3}w%|7MlzUX{6T-Mn0Gcmt7$)VDipp6LCuUzli~ zwpZuUx#jiGYouyI-<=k#O5eNd+ZzApm#4luy|=e_Vz}JgtNF4ydG{tX9ci0;``Mkg zxAp5^?V9&<`R~cw^1l6W`PwR?V)AD4GRyp%;)d}m6PsG@otc&OY1-WrT^zi>cigxC zw9Iz8sG!uhy@wCin*LVhHhB5K+~tkX>vwsdR^AhjZ0KBn$?JHF{ogvT_j@cRi3-Sl zdwcWE>hquPtvlp!v$O8)yL0E*>z~iBe8By3|L#S`%^msg{AN#)%Q&~b_QIbxzmwUg q6$|Oi%V*%<*Y9Qyj5}nI;Q5bXmS$zC#MVy*AaPGuKbLh*2~7a%VFcg+ diff --git a/app/src/main/res/drawable/writing_page_rating_drag_one_and_a_half.png b/app/src/main/res/drawable/writing_page_rating_drag_one_and_a_half.png deleted file mode 100644 index 20a3d8458dda2b2d58c4d76d91ab07b40a8c90eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1149 zcmV-@1cLjCP)dKY>qu8}|;AEjN8X zJ(+9!BGs+O?AFQ>>-!FKV!g8V;BWZfoSi#sZP;_1>b?-I#f(Xi#jH$JC&ri!v4FNe zD--29?Z1{&y$NauYxP`aX|B`m!K*`Ry-0`9hug&Zu#KH}l*p!&oKkesP3v}|Tc;^0 zo3L_171wh^Unk)sB)C^?t3>ILiA41T%bzpd=)GBAi&%ZuCt~Oc_G=R>6D5szn#NET zd;SbYA$~aKH0~%a8{@_MH9=5+SGu?Up4BT?s+Hf&BXH> zG3L+p-6?8Zi;ND2;m5i?MHaF$QQUd4!O@eOj@6Hj8!^q?j)8$N-q47I(eNm3-kmhq zPnNRt8O7Y)s*omQU}a@PqI7*Q=rk?V{8~F}wDVcYe1p1EzFsKYiw9lTy)PZ^Rvikh zo&4Fk)@RHtbwgy~rMbCsi;~+q@U66KX1bW(KW$bf>c;&1U%DyK<6{1$RXBO+(j6`P zwQaNJ1z*cpnW+7XO1-VsOA`TWJr zs_wpg`Hc4aew0}15k0ZmygWYsVkHPBb=scOFFdT{(+<6JLOs!U^n}mr_F`Xu|M$D5 zrfzPf-@kLY=Y3;N>TX6qd-STkkeZ(UkSx?wKMTmwqweC}yCaV8KdZ?KgG6F!&(u`6 zQ+fJrbkt9!QZH00m7DuI44VJ|000000000000000000000000005*F7GVWNBDwX4m P00000NkvXXu0mjfJ7qcB diff --git a/app/src/main/res/drawable/writing_page_rating_drag_three_and_a_half.png b/app/src/main/res/drawable/writing_page_rating_drag_three_and_a_half.png deleted file mode 100644 index 05d52ea40c213b2056f6b650cbdf5c23efa7c1bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2168 zcmai0i8~XF1D;Q=HD_+393^)O`E&vrqmow?z`l+ zkhCyn=FI)`{RQ9iyvOst|G@huLCuZXfxNK)c zn|+@W|Cw3jsfhHEOLx`Paach{YTZ*25vtK_N!+Q~15H>GstkUD4J+Mmi=s`)4K_LU zXO3Kh7IG%;N9ly@YlVCX52;NQjDPZ9IDlN~dl4iNfUxi^;*yxjHfz&R0}JvsHl|DX znv&)h0@kO8N<&*!CA%05gAQ@?^W~`i5=0m}3(6ud%>gg7z?H(B+Ne!Us>r@5o}Wb- zM^)yU3sd{>tK{~C*Snj`@d-+lcXWs|mygdzUg0SL93W9nIy4zzF~!xxapSbuL#_FR zXimzG{+_{Fe1e-(dM^oGqO~Hk`@zcsr@Nx!Hy5^c*i%*}t~s+V9-bz4Qfn?EBKW7Q zbX<`XAVvrd+Mxm*ykiuj-UQA$)rw!%Ufm@Sb#bqzU+jG-y2r#-`CrbXJO1+7HJm zI1w{etS<#!_BGux!PrX)&mnHkB_z>bJ@oUhV=y{od%6Frv{l_iKyXYfg>HU>%%~CN z*_-yPi}P)ppTX&{Yho@YD|7xqVqH|S|0DMx@EW+#8&cwAKcbPAbNyt?a>!0zpm~b| z1S*(ZJlJY=lj1=R)cO&8rv>4D1M5B)5ApO+WGJKY0F0? zmW)htowndIa}xjdeL@YgFei8fl87&Dt;|9WDlBk&8Ipm~_5zq4PbNG4@e+im4YvVd zo8bdkY;a2>9|hB4r~RdL-|E0ONWdt<3irYk6G1k?|0SpETGjC~ztyW6O1|Y76$P76 z?YC|ZHHycV!7B9IV9bHpbpsPOHXYUMR0c0QCE3<&&Uxef@u*htAW&@gTm8!ED6m07 z4sYEBYit;Ctj@bT+?dypLrxYnW2={?T9Xec?E`)wiuyS4-dj0m8C&1&f3V>^l`WY= zgm1Kp=T}vOFC-81br`sfWLY&-z|?J~@5v0}XS+D8zCa9O3)%Q8hvazN_-&a|KxEcM zDj#qeXOg{Zf0M|W5sN}e$7fC+i@82I41NpzR`}68RdiRXr$4}V z6D2{w;oi&ghbvW&+t!L%cO+f;9LJ}>bHlz9V{Q~mDi6Kg^R6nixt3N1%cq_S+J2!;kGhcd5|o|G7t&Rgyk~e`FZv@~ zNXWQIIZOq@XSG0+)+aL|n{1<=*0mH(i#|O7O(Y>PKVU$X@-NQ9sfq(A7;8r__xc_x zueztF)1!Ewdt-vlKW4)o zteLVZXCbon3`4?lfN>kLzx1px*0h~2Z~=#lgFlo9m8!vmgN`TqT_=lEQ}JIv03h_? z*|_>M!;jt0)8Ed18kH(u2~DJQ^+5;!_)!0vRJzxGN0(TVa_i&s#$pVn8y461I&eoK z`Xng!k$ecFiW-!@`}V!fH+5qXvzFeieUML|-Ady-r&hz9huuxEryACKCl$3s|Ms*@ z1|yoxKQ&_$Qz0_B@@*ba{OgcNE};5?baJ4QgGDy4E&Cgp7#Bxtfp|^bG19h&3P2dm zK09-js*;Ng5H0`J*guGvR|{YDzH5y9*MGb=A?=Wwd#LZFhO4w)LTfw_6u(tBuEF zjj!u8P|-Khh1CrM(XiKiE!VO&9B>&rq66N0zM$hPRsl<~um_>*)QAm2>|i!kOh_o+ zYc5G+xdN!%q#KuYIH_?)6eh0-iRl#O<`Nv%oL5JgSiHutUk3uB9zWJ}v_JCiSnK{Z zd6v$KWoYwMTsi=%aVA8yz}Jd)#qB*aTfC+O0y^tCRs0fOk``%_^J;cDp`o84NS$Q0 zqOZw#!wvEyZ>sn0Fc!*&UeG1p@07^mhq8h7WoIuXI6tO#%&5rk^It!>zqRyHh}ofK?)CYc2K`!eEvm4|mL$3sIeUPtFQ z#k8m}Qd48GQ6~%L41|K`E6Ry-EJCzZ1yT#wgoN`X4c;kM{r+8(!S!IU+T_0%_U59? XXu=Ag5%~GPR{~&aXb!2-fBf?Q6lXEc diff --git a/app/src/main/res/drawable/writing_page_rating_drag_two_and_a_half.png b/app/src/main/res/drawable/writing_page_rating_drag_two_and_a_half.png deleted file mode 100644 index c6c093c8ce2c2bd25bc2d27e15d4a402f5bf425e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1675 zcmah~`#;kQ1O8e~nv*SdoTcS*$jR*xVU(4{%jACCmd&kL$;wQJSTfGLLow$=?n5`1 z7s;?WvWXCL8O~0YENA$bPBzir8B$*FUvNI3=kj@;pPt{ITz_AWLl8X(004)uo^FAA z9=}I_4fQ=;@0H;9>|mlNjsgIhI{&8{P{Bm(m1>kg4-C*EK>ocK_7h!wTmgVppt%zb z1^{(Kteb04s+zozMOg59SN1hie4@}l~m+>Dxh zbOpR#9~j@a9r>gKdJA^90d5R$?`B;!z{9WBO0uI28tqT{a5^|_4&R~MF@-@~otwQb z?5Z4}nENFWt)ZGLcOsfDk1?I>MiH*C{r?07NC1)yrHaE0@~;9j4$9QS| z(0oyPhC=#n3F*a4r(L#Ll`p@I=C%+}#CmcJB2Pdkzt`4;<%4@Gt|b2(*o5t( zpLfJwXt!)f%-$_voSdCoV%q_8U_qocg5G?ovL%ARc(rq1jZ3ydGMbXJ>u$G@d)f^L z>^^-K_nr$}-XT3)`D|34H{6CX`J^rCAXLBz)l91av~0yHn-vw4;KkhBsz7r*tJ9qjmg~ekH8Ro=fZBiEu z84s`Cm%C->DPc4UtrDH5y$BR$bwm~M4Bp))LQADxOX6XCjM~44gQN$}VS}0yK*gZo zNVchs2aSk;22>$yXr?jLzX~h00!K6l2QqQ^9NM!6e&#`thq35#p1(1V9peiv8O3M4 zR)70A?l)&mRXgqtRQi1%@pfnZ?H&e6y3e7QI`TW@~jYNI*p#=EE1om0*3W9PK4+x{{W$Ja;Y zpB8Y~%7r`Pg%HOGtVv1Uf-7R>Q5zsWUq?dR+k6wo=cA1#FD$LMa@S*QyLy1uzNfak zaS3Jvi(SmRL2+B*`ns3J&@Fh?>FCCM7weKxj|x)cU{8tXkugMNtnTQ(Z$|ev9*WjK zJ&8I!((_SY4b^x4Axtm2*z(+B@;9d1DM_;tqvG1IH9N>M=ajxf+H}{y792kn48E7k z{7nk`kCSUGxTdAv8IC6TvJEiW2sU&AU#^j+vJu{V#WgnQ4dGhcR~1FFGBpMQQlIW? zPHqkURZ9>)BH$IOCzPGAZdj&zn?Y=TRt!+D73MgHUYhz~J05MB-o`ylN7Y6&aDP40 zz@>pbZTN1i6Qtm!!=Z;-bZgJ7VuO!^GbDW>yho;!nrNN+ko^?1*-8Ii9R9Kp*yk4! z%&?F`D%Deszt%J&f9O?uCE1K0w8eqQ_er?^vU^`f>mYQ;aT_`{e)qC)F|W~IsLY@S zU9?wB1Z?()>vul5l<qS$YvjsJ4X z(PxYMOzh&p$a@1!M5iL7ivlzg)pW8%)gM+j>{CNc6==rRf#73fLzBx>_xZBkNZ-f- z5yoCVh3Hnsu!@N7-}a9kHe4yUBZTkR?tQ6r5=}9!X_xPY|MJ2lg#0{BuEujscZ3=dQtw& z#&83y{^ItwdVRW_qW-LV5_|2ti_?+!wzq$@%QDpX2b3A_KyyklIViaTy7wIb*4@{w I1rwF^KN#&D1^@s6 diff --git a/app/src/main/res/drawable/writing_page_rating_gray.png b/app/src/main/res/drawable/writing_page_rating_gray.png deleted file mode 100644 index f2d2dc09ad0eeaf6efc75b7a598f6eef2156dbb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1803 zcmV+m2lV)fP)2Z)IYiP32A8hKEo7>ouJ zjKqhE(ddH`O&TxpK|?}s@_b_4Fwf3X2Tz7#A7PTv*JpN|K0P_gC_*s?`D4;#jABcK0N=$*}G z=N1g(3(Vi=$jjxPg`CeAC#27&w8xRa*e3io#N+YK3l}cTCY1Iv##X!XdqBIsRZ*_@ zFUmOI&M18{pU+=wn&vH(kcS~}otUGX?*h*gnM`Ijx2!c#WXou|e6OFsSkx9^&0eOe zj$)vH)YIp(Y2FR1w%Dq=61y9bOPNdzj%b5Ek8wrm z6LU7_kKlQusjBn+{8x0ngDT2a$bZnGv+XsY6Lv!_bs==vj78SD@^|5H8>1v7z(JaY zpT)8!;h$B@;=5=5iT-{nGJs46woQYwrwb84ab=D&oRb>Cr4mVbYX&(Zky=46TPzmi z#5AiSEUSj5v$K=iE}asTS1wn1Y}-?8OdpR{Q4~)4`kX+}`o@g$FjjT~(!OM(4^vu*jITu6|xJFzyq=-N-mdrD`)~rU6qFcYV8|9Nu`HDRr12-*3ZYyJoiQ z`~dn%T?HIEM#5uej&lvN$n-EUFhFOfK!c!NsZZb6*H>@2Imcm>*kmSfw}C>YhqY_h zx|?wt7~f{i+0Z{R=eS$F81^#_W-xDUT2V!NS_iWg=rdF1)(v)=Z&{jdD`Y_bj*#=Tv*3stV(lIkzTbH8SX&IaHL0 zu~Ow;h1*6w9bB6{aVn`gXMQ1{-wVc-jv(9K)*4~|V41lJrPrZ9yV2Ldl1 zMbYN`IUM)x4!@!-Lo09>=DIL<4SKk4gvaT{Y^(le1^OHm={e85%Eg$rcS~vrDj2LfA~vApV8H8%bk`g{nuos;+2nZ~xt!0RLfJ zc22=>inNBl3WBpc*3ogmn;6axFR|I^AekCsi-@rQ8A~K;nrP^79+xf>(gt*dx1kF- z=}l;wmTFPev(T?4tPG*ZD481LTeea$YiDSfdM^^y*&fKe8h+lwE#luzlY>>4tGk{# zHT$>?I3$Af903he|LC|foaab*SgnzW;UB>EERtrxnC5@1R4OH0u9A>I04@c`P^ZJ& zK%GPx@eiRkm#_s(p=EG>mBH|zNqC%V)%A3Z9*q4)ngBZPKm5|>3#!!sEhT>O3^1MyEyUT&GZ?Mn8E_%EzkvQ!i z5L*w(DQ_e~L7&GdQ^Tp=cuU zZg2ucb{NjzL8izWWcFaGQt7QX7mdgFA$SKH@uRquk!{Z)J5B`Wa9EuI{~ko4&`1Vo zK8U8%Z`IWy8vP2V*Gp3rTjB5*u-;Lp;Kq{4Bj~`Eg6Rkz$7>iGMkxFP?t0G*4Lv=X zG;Fuy$b{vfe+R!{y(ysZK9A1~ccxOQp~+;NIC*jpPVB8%?^jYAMEIQdTce}P=Oq&F zPsSflCO=XsU4_bj7#=bL`~&#)An?2CvSpRYWXy}lUsl9d5zfCwR*um@8S#ZeICfQg zEcTihoA3%Ej^q(tUpQ)-5z^9f4)vg^;t&2vA)CDw4xDEzijIstB|4F2WQg_vJY8s{ zOXvp&yC;^1#ya48qTb%VuoaE&Rogy?z>bh60Xt@2GK|FtgjFn;hq}7D!j>}$2?+@a t2?+@a2?+@a2?+@a2?+@a2?>eN_z%Gz6SV5(suutN002ovPDHLkV1k6BWJv%3 diff --git a/app/src/main/res/drawable/writing_page_rating_gray_drag.png b/app/src/main/res/drawable/writing_page_rating_gray_drag.png deleted file mode 100644 index d1078fdc6a6584bb92449f2fbca88078a1bec8a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2644 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout/activity_popup_score.xml b/app/src/main/res/layout/activity_popup_score.xml new file mode 100644 index 0000000..0fc42c1 --- /dev/null +++ b/app/src/main/res/layout/activity_popup_score.xml @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_writing.xml b/app/src/main/res/layout/activity_writing.xml index b848e22..be41ad8 100644 --- a/app/src/main/res/layout/activity_writing.xml +++ b/app/src/main/res/layout/activity_writing.xml @@ -57,6 +57,7 @@ android:background="@color/mechelin_gray_background" /> diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index abb789e..45d9141 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -21,4 +21,6 @@ #26958383 #766c6c + #33000000 + \ No newline at end of file diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 6176baf..c1c4c89 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -18,5 +18,17 @@ @color/transparent true + + + + \ No newline at end of file From 197f49819381468c6659abcb34ef23f5e9acd092 Mon Sep 17 00:00:00 2001 From: hees00 <1p2h3s@naver.com> Date: Fri, 4 Feb 2022 23:20:41 +0900 Subject: [PATCH 4/4] savestore v4 --- .idea/deploymentTargetDropDown.xml | 2 +- .idea/misc.xml | 9 +- app/src/main/AndroidManifest.xml | 11 +- .../mechelin/data/remote/SaveStoreResponse.kt | 5 + .../mechelin/data/remote/SaveStoreService.kt | 10 ++ .../com/example/mechelin/data/remote/Store.kt | 1 + .../mechelin/ui/main/WritingActivity.kt | 159 ++++++++++++++++-- .../mechelin/ui/search/SearchPlaceActivity.kt | 4 +- .../main/res/drawable/mypage_card_small.xml | 13 ++ .../writingpage_rating_drag_1_xxhdpi.png | Bin 2261 -> 0 bytes .../writingpage_rating_drag_half_xxhdpi.png | Bin 1552 -> 0 bytes .../writingpage_rating_drag_red_1_xxhdpi.png | Bin 0 -> 1355 bytes ...ritingpage_rating_drag_red_half_xxhdpi.png | Bin 0 -> 835 bytes app/src/main/res/layout/activity_mypage.xml | 130 ++++++++++++++ .../main/res/layout/activity_popup_score.xml | 4 +- app/src/main/res/layout/activity_writing.xml | 25 ++- app/src/main/res/values/themes.xml | 9 + 17 files changed, 360 insertions(+), 22 deletions(-) create mode 100644 app/src/main/java/com/example/mechelin/data/remote/SaveStoreResponse.kt create mode 100644 app/src/main/java/com/example/mechelin/data/remote/SaveStoreService.kt create mode 100644 app/src/main/res/drawable/mypage_card_small.xml delete mode 100644 app/src/main/res/drawable/writingpage_rating_drag_1_xxhdpi.png delete mode 100644 app/src/main/res/drawable/writingpage_rating_drag_half_xxhdpi.png create mode 100644 app/src/main/res/drawable/writingpage_rating_drag_red_1_xxhdpi.png create mode 100644 app/src/main/res/drawable/writingpage_rating_drag_red_half_xxhdpi.png diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml index 82e835c..19dd8c7 100644 --- a/.idea/deploymentTargetDropDown.xml +++ b/.idea/deploymentTargetDropDown.xml @@ -12,6 +12,6 @@ - + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index ce43678..a1c1724 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -11,18 +11,23 @@ + - + + - + + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 8e9c1bd..3cb49c8 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -5,7 +5,10 @@ - + + + + - - + + \ No newline at end of file diff --git a/app/src/main/java/com/example/mechelin/data/remote/SaveStoreResponse.kt b/app/src/main/java/com/example/mechelin/data/remote/SaveStoreResponse.kt new file mode 100644 index 0000000..cd0f779 --- /dev/null +++ b/app/src/main/java/com/example/mechelin/data/remote/SaveStoreResponse.kt @@ -0,0 +1,5 @@ +package com.example.mechelin.data.remote + +import java.util.* + +data class SaveStoreResponse(val isSuccess:Boolean, val code :Int, val message:String, val result: Objects) diff --git a/app/src/main/java/com/example/mechelin/data/remote/SaveStoreService.kt b/app/src/main/java/com/example/mechelin/data/remote/SaveStoreService.kt new file mode 100644 index 0000000..fd1df34 --- /dev/null +++ b/app/src/main/java/com/example/mechelin/data/remote/SaveStoreService.kt @@ -0,0 +1,10 @@ +package com.example.mechelin.data.remote + +import retrofit2.Call +import retrofit2.http.Body +import retrofit2.http.GET + +interface SaveStoreService { + @GET("/stores") + fun saveStore(@Body store: Store):Call +} \ No newline at end of file diff --git a/app/src/main/java/com/example/mechelin/data/remote/Store.kt b/app/src/main/java/com/example/mechelin/data/remote/Store.kt index ff2bc2a..1202471 100644 --- a/app/src/main/java/com/example/mechelin/data/remote/Store.kt +++ b/app/src/main/java/com/example/mechelin/data/remote/Store.kt @@ -1,6 +1,7 @@ package com.example.mechelin.data.remote data class Store( + var userIdx:Int, var storeName:String, var address: String, var tel: String, diff --git a/app/src/main/java/com/example/mechelin/ui/main/WritingActivity.kt b/app/src/main/java/com/example/mechelin/ui/main/WritingActivity.kt index 88dd6c4..bbc1f0e 100644 --- a/app/src/main/java/com/example/mechelin/ui/main/WritingActivity.kt +++ b/app/src/main/java/com/example/mechelin/ui/main/WritingActivity.kt @@ -1,5 +1,6 @@ package com.example.mechelin.ui.main +import android.Manifest import android.app.Activity import android.os.Bundle import android.util.Log @@ -9,21 +10,46 @@ import com.example.mechelin.R import com.example.mechelin.data.remote.Store import com.example.mechelin.databinding.ActivityWritingBinding import android.content.Intent +import android.content.pm.PackageManager +import android.graphics.ImageDecoder +import android.net.Uri +import android.os.Build +import android.os.Environment +import android.provider.MediaStore +import android.text.TextUtils import android.view.LayoutInflater +import android.widget.ImageView import android.widget.RatingBar import android.widget.TextView import android.widget.Toast +import androidx.activity.result.ActivityResultLauncher import androidx.activity.result.contract.ActivityResultContracts import androidx.appcompat.app.AlertDialog +import androidx.core.app.ActivityCompat +import androidx.core.content.ContextCompat +import androidx.core.content.FileProvider +import androidx.core.widget.doAfterTextChanged +import com.example.mechelin.BuildConfig +import com.example.mechelin.data.remote.SaveStoreResponse +import com.example.mechelin.data.remote.SaveStoreService import com.example.mechelin.databinding.ActivityPopupScoreBinding -import com.example.mechelin.ui.save.SearchPlaceActivity +import com.example.mechelin.ui.search.SearchPlaceActivity +import retrofit2.Call +import retrofit2.Callback +import retrofit2.Response +import retrofit2.Retrofit +import java.io.File +import androidx.core.app.ActivityCompat.startActivityForResult + + + class WritingActivity: AppCompatActivity(){ lateinit var binding: ActivityWritingBinding - var store: Store = Store("","","",0.0,0.0,0.0,"리뷰내용", makeTag(),1,"N") + var store: Store = Store(0,"","","",0.0,0.0,0.0,"리뷰내용", arrayListOf(),1,"N") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -33,8 +59,8 @@ class WritingActivity: AppCompatActivity(){ val view = binding.root setContentView(view) - makeTag() + //카테고리 선택 binding.writingCategorySelectTb.setOnClickListener { if (binding.writingCategorySelectTb.isChecked) { binding.writingCategoryLayout.visibility = View.VISIBLE @@ -72,8 +98,8 @@ class WritingActivity: AppCompatActivity(){ store.storeName = myData!!.getStringExtra("storename").toString() store.address=myData.getStringExtra("storeaddress").toString() store.tel=myData.getStringExtra("phone").toString() - store.x=myData.getDoubleExtra("x",0.0) - store.y=myData.getDoubleExtra("y",0.0) + store.x=myData.getStringExtra("x")!!.toDouble() + store.y=myData.getStringExtra("y")!!.toDouble() Log.d("storeinfo",store.toString()) binding.writingSearchTv.text=store.storeName @@ -89,24 +115,59 @@ class WritingActivity: AppCompatActivity(){ resultLauncher.launch(intent) } - - //별점 받기 binding.writingScoreIv.setOnClickListener { getStarscore() } + //해시태그 + binding.writingTagEt.doAfterTextChanged { + store.tagName=makeTag(it.toString()) + } + + //리뷰내용 가져옴 + binding.writingReviewContentEt.doAfterTextChanged { + store.contents=it.toString() + } + + //배달 가능 여부 + binding.writingDeliveryTb.setOnClickListener { + if(binding.writingDeliveryTb.isChecked){ + store.deliveryService="Y" + } + else{ + store.deliveryService="N" + } + } + + //완료 버튼 눌렀을 때 + binding.writingCompleteButtonTv.setOnClickListener { +// savePlace() + Log.d("saveplace",store.toString()) + } + + //사진 업로드 + binding.writingUploadPictureCv.setOnClickListener { +// uploadPhoto() + val intent = Intent() + intent.type = "image/*" + intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true) + intent.action = Intent.ACTION_GET_CONTENT + + getphotoLauncher.launch(intent) + } + + } //해시태그 만들기 - fun makeTag(): ArrayList { - var beforeTag = "#행복 #하이 #진짜_진짜" + fun makeTag(beforeTag: String): ArrayList { var tag = beforeTag.split("#") var resultTag = ArrayList() Log.d("HashTag", "tag"+tag.toString()) for (i in 1..(tag.size-1)) { - resultTag.add(tag[i].trim()) + resultTag.add('#'+tag[i].trim()) } Log.d("HashTag", resultTag.toString()) return resultTag @@ -155,6 +216,84 @@ class WritingActivity: AppCompatActivity(){ } } + //사진 가져오기 + val imageList=arrayListOf() + // 위의 Activity를 실행한 이후 이벤트를 정의 + val getphotoLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -> + if (result.resultCode == RESULT_OK ) { + if (result.data?.clipData != null) { // 사진 여러개 선택한 경우 + val count = result.data!!.clipData!!.itemCount + if (count > 10) { +// showToast(getString(R.string.max_image_select_msg)) + return@registerForActivityResult + } + imageList.clear() + for (i in 0 until count) { + val imageUri = result.data?.clipData!!.getItemAt(i).uri + imageList.add(imageUri) + } + binding.writingUploadIv.visibility= View.VISIBLE + binding.writingUploadIv.setImageURI(result.data?.clipData!!.getItemAt(0).uri) + binding.writingUploadIv.setImageURI(imageList[0]) + +// if (count > 1) { +// binding.tvImageCount.visibility = View.VISIBLE +// binding.tvImageCount.text = "외 " + (count - 1) + "장" +// } else { +// binding.tvImageCount.visibility = View.GONE +// } + } else { // 단일 선택 + result.data?.data?.let { uri -> + imageList.clear() + imageList.add(uri) + binding.writingUploadIv.visibility= View.VISIBLE + binding.writingUploadIv.setImageURI(uri) + Log.d("onephoto",uri.toString()) +// binding.tvImageCount.visibility = View.GONE + } + } + } + } + + //식당 저장 + fun savePlace(){ + //레트로핏 객체 만듦 + val retrofit = Retrofit.Builder().baseUrl("https://dev.mechelin.shop").build() + val saveStoreService = retrofit.create(SaveStoreService::class.java) + + saveStoreService.saveStore(store).enqueue(object : Callback{ + override fun onResponse(call: Call, response: Response) { + val resp = response.body()!! + + Log.d("writing-resp",resp.message) + when(resp.code){ + 1000 -> finish() + 2040,2041,2042,2043,2044 -> { + AlertDialog.Builder(this@WritingActivity) + .setMessage(resp.message) + .create() + .show() + } + 400,500,2001,2002,2003,2010,4000 -> { + AlertDialog.Builder(this@WritingActivity) + .setMessage("식당 저장 및 리뷰 작성을 실패하였습니다.") + .create() + .show() + } + } + } + + + + override fun onFailure(call: Call, t: Throwable) { + TODO("Not yet implemented") + } + + }) + } + + + } diff --git a/app/src/main/java/com/example/mechelin/ui/search/SearchPlaceActivity.kt b/app/src/main/java/com/example/mechelin/ui/search/SearchPlaceActivity.kt index 3936edc..03e08ac 100644 --- a/app/src/main/java/com/example/mechelin/ui/search/SearchPlaceActivity.kt +++ b/app/src/main/java/com/example/mechelin/ui/search/SearchPlaceActivity.kt @@ -1,4 +1,4 @@ -package com.example.mechelin.ui.save +package com.example.mechelin.ui.search import android.app.Activity import android.content.Intent @@ -16,6 +16,7 @@ import com.example.mechelin.databinding.ActivitySearchPlaceBinding import com.example.mechelin.ui.main.HomeFragment import com.example.mechelin.ui.main.MainActivity import com.example.mechelin.ui.main.WritingActivity +import com.example.mechelin.ui.save.SearchRVAdapter import retrofit2.Call import retrofit2.Callback import retrofit2.Response @@ -105,6 +106,7 @@ class SearchPlaceActivity : AppCompatActivity(){ private fun putSelectedStore(store: SearchStore){ + Log.d("putStore",store.toString()) val intent = Intent(this, WritingActivity::class.java) intent.putExtra("storename",store.storename) intent.putExtra("storeaddress",store.storeaddress) diff --git a/app/src/main/res/drawable/mypage_card_small.xml b/app/src/main/res/drawable/mypage_card_small.xml new file mode 100644 index 0000000..6a08fa2 --- /dev/null +++ b/app/src/main/res/drawable/mypage_card_small.xml @@ -0,0 +1,13 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/writingpage_rating_drag_1_xxhdpi.png b/app/src/main/res/drawable/writingpage_rating_drag_1_xxhdpi.png deleted file mode 100644 index 1f6756f83a6dccac6c461f2a9a58e6b9ab1d6f4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2261 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 N002ovPDHLkV1il0ZvOxP literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout/activity_mypage.xml b/app/src/main/res/layout/activity_mypage.xml index b19093f..b4ca014 100644 --- a/app/src/main/res/layout/activity_mypage.xml +++ b/app/src/main/res/layout/activity_mypage.xml @@ -5,6 +5,83 @@ xmlns:app="http://schemas.android.com/apk/res-auto" > + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_popup_score.xml b/app/src/main/res/layout/activity_popup_score.xml index 0fc42c1..db00d90 100644 --- a/app/src/main/res/layout/activity_popup_score.xml +++ b/app/src/main/res/layout/activity_popup_score.xml @@ -25,8 +25,8 @@ android:clickable="true" app:starCount="5" app:halfstart="true" - app:starFill="@drawable/writingpage_rating_drag_1_xxhdpi" - app:starHalf="@drawable/writingpage_rating_drag_half_xxhdpi" + app:starFill="@drawable/writingpage_rating_drag_red_1_xxhdpi" + app:starHalf="@drawable/writingpage_rating_drag_red_half_xxhdpi" app:starEmpty="@drawable/writingpage_rating_drag_gray_1_xxdpi" app:starImageWidth="30dp" app:starImageHeight="20dp" diff --git a/app/src/main/res/layout/activity_writing.xml b/app/src/main/res/layout/activity_writing.xml index be41ad8..ebff098 100644 --- a/app/src/main/res/layout/activity_writing.xml +++ b/app/src/main/res/layout/activity_writing.xml @@ -4,7 +4,8 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - xmlns:app="http://schemas.android.com/apk/res-auto"> + xmlns:app="http://schemas.android.com/apk/res-auto" + android:paddingTop="20dp"> @@ -189,6 +191,7 @@ android:padding="10dp" app:layout_constraintTop_toTopOf="@id/writing_category_koreanfood_tb" app:layout_constraintStart_toEndOf="@id/writing_category_koreanfood_tb" + app:layout_constraintEnd_toStartOf="@id/writing_category_chinese_tb" android:layout_marginStart="20dp" android:onClick="onClick" android:tag="2" @@ -209,6 +212,7 @@ android:padding="10dp" app:layout_constraintTop_toTopOf="@id/writing_category_koreanfood_tb" app:layout_constraintStart_toEndOf="@id/writing_category_weternfood_tb" + app:layout_constraintEnd_toStartOf="@id/writing_category_japanese_tb" android:layout_marginStart="20dp" android:tag="4" /> @@ -228,7 +232,9 @@ android:padding="10dp" app:layout_constraintTop_toTopOf="@id/writing_category_koreanfood_tb" app:layout_constraintStart_toEndOf="@id/writing_category_chinese_tb" + app:layout_constraintEnd_toEndOf="parent" android:layout_marginStart="20dp" + android:layout_marginEnd="30dp" android:tag="3" /> @@ -247,8 +253,9 @@ android:padding="10dp" app:layout_constraintTop_toBottomOf="@id/writing_category_koreanfood_tb" app:layout_constraintStart_toStartOf="@id/writing_category_koreanfood_tb" + app:layout_constraintBottom_toBottomOf="parent" android:layout_marginTop="10dp" - android:layout_marginBottom="16dp" + android:layout_marginBottom="20dp" android:tag="5" /> @@ -298,6 +305,7 @@ android:textOff="배달 가능" android:textOn="배달 가능" android:fontFamily="@font/scdream4" + android:textColor="@color/black" android:textSize="6dp" android:drawableTop="@drawable/delivery_writing_page_choose_category" android:padding="10dp" @@ -350,6 +358,17 @@ + + + + +