Android Development Quiz
42 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Which of the following programming languages is NOT used for Android development?

  • Python (correct)
  • C++
  • Kotlin
  • Java

Android is an open-source operating system developed exclusively for smartphones.

False (B)

What is the main purpose of Android development?

To create applications for mobile devices.

Android is based on the ______ kernel.

<p>Linux</p> Signup and view all the answers

Match the following terms with their descriptions:

<p>Open Source = Encourages innovation and customization Market Dominance = Largest installed base of any mobile platform Multitasking = Run multiple applications simultaneously Google Play Store = Official app distribution platform for Android</p> Signup and view all the answers

Which of the following features is associated with cross-platform frameworks like Flutter?

<p>Seamless integration with Google services (A)</p> Signup and view all the answers

API Level is a textual description of the Android version.

<p>False (B)</p> Signup and view all the answers

What was the API Level for Android 15?

<p>Level 35</p> Signup and view all the answers

Android applications need the target SDK to be at least __________ for new apps and app updates by August 31, 2024.

<p>34</p> Signup and view all the answers

Match each Android version to its corresponding year of release:

<p>Android 15 = 2024 Android 14 = 2023 Android 13 = 2022</p> Signup and view all the answers

Which Android version introduced Jetpack libraries requiring a minimum SDK of 21?

<p>Android 12 (D)</p> Signup and view all the answers

The first version of Android listed is Android 9.

<p>False (B)</p> Signup and view all the answers

Which development approach is known for having the best performance on Android devices?

<p>Native Development (B)</p> Signup and view all the answers

What is the primary function of the XML elements in the Android framework API?

<p>Declaring a manifest file and accessing resources.</p> Signup and view all the answers

The version of Android known as __________ was released in 2016.

<p>Nougat</p> Signup and view all the answers

Cross-Platform Development typically results in smaller app sizes compared to Native Development.

<p>False (B)</p> Signup and view all the answers

Match the Android versions with their corresponding names and release years:

<p>Android 10 = Q - 2019 Android 11 = R - 2020 Android 12 = S - 2021 Android 9 = Pie - 2018</p> Signup and view all the answers

Name one popular use case for Native Development.

<p>High-performance apps that require deep integration with Android.</p> Signup and view all the answers

Which of the following Android versions required an SDK of 21 or higher?

<p>Android 11 (A)</p> Signup and view all the answers

XML is a markup language that is _____ and allows the definition of custom tags.

<p>human-readable</p> Signup and view all the answers

Match the following aspects of app development with their corresponding features:

<p>Native Development = Best performance, optimized for Android hardware Cross-Platform Development = Faster development with shared codebase across platforms XML = Platform-independent, used for storing and transporting data JavaScript = Easier for web developers using React Native</p> Signup and view all the answers

The Android framework API includes a set of Intents.

<p>True (A)</p> Signup and view all the answers

Which language is commonly used in Native Development for Android applications?

<p>Java (C)</p> Signup and view all the answers

What is the significance of the level numbers in the Android versions?

<p>They indicate the API level of each Android version.</p> Signup and view all the answers

React Native provides a single codebase for all platforms.

<p>True (A)</p> Signup and view all the answers

What is one drawback of Native Development compared to Cross-Platform Development?

<p>Slower development due to separate codebases for each platform.</p> Signup and view all the answers

Which of the following is NOT a component of an Intent?

<p>View (A)</p> Signup and view all the answers

A debug build is optimized for better performance compared to a release build.

<p>False (B)</p> Signup and view all the answers

What file formats are generated for app distribution?

<p>APK or AAB</p> Signup and view all the answers

To pass additional information in an Intent, you use __________.

<p>Extras</p> Signup and view all the answers

Match the Intent actions with their purposes:

<p>Intent.ACTION_CALL = Call a number Intent.ACTION_SEND = Send email Intent.ACTION_PICK = Pick an item from the gallery Intent.ACTION_VIEW = Open a URL</p> Signup and view all the answers

