Göm menyn

TDDD80 Projekt: Mobila och sociala applikationer

Laboration A3 Android Webservices


Android nätverksprogrammering

I denna laboration kommer du jobba med att dynamiskt ladda och presentera information från webbtjänster.

Syfte: Att förstå hur Android kan användas som en gränssnitt till existerande webbtjänster.

Uppgift

Första steget i laborationen är att utforska (Googla) och skriftligt förklara viktiga grundbegrepp. Det är viktigt att ni för varje svar lägger med de URL:er (länkar) som ni har bedömt vara trovärdiga och som ni har använt för att sammanställa ert svar. (Svaren lämnas in i README-fil i Gitlab, tillsammans med labb-koden):

  1. Vad är Java beans för något?
  2. Vad är det för fördel med att använda biblioteket gson, gentemot den inbyggda json-parsern?
  3. Vad är den viktigaste, mest centrala frågan, som ni har behövt Googla på under laborationens gång?

För att starta Android Studio, ge följande kommandon i en terminal:

  • module add courses/TDDD80 (om ni inte har använt initadd i tidigare labbar)
  • studio.sh

Nätverksrequests

För att kunna göra nätverksrequests finns det några saker du behöver ändra i din applikation.

Android Permissions

För att kunna läsa information från internet behöver du begära rättigheter för din applikation. Du gör detta genom att lägga till följande rad i din AndroidManifest.xml, före <application>-taggen

  • <uses-permission android:name="android.permission.INTERNET"/>

Förslag på bibliotek

Det finns flera sätt att göra nätverksanrop i Android. Vi rekommenderar att ni använder Volley. Använd gärna gson som bibliotek för json-parsning (se vidare: Custom requests: GsonRequest).

Krav

Du ska bygga om din Android labb 2 till en applikation där den information som visas ska hämtas från en nättjänst. Du hittar tjänsten på följande URL:er (uppdaterat med roliga namn, tack Dennis Persson!):

Länkar

Extra material (ej nödvändig för labben, men kan vara bra att ha inför projektarbetet):

Icke-Funktionella krav

Du ska använda dig av:
  • Java för att skapa en Android applikation
  • xml filer för att definiera Gränssnitt
  • Versionshantering av din kod (gitlab)

Funktionella krav

Din lösning ska innehålla:
  • Data ska hämtas från angiven URL
  • Ett fragment som visar alla grupper i en lista
  • Ett fragment som visar alla medlemmar i en grupp
  • När användaren väljer en grupp i listan av grupper ska information om gruppens medlemmar visas
  • Det ska gå att navigera mellan dina fragment på något vis

Redovisa

  1. Muntligt redovisa/demonstrera er laboration för en assistent
  2. Ladda upp era sök-svar inkl. länkar, och er kod (alla relevanta filer för labben) (gärna kontinuerligt) till ert gitlab-projekt.
  3. Lägg till er assistent som Reporter på ert projekt
  4. Meddela er assistent att ni lagt upp koden genom att skicka ett mejl. Märk mejlet med TDDD80: Labb A3, och se till att det finns en länk till repot i mejlet.


Sidansvarig: Rita Kovordanyi
Senast uppdaterad: 2024-03-02