Chciałbym poradzić sobie z sytuacjami, gdy nie ma połączenia z Internetem. Zwykle biegałem: ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting(); ( stąd ) przed wysłaniem żądań do sieci i powiadom użytkownika, jeśli nie ma połączenia z Internetem. Z tego co widziałem …
Korzystam z interfejsu API z mojej aplikacji na Androida, a wszystkie odpowiedzi JSON są takie: { 'status': 'OK', 'reason': 'Everything was fine', 'content': { < some data here > } Problemem jest to, że wszyscy moi POJOs mieć status, reasonpola, a wewnątrz contentpola jest prawdziwym POJO chcę. Czy istnieje sposób …
Próbuję uaktualnić do wersji Retrofit 2.0 i dodać RxJava do mojego projektu na Androida. Wykonuję wywołanie API i chcę pobrać kod błędu w przypadku odpowiedzi błędu z serwera. Observable<MyResponseObject> apiCall(@Body body); A w wywołaniu RxJava: myRetrofitObject.apiCall(body).subscribe(new Subscriber<MyResponseObject>() { @Override public void onCompleted() { } @Override public void onError(Throwable e) { …
za pomocą OkHttp możemy wykonać żądanie HTTP, a następnie uzyskać odpowiedź z serwera OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url(url) .build(); Response response = client.newCall(request).execute(); następnie za pomocą Gson lib przekonwertuj odpowiedź na potrzebny nam obiekt. to jest z Square / OkHttp doc: Jego API żądań …
Co to za błąd? Jak mogę to naprawić? Moja aplikacja działa, ale nie mogę załadować danych. I to jest mój błąd: użyj JsonReader.setLenient (true), aby zaakceptować zniekształcony kod JSON w ścieżce wiersza 1 kolumny 1 $ Oto mój fragment: public class news extends Fragment { private RecyclerView recyclerView; private ArrayList<Deatails> …
Jaki jest najlepszy sposób na sfałszowanie serwera do testowania przy użyciu kwadratowej struktury modernizacji . Potencjalne sposoby: Utwórz nowego klienta do modernizacji i ustaw go w RestAdapter.Builder (). SetClient (). Obejmuje to przeanalizowanie obiektu Request i zwrócenie json jako obiektu Response. Zaimplementuj ten interfejs z adnotacjami jako klasę pozorowaną i …
Nasz zespół zdecydował się na Retrofit 2.0 i przeprowadzam wstępne badania. Jestem nowicjuszem w tej bibliotece. Zastanawiam się, jak interceptordodać niestandardowe nagłówki poprzez Retrofits 2.0 w naszej aplikacji na Androida. Istnieje wiele samouczków na temat interceptordodawania nagłówków w Retrofit 1.X, ale ponieważ interfejsy API bardzo się zmieniły w najnowszej wersji, …
Zamierzam wysłać prostą metodę get na mój serwer (jest to aplikacja Rails) i uzyskać wynik za pomocą RxJava i Retrofit. To, co zrobiłem, to: Mój interfejs: public interface ApiCall { String SERVICE_ENDPOINT = "https://198.50.214.15"; @GET("/api/post") io.reactivex.Observable<Post> getPost(); } Mój model to: public class Post { @SerializedName("id") private String id; @SerializedName("body") …
Mam ten przechwytywacz, który dodaję do mojego klienta OkHttp: public class RequestTokenInterceptor implements Interceptor { @Override public Response intercept(Chain chain) throws IOException { Request request = chain.request(); // Here where we'll try to refresh token. // with an retrofit call // After we succeed we'll proceed our request Response response …
Próbuję wysłać żądanie do Google GeoCode API przy użyciu funkcji Retrofit. Interfejs serwisowy wygląda następująco: public interface FooService { @GET("/maps/api/geocode/json?address={zipcode}&sensor=false") void getPositionByZip(@Path("zipcode") int zipcode, Callback<String> cb); } Kiedy dzwonię do serwisu: OkHttpClient okHttpClient = new OkHttpClient(); RestAdapter restAdapter = new RestAdapter.Builder().setEndpoint(Constants.GOOGLE_GEOCODE_URL).setClient(new OkClient(okHttpClient)).build(); FooService service = restAdapter.create(FooService.class); service.getPositionByZip(zipCode, new Callback<String>() { …
Używam retrofitu 2.0.0-beta1 z SimpleXml. Chcę pobrać zasób Simple (XML) z usługi REST. Marshalling / Unmarshalling obiektu Simple za pomocą SimpleXML działa dobrze. W przypadku korzystania z tego kodu (przekonwertowanego z kodu sprzed 2.0.0): final Retrofit rest = new Retrofit.Builder() .addConverterFactory(SimpleXmlConverterFactory.create()) .baseUrl(endpoint) .build(); SimpleService service = rest.create(SimpleService.class); LOG.info(service.getSimple("572642")); Usługa: public …
Używam OAuth i za każdym razem, gdy wysyłam żądanie, muszę umieszczać token OAuth w nagłówku. Widzę @Headeradnotację, ale czy istnieje sposób na sparametryzowanie jej, aby można było ją przekazać w czasie wykonywania? Oto koncepcja @Header({Authorization:'OAuth {var}', api_version={var} }) Czy możesz przekazać je w Runtime? @GET("/users") void getUsers( @Header("Authorization") String auth, …
Jakie są korzyści z używania w Schedulers.newThread()porównaniu Schedulers.io()z Retrofitżądaniami sieciowymi. Widziałem wiele przykładów, które używają io(), ale chcę zrozumieć, dlaczego. Przykładowa sytuacja: observable.onErrorResumeNext(refreshTokenAndRetry(observable)) .subscribeOn(Schedulers.newThread()) .observeOn(AndroidSchedulers.mainThread())... vs observable.onErrorResumeNext(refreshTokenAndRetry(observable)) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread())... Jednym z powodów, które widziałem, jest - newThread()tworzy nowy wątek dla każdej jednostki pracy. io()użyje puli wątków Ale jaki jest wpływ …
Używam biblioteki Retrofit dla moich wywołań REST. Większość tego, co zrobiłem, była gładka jak masło, ale z jakiegoś powodu mam problemy z konwersją ciągów datowników JSON na java.util.Dateobiekty. Wygląda na to, że nadchodzący JSON. { "date": "2013-07-16", "created_at": "2013-07-16T22:52:36Z", } How can I tell Retrofit or Gson to convert these …
Używam wydajnej biblioteki sieciowej do modernizacji, ale nie mogę obsłużyć dynamicznego formatu JSON, który zawiera pojedynczy prefiks, responseMessagektóry zmienia się objectlosowo, ten sam prefiks ( responseMessage) zmienia się w niektórych przypadkach (dynamicznie). Format Json Obiekt odpowiedzi Wiadomość: { "applicationType":"1", "responseMessage":{ "surname":"Jhon", "forename":" taylor", "dob":"17081990", "refNo":"3394909238490F", "result":"Received" } } responseMessage Format …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.