What is the primary purpose of using a release key when generating a release build?

<p>To ensure the app is signed for distribution (C)</p> Signup and view all the answers

It is possible to run an Android app on a connected physical device during development.

<p>True (A)</p> Signup and view all the answers

What development environment tool is commonly used to test Android apps?

<p>Android Studio</p> Signup and view all the answers

Which Android version is associated with API Level 20?

<p>Android 4.4W (KitKat Watch) (D)</p> Signup and view all the answers

Every Android platform can support multiple API Levels.

<p>False (B)</p> Signup and view all the answers

What does the 'android:minSdkVersion' indicate in an application's manifest?

<p>It specifies the minimum API Level on which the application can run.</p> Signup and view all the answers

The maximum API Level an application can run on is specified by 'android:______'.

<p>maxSdkVersion</p> Signup and view all the answers

Match the following API Levels with their corresponding Android versions:

<p>API Level 18 = Android 4.3 (Jelly Bean) API Level 19 = Android 4.4 (KitKat) API Level 20 = Android 4.4W (KitKat Watch) API Level 17 = Android 4.2 (Jelly Bean MR1)</p> Signup and view all the answers

Which of the following is true about Jetpack/AndroidX libraries?

<p>They require a minimum SDK of 19 or higher since October 2023. (B)</p> Signup and view all the answers

The default value for 'android:minSdkVersion' in an application's manifest is 1.

<p>True (A)</p> Signup and view all the answers

What is the purpose of the 'android:targetSdkVersion' in the manifest?

<p>It specifies the API Level the application is designed to run on.</p> Signup and view all the answers

Flashcards

What is Android?

Android is an open-source, Linux-based operating system primarily used for mobile devices like smartphones and tablets. It also extends to other areas like TVs and wearables.

Market Dominance

Android's massive user base gives developers access to a large potential audience for their apps, making it a highly attractive platform.

Open Source

Android's open-source nature allows developers to modify and customize the system, leading to a greater degree of flexibility and innovation in app development.

Versatile Development

Android supports various programming languages, giving developers options to build apps using their preferred language.

Signup and view all the flashcards

Multitasking

It allows users to run multiple apps simultaneously, making it efficient for multitasking.

Signup and view all the flashcards

Cross-platform Framework

A cross-platform framework that enables developers to create applications for multiple operating systems using a single codebase, making it more efficient and cost-effective.

Signup and view all the flashcards

Extensive Libraries and APIs

A framework that provides a wide range of libraries and APIs for building modern features such as AI/ML, machine learning, and other cutting-edge technologies, making it suitable for complex applications.

Signup and view all the flashcards

Seamless Integration with Google Services

Allows seamless integration with Google services, enhancing the user experience and providing developers with powerful tools and features.

Signup and view all the flashcards

API Level

A numerical identifier that represents the specific version of the Android framework API used by a particular Android version.

Signup and view all the flashcards

Version Code

A unique identifier for the Android operating system, allowing developers to target specific versions for their app functionality and features.

Signup and view all the flashcards

Framework API

The fundamental building blocks that define how Android applications are structured and interact with the system.

Signup and view all the flashcards

Core Packages and Classes

A collection of packages and classes providing core functionality for Android apps.

Signup and view all the flashcards

Manifest Declarations

XML elements and attributes used within the AndroidManifest.xml file to declare app configurations like permissions and components.

Signup and view all the flashcards

Resource Declarations

XML elements and attributes used to define resources like layout designs, images, and strings.

Signup and view all the flashcards

Intents

Messages used for communication between Android components and apps.

Signup and view all the flashcards

Jetpack/AndroidX Libraries

A set of libraries and tools provided by Google to simplify Android app development.

Signup and view all the flashcards

minSdkVersion

The minimum Android API level required to use a specific Jetpack library.

Signup and view all the flashcards

Jetpack Compose minSdkVersion

The minimum API level required to use Jetpack Compose.

Signup and view all the flashcards

android:minSdkVersion

