diff --git a/app/src/main/java/com/example/myfoodproject/EntryFragment.kt b/app/src/main/java/com/example/myfoodproject/EntryFragment.kt index 89957b0..a39b8a5 100644 --- a/app/src/main/java/com/example/myfoodproject/EntryFragment.kt +++ b/app/src/main/java/com/example/myfoodproject/EntryFragment.kt @@ -27,6 +27,16 @@ class EntryFragment : Fragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) + binding?.btnRamen?.setOnClickListener{ + findNavController().navigate(R.id.action_entryFragment_to_ramenFragment) + } + binding?.btnSushi?.setOnClickListener{ + findNavController().navigate(R.id.action_entryFragment_to_sushiFragment) + } + binding?.btnTonkatsu?.setOnClickListener{ + findNavController().navigate(R.id.action_entryFragment_to_tonkatsuFragement) + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/example/myfoodproject/InfoFragment.kt b/app/src/main/java/com/example/myfoodproject/InfoFragment.kt index bb7aa6b..13ddb7a 100644 --- a/app/src/main/java/com/example/myfoodproject/InfoFragment.kt +++ b/app/src/main/java/com/example/myfoodproject/InfoFragment.kt @@ -37,6 +37,9 @@ class InfoFragment : Fragment() { binding?.btnRenickname?.setOnClickListener { findNavController().navigate(R.id.action_infoFragment_to_newnickFragment) } + binding?.btnWreview?.setOnClickListener { + findNavController().navigate(R.id.action_infoFragment_to_personalReviewFragment) + } binding?.btnLogout?.setOnClickListener { viewModel.logout() findNavController().navigate(R.id.action_infoFragment_to_loginFragment) diff --git a/app/src/main/java/com/example/myfoodproject/PersonalReviewFragment.kt b/app/src/main/java/com/example/myfoodproject/PersonalReviewFragment.kt new file mode 100644 index 0000000..be515b3 --- /dev/null +++ b/app/src/main/java/com/example/myfoodproject/PersonalReviewFragment.kt @@ -0,0 +1,39 @@ +package com.example.myfoodproject + +import android.os.Bundle +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.recyclerview.widget.LinearLayoutManager +import com.example.myfoodproject.databinding.FragmentPersonalreviewBinding + +class PersonalReviewFragment : Fragment() { + val reviews = arrayOf( + Review("너무 맛있게 잘 먹었습니다! 인테리어도 깔끔하고 다음에 또 올께요~ 메뉴가 다양해서 좋았습니다! 다른 분들도 여기 오는 거 추천합니다~" + ,4.0, "23.11.13"), + ) + + var binding: FragmentPersonalreviewBinding? = null + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + binding = FragmentPersonalreviewBinding.inflate(inflater) + + binding?.recReviews?.layoutManager = LinearLayoutManager(context) + binding?.recReviews?.adapter = ReviewsAdapter(reviews) + + + return binding?.root + } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + } + + override fun onDestroy() { + super.onDestroy() + binding = null + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/myfoodproject/RamenFragment.kt b/app/src/main/java/com/example/myfoodproject/RamenFragment.kt new file mode 100644 index 0000000..005de61 --- /dev/null +++ b/app/src/main/java/com/example/myfoodproject/RamenFragment.kt @@ -0,0 +1,44 @@ +package com.example.myfoodproject + +import android.os.Bundle +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.recyclerview.widget.LinearLayoutManager +import com.example.myfoodproject.databinding.FragmentRamenBinding + +class RamenFragment : Fragment() { + + val restaurants = arrayOf( + Restaurant("라멘의 신", 4.9, 1254), + Restaurant("최고 라멘", 4.5, 841), + ) + + + var binding: FragmentRamenBinding? = null + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + binding = FragmentRamenBinding.inflate(inflater) + + binding?.recRestaurants?.layoutManager = LinearLayoutManager(context) + binding?.recRestaurants?.adapter = RestaurantsAdapter(restaurants) + + + return binding?.root + } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + + + } + + override fun onDestroy() { + super.onDestroy() + binding = null + } +} + diff --git a/app/src/main/java/com/example/myfoodproject/Restaurant.kt b/app/src/main/java/com/example/myfoodproject/Restaurant.kt new file mode 100644 index 0000000..3be0c4b --- /dev/null +++ b/app/src/main/java/com/example/myfoodproject/Restaurant.kt @@ -0,0 +1,8 @@ +package com.example.myfoodproject + +data class Restaurant(val name: String, + val rate: Double, + val review: Int){ + +} + diff --git a/app/src/main/java/com/example/myfoodproject/RestaurantsAdapter.kt b/app/src/main/java/com/example/myfoodproject/RestaurantsAdapter.kt new file mode 100644 index 0000000..d0bc867 --- /dev/null +++ b/app/src/main/java/com/example/myfoodproject/RestaurantsAdapter.kt @@ -0,0 +1,33 @@ +package com.example.myfoodproject + +import android.view.LayoutInflater +import android.view.ViewGroup +import android.widget.Toast +import androidx.recyclerview.widget.RecyclerView +import com.example.myfoodproject.databinding.ListRestaurantsBinding +class RestaurantsAdapter(val restaurants: Array) + : RecyclerView.Adapter() { + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): Holder { + val binding = ListRestaurantsBinding.inflate(LayoutInflater.from(parent.context)) + return Holder(binding) + } + + override fun onBindViewHolder(holder: Holder, position: Int) { + holder.bind(restaurants[position]) + } + override fun getItemCount() = restaurants.size + + class Holder(private val binding: ListRestaurantsBinding): RecyclerView.ViewHolder(binding.root){ + fun bind(restaurant: Restaurant){ + binding.imageView4.setImageResource(R.drawable.star) + binding.txtName.text = restaurant.name + binding.txtRate.text = restaurant.rate.toString() + binding.txtReview.text = restaurant.review.toString() + + binding.root.setOnClickListener{ + Toast.makeText(binding.root.context, " ${restaurant.name} 리뷰 목록에 접속하셨습니다.", + Toast.LENGTH_SHORT).show() + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/myfoodproject/Review.kt b/app/src/main/java/com/example/myfoodproject/Review.kt new file mode 100644 index 0000000..d08e467 --- /dev/null +++ b/app/src/main/java/com/example/myfoodproject/Review.kt @@ -0,0 +1,6 @@ +package com.example.myfoodproject + +data class Review(val comment: String, + val grade: Double, + val date: String) { +} \ No newline at end of file diff --git a/app/src/main/java/com/example/myfoodproject/ReviewsAdapter.kt b/app/src/main/java/com/example/myfoodproject/ReviewsAdapter.kt new file mode 100644 index 0000000..43030d8 --- /dev/null +++ b/app/src/main/java/com/example/myfoodproject/ReviewsAdapter.kt @@ -0,0 +1,28 @@ +package com.example.myfoodproject + +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import com.example.myfoodproject.databinding.ListReviewsBinding +class ReviewsAdapter(val reviews: Array): RecyclerView.Adapter() { + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ReviewsAdapter.Holder { + val binding = ListReviewsBinding.inflate(LayoutInflater.from(parent.context)) + return ReviewsAdapter.Holder(binding) + } + + override fun onBindViewHolder(holder: Holder, position: Int) { + holder.bind(reviews[position]) + } + + override fun getItemCount() = reviews.size + + class Holder(private val binding: ListReviewsBinding): RecyclerView.ViewHolder(binding.root){ + fun bind(review: Review){ + binding.imageView2.setImageResource(R.drawable.noodle) + binding.imageView3.setImageResource(R.drawable.star) + binding.txtComment.text = review.comment + binding.txtGrade.text = review.grade.toString() + binding.txtDate.text = review.date.toString() + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/myfoodproject/SushiFragment.kt b/app/src/main/java/com/example/myfoodproject/SushiFragment.kt new file mode 100644 index 0000000..9f63d36 --- /dev/null +++ b/app/src/main/java/com/example/myfoodproject/SushiFragment.kt @@ -0,0 +1,41 @@ +package com.example.myfoodproject + +import android.os.Bundle +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.recyclerview.widget.LinearLayoutManager +import com.example.myfoodproject.databinding.FragmentSushiBinding + +class SushiFragment : Fragment() { + + val restaurants = arrayOf( + Restaurant("스시 월드", 4.2, 566), + Restaurant("장인 스시", 4.7, 1024), + ) + + var binding: FragmentSushiBinding? = null + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + binding = FragmentSushiBinding.inflate(inflater) + + binding?.recRestaurants?.layoutManager = LinearLayoutManager(context) + binding?.recRestaurants?.adapter = RestaurantsAdapter(restaurants) + + + return binding?.root + } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + } + + override fun onDestroy() { + super.onDestroy() + binding = null + } +} + diff --git a/app/src/main/java/com/example/myfoodproject/TonkatsuFragement.kt b/app/src/main/java/com/example/myfoodproject/TonkatsuFragement.kt new file mode 100644 index 0000000..029448e --- /dev/null +++ b/app/src/main/java/com/example/myfoodproject/TonkatsuFragement.kt @@ -0,0 +1,41 @@ +package com.example.myfoodproject + +import android.os.Bundle +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.recyclerview.widget.LinearLayoutManager +import com.example.myfoodproject.databinding.FragmentTonkatsuBinding + +class TonkatsuFragement : Fragment() { + + val restaurants = arrayOf( + Restaurant("맛있는 돈카츠", 4.1, 497), + Restaurant("돈카츠 천국", 4.4, 774), + ) + + var binding: FragmentTonkatsuBinding? = null + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + binding = FragmentTonkatsuBinding.inflate(inflater) + + binding?.recRestaurants?.layoutManager = LinearLayoutManager(context) + binding?.recRestaurants?.adapter = RestaurantsAdapter(restaurants) + + + return binding?.root + } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + } + + override fun onDestroy() { + super.onDestroy() + binding = null + } +} + diff --git a/app/src/main/res/drawable/noodle.png b/app/src/main/res/drawable/noodle.png new file mode 100644 index 0000000..27d3af1 Binary files /dev/null and b/app/src/main/res/drawable/noodle.png differ diff --git a/app/src/main/res/drawable/ramen.png b/app/src/main/res/drawable/ramen.png new file mode 100644 index 0000000..7eef12f Binary files /dev/null and b/app/src/main/res/drawable/ramen.png differ diff --git a/app/src/main/res/drawable/star.png b/app/src/main/res/drawable/star.png new file mode 100644 index 0000000..61682dc Binary files /dev/null and b/app/src/main/res/drawable/star.png differ diff --git a/app/src/main/res/drawable/sushi.png b/app/src/main/res/drawable/sushi.png new file mode 100644 index 0000000..3261088 Binary files /dev/null and b/app/src/main/res/drawable/sushi.png differ diff --git a/app/src/main/res/drawable/tonkatsu.png b/app/src/main/res/drawable/tonkatsu.png new file mode 100644 index 0000000..a6e9022 Binary files /dev/null and b/app/src/main/res/drawable/tonkatsu.png differ diff --git a/app/src/main/res/layout/fragment_entry.xml b/app/src/main/res/layout/fragment_entry.xml index 0c14cdf..ad66b31 100644 --- a/app/src/main/res/layout/fragment_entry.xml +++ b/app/src/main/res/layout/fragment_entry.xml @@ -12,7 +12,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="24dp" - android:text="행복해" + android:text="일식맛집에 오신 것을 환영합니다." android:textSize="24sp" android:textStyle="bold" app:layout_constraintBottom_toTopOf="@+id/linearLayout" @@ -32,6 +32,24 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/textView"> +