In deze les zitten 32 slides, met interactieve quizzen en tekstslides.
Onderdelen in deze les
Python intro
Programming basics-II
Les 3 / Week 7a
Lay-out-elementen
Keuzedeel: Mobile Application Development
Les 5
Slide 1 - Tekstslide
Deze les
Korte Herhaling
Tweede Activity toevoegen aan project
Responsive lay-out met ConstraintLayout
Met een Button een tweede Activity openen
Intents
Gegevens uit een EditText ophalen
Zelf uitzoeken: Een afbeelding element tonen
Slide 2 - Tekstslide
Wat is hier omlijnd?
A
Value
B
Attribuut
C
Key
D
Element
Slide 3 - Quizvraag
Wat is hier omlijnd?
A
Value
B
Attribuut
C
Key
D
Element value
Slide 4 - Quizvraag
Wat is hier omlijnd? (twee juiste antwoorden)
A
Tag
B
Self-closing Tag
C
Opening Tag
D
Element
Slide 5 - Quizvraag
Herhaling: Project aanmaken
We starten een nieuw project altijd met een ‘Empty Views Activity’, dat geeft ons 1 activiteit genaamd ‘MainActivity’ met een bijbehorende layout ‘activity_main.xml’
(Let op dat het lesboek licht verouderd is en het verkeerd aangeeft)
Slide 6 - Tekstslide
Herhaling: Project aanmaken
💻 Doe mee: Open Android Studio en maak een nieuw project met een naam als 'DitBenIkApp'
Let op: wanneer je dit blok ziet,
dan ga je code schrijven
Slide 7 - Tekstslide
Herhaling: Lay-outs resource (.xml)
Slide 8 - Tekstslide
Herhaling: Lay-outs resource (.xml)
Slide 9 - Tekstslide
Herhaling: Lay-outs resource (.xml)
TextViews voor het tonen van tekst, EditTextsvoor een tekstveld waar iets ingevoerd kan worden, Buttons, CheckBoxes, CalenderViewsen nog veel meer:
Slide 10 - Tekstslide
Herhaling: Lay-out code-behind (.kt)
Zo weet de MainActivity welke xml geladen moet worden:
Slide 11 - Tekstslide
Tweede Activity toevoegen aan project
Slide 12 - Tekstslide
Tweede Activity een geschikte naam geven
Activity Klassenaam: UpperCamelCase, eindigend op ‘Activity’, bijv.: ContactActivity Layout naam: lower_snake_case, beginnend met ‘activity_’, bijv.: activity_contact
Slide 13 - Tekstslide
Tweede Activity een geschikte naam geven
💻 Doe mee:
Maak een tweede 'Empty Views Activity'
Geef die de naam ContactActivity
Slide 14 - Tekstslide
Responsive lay-out met ConstraintLayout
Geen vaste margins, noch paddings
androidx.constraintlayout.widget.ConstraintLayout
Slide 15 - Tekstslide
Responsive lay-out met ConstraintLayout
Zorg dat de bovenkant van dit element ‘vastzit’ aan de bovenkant van dit andere element
Zorg dat de linkerkant van dit element vastzit aan de linkerkant van dit andere element
We maken duidelijk welk element we bedoelen via de id van dat element.
‘parent’ is het bovenliggende element (kan ook de activity zelf zijn)
Slide 16 - Tekstslide
Responsive lay-out met ConstraintLayout
Als we zowel app:layout_constraintTop_toTopOf=”parent” alsapp:layout_constraintBottom_toBottomOf=”parent” hebben dan wordt ons element verticaal in het midden geplaatst
Slide 17 - Tekstslide
Responsive lay-out met ConstraintLayout
Slide 18 - Tekstslide
Responsive lay-out met ConstraintLayout
💻 Doe mee:
Maak een EditText met het id 'nameEditText'
Maak een knop onderaan het scherm met het id 'nextButton' en de tekst: 'Ga naar de contactpagina'
Zorg dat de EditText gecentreerd is in het scherm
Zorg dat de nextButton horizontaal gecentreerd is
Zorg dat de nextButton verticaal onderaan het scherm staat
Let op! Niet alle code die we tonen komt overeen met de opdracht. Je moet ook zelf nadenken 😉
Slide 19 - Tekstslide
Met een Button een tweede Activity openen
'packageContext' is een hint van de editor, geen code om te schrijven.
Slide 20 - Tekstslide
Met een Button een tweede Activity openen
Slide 21 - Tekstslide
Met een Button die een tweede Activity openen
Slide 22 - Tekstslide
Met een Button een tweede Activity openen
De naam die je als id geeft wordt automatisch toegevoegd aan de ‘R.id.’ registry.
We kunnen hierna in Kotlin in de MainActivity.kt dat element vinden met de ‘findViewById’-methode en er een 'click event listener' aan koppelen (of attributen bewerken)
Slide 23 - Tekstslide
Met een Button een tweede Activity openen
💻 Doe mee:
Koppel een setOnClickListener aan de knop met id 'nextButton'.
Laat die knop de ContactActivity openen
Slide 24 - Tekstslide
Gegevens aan een Activity meegeven
💻 Doe mee:
Zorg dat de naam 'Janiek' wordt meegegeven via putExtra
Gebruik als key 'Name'
key / value
Slide 25 - Tekstslide
Intents
Intent om een Activity te openen:
Intent om een andere App te openen:
Slide 26 - Tekstslide
Intents
Intent om een andere App te openen:
In de emulator is Chrome de enige app die hierop reageert. Die zal de link proberen te openen.
Apps kunnen in hun AndroidManifest.xml configuratie aangeven dat ze iets kunnen met ‘Intent.ACTION_VIEW’. Die worden dan als optie getoond voor het openen/verwerken van de link.