The minimum API level that your app needs to run, preventing it from being installed on devices with older OS versions.

Signup and view all the flashcards

android:targetSdkVersion

The API level that your app is designed to run on. It might allow access to newer features if available.

Signup and view all the flashcards

android:maxSdkVersion

The maximum API level that your app can run on, even if higher versions exist. Prevents issues on newer devices.

Signup and view all the flashcards

Manifest File

It specifies the application's components, security settings, test classes, permissions, and requirements.

Signup and view all the flashcards

App Permissions

A system-level permission that applications can request to access specific resources or features.

Signup and view all the flashcards

Permission Enforcement

Enforcing app permissions to ensure user privacy and prevent unauthorized access.

Signup and view all the flashcards

Google Play Services

Google Play Services is a collection of software components that provide essential services and features to Android apps, like location and maps.

Signup and view all the flashcards

What is an Intent?

A mechanism that allows different parts of an Android app to communicate and interact.

Signup and view all the flashcards

Action

Specifies the action the Intent should perform, for example, launching a website or making a phone call.

Signup and view all the flashcards

Category

Provides additional information about the action, like sharing a specific piece of data.

Signup and view all the flashcards

Data

Data associated with the Intent, such as a URL or a phone number.

Signup and view all the flashcards

Extras

Key-value pairs that pass extra information to the target component.

Signup and view all the flashcards

Flags

Controls how the Intent should behave, like opening an activity in a new task.

Signup and view all the flashcards

What is Deployment?

The process of making your app ready for use on a device.

Signup and view all the flashcards

Development Deployment

Running your app directly on a device or emulator for testing purposes.

Signup and view all the flashcards

What is XML?

A language for storing and transmitting data in a structured format. It uses custom tags for organization, making it human-readable and platform-independent.

Signup and view all the flashcards

Native Android Development

Android-specific development environment using Java or Kotlin for building apps.

Signup and view all the flashcards

Cross-Platform Development

A development approach using frameworks like Flutter or React Native to create apps for multiple platforms with a single codebase.

Signup and view all the flashcards

Performance in Cross-Platform Development

Performance in cross-platform development is slightly lower compared to native development, but it's close to native and still quite good.

Signup and view all the flashcards

Performance in Native Development

Native development offers the best performance because it's optimized for the Android hardware.

Signup and view all the flashcards

Development Speed in Native Development

Developing native Android apps takes more time because separate codebases are needed for each platform, leading to slower development cycles.

Signup and view all the flashcards

Development Speed in Cross-Platform Development

Using cross-platform frameworks allows for faster development with shared codebases, resulting in quicker development cycles.

Signup and view all the flashcards

Codebase Maintenance in Cross-Platform Development

Cross-platform development offers a single codebase for all platforms, simplifying maintenance and reducing complexity.

Signup and view all the flashcards

Study Notes

Android Development

  • Android development focuses on creating applications for mobile devices, specifically Android devices.
  • The purpose of these applications is to assist or serve a specific function.

Table of Contents

  • Introduction
  • Android Studio IDE
  • Android Components
  • UI Design
  • Deployment
  • Practical Part

What is Android?

  • Android is an open-source, Linux-based operating system.
  • It runs on devices like smartphones and tablets.
  • It's also used in other markets such as TVs and wearables.
  • Developed by the Open Handset Alliance, led by Google.
  • Supports multitasking, allowing users to run multiple apps simultaneously.

Why Android?

  • Market Dominance: Android has a large and growing user base.
  • Global Reach: Access to billions of users via the Google Play Store.
  • Open Source: The Linux kernel provides flexibility for developers. Open-source code encourages innovation and customization.
  • Versatile Development: Supports languages like Java, Kotlin, and C++. Cross-platform frameworks like Flutter. Extensive libraries and APIs for modern features (e.g., AI/ML). It has seamless integration with Google services.

