Jak wysłać listę tablic z serwletu do aplikacji systemu Android?Wysyłanie listy tablic z serwletu do aplikacji Android
Odpowiedz
Do tego punktu, należy przekonwertować go na String
w jakimś standardowym formacie, który następnie można przeanalizować i zbudować przy użyciu istniejących bibliotek. Na przykład JSON, XML lub CSV, wszystkie, które są znormalizowanymi i wymiennymi formatami ciągów, dla których istnieje wiele bibliotek parsujących/budujących w wielu językach programowania.
Android ma wbudowany analizator składni JSON w the org.json
package. Ma nawet wbudowany analizator składni XML w . Nie jestem pewien, czy istnieje wbudowana biblioteka CSV, ale wydaje się, że nie ma jej. Java EE ma w smaku JAXB świetny wbudowany analizator składni XML, ale nie ma wbudowanego analizatora składni JSON. Tylko implementacje JAX-RS (Jersey, RESTeasy, itp.) Zapewniają parser JSON. Jeśli zamiast tego możesz zmienić serwlet, aby był usługą sieciową JAX-RS, będziesz mieć możliwość zwrócenia zarówno XML, jak i JSON przy minimalnym wysiłku. Zobacz także Servlet vs RESTful.
Wybór formatu zależy od wyłącznie wymagań funkcjonalnych. Na przykład, czy serwlet ma zostać ponownie użyty do innych usług? Jakie są klienci docelowi? Etcetera.
W jakikolwiek sposób, format JSON jest zwykle bardziej zwięzły i ostatnio bardziej popularny niż XML, więc podam przykład kickoff, który przenosi dane w formacie JSON i założę, że naprawdę chcesz zrobić to z prostym serwletem waniliowym zamiast JAX-RS. W tym przykładzie wystarczy pobrać i upuścić bibliotekę JSON, taką jak Gson w /WEB-INF/lib
, aby przekonwertować obiekty Java na JSON w serwlecie.
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<String> list = new ArrayList<String>();
list.add("item1");
list.add("item2");
list.add("item3");
String json = new Gson().toJson(list);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(json);
}
To będzie budować i powrót List
w następującym formacie JSON:
["item1","item2","item3"]
To z kolei parsowalnym przez org.json
API w Androidzie następująco:
String jsonString = getServletResponseAsStringSomehow(); // HttpClient?
JSONArray jsonArray = new JSONArray(jsonString);
List<String> list = new ArrayList<String>();
for (int i = 0; i < jsonArray.length(); i++) {
list.add(jsonArray.getString(i));
}
// Now you can use `list`.
Jeśli jest to model oparty na przeciągnięciu, można wysłać żądanie HTTP GET do punktu końcowego serwletu z aplikacji na Androida, a odpowiedź HTTP może być obiektem JSON, utworzonym z listy tablic.
Czy istnieje jakiś przykład kod dla reutrn a arrayList w servlet? –
- 1. Wysyłanie danych obrazowych do android aplikacji z App Engine
- 2. Zmniejszyć wiele tablic do listy
- 3. Wysyłanie serializowanego obiektu z systemu Android do serwletu przy użyciu klienta HTTP
- 4. wysyłanie listy tabel z powrotem do aktywności nadrzędnej
- 5. Pobieranie elementu z listy tablic w systemie Android?
- 6. Wysyłanie danych z usługi do aktywności Android
- 7. Uruchamianie serwletu podczas uruchamiania aplikacji
- 8. Tworzenie listy macierzy tablic
- 9. Programowe wysyłanie aplikacji do tła
- 10. jak wysłać plik audio z klienta Android do serwera serwletu
- 11. Konwersja listy tablic do łańcucha obiektów Json
- 12. Przekazywanie danych z serwletu do innego serwletu za pomocą RequestDispatcher
- 13. wysyłanie tablic w _GET w php
- 14. Wysyłanie do aplikacji Ruby on Rails z Androidem
- 15. Wysyłanie listy na żądanie JSON
- 16. Android DDMS - wysyłanie wywołań do rzeczywistego urządzenia
- 17. Wysyłanie obrazu z systemu Android do usługi sieci Web ASP.NET
- 18. Widok listy Android z separatorami
- 19. Jak używać serwletu w mojej aplikacji Grails?
- 20. Android: jak wykryć aplikację zabitą z listy ostatnich aplikacji?
- 21. Przekazywanie zmiennych z serwletu do jsp
- 22. Przekazywanie niestandardowych obiektów z serwletu do JSP
- 23. Wysyłanie parametrów do usługi SOAP ASMX z aplikacji iOS
- 24. wysyłanie wiadomości e-mail z aplikacji do szybkiego osx
- 25. Analizowanie: wysyłanie powiadomień push z aplikacji
- 26. Prześlij obraz z androida do serwletu java i zapisz go
- 27. Android Fetch Contacts do aplikacji
- 28. Metoda sprawdzania listy tablic zawierającej określony ciąg
- 29. Dodanie wielu elementów do już zainicjowanej listy tablic w java
- 30. Wstrzyknięcie bezpaństwowca EJB do serwletu
dziękuję !!!!!! po raz pierwszy użyj json –
Nie ma za co. Aby dowiedzieć się więcej na temat formatu JSON, sprawdź http://json.org – BalusC
Rozumiem, że jest to bardzo stare, ale było bardzo pomocne Pomyślałem, że nadal będę pisać i pytać o prolek, który mam. Próbuję skompilować serwlet z powyższym przykładem kodu, ale otrzymuję komunikat "error: can not find symbol | String json = new Gson() etc" (ze strzałką wskazującą na Gson). Nie wiedziałem, do której biblioteki należy dodać, więc używam zarówno gson-2.2.3.jar, jak i gson-2.2.3-sources.jar Co może być nie tak? –