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):
- Vad är Java beans för något?
- Vad är det för fördel med att använda biblioteket gson, gentemot den inbyggda json-parsern?
- 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!):- https://brave-mud-8154b800471f41b1bbae6eea8237e22e.azurewebsites.net/grupper samt
- https://brave-mud-8154b800471f41b1bbae6eea8237e22e.azurewebsites.net/medlemmar/{grupp_namn}
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
- Muntligt redovisa/demonstrera er laboration för en assistent
- 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.
- Lägg till er assistent som Reporter på ert projekt
- 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