Dependencies are used in development to include external libraries
or modules into android project. These libraries contain pre-written code
that
provides specific functionality or features that you may need for
application. Here are some reasons why we use dependencies:
- androidx-appcompat: Provides backward compatibility for
newer Android features on older devices.
- androidx-fragment-ktx: Facilitates working with
fragments in Android applications, with Kotlin extensions for easier
management.
- androidx-media3-exoplayer: Integrates the ExoPlayer
media playback library into the application for audio and video content.
- androidx-media3-exoplayer-dash: Adds support for
playing Dynamic Adaptive Streaming over HTTP (DASH) content using
ExoPlayer.
- androidx-media3-ui: Provides UI components and widgets
for controlling media playback using ExoPlayer.
- androidx-work-runtime: Simplifies background processing
tasks in Android apps with WorkManager.
- leakcanary-android: Detects memory leaks in Android
apps for improved performance and stability.
- lottie: Enables the usage of Lottie animations in the
application for dynamic visual effects.
- material: Provides Material Design components and
guidelines for designing modern user interfaces.
- androidx-activity: Includes the androidx.activity
library for implementing activities in Android apps.
- junit: The JUnit testing framework for writing and
executing unit tests in Android apps.
- androidx-constraintlayout: Offers a flexible layout
manager for designing complex user interfaces.
- androidx-junit: Provides JUnit testing framework
extensions for Android apps.
- androidx-core-ktx: Kotlin extensions for the AndroidX
core libraries, making common tasks more concise.
- androidx-espresso-core: The Espresso testing framework
for writing automated UI tests in Android apps.
- browser: This dependency provides the androidx.browser
library for handling web-related tasks in Android apps.
- annotations: This dependency includes annotations from
JetBrains for improving code readability and maintainability.
- onesignal: This dependency integrates the OneSignal SDK
for implementing push notifications in Android apps.
- viewpager2: This dependency includes the
androidx.viewpager2 library for implementing swipeable views in Android
apps.
- legacy-support-v4: This dependency provides
compatibility with older versions of Android through the
androidx.legacy-support-v4 library.
- annotation: This dependency includes annotations from
the androidx.annotation library for providing additional information
about code elements.
- sdp-android: This dependency includes the SDP (Scalable
Density Pixel) library for handling screen sizes and densities in
Android apps.
- ssp-android: This dependency includes the SSP (Scalable
Size Pixel) library for scaling sizes based on screen densities in
Android apps.
- core: This dependency provides the Google Play Core
library for accessing various Google Play services and features.
- firebase-crashlytics: This dependency integrates
Crashlytics, a powerful crash reporting tool, into your Android app. It
helps track and analyze app crashes to improve stability.
- firebase-analytics: This dependency adds Firebase
Analytics to app, allowing to collect and analyze user
engagement and behavior data to make informed decisions about app
optimization and marketing strategies.
- firebase-config: This dependency includes Firebase
Remote Config, which enables to change the behavior and appearance
of app without publishing app updates. It allows to customize
app features and content dynamically.
- firebase-inappmessaging-display: This dependency
integrates Firebase In-App Messaging, which enables to engage users
with targeted and contextual messages while they are actively using
app. It helps deliver relevant information and promotions to improve
user experience.
- firebase-messaging: This dependency adds Firebase Cloud
Messaging (FCM) to app, allowing to send push notifications and
messages to users across different platforms and devices. It helps
keep users informed and engaged with timely updates and notifications.
- gson: This dependency includes Gson, a Java library for
serializing and deserializing JSON objects. It simplifies the process of
converting JSON data to Java objects and vice versa.
- adapter-rxjava2: This dependency provides the Retrofit
adapter for RxJava 2, allowing to use RxJava with Retrofit for
asynchronous and event-based programming in Android apps.
- converter-gson: This dependency adds Gson converter to
Retrofit, enabling Retrofit to automatically serialize and deserialize
JSON data using Gson.
- retrofit: This dependency includes Retrofit, a
type-safe HTTP client for Android and Java. It simplifies the process of
making HTTP requests and processing responses in Android apps.
- rxandroid: This dependency provides RxAndroid, which is
an extension of RxJava for Android development. It enables reactive
programming on the Android platform, allowing to compose
asynchronous and event-based code more easily.
- rxjava: This dependency includes RxJava, a Java library
for reactive programming. It allows to work with asynchronous data
streams and compose complex asynchronous operations in a functional and
declarative style.
- okhttp: This dependency includes OkHttp, a powerful
HTTP client for Android and Java applications. It supports HTTP/2,
connection pooling, interceptors, and other advanced features for
efficient network communication.
- logging-interceptor: This dependency provides an
interceptor for OkHttp, allowing to log HTTP request and response
data for debugging and monitoring purposes.
- circleimageview: This dependency includes
CircleImageView, a custom ImageView implementation with circular shape
support. It is commonly used for displaying circular profile pictures in
Android apps.
- glide: This dependency provides Glide, a fast and
efficient image loading library for Android. It allows to load and
display images from various sources (e.g., URLs, local storage) with
caching and efficient memory usage.
- compiler: This dependency is the compiler for Glide
annotations, used for generating Glide's API from annotation processing.
It helps in optimizing Glide's performance and reducing app size.
- zoomage: This dependency includes Zoomage, a library
for implementing zoomable and pannable images in Android apps. It
provides a smooth and intuitive user experience for zooming and
navigating large images.
- toolargetool: This dependency includes a library for
detecting and handling large screen sizes in Android apps. It helps in
optimizing the UI layout and ensuring a consistent user experience
across different devices.
- autoimageslider: This dependency provides
AutoImageSlider, a customizable image slider component for Android apps.
It allows to create image carousels or slideshows with automatic
scrolling and navigation.
- androidx-room-ktx: This dependency includes Room Kotlin
extensions, which provide Kotlin-specific functionalities and extension
functions for working with Room, a SQLite database library for Android.
- androidx-room-runtime: This dependency includes the
Room runtime library, which provides the core functionality for defining
and interacting with SQLite databases using Room annotations and APIs.
- androidx-room-compiler: This dependency includes the
Room compiler, which is used to generate SQLite database-related code
from Room annotations at compile time.
- androidx-room-testing: This dependency includes Room
testing utilities, which help in writing tests for Room database
operations and ensuring the correctness of database-related
functionalities.
- kotlinx-coroutines-android: This dependency provides
Kotlin coroutines support for Android, allowing to write
asynchronous and non-blocking code more easily using coroutines.
- kotlinx-coroutines-core: This dependency includes the
core Kotlin coroutines library, which provides coroutine primitives and
utilities for asynchronous programming in Kotlin.
- lifecycle-viewmodel: This dependency includes the
ViewModel component from the Android Architecture Components, which
helps in managing UI-related data in a lifecycle-aware manner.
- lifecycle-livedata: This dependency includes the
LiveData component from the Android Architecture Components, which
provides observable data holders that are lifecycle-aware and can be
used to update UI components based on data changes.
- lifecycle-common-java8: This dependency includes the
common Java 8 support for the Android Lifecycle library, which enables
the use of Java 8 features in lifecycle-aware components.
- shimmer: This dependency includes Shimmer, a library
from Facebook that provides an easy way to add shimmering effect to any
view in an Android app. It is commonly used to indicate loading or
progress.
- play-services-ads: This dependency includes the Google
Play services Ads SDK, which allows to integrate various types of
advertisements into Android app, including banner ads, interstitial
ads, and rewarded ads.
- billing: This dependency includes the BillingClient
library, which provides APIs for interacting with Google Play Billing to
handle in-app purchases and subscriptions in Android apps.
- webkit: This dependency includes the WebView component
from AndroidX, which allows to embed web content (HTML, CSS,
JavaScript) into Android app. It provides a powerful way to display
web pages and web-based content within app.
- security-crypto: This dependency provides
encryption utilities that allow secure storage and access to
cryptographic keys and encrypted data in Android apps.
- review-ktx: This dependency allows seamless integration
with the Play Core Library to request user reviews within an Android app
using Kotlin extensions.
- app-update-ktx: This dependency facilitates in-app
updates using Kotlin extensions, providing a smoother way to prompt
users for app updates via the Play Core Library.
- dotsindicator: This dependency provides customizable
dot indicators to use with ViewPager or ViewPager2 in Android apps for
representing page transitions.
- balloon: This dependency offers an easy-to-use and
customizable popup balloon library to display tooltips or messages in
Android apps.
- mpandroidchart: This dependency provides a powerful
chart library for Android, enabling the creation of various types of
charts like line, bar, and pie charts with rich customization options.