android_developer_glossary

Android Developer Glossary

Android Development Glossary

Return to Android Development, Apple iOS Developer Glossary

Creating a detailed glossary for Android development involves covering a wide range of concepts from basic components to advanced functionalities and frameworks. Here's a compilation of 75 key concepts in Android development, including their descriptions and links to the official Android documentation. Given the nature of Android's open-source ecosystem, many components and tools are directly maintained by Google and the Android Open Source Project (AOSP), while others are supported by the community on GitHub.

```mediawiki

Android Developer Glossary

1. Activity

A single screen with a user interface in an Android app. [Documentation: https://developer.android.com/guide/components/activities]

2. Fragment

A modular section of an activity, which has its own lifecycle and receives its own input events. [Documentation: https://developer.android.com/guide/components/fragments]

3. Intent

A messaging object used to request an action from another app component. [Documentation: https://developer.android.com/guide/components/intents-filters]

4. Service

A component that performs long-running operations in the background. [Documentation: https://developer.android.com/guide/components/services]

5. Content Provider

A component that manages access to a structured set of data. [Documentation: https://developer.android.com/guide/topics/providers/content-providers]

6. BroadcastReceiver

A component that enables the system to deliver events to the app outside of a regular user flow. [Documentation: https://developer.android.com/guide/components/broadcasts]

7. View

The basic building block for user interface components. [Documentation: https://developer.android.com/reference/android/view/View]

8. Layout

Defines the visual structure for a user interface. [Documentation: https://developer.android.com/guide/topics/ui/declaring-layout]

9. XML Layout Files

XML files that describe the UI layout for activities and fragments. [Documentation: https://developer.android.com/guide/topics/ui/declaring-layout]

10. Gradle

The build system for Android. [Documentation: https://developer.android.com/studio/build] [Source: https://github.com/gradle/gradle]

11. Android Manifest

The file that declares the essential information the system needs to run the app components. [Documentation: https://developer.android.com/guide/topics/manifest/manifest-intro]

12. Android SDK

The software development kit for Android, providing the necessary tools and libraries. [Documentation: https://developer.android.com/studio]

13. Android Studio

The official Integrated Development Environment (IDE) for Android development. [Documentation: https://developer.android.com/studio]

14. APK (Android Package)

The package file format used by Android for distribution and installation of mobile apps. [Documentation: https://developer.android.com/guide/components/fundamentals#Components]

15. Android Jetpack

A suite of libraries to help developers follow best practices, reduce boilerplate code, and write code that works consistently across Android versions and devices. [Documentation: https://developer.android.com/jetpack]

16. ViewModel

A class designed to store and manage UI-related data in a lifecycle conscious way. [Documentation: https://developer.android.com/topic/libraries/architecture/viewmodel]

17. LiveData

An observable data holder class that respects the lifecycle of other app components. [Documentation: https://developer.android.com/topic/libraries/architecture/livedata]

18. Data Binding

A library that allows you to bind UI components in your layouts to data sources in your app. [Documentation: https://developer.android.com/topic/libraries/data-binding]

19. Room

An abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite. [Documentation: https://developer.android.com/training/data-storage/room]

20. Retrofit

A type-safe HTTP client for Android and Java. [Documentation: https://square.github.io/retrofit/] [Source: https://github.com/square/retrofit]

21. Picasso

A powerful image downloading and caching library for Android. [Documentation: https://square.github.io/picasso/] [Source: https://github.com/square/picasso]

22. Glide

An image loading and caching library for Android focused on smooth scrolling. [Documentation: https://bumptech.github.io/glide/] [Source: https://github.com/bumptech/glide]

23. RecyclerView

A flexible view for providing a limited window into a large data set. [Documentation: https://developer.android.com/guide/topics/ui/layout/recyclerview]

24. ConstraintLayout

A layout that allows you to create large and complex layouts with a flat view hierarchy. [Documentation: https://developer.android.com/reference/androidx/constraintlayout/widget/ConstraintLayout]

Helps you implement navigation, from simple button clicks to

more complex patterns.
[Documentation: https://developer.android.com/guide/navigation/navigation-getting-started]

26. WorkManager

An API that makes it easy to schedule deferrable, asynchronous tasks that must be run reliably. [Documentation: https://developer.android.com/topic/libraries/architecture/workmanager]

27. Espresso

A testing framework for writing concise, beautiful, and reliable Android UI tests. [Documentation: https://developer.android.com/training/testing/espresso]

28. Android Testing Support Library

A set of APIs for testing Android apps. [Documentation: https://developer.android.com/training/testing/set-up-project]

29. Material Design

A design system for creating a cohesive look and feel for your app. [Documentation: https://material.io/design] [Source: https://github.com/material-components/material-components-android]

30. MVVM (Model-View-ViewModel)

An architectural pattern for implementing user interfaces. [Documentation: https://developer.android.com/jetpack/guide]

31. Gradle Plugins

Extensions to the build script that provide additional tasks and configuration options. [Documentation: https://developer.android.com/studio/build/gradle-plugin]

32. ADB (Android Debug Bridge)

A versatile command-line tool that lets you communicate with a device. [Documentation: https://developer.android.com/studio/command-line/adb]

33. ProGuard

A tool for code shrinking, obfuscation, and optimization. [Documentation: https://developer.android.com/studio/build/shrink-code]

34. Android Emulator

A tool that allows you to run Android applications on your computer. [Documentation: https://developer.android.com/studio/run/emulator]

35. UI Automator

A testing framework for performing automated UI testing on Android apps. [Documentation: https://developer.android.com/training/testing/ui-automator]

36. AndroidX

The open-source project that the Android team uses to develop, test, package, version, and release libraries within Jetpack. [Documentation: https://developer.android.com/jetpack/androidx]

37. Firebase

A platform developed by Google for creating mobile and web applications. [Documentation: https://firebase.google.com/docs/android/setup] [Source: https://github.com/firebase/firebase-android-sdk]

38. Google Play Services

A collection of APIs that enable features like location, sign-in, and many others. [Documentation: https://developers.google.com/android/guides/overview]

39. ANR (Application Not Responding)

A dialog that appears to the user when an application has been unresponsive for a long period of time. [Documentation: https://developer.android.com/topic/performance/vitals/anr]

40. APK Split

A feature that allows you to serve a customized APK for each user's device configuration, making your app smaller and faster to download. [Documentation: https://developer.android.com/studio/build/configure-apk-splits]

41. App Bundle

A publishing format that includes all your app’s compiled code and resources, but defers APK generation and signing to Google Play. [Documentation: https://developer.android.com/guide/app-bundle]

42. Canvas

A class that holds the “draw” calls, allowing for custom drawing in Android. [Documentation: https://developer.android.com/reference/android/graphics/Canvas]

43. Dagger 2

A fully static, compile-time dependency injection framework for both Java and Android. [Documentation: https://dagger.dev/] [Source: https://github.com/google/dagger]

44. Flavors

A feature of the Android Gradle plugin that allows you to configure multiple variants of your app. [Documentation: https://developer.android.com/studio/build/build-variants#flavor-dimensions]

45. Gson

A Java library that can be used to convert Java Objects into their JSON representation. [Documentation: https://github.com/google/gson] [Source: https://github.com/google/gson]

46. Hilt

A dependency injection library for Android that reduces the boilerplate of doing manual dependency injection in your project. [Documentation: https://dagger.dev/hilt/] [Source: https://github.com/google/dagger]

47. Instant App

An app experience that can be run without needing to be installed. [Documentation: https://developer.android.com/topic/google-play-instant]

48. Jetifier

A tool to migrate libraries to use AndroidX by rewriting their binaries. [Documentation: https://developer.android.com/studio/command-line/jetifier]

49. LeakCanary

A memory leak detection library for Android. [Documentation: https://square.github.io/leakcanary/] [Source: https://github.com/square/leakcanary]

50. Lint

A static tool that scans your Android project

source code for potential bugs and optimization improvements for correctness, security, performance, usability, accessibility, and internationalization.
[Documentation: https://developer.android.com/studio/write/lint]

51. Mockito

A mocking framework for unit tests in Java. [Documentation: https://site.mockito.org/] [Source: https://github.com/mockito/mockito]

52. OkHttp

An HTTP client that’s efficient by default: HTTP/2 support, connection pooling, gzip, and caching. [Documentation: https://square.github.io/okhttp/] [Source: https://github.com/square/okhttp]

53. Robolectric

A framework that brings fast and reliable unit tests to Android. [Documentation: http://robolectric.org/] [Source: https://github.com/robolectric/robolectric]

54. RxJava

A library for composing asynchronous and event-based programs using observable sequences. [Documentation: https://github.com/ReactiveX/RxJava] [Source: https://github.com/ReactiveX/RxJava]

55. SharedPreferences

A way to save and retrieve persistent key-value pairs of primitive data types. [Documentation: https://developer.android.com/reference/android/content/SharedPreferences]

56. SQLite

A C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine. [Documentation: https://developer.android.com/reference/android/database/sqlite/SQLiteDatabase]

57. Testing Frameworks

Tools and libraries to help you test your Android applications. [Documentation: https://developer.android.com/training/testing/start/index.html]

58. Toast

A small message that pops up at the bottom of the screen to display information. [Documentation: https://developer.android.com/guide/topics/ui/notifiers/toasts]

59. Vector Drawable

A type of drawable that's scalable without losing definition. [Documentation: https://developer.android.com/guide/topics/graphics/vector-drawable-resources]

60. ViewBinding

A feature that allows you to more easily write code that interacts with views by providing compile-time safety when referencing views in your code. [Documentation: https://developer.android.com/topic/libraries/view-binding]

61. WebView

A view that displays web pages. [Documentation: https://developer.android.com/guide/webapps/webview]

62. XML Drawables

A way to describe certain types of graphical assets in XML. [Documentation: https://developer.android.com/guide/topics/resources/drawable-resource]

63. Android KTX

A set of Kotlin extensions that are part of Android Jetpack, designed to make Kotlin development on Android more concise, pleasant, and idiomatic. [Documentation: https://developer.android.com/kotlin/ktx]

64. Coroutines

A concurrency design pattern that you can use on Android to simplify code that executes asynchronously. [Documentation: https://developer.android.com/kotlin/coroutines] [Source: https://github.com/Kotlin/kotlinx.coroutines]

URLs that take users directly to specific content in your app. [Documentation: https://developer.android.com/training/app-links/deep-linking]

66. Doze and App Standby

Battery optimization features introduced in Android 6.0 (API level 23) to improve battery life. [Documentation: https://developer.android.com/training/monitoring-device-state/doze-standby]

67. FCM (Firebase Cloud Messaging)

A cross-platform messaging solution that lets you reliably send messages at no cost. [Documentation: https://firebase.google.com/docs/cloud-messaging] [Source: https://github.com/firebase/firebase-android-sdk/tree/master/firebase-messaging]

68. Google Maps API

Allows you to display maps and customize them within your Android application. [Documentation: https://developers.google.com/maps/documentation/android-sdk/intro]

69. In-app Billing

APIs that support in-app purchases in Android apps. [Documentation: https://developer.android.com/google/play/billing]

70. Jetpack Compose

71. MotionLayout

A layout type that helps manage motion and widget animation in your app. [Documentation: https://developer.android.com/reference/androidx/constraintlayout/motion/widget/MotionLayout]

72. Paging Library

Helps you load and display small chunks of data at a time. [Documentation: https://developer.android.com/topic/libraries/architecture/paging]

73. Parcelable

An Android interface for classes whose instances can be written to and restored from a Parcel. [Documentation: https://developer.android.com/reference/android/os/Parcelable

]

74. Sensors

Access and manage sensor hardware on Android devices. [Documentation: https://developer.android.com/guide/topics/sensors/sensors_overview]

75. Themes and Styles

Define the look and feel of your app. [Documentation: https://developer.android.com/guide/topics/ui/look-and-feel/themes]

```

