Podcast
Questions and Answers
Vad är den huvudsakliga funktionen av Android Runtime?
Vad är den huvudsakliga funktionen av Android Runtime?
Vilket lager hanterar hårdvaruresurser i Android-programstacken?
Vilket lager hanterar hårdvaruresurser i Android-programstacken?
Vad innebär en Content Provider i Android?
Vad innebär en Content Provider i Android?
Vad är syftet med Hardware Abstraction Layer (HAL)?
Vad är syftet med Hardware Abstraction Layer (HAL)?
Signup and view all the answers
Vilken del av Android-programstacken är mest relevant för utvecklare?
Vilken del av Android-programstacken är mest relevant för utvecklare?
Signup and view all the answers
Vad sker med varje applikation i Android?
Vad sker med varje applikation i Android?
Signup and view all the answers
Vilket API lager används för att utveckla programvara för Android?
Vilket API lager används för att utveckla programvara för Android?
Signup and view all the answers
I vilken form presenteras data i en Content Provider?
I vilken form presenteras data i en Content Provider?
Signup and view all the answers
Vad är huvudsakligen View System i Android?
Vad är huvudsakligen View System i Android?
Signup and view all the answers
Vilken manager hanterar resurser som ligger under res-mappen?
Vilken manager hanterar resurser som ligger under res-mappen?
Signup and view all the answers
Vad är en Activitys livscykel status 'Paused'?
Vad är en Activitys livscykel status 'Paused'?
Signup and view all the answers
Vilken metod rekommenderas nu för att spara applikationsdata?
Vilken metod rekommenderas nu för att spara applikationsdata?
Signup and view all the answers
Vad gör Notification Manager?
Vad gör Notification Manager?
Signup and view all the answers
Vad är den viktigaste delen av en egenutvecklad Android-app?
Vad är den viktigaste delen av en egenutvecklad Android-app?
Signup and view all the answers
Om en Activityn dör, vad händer med instansen och dess resurser?
Om en Activityn dör, vad händer med instansen och dess resurser?
Signup and view all the answers
Vilken manager ger tillgång till enhetens platsbestämning?
Vilken manager ger tillgång till enhetens platsbestämning?
Signup and view all the answers
Vad är en vanligt förekommande orsak till att systemet stänger ned en process?
Vad är en vanligt förekommande orsak till att systemet stänger ned en process?
Signup and view all the answers
Vilket scenario kräver godkännande från användaren?
Vilket scenario kräver godkännande från användaren?
Signup and view all the answers
Vad gör Packet Manager?
Vad gör Packet Manager?
Signup and view all the answers
Vilken typ av objekt kan inte skickas mellan aktiviteter genom vanliga kommunikationssätt?
Vilken typ av objekt kan inte skickas mellan aktiviteter genom vanliga kommunikationssätt?
Signup and view all the answers
Vad händer om tunga anrop till andra system görs på huvudtråden i en Android-app?
Vad händer om tunga anrop till andra system görs på huvudtråden i en Android-app?
Signup and view all the answers
Vilken typ av trådning behövs för anrop till Internet i Android?
Vilken typ av trådning behövs för anrop till Internet i Android?
Signup and view all the answers
Vad innebär att en Activity är 'Started'?
Vad innebär att en Activity är 'Started'?
Signup and view all the answers
Vilka komponenter består en app av?
Vilka komponenter består en app av?
Signup and view all the answers
Vad är en fördel med att använda FusedLocation för att bestämma enhetens position?
Vad är en fördel med att använda FusedLocation för att bestämma enhetens position?
Signup and view all the answers
Vad krävs för att använda GPS i en Android-app?
Vad krävs för att använda GPS i en Android-app?
Signup and view all the answers
Vilken komponent i Android används för att hantera affärslogik i MVC-mönstret?
Vilken komponent i Android används för att hantera affärslogik i MVC-mönstret?
Signup and view all the answers
Vad är ett krav för att koppla upp sig mot ett REST API i en Android-app?
Vad är ett krav för att koppla upp sig mot ett REST API i en Android-app?
Signup and view all the answers
Vad kännetecknar ett barn-fragment i Android?
Vad kännetecknar ett barn-fragment i Android?
Signup and view all the answers
Vad är huvudsyftet med Activities och Fragments i Android?
Vad är huvudsyftet med Activities och Fragments i Android?
Signup and view all the answers
Vilken typ av databas är RealTimeDatabase i Firebase?
Vilken typ av databas är RealTimeDatabase i Firebase?
Signup and view all the answers
Vilket bibliotek rekommenderas för att hantera API-hämtning och trådning i Android?
Vilket bibliotek rekommenderas för att hantera API-hämtning och trådning i Android?
Signup and view all the answers
Vad är syftet med ViewModel när man kommunicerar mellan Activities?
Vad är syftet med ViewModel när man kommunicerar mellan Activities?
Signup and view all the answers
Vilken metod bör användas för att registrera en callback för resultat från en Activity?
Vilken metod bör användas för att registrera en callback för resultat från en Activity?
Signup and view all the answers
Vad är skillnaden mellan explicita och implicita Intents?
Vad är skillnaden mellan explicita och implicita Intents?
Signup and view all the answers
Vilket av följande påståenden om Fragments är korrekt?
Vilket av följande påståenden om Fragments är korrekt?
Signup and view all the answers
Vilket mönster rekommenderas för kommunikation mellan Fragments?
Vilket mönster rekommenderas för kommunikation mellan Fragments?
Signup and view all the answers
Vilket syfte har NavHostFragment i navigation mellan Fragments?
Vilket syfte har NavHostFragment i navigation mellan Fragments?
Signup and view all the answers
Vad karakteriserar en bakgrundsservice?
Vad karakteriserar en bakgrundsservice?
Signup and view all the answers
Vad kännetecknar en bunden service?
Vad kännetecknar en bunden service?
Signup and view all the answers
Hur kan man växla mellan olika Fragments?
Hur kan man växla mellan olika Fragments?
Signup and view all the answers
Vad innebär det att en Activity eller Fragment är 'headless'?
Vad innebär det att en Activity eller Fragment är 'headless'?
Signup and view all the answers
Vilken typ av Intent används typiskt för att starta en specifik Activity?
Vilken typ av Intent används typiskt för att starta en specifik Activity?
Signup and view all the answers
Vad är syftet med LiveData i samband med ViewModel?
Vad är syftet med LiveData i samband med ViewModel?
Signup and view all the answers
När bör registerForActivityResult användas istället för onActivityResult?
När bör registerForActivityResult användas istället för onActivityResult?
Signup and view all the answers
Vad är en FragmentContainerView?
Vad är en FragmentContainerView?
Signup and view all the answers
Vad händer med en StartedService om den har en aktiv bindning?
Vad händer med en StartedService om den har en aktiv bindning?
Signup and view all the answers
Vilken av följande metoder används för att spara data mellan olika sessioner av appen?
Vilken av följande metoder används för att spara data mellan olika sessioner av appen?
Signup and view all the answers
Vad är syftet med en Adapter i Android-programmering?
Vad är syftet med en Adapter i Android-programmering?
Signup and view all the answers
Vilket alternativ beskriver RecyclerView korrekt?
Vilket alternativ beskriver RecyclerView korrekt?
Signup and view all the answers
Hur hanterar ViewBinding referenser till Views?
Hur hanterar ViewBinding referenser till Views?
Signup and view all the answers
Vilken typ av databas används ofta i Android-applikationer för att spara data permanent?
Vilken typ av databas används ofta i Android-applikationer för att spara data permanent?
Signup and view all the answers
Vad används SafeArgs i samband med?
Vad används SafeArgs i samband med?
Signup and view all the answers
Vad kännetecknar ListView som en AdapterView?
Vad kännetecknar ListView som en AdapterView?
Signup and view all the answers
Vilket av följande alternativ förklarar Bundle korrekt?
Vilket av följande alternativ förklarar Bundle korrekt?
Signup and view all the answers
Vilken typ av layout kan RecyclerView använda?
Vilken typ av layout kan RecyclerView använda?
Signup and view all the answers
Vilket av följande är ett korrekt användningsområde för Content Provider?
Vilket av följande är ett korrekt användningsområde för Content Provider?
Signup and view all the answers
Vad innebär det att en adapter återanvänder vyer?
Vad innebär det att en adapter återanvänder vyer?
Signup and view all the answers
Vilket påstående är korrekt om R-filen i Android?
Vilket påstående är korrekt om R-filen i Android?
Signup and view all the answers
Vilken av följande påståenden om Android LifeCycle management är korrekt?
Vilken av följande påståenden om Android LifeCycle management är korrekt?
Signup and view all the answers
Study Notes
Androids Programstack
- Androids programstack baseras på Linuxkärnan.
- Programstacken har olika lager.
- Java API Framework är det lager utvecklare programmerar mot.
- Hårdvarubiblioteket (C/C++) är ett lägre lager, kompilerat mot processorn.
- Android Runtime (JVM/Dalvik JVM) är den virtuella maskinen.
- Hardware Abstraction Layer (HAL) är ett abstraktionslager för hårdvara.
- Linuxkärnan hanterar processer och resurser.
- Varje applikation körs i en egen process.
Viktiga Delar för Utvecklare
- Huvudfokus ligger på Java API Framework.
- Anpassning till ramverkets regler är nödvändig.
- Life-cycle-metoder är viktiga (Activity och Fragment).
- HAL-lagret används för enhetens inbyggda sensorer (kamera, GPS).
Java API Framework
- Innehåller färdig funktionalitet.
- Utvecklare måste följa ramverkets regler.
Content Providers
- Tillåter appar att publicera/dela data med andra appar.
- Data presenteras i en databasliknande form.
- Kräver användartillstånd.
View System
- Uppbyggnad av användargränssnitt (UI).
- Views (Widgets) och ViewGroups (Layouts).
Managers
- Resource Manager: Hanterar resursfiler (exempelvis resurser i res-mappen).
- Activity Manager: Hanterar Activitys livscykel, backstack.
- Notification Manager: Hanterar aviseringar (meddelanden, ikoner, ljud/vibrationer).
- Telephone Manager: Hanterar telefontjänsten.
- Location Manager: Hanterar platsbestämning (GPS).
- Packet Manager: Hanterar installerade appar, implicit Intent.
Appar och Processer
- Processer kör appar, services och andra komponenter.
- Varje app körs i en egen Linuxprocess.
- Services kör ofta på huvudtråden (tänk på prestanda).
- Systemet kan avsluta processer för att spara minne.
Activity
- Viktig del av en app.
- Utseendet definieras i en XML-fil.
- Views och ViewGroups används.
- Endast en Activity kan vara aktiv samtidigt.
- Data i Activities kan överleva pausas/stopp.
- Activities har olika states och life-cycle callbacks.
- Implementera spara av data i onStop() för bättre prestanda.
- Ej optimalt att ha långa processer i onPause().
Att Växla mellan Activities
- Använd startActivity() för att starta en ny Activity.
- Använd startActivityForResult() när du behöver ett resultat från den nya Activityn (nu deprecerad, använd registerForActivityResult).
- Kommunikation mellan Activities sker via Intent (implicit och explicit).
Fragments
- Liknande Activities, men mer dynamiska.
- Används för att bygga komplexa gränssnitt.
- Headless fragments existerar.
- Övergångar hanteras genom FragmentManager.
- Nuvarande rekommendation är användning av NavHostFragment och nav_graph.xml.
Services
- Bakgrundskomponenter utan UI.
- Används för långtidskörningar (exempelvis musik, dataöverföring).
- Finns olika typer (startad, bunden).
- Bundna services fortsätter att köras även om appen inte används.
- Started Services kan köras även när appen inte är aktiv.
LifeCycle Management
- Viktig hantering för Activities och Fragments.
- Kopplas till konfigurationsändringar.
Bundle
- Används för dataöverföring mellan Activities och Fragments.
- Data sparas under appens livscykel.
Resources
- Viktigt att hantera resurser (res-mappen).
- R-filen innehåller konstanter för Views.
- Olika mappar för olika skärmorienteringar och upplösningar.
ViewBinding
- Automatiskt skapat objekt för View-referenser.
- Undviker findViewById.
- Typsäker och hanterar null bättre
SafeArgs (Directions)
- Gradle plugin för dataöverföring mellan Fragments.
- Används tillsammans med Navigation Component.
ListView/RecyclerView
- ListView är en gammal standard.
- RecyclerView är det moderna alternativet (mer effektivt).
- Adapters används för att anpassa listorna till datakällor.
Adapters
- Används för att formatera data till ListViews/RecyclerView.
- Olika typer av adapters för olika datakällor.
Data Lagring/Delning
- Bundle: Temp data under appens livstid.
- Shared Preferences: Data mellan appens körningar.
- SQLite: Lokal databas med Room Persistence Library.
- Firebase (etc.): Molnbaserade tjänster (RTDB, Cloud Firestore) för data-delning mellan appar, olika användare.
- Content Provider: Delning av data mellan appar.
Trådning
- Androids View-system kör på huvudtråden.
- Använd arbetstrådar för långa operationer (databasar, internet).
- Firebase har inbyggd asynkronitet.
Modern Appbyggande och Navigering
- Använd främst Fragments för att bygga gränssnitt i Activities.
- Fragments är återanvändbara.
Workshops
- Location: Använd FusedLocation för GPS-information.
- API: Använd bibliotek för API-frågor och trådar anropen.
- Firebase: Molntjänster för data-lagring, asynkrona callbacks.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Description
Denna quiz testar din kunskap om Android-programstacken och dess huvudkomponenter. Frågor fokuserar på funktioner såsom Android Runtime, Content Providers och Hardware Abstraction Layer. Perfekt för både nybörjare och erfarna utvecklare.