Podcast
Questions and Answers
Vad är den huvudsakliga funktionen av Android Runtime?
Vad är den huvudsakliga funktionen av Android Runtime?
- Köra applikationer i en virtuell miljö (correct)
- Ge tillgång till lägre liggande bibliotek
- Publicera och dela data mellan appar
- Hantera hårdvaruresurser
Vilket lager hanterar hårdvaruresurser i Android-programstacken?
Vilket lager hanterar hårdvaruresurser i Android-programstacken?
- Linux kärna (correct)
- Hardware Abstraction Layer
- Java API Framework
- System Appar
Vad innebär en Content Provider i Android?
Vad innebär en Content Provider i Android?
- Ett ramverk för att kommunicera med hårdvarukomponenter
- En klass för att skapa grafiska gränssnitt
- En uppsättning klasser som delar data mellan appar (correct)
- En komponent för att lagra användardata lokalt
Vad är syftet med Hardware Abstraction Layer (HAL)?
Vad är syftet med Hardware Abstraction Layer (HAL)?
Vilken del av Android-programstacken är mest relevant för utvecklare?
Vilken del av Android-programstacken är mest relevant för utvecklare?
Vad sker med varje applikation i Android?
Vad sker med varje applikation i Android?
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?
I vilken form presenteras data i en Content Provider?
I vilken form presenteras data i en Content Provider?
Vad är huvudsakligen View System i Android?
Vad är huvudsakligen View System i Android?
Vilken manager hanterar resurser som ligger under res-mappen?
Vilken manager hanterar resurser som ligger under res-mappen?
Vad är en Activitys livscykel status 'Paused'?
Vad är en Activitys livscykel status 'Paused'?
Vilken metod rekommenderas nu för att spara applikationsdata?
Vilken metod rekommenderas nu för att spara applikationsdata?
Vad gör Notification Manager?
Vad gör Notification Manager?
Vad är den viktigaste delen av en egenutvecklad Android-app?
Vad är den viktigaste delen av en egenutvecklad Android-app?
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?
Vilken manager ger tillgång till enhetens platsbestämning?
Vilken manager ger tillgång till enhetens platsbestämning?
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?
Vilket scenario kräver godkännande från användaren?
Vilket scenario kräver godkännande från användaren?
Vad gör Packet Manager?
Vad gör Packet Manager?
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?
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?
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?
Vad innebär att en Activity är 'Started'?
Vad innebär att en Activity är 'Started'?
Vilka komponenter består en app av?
Vilka komponenter består en app av?
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?
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?
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?
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?
Vad kännetecknar ett barn-fragment i Android?
Vad kännetecknar ett barn-fragment i Android?
Vad är huvudsyftet med Activities och Fragments i Android?
Vad är huvudsyftet med Activities och Fragments i Android?
Vilken typ av databas är RealTimeDatabase i Firebase?
Vilken typ av databas är RealTimeDatabase i Firebase?
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?
Vad är syftet med ViewModel när man kommunicerar mellan Activities?
Vad är syftet med ViewModel när man kommunicerar mellan Activities?
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?
Vad är skillnaden mellan explicita och implicita Intents?
Vad är skillnaden mellan explicita och implicita Intents?
Vilket av följande påståenden om Fragments är korrekt?
Vilket av följande påståenden om Fragments är korrekt?
Vilket mönster rekommenderas för kommunikation mellan Fragments?
Vilket mönster rekommenderas för kommunikation mellan Fragments?
Vilket syfte har NavHostFragment i navigation mellan Fragments?
Vilket syfte har NavHostFragment i navigation mellan Fragments?
Vad karakteriserar en bakgrundsservice?
Vad karakteriserar en bakgrundsservice?
Vad kännetecknar en bunden service?
Vad kännetecknar en bunden service?
Hur kan man växla mellan olika Fragments?
Hur kan man växla mellan olika Fragments?
Vad innebär det att en Activity eller Fragment är 'headless'?
Vad innebär det att en Activity eller Fragment är 'headless'?
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?
Vad är syftet med LiveData i samband med ViewModel?
Vad är syftet med LiveData i samband med ViewModel?
När bör registerForActivityResult användas istället för onActivityResult?
När bör registerForActivityResult användas istället för onActivityResult?
Vad är en FragmentContainerView?
Vad är en FragmentContainerView?
Vad händer med en StartedService om den har en aktiv bindning?
Vad händer med en StartedService om den har en aktiv bindning?
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?
Vad är syftet med en Adapter i Android-programmering?
Vad är syftet med en Adapter i Android-programmering?
Vilket alternativ beskriver RecyclerView korrekt?
Vilket alternativ beskriver RecyclerView korrekt?
Hur hanterar ViewBinding referenser till Views?
Hur hanterar ViewBinding referenser till Views?
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?
Vad används SafeArgs i samband med?
Vad används SafeArgs i samband med?
Vad kännetecknar ListView som en AdapterView?
Vad kännetecknar ListView som en AdapterView?
Vilket av följande alternativ förklarar Bundle korrekt?
Vilket av följande alternativ förklarar Bundle korrekt?
Vilken typ av layout kan RecyclerView använda?
Vilken typ av layout kan RecyclerView använda?
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?
Vad innebär det att en adapter återanvänder vyer?
Vad innebär det att en adapter återanvänder vyer?
Vilket påstående är korrekt om R-filen i Android?
Vilket påstående är korrekt om R-filen i Android?
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?
Flashcards
Androids Programstack
Androids Programstack
Androids programstack består av flera lager, inklusive Linux-kärna, Hardware Abstraction Layer (HAL), Android Runtime och Java API Framework. Dessa lager ger ett ramverk för utveckling av mobila applikationer.
Java API Framework
Java API Framework
Java API Framework är det lager där de flesta Android-utvecklare interagerar. Det innehåller en mängd klasser och funktioner som gör det möjligt att bygga mobila appar.
Activity och Fragment
Activity och Fragment
Activity och Fragment är delar av Java API Framework som ger ett sätt att hantera appens livscykel, t.ex. när appen startar, pausas eller stängs.
Content Providers
Content Providers
Signup and view all the flashcards
Hardware Abstraction Layer (HAL)
Hardware Abstraction Layer (HAL)
Signup and view all the flashcards
Android Runtime
Android Runtime
Signup and view all the flashcards
Linux-kärnan
Linux-kärnan
Signup and view all the flashcards
Applikationer i egna processer
Applikationer i egna processer
Signup and view all the flashcards
View System
View System
Signup and view all the flashcards
Managers
Managers
Signup and view all the flashcards
Resource Manager
Resource Manager
Signup and view all the flashcards
Activity Manager
Activity Manager
Signup and view all the flashcards
Notification Manager
Notification Manager
Signup and view all the flashcards
Telephone Manager
Telephone Manager
Signup and view all the flashcards
Location Manager
Location Manager
Signup and view all the flashcards
Packet Manager
Packet Manager
Signup and view all the flashcards
Processer
Processer
Signup and view all the flashcards
Activity
Activity
Signup and view all the flashcards
Activity States
Activity States
Signup and view all the flashcards
onStop()
onStop()
Signup and view all the flashcards
onPause()
onPause()
Signup and view all the flashcards
Starta en ny Activity
Starta en ny Activity
Signup and view all the flashcards
Intent
Intent
Signup and view all the flashcards
Parcelable eller Serializable
Parcelable eller Serializable
Signup and view all the flashcards
Startad tjänst (StartedService)
Startad tjänst (StartedService)
Signup and view all the flashcards
Fragment
Fragment
Signup and view all the flashcards
Bundle
Bundle
Signup and view all the flashcards
res-mappen
res-mappen
Signup and view all the flashcards
ViewBinding
ViewBinding
Signup and view all the flashcards
SafeArgs
SafeArgs
Signup and view all the flashcards
ListView
ListView
Signup and view all the flashcards
Adapter
Adapter
Signup and view all the flashcards
ListActivity
ListActivity
Signup and view all the flashcards
ListFragment
ListFragment
Signup and view all the flashcards
RecyclerView
RecyclerView
Signup and view all the flashcards
SQLite
SQLite
Signup and view all the flashcards
Shared Preferences
Shared Preferences
Signup and view all the flashcards
ViewModel
ViewModel
Signup and view all the flashcards
registerForActivityResult
registerForActivityResult
Signup and view all the flashcards
Explicit Intent
Explicit Intent
Signup and view all the flashcards
Implicit Intent
Implicit Intent
Signup and view all the flashcards
FragmentManager
FragmentManager
Signup and view all the flashcards
FragmentContainerView
FragmentContainerView
Signup and view all the flashcards
FragmentTransaction
FragmentTransaction
Signup and view all the flashcards
NavHostFragment
NavHostFragment
Signup and view all the flashcards
NavHostController
NavHostController
Signup and view all the flashcards
Services
Services
Signup and view all the flashcards
Bunden Service
Bunden Service
Signup and view all the flashcards
Startad Service
Startad Service
Signup and view all the flashcards
Arbetstrådar
Arbetstrådar
Signup and view all the flashcards
Firebase
Firebase
Signup and view all the flashcards
RealTimeDataBase (RTDB)
RealTimeDataBase (RTDB)
Signup and view all the flashcards
Cloud Firestore
Cloud Firestore
Signup and view all the flashcards
Location
Location
Signup and view all the flashcards
FusedLocation
FusedLocation
Signup and view all the flashcards
API
API
Signup and view all the flashcards
Activities och Fragment
Activities och Fragment
Signup and view all the flashcards
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.