скажем, например, у меня есть ресторанный объект. У меня есть 3 различных действия
- одно действие, чтобы показать список лучших рекомендуемых ресторанов
- одно действие, чтобы показать список ресторанов с результатами поиска
- одно действие, чтобы показать список посещенные рестораны
, поэтому у меня есть 3 разные конечные точки от бэкэнда, которые я получу с помощью retroft. эти 3 конечные точки предоставят мне данные о ресторанах, одинаковые POJO
, поэтому для этих 3 видов деятельности мне нужно создать 3 разных модели просмотра, и у меня будет 1 репозиторий, верно? у меня вопрос, сколько LiveData мне нужно сделать, чтобы отправить данные в мою деятельность?
3 liveData в одном репозитории, подобном этому
class VideoRepository {
val recommendedRestaurants: LiveData<List<Restaurant>> = ...
val searchResultsRestaurants: LiveData<List<Restaurant>> = ...
val visitedRestaurants: LiveData<List<Restaurant>> = ...
fun getRecommendedRestaurant() {
RestaurantRetrofitClient.getRecommendedRestaurant()
}
fun getRestaurantsUsingFilter() {
RestaurantRetrofitClient.getRestaurantsUsingFilter()
}
fun getVisitedRestaurants() {
RestaurantRetrofitClient.getVisitedRestaurants
}
}
или только 1 LiveData в моем репозитории? поэтому каждый результат поиска будет возвращаться к действиям только через одну LiveData, такую как
class VideoRepository {
val restaurants: LiveData<List<Restaurant>> = ...
fun getRecommendedRestaurant() {
RestaurantRetrofitClient.getRecommendedRestaurant()
}
fun getRestaurantsUsingFilter() {
RestaurantRetrofitClient.getRestaurantsUsingFilter()
}
fun getVisitedRestaurants() {
RestaurantRetrofitClient.getVisitedRestaurants
}
}