Categories of Android Applications

  • Books
  • Games
  • Productivity
  • Business
  • Health & Fitness
  • Reference
  • Catalogues
  • Lifestyle
  • Social Networking
  • Education
  • Medical
  • Sports
  • Entertainment
  • Navigation
  • Travel
  • Finance
  • News
  • Utilities
  • Food & Drink
  • Photo & Video
  • Weather

Android History and API Level

  • API Level is a unique integer value for Android framework API revisions.
  • The framework API consists of core packages, XML elements, attributes for a manifest file, attributes for declaring and accessing resources, Intents, and permissions for apps.
  • Newer API levels can access behaviors or features not available in older levels.

Android Studio IDE

  • Android Studio is Google's official IDE for developing Android applications.
  • It uses Java and is built on JetBrains' IntelliJ IDEA platform.

Android Studio - File Structure

  • AndroidManifest.xml: Contains essential app information (components, permissions, configuration).
  • Java Files: Contains the application's code logic, activities, services, etc.
  • Layout Files: Define the UI structure (XML format).
  • Drawable Files: Contain UI graphical resources (images icons).
  • Mipmap Files: Contain app launcher icons in various resolutions.
  • Strings Files: Store text for the app (for easy localization).
  • Build Gradle Files: Contains the build configuration (dependencies, SDK versions, etc).
  • The files are structured in projects for development.

Code Examples

  • Examples of XML layouts, code within Java files and strings.xml are included in the documentation.

Android Components

  • Activity: Represents a single screen with a UI. Controls the UI and user interactions.
  • Service: Runs in the background without a UI (e.g., downloading).
  • Content Provider: Manages shared data between apps (e.g., accessing contacts).
  • Intent: Facilitates communications between components. Explicit Intents target specific components while Implicit Intents are general, allowing the system to decide.
  • Fragment: Represents a portion of a UI, reusable within an activity. Can be added, removed or replaced.

App Component in Android Studio

  • Activities, Services, BroadcastReceivers, ContentProviders have XML declarations to be defined in the manifest file.

UI Design

  • Layouts define the arrangement of UI elements like TextViews, Buttons. Common layouts include LinearLayout, RelativeLayout, and ConstraintLayout.
  • ConstraintLayout is often used for complex layouts managing UI elements position.

Attributes (Layout & View)

  • Attributes define properties of UI elements. android namespace and app namespace specify attributes available in the Android SDK and in custom library attributes.
  • Examples include layout_width, text, and background.

Size Units

  • Different units used for specifying dimensions in layouts like Density-Independent Pixels (dp), Scale-Independent Pixels (sp). Pixels (px). Percent (%).
  • Unit selection depends on the needs of the design or intended behaviour.

View Elements

  • Each visual element on screen is a View. TextViews, Buttons, ImageViews, EditTexts are examples.

Intents

  • Intents are messaging objects enabling communication between different components or apps.
  • Explicit Intents directly target a component.
  • Implicit Intents the system determines the appropriate component.

Activity Life Cycle

  • Explanation of the various stages in the activity lifecycle like onCreate, onStart, onResume, onPause, onStop, onDestroy.
  • This helps you understand when your app code is run.

Deployment

  • Testing your app on devices or emulators.
  • Examples: running the project file on a connected Android device, using Android Virtual Device.

App Release

  • Creating a release version build, signing it with appropriate keystore.
  • Generating and uploading APK/AAB files to app stores like Google Play

Practical Part

  • Practical application of the learnt concepts to design, build and deploy an Android app.

Last Words

  • Separation of concerns. XML for front-end design and Java for backend functionality in the app.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Android Development PDF

Description

Test your knowledge of Android development with this quiz that covers key concepts, versions, APIs, and features of the Android operating system. From programming languages to SDK requirements, challenge yourself on what you know about this popular mobile platform.

More Like This

Mastering Android
5 questions

Mastering Android

HandyLepidolite avatar
HandyLepidolite
Android App Development Basics
9 questions
Android-programmering och systemstruktur
60 questions
Use Quizgecko on...
Browser
Browser