Mój kod to:Pierwsze NullPointException z Jersey REST klienta na Androida
Client client = Client.create();
WebResource web_resource = client.resource("http://www.myhostname.com/");
// String string = web_resource.path("foo").accept("text/xml").get(String.class);
// Log.d(getClass().getCanonicalName(), "jax-rs client string = " + string);
Num num = web_resource.path("foo").accept(MediaType.TEXT_XML_TYPE).get(Num.class);
Ostatnia linia powoduje problem i mam podobny problem, czy zastąpić go z 2 skomentował linie z tą różnicą, że dostanę wyjątek na innej linii MediaType.java.
E/AndroidRuntime( 840): Caused by: java.lang.NullPointerException
E/AndroidRuntime( 840): at javax.ws.rs.core.MediaType.toString(MediaType.java:265)
E/AndroidRuntime( 840): at com.sun.jersey.api.client.ClientRequest.getHeaderValue(ClientRequest.java:232)
E/AndroidRuntime( 840): at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.writeOutBoundHeaders(URLConnectionClientHandler.java:276)
E/AndroidRuntime( 840): at com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(URLConnectionClientHandler.java:197)
E/AndroidRuntime( 840): at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:147)
E/AndroidRuntime( 840): ... 17 more
Jersey client.jar i Jersey core.jar zostały dodane do pakietu na najwyższym poziomie i zostały dodane do bibliotek w kompilacji ścieżki.
AndroidManifest.xml zawiera:
<uses-permission android:name="android.permission.INTERNET" />
wciąż szukają odpowiedzi. – necromancer
Naprawdę chciałbym zobaczyć zmodyfikowany kod, jakieś aktualizacje? –
@Sponge, przepraszam, jestem na innym utworze i upłyną tygodnie zanim zrobię coś związanego z Androidem. Nie użyłem kontroli kodu, a kod znajduje się w kilku oddzielnych katalogach. Mogę do tego dojść, jeśli przypomnisz mi za tydzień, ale w międzyczasie rozważ: (1) program ładujący klasy android nie może odczytać adnotacji na poziomie pakietu, który uniemożliwia inicjowanie JAXB; można naprawić za pomocą skanowania ręcznego; to był klucz, który pamiętam; (2) klasy i ich połączenia musiały zostać przeniesione do różnych pakietów, ponieważ javax jest ograniczony; (3) wynikiem był raczej duży plik JAR, który może nie działać w celu dystrybucji – necromancer