CMSC 436: Android App Development

0.0(0)
studied byStudied by 11 people
0.0(0)
full-widthCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/120

flashcard set

Earn XP

Description and Tags

These flashcards cover key terms and concepts related to Android app development as per the course CMSC 436.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

121 Terms

1
New cards

Hello Android App

The introductory application for Android development.

2
New cards

MainActivity

The default Activity class where the main logic of an Android app is implemented.

3
New cards

Logcat

A logging system in Android that allows developers to view system logs and debug their applications.

4
New cards

XML

eXtensible Markup Language, a markup language used to define the layout of Android applications.

5
New cards

Activity

A single screen in an Android application that users can interact with.

6
New cards

setContentView

A method used to set the layout view for an Activity.

7
New cards

AppCompatActivity

A class in the Android support library that provides compatibility for older versions of Android.

8
New cards

Gradle

An advanced build toolkit used in Android development to automate the build process.

9
New cards

Resource files

Files that contain elements such as strings, layouts, and colors used within the app.

10
New cards

AndroidManifest.xml

The configuration file for an Android application that describes its components and permissions.

11
New cards

Kotlin

A modern programming language that is fully interoperable with Java and is the preferred language for Android development.

12
New cards

SharedPreferences

A simple way to store and retrieve application preferences in Android.

13
New cards

Emulator

A virtual device that mimics the functionality of an Android device.

14
New cards

GestureDetector

A class used to detect various touch gestures like tap, fling, and scroll.

15
New cards

Toast

A temporary message that provides feedback to the user.

16
New cards

ViewGroup

A special view that can contain other views; examples include LinearLayout and RelativeLayout.

17
New cards

Event Handling

The mechanism by which user actions (like clicks and swipes) are handled in Android.

18
New cards

APK

Android Package Kit, the file format used to distribute and install applications on Android.

19
New cards

Activity Lifecycle

The set of states an Activity goes through from creation to destruction.

20
New cards

RecyclerView

A flexible view for providing a limited window into a large data set.

21
New cards

View Binding

A feature that allows developers to more easily write code that interacts with views.

22
New cards

Data Classes

Classes in Kotlin that are solely meant to hold data.

23
New cards

XML Layouts

Files that define the user interface layout for Android applications.

24
New cards

Debugging

The process of identifying and removing errors in software.

25
New cards

findViewById

A method used to find and reference views defined in XML layouts.

26
New cards

Intent

A messaging object used to request an action from another application component.

27
New cards

RecyclerView.Adapter

The intermediary between the RecyclerView and the underlying data.

28
New cards

Android Studio

The official Integrated Development Environment (IDE) for Android development.

29
New cards

Button

A UI element that can be clicked by the user to trigger an action.

30
New cards

TextView

A UI element used to display text to the user.

31
New cards

EditText

A UI element that allows users to input and edit text.

32
New cards

ImageView

A UI element used to display images.

33
New cards

CheckBox

A UI element that allows the user to select one or more options from a set.

34
New cards

RadioButton

A UI element that allows the user to select one option from a mutually exclusive set.

35
New cards

Spinner

A UI element that provides a quick way to select one value from a set.

36
New cards

ProgressBar

A UI element that indicates the progress of an operation.

37
New cards

SeekBar

A UI element that allows the user to select a value from a range by dragging a thumb.

38
New cards

AlertDialog

A small dialog that prompts the user for a decision or displays important information.

39
New cards

Snackbar

A transient message that appears temporarily at the bottom of the screen.

40
New cards

FloatingActionButton

A circular button that triggers the primary action in an app's UI.

41
New cards

Toolbar

A more flexible and customizable replacement for the ActionBar.

42
New cards

CardView

A UI component that displays information in cards with a consistent look and feel.

43
New cards

LinearLayout

A ViewGroup that arranges its children in a single column or row.

44
New cards

RelativeLayout

A ViewGroup that displays child views in relative positions.

45
New cards

FrameLayout

A ViewGroup that blocks out an area on the screen to display a single item.

46
New cards

ConstraintLayout

A flexible ViewGroup that allows you to position and size widgets in a flexible way.

47
New cards

ScrollView

A ViewGroup that provides a scrollable view for contents too large for the screen.

48
New cards

Service

An application component that can perform long-running operations in the background.

49
New cards

Intent Filter

Defines the types of Intents that an Activity, Service, or Broadcast Receiver can respond to.

50
New cards

Broadcast Receiver

An application component that responds to system-wide broadcast announcements.

51
New cards

Content Provider

Manages access to a structured set of data and provides mechanisms for defining security.

52
New cards

PendingIntent

A token that allows a foreign application to execute a predefined piece of your code with your application's permissions.

53
New cards

onCreate()

The first callback method in the Activity's lifecycle, where most initialization logic goes.

54
New cards

onStart()

Called when the activity is becoming visible to the user.

55
New cards

onResume()

Called when the activity will start interacting with the user.

56
New cards

onPause()

Called when the system is about to resume a previous activity or another activity is coming to the foreground.

57
New cards

onStop()

Called when the activity is no longer visible to the user.

58
New cards

onDestroy()

Called before the activity is destroyed, either being finished or by the system to reclaim resources.

