All

Cards (172)

  • Android system
    An open-source operating system primarily designed for mobile devices, providing a framework for developers to create applications that can run on various devices
  • Android architecture
    • Consists of four main layers: the Linux kernel, the Android runtime (ART or Dalvik), the application framework, and the user interface
  • Role of the Linux kernel in Android OS
    Acts as the core of the operating system, providing essential services such as hardware abstraction, memory management, and process management
  • System requirements for Android Studio
    Minimum of 8 GB RAM, 4 GB of disk space, and a minimum screen resolution of 1280x800 pixels
  • The latest Android model would depend on the current date as new models are released regularly
  • Android project folder structure

    • Typically includes folders like app (for application code and resources), Gradle scripts, manifests, and other standard directories
  • Gradle

    A build automation tool used in Android development, managing project dependencies, compiling code, and producing executable artifacts
  • Native development

    Creating applications specifically for a single platform (e.g., Android or iOS)
  • Cross-platform development

    Creating applications that can run on multiple platforms using a single codebase
  • Native platform

    A specific operating system or environment, such as Android, iOS, or Windows, where developing natively involves using the dedicated tools and languages for that platform
  • Cross-platform development

    Creating applications that can run on multiple platforms, often by using frameworks like React Native, Flutter, or Xamarin
  • ProGuard rules

    Configuration settings that specify how ProGuard should process and optimize the code, as well as how it should handle class and method names for obfuscation
  • APK (Android Package)

    The file format used to distribute and install Android applications
  • AAB (Android App Bundle)

    A publishing format that includes app assets and code in a more efficient manner, allowing the Play Store to generate optimized APKs for different device configurations
  • App components in Android
    • Activities
    • Services
    • Broadcast Receivers
    • Content Providers
  • Activity

    Represents a single screen with a user interface in an Android application
  • Activity lifecycle
    1. onCreate
    2. onStart
    3. onResume
    4. onPause
    5. onStop
    6. onDestroy
  • Purpose and roles of activity lifecycle methods

    • Allow developers to manage the state and behavior of an activity
  • Intent

    A messaging object used to request an action or communicate between components in Android
  • Types of intents
    • Explicit Intents (specify the target component)
    • Implicit Intents (declare the desired action, and the system determines the appropriate component)
  • Bundle

    Used to pass data between Android components, often employed to transfer information such as strings or primitive data types between activities or fragments
  • Fragment

    A modular, reusable portion of an activity in Android, with its own lifecycle and can be combined with other fragments to create a flexible and responsive user interface
  • Fragment lifecycle
    1. onAttach
    2. onCreateView
    3. onResume
    4. onPause
    5. onDestroyView
  • Purpose and role of fragment lifecycle methods
    • Allow developers to manage the state and behavior of fragments throughout their lifecycle
  • Difference between fragments and activities

    An activity represents a complete screen with a user interface, whereas a fragment is a modular section of an activity that can be combined with other fragments to create a complete user interface
  • Resource (res)

    The directory containing resources like layout files, drawables, values, and more, which are external elements separate from the application code and can be easily updated or modified
  • Architectural pattern

    A general, reusable solution to a commonly occurring problem in software design
  • Model-View-ViewModel (MVVM) pattern

    Separates the application into three components: Model (data and business logic), View (UI and presentation logic), and ViewModel (manages the interaction between Model and View)
  • Types of layouts
    • LinearLayout
    • RelativeLayout
    • ConstraintLayout
    • FrameLayout
  • Purpose of using layouts in Android
    Provide a structured way to arrange UI components, ensuring a consistent and organized appearance, and help in creating responsive and adaptable user interfaces for different screen sizes and orientations
  • Difference between linear and relative layouts

    LinearLayout arranges UI elements in a single line either horizontally or vertically, while RelativeLayout allows for more flexible positioning of UI elements relative to each other or the parent container
  • Difference between constraint and relative layouts
    ConstraintLayout is a more flexible layout manager compared to RelativeLayout, allowing UI elements to be positioned relative to each other with the ability to create responsive and dynamic interfaces using constraints
  • UI element

    A visual or interactive component in an application's user interface, such as buttons, text fields, images, and checkboxes
  • Common UI elements in Android

    • Buttons
    • Text views
    • Image views
    • Edit text fields
    • Checkboxes
    • Radio buttons
  • Purpose of using common UI elements in Android
    Provide users with familiar and intuitive ways to interact with an application, enhancing user experience and making navigation and interaction consistent across different apps
  • Attributes
    Define the properties of UI elements or components, specifying characteristics such as color, size, text, or behavior
  • Types of namespaces for attributes

    • Android namespace (android:)
    • App namespace (app:)
  • Navigation graph

    Defines the logical flow and connections between different destinations (e.g., fragments or activities) in an app, essential to use with fragments to efficiently manage and visualize the navigation flow within the app
  • Android Manifest file

    A crucial file in an Android app, containing essential information about the app, such as the app's package name, components (activities, services, etc.), permissions, and declarations, serving as a blueprint for the Android system to understand and manage the app
  • Dalvik Virtual Machine (DVM)

    The original virtual machine used in Android for running applications, translating Java bytecode into machine code for the device's processor, replaced by the Android Runtime (ART) in recent Android versions