Problemy i wkład do Volley [zamknięty]

Ponieważ była taniesamowita prezentacja na Volley próbowałem włączyć ją do projektu, nad którym pracuję. Zauważyłem, że poprawiłem kilka błędów, które znalazłem w kodzie źródłowym , który został opublikowany.

Czy ktoś wie, czy będzie jakiś projekt na Githubie, w którym można by się do niego przyczynić, czy też jest inny sposób komunikowania błędów i żądań funkcji dla dewelopera?

Odnośnie problemów jakie miałem z Volley:

1. Wygląda na to, że przekierowanie nie działa tak jak powinno: Volley zwraca kod błędu 302 zamiast przekierowywania do miejsca podanego w nagłówku odpowiedzi.

2. Pobieranie katalogu cache nie działa na moim emulatorze działającym 4.2.2:

cacheDir = new File(context.getCacheDir(), DEFAULT_CACHE_DIR);  
final String cacheDir1 = "/Android/data/cache/";
cacheDir = new File(Environment.getExternalStorageDirectory().getPath() + cacheDir1);

To obejście jest specyficzne dla platformy. Chciałem tylko dodać to dla przyjemności.

Poza tym uważam, że Volley jest naprawdę niesamowitym kawałkiem kodu i dokładnie tego szukałem, dopóki nie zrobiłem tego sam ;)

Update 1

Tutaj kolejny link do strony wkładu AOSP . Myślałem, że to bardziej samodzielna biblioteka. Sprawdzę to, chociaż nadal doceniam więcej informacji i tutoriali na temat Volley. Kod źródłowy, który zasugerowałem, jest po prostu szybką i brudną poprawką, która zadziałała w moim projekcie demo.

Update 2

Znalazłem kolejny ciekawy wpis na blogu Ognyana Bankowa wymieniony jako odpowiedź na inne pytanie, które może bądź pomocny.

Author: JJD, 2013-05-21

1 answers

Wygląda na to, że wiele odpowiedzi udzielono w komentarzach, ale postaram się opisać resztę, a raczej postaram się opisać twoje konkretne pytania.

1) Volley sam nie obsługuje przekierowań. Jest obsługiwany przez bazowy Pakiet HttpStack. Na przykład obecnie używam OkHttp (od Square) jako klienta HTTP dla Volley. Zobacz https://plus.google.com/108284392618554783657/posts/eJJxhkTQ4yU https://gist.github.com/JakeWharton/5616899 OkHttp jest świetny, ponieważ ma doskonałe domyślnie do obsługi SPDY, przekierowań i innych udogodnień HTTP. Możesz również użyć tego do zaimplementowania własnych domyślnych ustawień dla platformy HttpUrlConnection (wywołanie followRedirects () na połączeniu przed przekazaniem go na przykład Volley - - - https://developer.android.com/reference/java/net/HttpURLConnection.html#setFollowRedirects(boolean))

2) nie jestem nawet pewien, czy użyłbym getCacheDir () dla Cache ' a. Według docs ( https://developer.android.com/reference/android/content/Context.html#getCacheDir () ), ten katalog pamięci podręcznej nigdy nie powinien przekraczać 1 mb. Podczas gdy większość klientów zwykle używa 10 mb jako domyślnej pamięci podręcznej http (1 mb jest naprawdę mały dla pamięci podręcznej Http!!). Ponadto, dlaczego używasz tak głębokiego katalogu pamięci podręcznej? Nie ma powodu, aby "cacheDir1" miał wiele katalogów w głębi. Niech to będzie nazwa pliku. getCacheDir() i tak zwróci Twój własny folder. Polecam zrobić to, gdy inicjalizacja (Zwykle zalecanym miejscem jest klasa aplikacji):

File volleyCacheFile = new File(getExternalCacheDir(), "volleyCache.tmp");

Oczywiście brak obsługi błędów (co zrobić, jeśli pamięć zewnętrzna jest niedostępna?). Nie zapominaj również, że potrzebujesz odpowiedniego uprawnienia do zapisu zewnętrznej pamięci masowej.

Mam nadzieję, że to pomoże.
 5
Author: kwazi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-12 01:44:35