Журналы модернизации не отображаются, Android StudioAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Журналы модернизации не отображаются, Android Studio

Сообщение Anonymous »

Я начинаю изучать Android(kotlin, mvvm, coroutine). Я пытаюсь вызвать (GET) этот API, предоставленный из The Movie DB.

Код: Выделить всё

http:// api.themoviedb.org/3/discover/movie?sort_by=popularity.desc&api_key=#################
Я получаю только ошибку ответа и понятия не имею, что происходит, поскольку не вижу запроса и ответа в журнале. Итак, ставим лог для дооснащения клиента.

Код: Выделить всё

import okhttp3.OkHttpClient
import okhttp3.logging.HttpLoggingInterceptor
import retrofit2.Retrofit
import retrofit2.converter.moshi.MoshiConverterFactory

class MovieListFragment : Fragment() {

private val viewModel: MovieListViewModel by viewModels {
val logging = HttpLoggingInterceptor().apply { level = HttpLoggingInterceptor.Level.BODY }
val httpClient = OkHttpClient.Builder().addInterceptor(logging).build()
val moshi = Moshi.Builder().build()
val movieService = Retrofit.Builder()
.baseUrl("http://api.themoviedb.org/3")
.addConverterFactory(MoshiConverterFactory.create(moshi))
.client(httpClient)
.build()
.create(MovieService::class.java)
val repository = MovieRepository(movieService)
MovieListViewModelFactory(repository)
}

override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
return inflater.inflate(R.layout.fragment_movie_list, container, false)
}

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)

val recyclerView: RecyclerView = view.findViewById(R.id.recycler_view)
recyclerView.layoutManager = LinearLayoutManager(requireContext())
val adapter = MovieListAdapter(requireContext())
recyclerView.adapter = adapter

Log.d("MovieListFragment", "Test log to check if logging works")

viewModel.movies.observe(viewLifecycleOwner, Observer { movies ->
adapter.submitList(movies)
})

viewModel.error.observe(viewLifecycleOwner, Observer { error ->
print(error)
})

if (NetworkUtils.isNetworkAvailable(requireContext())) {
viewModel.fetchPopularMovies()
} else {
print("No internet..")
}
}
}

interface MovieService {
@GET("/discover/movie")
suspend fun getPopularMovies(
@Query("api_key") apiKey: String,
@Query("sort_by") sortBy: String
): MovieResponse
}

class MovieRepository(private val movieService: MovieService) {
suspend fun getPopularMovies(): MovieResponse {
return movieService.getPopularMovies("##################", "popularity.desc")
}
}
Также установите некоторые настройки сетевой безопасности, поскольку конечная точка не https.

Код: Выделить всё


api.themoviedb.org



















Logcat отлично работает в Android Studio. Проблема должна быть в моем коде. Есть идеи?
Изображение


Подробнее здесь: https://stackoverflow.com/questions/785 ... oid-studio
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»