IN2000 Gjennomgang av tekniske oppgaver på prøveeksamen Erlend Stenlund og Steffen Almås + innspill fra Gaute Berge
Hva er en Data Class i Kotlin? (1p) En data class er en klasse som brukes for å holde på data. Data class får genererte tostring, equals og hashcode implementasjoner basert på feltene i kontruktøren.
Hva er Null Safety i Kotlin, og hva slags effekt har det på hvordan feil blir fanget opp under utvikling? (2p) Null Safety er at 'Nullability' er bygget inn i typesystemet, og gjør at operasjoner som i Java vil kaste en NullPointerException blir fanget opp.
Hva er forskjellen på List og MutableList i Kotlin? (2p) MutableList er en type List som støtter muterbare operasjoner i.e 'add'. En List er immutable, og kan ikke endres.
Hva er et Companion Object i Kotlin og hva brukes det til? (2p) Companion Object er et nested (singleton) objekt som kan refereres til gjennom klassenavnet til en ytre klassen. Brukes til å representere 'statiske' metoder og felter, og innkapselere globale tilstander.
Hva blir resultat av å kjøre dette programmet?
a?.g() evaluerer til verdien av a.g() som er x + y = 2 + 3 = 5 b?.h() evaluerer til null, og dermed evaluerer (b?.h()?: 0) til 0 f blir da 5 + 0 = 5.
Denne koden inneholder feil. Hva slags type feil er det? Hvordan kan man løse feilen? (3p)
Kompileringsfeil pga 's.touppercase' Dot-operatoren er ikke lovlig på Nullable typer.
Fiks problem, mulig løsning: - Endre signaturen til metoden fra String til String?
Hva er et View i Android Studio? (1p) Et View er en grunnleggende byggestein for UI (User Interface) i Android. Et View involveres i det meste av utforming, design og widgets som er synlig.
Vis programmatisk hva som skal til for å starte en ny Activity. Den nye aktiviteten skal hete AlpacaActivity.kt (2p) val intent = Intent(this, AlpacaActivity::class.java) startactivity(intent)
Hvor legges biblioteker i Android Studio? Biblioteker legges til som dependencies i Build.Gradle. Hva må en gjøre for at appen skal ta i bruk ny funksjonalitet? Etter at en har lagt til et bibliotek kan en enten Rebuild Project, der man bygger prosjektet på nytt, eller synkronisere filene med Gradle, slik at man bygger inn endringene i builden direkte. Det er også mulig å trykke på Run -knappen og kjøre pga. dette vil bygge prosjektet.
Se for deg at du skal vise 10 bilder i appen samtidig. Forklar èn fordel og èn ulempe med å hente de fra internett fremfor å lagre de i appens ressurser og bruke de derfra. (3p) + Appen tar mindre lagringsplass på enheten den er installert. - Ved dårlig internettforbindelse kan det ta lang tid før bildene lastes inn.
Hva er forskjellen på margin og padding i XML? (2p) Padding er avstanden mellom innholdet i et View og til ytterkanten av Viewet. Padding er inne i selve Viewet. Margin er avstanden utenfor kanten av Viewet. https://i.stack.imgur.com/irksd.jpg
Hva er forskjellen på TargetSdkVersion og MinSdkVersion i Android Studio? (2p) MinSdkVersion er minimums-versjonen som appen skal kunne kjøre i, på Android Operativsystem. TargetSdkVersion er den målrettede Android-versjonen som appen er laget for; altså den versjonen en primært ønsker å støtte.
Hvordan utføres et HTTP kall til et API? (2p) (veldig overordnet) Består av et endepunkt, f.eks frost.met.no med en path (url). Kobler til endepunktet ved å sende en request (f.eks. GET). Mottar respons som inneholder data (f.eks JSON, XML).
Spørsmål?