ANDROIDD

Cards (51)

  • Software Development Lifecycle (SDLC)
    1. Inception
    2. Design
    3. Development
    4. Stabilization
    5. Deployment
  • Inception
    All apps start with an idea. That idea is usually refined into a solid basis for an application.
  • Design
    The design phase consists of defining the app's User Experience (UX), such as what the general layout is, how it works, etc., as well as turning the UX into a proper User Interface (UI) design.
  • Development
    Usually the most resource-intensive phase, this is the actual building of the application.
  • Stabilization
    When development is far enough, Quality Assurance (QA) usually begins testing the application and bugs are fixed. Often, an application will go into a limited beta phase in which a wider user audience is given a chance to use it, provide feedback, and inform changes.
  • Deployment
    In this phase, applications and updates are delivered from developers to users.
  • .NET Multi-platform App UI (.NET MAUI)
    A cross-platform framework for creating native mobile and desktop apps with C# and XAML. .NET MAUI allows you to develop apps that can run on Android, iOS, macOS, and Windows from a single shared code-base.
  • .NET MAUI
    • Unifies Android, iOS, macOS, and Windows APIs into a single API that allows a write-once run-anywhere developer experience while providing deep access to every aspect of each native platform
    • Provides a single framework for building the UIs for mobile and desktop apps
  • Platform-specific frameworks for creating apps
    • .NET Android
    • .NET iOS
    • .NET macOS
    • Windows UI 3 (WinUI 3) library
  • .NET Base Class Library (BCL)
    Abstracts the details of the underlying platform away from your code
  • .NET runtime

    Provides the execution environment for your code
  • Mono
    An implementation of the .NET runtime for Android, iOS, and macOS
  • .NET CoreCLR
    Provides the execution environment on Windows
  • In a .NET MAUI app, you write code that primarily interacts with the .NET MAUI API
  • .NET MAUI directly consumes the native platform APIs
  • App code may directly exercise platform APIs if required
  • .NET MAUI provides
    • A collection of controls
    • An elaborate layout engine for designing pages
    • Multiple page types for creating rich navigation types, like drawers
    • Support for data-binding, for more elegant and maintainable development patterns
    • The ability to customize handlers to enhance how UI elements are presented
    • Cross-platform APIs for accessing native device features
    • Cross-platform graphics functionality
  • .NET MAUI provides a single project system that uses multi-targeting to target Android, iOS, macOS, and Windows
  • .NET MAUI provides .NET hot reload, so that you can modify both your XAML and your managed source code while the app is running, then observe the result of your modifications without rebuilding the app
  • Examples of functionality provided by .NET MAUI for accessing device features
    • Access to sensors, such as the accelerometer, compass, and gyroscope on devices
    • Ability to check the device's network connectivity state and detect changes
    • Provide information about the device the app is running on
    • Copy and paste text to the system clipboard between apps
    • Pick single or multiple files from the device
    • Store data securely as key/value pairs
    • Utilize built-in text-to-speech engines to read text from the device
    • Initiate browser-based authentication flows that listen for a callback to a specific app-registered URL
  • .NET MAUI single project
    • Takes the platform-specific development experiences you typically encounter while developing apps and abstracts them into a single shared project that can target Android, iOS, macOS, and Windows
    • Provides a simplified and consistent cross-platform development experience, regardless of the platforms being targeted
  • Features of .NET MAUI single project
    • A single shared project that can target Android, iOS, macOS, and Windows
    • A simplified debug target selection for running your .NET MAUI apps
    • Shared resource files within the single project
    • A single app manifest that specifies the app title, id, and version
    • Access to platform-specific APIs and tools when required
    • A single cross-platform app entry point
  • MauiProgram.cs
    Contains the code for creating and configuring the Application object
  • App.xaml and App.xaml.cs
    Provide UI resources and create the initial window for the application
  • AppShell.xaml and AppShell.xaml.cs
    Specify the initial page for the application and handle the registration of pages for navigation routing
  • MainPage.xaml and MainPage.xaml.cs
    Define the layout and UI logic for the page displayed by default in the initial window
  • App class
    Represents the .NET MAUI application as a whole. It inherits a default set of behaviors from Microsoft.Maui.Controls.Application.
  • App class
    • Contains methods for handling life-cycle events, including when the app is sent to the background
    • Contains methods for creating new Windows for the application
  • Shell
    .NET MAUI Shell reduces the complexity of app development by providing the fundamental features that most apps require, including a single place to describe the visual hierarchy of an app, a common navigation user experience, a URI-based navigation scheme that permits navigation to any page in the app, and an integrated search handler
  • Hierarchical objects in a .NET MAUI Shell app
    • FlyoutItem or TabBar
    • Tab
    • ShellContent
  • FlyoutItem
    Represents one or more items in the flyout and should be used when the navigation pattern for the app requires a flyout
  • TabBar
    Represents the bottom tab bar and should be used when the navigation pattern for the app begins with bottom tabs and doesn't require a flyout
  • Tab
    Represents grouped content, navigable by bottom tabs
  • ShellContent
    Represents the ContentPage objects for each tab
  • ContentPage
    The simplest and most common page type in .NET MAUI. A content page displays a single view.
  • Other built-in page types in .NET MAUI
    • TabbedPage
    • FlyoutPage
    • NavigationPage
  • TabbedPage
    The root page used for tab navigation. A tabbed page contains child page objects, one for each tab.
  • FlyoutPage
    Enables the implementation of a master/detail style presentation. A flyout page contains a list of items. When selecting an item, a view displaying the details for that item appears.
  • NavigationPage
    Provides a hierarchical navigation experience where you can navigate through pages, forwards and backward, as desired.
  • ContentView
    Displays items as-is. If the view is shrunk, items may disappear from the display until the view is resized.