59
New cards

onRestart()

Called after onStop() when the activity is being re-displayed to the user.

60
New cards

Context

Provides access to application-specific resources and classes, as well as up-calls for application-level operations.

61
New cards

Room Database

An SQLite object mapping library that is part of the Android Architecture Components.

62
New cards

DAO (Data Access Object)

An interface where you define operations for your Room database, such as queries and insertions.

63
New cards

@Entity (Room)

An annotation used in Room to mark a class as an entity representing a table in the database.

64
New cards

SharedPreferences.Editor

An interface used to modify the values in SharedPreferences.

65
New cards

DataStore

A data storage solution that allows you to store key-value pairs or typed objects, built on Kotlin Coroutines and Flow.

66
New cards

SQLite Database

A lightweight relational database system integrated into Android for local structured data storage.

67
New cards

Internal Storage

The storage accessible only by the application that created it, usually for sensitive or temporary data.

68
New cards

External Storage

Publicly accessible storage on the device, potentially shared with other apps and user-visible.

69
New cards

Retrofit

A type-safe HTTP client for Android and Java by Square, often used for REST APIs.

70
New cards

OkHttp

An efficient HTTP client by Square that helps in making network requests and handling caching.

71
New cards

JSON (JavaScript Object Notation)

A lightweight data-interchange format often used in web APIs and network communication.

72
New cards

GSON

A Java library developed by Google that can be used to convert Java Objects into their JSON representation and vice versa.

73
New cards

Coroutines (Kotlin)

A concurrency design pattern in Kotlin for asynchronous programming, often used for background tasks without blocking threads.

74
New cards

launch (Coroutine Builder)

A coroutine builder that starts a new coroutine, typically for 'fire-and-forget' operations.

75
New cards

async (Coroutine Builder)

A coroutine builder that starts a new coroutine and returns its result as a Deferred value, suitable for parallel computations.

76
New cards

withContext (Coroutine)

A suspend function that allows changing the coroutine's context, often used to switch dispatchers (e.g., from IO to Main).

77
New cards

Handler (Android)

Allows sending and processing Message and Runnable objects associated with a thread's MessageQueue, typically for UI updates from background threads.

78
New cards

Looper (Android)

A class that maintains a queue of messages for a thread and loops through them, enabling message processing.

79
New cards

ViewModel

A class designed to store and manage UI-related data in a lifecycle-conscious way, surviving configuration changes.

80
New cards

LiveData

An observable data holder class that is lifecycle-aware, meaning it respects the lifecycle of other app components like Activities and Fragments.

81
New cards

Navigation Component

A library that handles in-app navigation, from simple button clicks to more complex patterns and deep links.

82
New cards

Data Binding Library

A support library that allows you to bind UI components in your layouts to data sources using a declarative format, reducing boilerplate code.

83
New cards

Repository Pattern (Architecture)

An architectural pattern that abstracts the way data is fetched and stored from multiple data sources (e.g., network, database, preferences).

84
New cards

ADB (Android Debug Bridge)

A versatile command-line tool that lets you communicate with an emulator instance or connected Android device for debugging and development tasks.

85
New cards

Lint (Android Studio)

A static code analysis tool in Android Studio that helps identify and correct coding errors, structural problems, and common bugs.

86
New cards

Android Profiler

A suite of tools in Android Studio to measure an app's CPU, memory, network, and energy usage, aiding in performance optimization.

87
New cards

Signing an APK

The process of digitally signing your Android application with a certificate to ensure its authenticity and integrity before distribution.

88
New cards

ProGuard/R8

Tools used for shrinking, optimizing, and obfuscating code at build time, reducing APK size and making reverse engineering harder.

89
New cards

build.gradle (app)

The Gradle script for an app module, containing configurations specific to that module, like dependencies and build types.

90
New cards

build.gradle (project)

The top-level Gradle script for the entire project, defining common configurations, repositories, and plugins.

91
New cards

R.java

An auto-generated file that contains resource IDs for all the resources (e.g., layouts, drawables, strings) in your project.

92
New cards

Runtime Permissions

Permissions that must be requested by the app at runtime, especially for dangerous permissions that access sensitive user data.

93
New cards

Normal Permissions

Permissions that are granted automatically by the system upon app installation as they pose little risk to user's privacy or device operation.

94
New cards

NotificationChannel

Introduced in Android 8.0 (API 26) and higher, required to categorize notifications and allow users fine-grained control over them.

95
New cards

NotificationManager

A system service that allows you to send notifications to the user from your application.

96
New cards

Extension Functions (Kotlin)

Functions that allow adding new functionality to an existing class without inheriting from it or using design patterns like Decorator.

97
New cards

Null Safety (Kotlin)

A feature in Kotlin that helps eliminate NullPointerExceptions by making nullability explicit in the type system.

98
New cards

object (Kotlin)

Used to declare a singleton class in Kotlin, ensuring only one instance exists throughout the application.

99
New cards

companion object (Kotlin)

A special object declared inside a class that holds members (properties and functions) that are conceptually static to the class.

100
New cards

Sealed Class (Kotlin)

A class that represents a restricted class hierarchy, where a value can have one of the types from a limited set of subclasses.