This glossary covers foundational elements of Android development, including official documentation and some source repositories for key libraries and tools. The Android development ecosystem is vast, and these concepts provide a strong foundation for understanding and working within it. Keep in mind that the Android landscape is continually evolving, so staying updated with the latest documentation and best practices is crucial.

Android: Android Programming Fundamentals, Android Inventor - Android Designer: Android Inc. in October 2003 by Andy Rubin, Rich Miner, Nick Sears, and Chris White - Released September 23, 2008 by Google; Android Development, Android Internals, Jetpack Compose, Android Development tools, Android Studio, Kotlin-Java, Dart-Flutter, Android Development Bibliography, Manning Kotlin Series, Manning Mobile Series, Android Development Courses, Android DevOps - Android Development CI/CD, Android Security - Android Pentesting, Functional Programming and Android Development, Android Development and Concurrency, Android Development and Data Science - Android Development and Databases, Android Development and Machine Learning, Android Development Glossary, Awesome Android Development, Android Development GitHub, Android Development Topics. (navbar_android - see also navbar_mobile, navbar_kotlin)


© 1994 - 2024 Cloud Monk Losang Jinpa or Fair Use. Disclaimers

SYI LU SENG E MU CHYWE YE. NAN. WEI LA YE. WEI LA YE. SA WA HE.


android_developer_glossary.txt · Last modified: 2024/04/28 03:13 (external edit)