Pytanie, jak połączyć wszystkie te biblioteki w jednym projekcie?OkHttp + Picasso + Retrofit
- Ustaw jednego OkHttpClient jako warstwę tła dla Picasso i Retrofit.
- Jak wprowadzać zmiany priorytetów, takie jak w lib. (dla stronicowania)?
Pytanie, jak połączyć wszystkie te biblioteki w jednym projekcie?OkHttp + Picasso + Retrofit
W skrócie:
OkHttpClient okHttpClient = new OkHttpClient();
RestAdapter restAdapter = new RestAdapter.Builder().setClient(new OkClient(okHttpClient)).build();
OkHttpDownloader downloader = new OkHttpDownloader(okHttpClient);
Picasso picasso = new Picasso.Builder(this).downloader(downloader).build();
Nie sądzę, że to możliwe, aby mieć priorytety z aktualnej wersji modernizacji.
Jak używać dwóch różnych katalogów pamięci podręcznej do modernizacji i Picassa? Czy istnieje sposób inny niż użycie dwóch instancji OkHttpClient? –
Dla OkHttpClient 3.0 Modernizacja 2.0 to:
OkHttpClient client = new OkHttpClient.Builder()
.cache(cache) // optional for adding cache
.networkInterceptors().add(loggingInterceptor) // optional for adding an interceptor
.build();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://api.yourdomain.com/v1/")
.addConverterFactory(GsonConverterFactory.create())
.client(client)
.build();
Picasso picasso = Picasso.Builder(context)
.downloader(new OkHttp3Downloader(client))
.build();
priorytetów został przesunięty w dół model stosu klienta HTTP i jest problem badane: https://github.com/square/okhttp/issues/1361
Nie zapomnij dodać 'compile 'com.jakewharton.picasso: picasso2-okhttp3-downloader: 1.0.2'' do build.gradle. – CoolMind
„Chodzi o to, w jaki sposób połączyć wszystkie te 3 biblioteki w jednym projekcie? " - pobierz trzy pliki JAR i ich zależności (np. GSON) lub odwołaj się do wszystkich trzech artefaktów w kompilacji Gradle lub Maven. "Ustaw jeden OkHttpClient jako warstwę tła dla Picassa i Retrofitu." - AFAIK, Retrofit i Picasso będą automatycznie używać OkHttp. "Jak dokonać zmian Priority, jak w libacji Volley (dla paginacji)" - proszę wyjaśnić bardziej szczegółowo, jaki jest twój problem i jak "zmiany priorytetów" mają coś wspólnego z "paginacją". – CommonsWare
Podczas korzystania z modernizacji muszę ręcznie utworzyć OkClient, który pobiera obiekt OkHttpClient w konstruktorze. Ale nie wiem, czy te dwie biblioteki użyją tego samego OkHttpClient jako tła, czy nie utworzę własnego OkHttpClient dla Picassa. Co na temat stronicowania i priorytetu: Podczas przewijania listy pozycji i blisko końca strony, należy pobrać więcej pozycji, a w salwie prośba o pobranie nowych elementów ma najwyższy priorytet, gdy obrazy się wyczerpują. Więc kiedy nadejdzie czas ładowania nowych elementów do listy, będą one natychmiast pobierane. – Alex