chore: sync content to repo (#9426)

Co-authored-by: kamranahmedse <4921183+kamranahmedse@users.noreply.github.com>
This commit is contained in:
github-actions[bot]
2025-12-02 10:40:32 +01:00
committed by GitHub
parent 513a90ccd3
commit e53d47ff60
103 changed files with 176 additions and 168 deletions

View File

@@ -4,4 +4,4 @@ The **Activity Lifecycle** in Android represents a series of states or events th
Visit the following resources to learn more:
- [@official@Activity Lifecycle](https://developer.android.com/guide/components/activities/activity-lifecycle)
- [@official@Activity Lifecycle](https://developer.android.com/guide/components/activities/activity-lifecycle)

View File

@@ -5,4 +5,4 @@
Visit the following resources to learn more:
- [@official@Android Activity](https://developer.android.com/reference/android/app/Activity)
- [@article@Mastering Android Activities](https://medium.com/deuk/mastering-the-android-activity-lifecycle-best-practices-1d10f15d060a)
- [@article@Mastering Android Activities](https://medium.com/deuk/mastering-the-android-activity-lifecycle-best-practices-1d10f15d060a)

View File

@@ -5,4 +5,4 @@
Visit the following resources to learn more:
- [@official@Google developers: Animations](https://developer.android.com/develop/ui/views/animations/overview)
- [@video@Google developers: Animations](https://www.youtube.com/watch?v=N_x7SV3I3P0)
- [@video@Google developers: Animations](https://www.youtube.com/watch?v=N_x7SV3I3P0)

View File

@@ -6,4 +6,4 @@ Visit the following resources to learn more:
- [@official@Apollo Android](https://www.apollographql.com/docs/kotlin/v2/)
- [@official@Apollo Docs](https://www.apollographql.com/docs/kotlin/)
- [@opensource@apollographql/apollo-kotlin - GraphQL for Android](https://github.com/apollographql/apollo-kotlin)
- [@opensource@apollographql/apollo-kotlin - GraphQL for Android](https://github.com/apollographql/apollo-kotlin)

View File

@@ -2,17 +2,17 @@
Android apps are primarily made up of five different types of components:
1. **Activities**: These are individual screens that a user can interact with. Any UI action like touching a button or swiping a screen will usually take place within an activity.
2. **Services**: Unlike activities, services run in the background and don't have a user interface. Theyre used for repetitive or long running operations, like playing music or pulling in a feed of data from a server.
3. **Broadcast Receivers**: These are event listeners. The Android operating system uses them to respond to system-wide events.
4. **Content Providers**: They manage and share app data with other apps installed on the device. For security, data is not generally shared across apps.
5. **Intents**: These serve as messages or commands to the Android system. They're used to signal to the Android system that certain events have occurred.
1. **Activities**: These are individual screens that a user can interact with. Any UI action like touching a button or swiping a screen will usually take place within an activity.
2. **Services**: Unlike activities, services run in the background and don't have a user interface. Theyre used for repetitive or long running operations, like playing music or pulling in a feed of data from a server.
3. **Broadcast Receivers**: These are event listeners. The Android operating system uses them to respond to system-wide events.
4. **Content Providers**: They manage and share app data with other apps installed on the device. For security, data is not generally shared across apps.
5. **Intents**: These serve as messages or commands to the Android system. They're used to signal to the Android system that certain events have occurred.
Visit the following resources to learn more:
- [@official@App Fundamentals](https://developer.android.com/guide/components/fundamentals)
- [@article@Android App Components](https://medium.com/android-hunger/android-app-components-activities-fragments-and-intents-ed7373455555)
- [@article@Android App Components](https://medium.com/android-hunger/android-app-components-activities-fragments-and-intents-ed7373455555)

View File

@@ -4,4 +4,4 @@ App shortcuts in Android are designed to provide quick and convenient routes to
Visit the following resources to learn more:
- [@official@App Shortcuts](https://developer.android.com/guide/topics/ui/shortcuts)
- [@official@App Shortcuts](https://developer.android.com/guide/topics/ui/shortcuts)

View File

@@ -5,4 +5,4 @@ Asynchronism in Android is a practice that defines operations, which can run ind
Visit the following resources to learn more:
- [@official@Asynchronous Tasks](https://developer.android.com/guide/background)
- [@article@Asynchronous Task Execution](https://medium.com/@cpvasani48/asynchronous-task-execution-in-android-a-guide-with-example-44732744f3b8)
- [@article@Asynchronous Task Execution](https://medium.com/@cpvasani48/asynchronous-task-execution-in-android-a-guide-with-example-44732744f3b8)

View File

@@ -9,4 +9,4 @@ Firebase Authentication provides a full suite of capabilities even beyond authen
Visit the following resources to learn more:
- [@official@Firebase Authentication](https://firebase.google.com/docs/auth)
- [@official@Firebase Authentication: Android](https://firebase.google.com/docs/auth/android/start)
- [@official@Firebase Authentication: Android](https://firebase.google.com/docs/auth/android/start)

View File

@@ -5,4 +5,4 @@ Kotlin is a concise, multi-platform, and fun language developed by JetBrains. Le
Visit the following resources to learn more:
- [@official@Kotlin](https://kotlinlang.org/)
- [@official@Kotlin Docs](https://kotlinlang.org/docs/getting-started.html)
- [@official@Kotlin Docs](https://kotlinlang.org/docs/getting-started.html)

View File

@@ -6,5 +6,5 @@ Key concepts include `Classes`, which are blueprints from which objects are crea
Visit the following resources to learn more:
- [@official@Object-Oriented Programming - Wikipedia](https://en.wikipedia.org/wiki/Object-oriented_programming)
- [@official@OOP in Kotlin](https://developer.android.com/codelabs/basic-android-kotlin-compose-classes-and-objects)
- [@official@Object-Oriented Programming - Wikipedia](https://en.wikipedia.org/wiki/Object-oriented_programming)
- [@official@OOP in Kotlin](https://developer.android.com/codelabs/basic-android-kotlin-compose-classes-and-objects)

View File

@@ -4,5 +4,5 @@ Bitbucket is a web-based hosting service that is owned by Atlassian. Bitbucket u
Visit the following resources to learn more:
- [@official@Bitbucket](https://bitbucket.org/)
- [@article@Bitbucket for Developers](https://www.atlassian.com/software/bitbucket)
- [@official@Bitbucket](https://bitbucket.org/)
- [@article@Bitbucket for Developers](https://www.atlassian.com/software/bitbucket)

View File

@@ -8,4 +8,4 @@ Behavior attributes can be applied to standard bottom sheets in xml by setting t
Visit the following resources to learn more:
- [@official@Android developers: Bottom Sheets](https://developer.android.com/reference/com/google/android/material/bottomsheet/BottomSheetDialog)
- [@official@Android developers: Bottom Sheets](https://developer.android.com/reference/com/google/android/material/bottomsheet/BottomSheetDialog)

View File

@@ -4,4 +4,4 @@
Visit the following resources to learn more:
- [@official@Broadcast Receiver](https://developer.android.com/reference/android/content/BroadcastReceiver)
- [@official@Broadcast Receiver](https://developer.android.com/reference/android/content/BroadcastReceiver)

View File

@@ -5,4 +5,4 @@ The **Builder Pattern** in Android is used to construct complex objects step by
Visit the following resources to learn more:
- [@official@Builder Pattern](https://developer.android.com/kotlin/style-guide#builder-pattern)
- [@article@Android Builder Pattern](https://medium.com/kayvan-kaseb/builder-design-pattern-in-android-a38dccb75485)
- [@article@Android Builder Pattern](https://medium.com/kayvan-kaseb/builder-design-pattern-in-android-a38dccb75485)

View File

@@ -4,7 +4,7 @@ A `button` consists of text or an icon, or both, that communicates what action o
Buttons are UI widgets that allow users to interact with an application by tapping on them. A button typically consists of text, an icon, or a combination of both, and communicates what action will occur when the user taps it.
Learn more from the following resources:
Visit the following resources to learn more:
- [@official@Android Developers: Button](https://developer.android.com/develop/ui/views/components/button)
- [@official@Create a Button - Android](https://developer.android.com/quick-guides/content/create-button)
- [@official@Create a Button - Android](https://developer.android.com/quick-guides/content/create-button)

View File

@@ -5,4 +5,4 @@
Visit the following resources to learn more:
- [@opensource@ChuckerTeam/chucker - Chucker On GitHub](https://github.com/ChuckerTeam/chucker)
- [@article@Network Traffic Inspection with Chucker](https://medium.com/tech-takeaways/simple-android-network-traffic-inspection-with-chucker-and-seismic-1e6162c51f64)
- [@article@Network Traffic Inspection with Chucker](https://medium.com/tech-takeaways/simple-android-network-traffic-inspection-with-chucker-and-seismic-1e6162c51f64)

View File

@@ -5,4 +5,4 @@ Firebase Cloud Messaging (FCM) is a powerful, battery-efficient messaging servic
Visit the following resources to learn more:
- [@official@Documentation](https://firebase.google.com/docs/cloud-messaging/android/client)
- [@video@Firebase Cloud Messaging](https://www.youtube.com/watch?v=sioEY4tWmLI&list=PLl-K7zZEsYLkuHRCtHTpi6JYHka8oHLft)
- [@video@Firebase Cloud Messaging](https://www.youtube.com/watch?v=sioEY4tWmLI&list=PLl-K7zZEsYLkuHRCtHTpi6JYHka8oHLft)

View File

@@ -4,4 +4,4 @@ Common Services are functional units or components provided by the Android syste
Visit the following resources to learn more:
- [@official@Common Services](https://developer.android.com/guide/components/services)
- [@official@Common Services](https://developer.android.com/guide/components/services)

View File

@@ -5,4 +5,4 @@ Lets you create large, complex layouts with a flat view hierarchy—no nested vi
Visit the following resources to learn more:
- [@official@Android: ConstraintLayout in XML](https://developer.android.com/develop/ui/views/layout/constraint-layout)
- [@official@Android: ConstraintLayout in Compose](https://developer.android.com/develop/ui/compose/layouts/constraintlayout)
- [@official@Android: ConstraintLayout in Compose](https://developer.android.com/develop/ui/compose/layouts/constraintlayout)

View File

@@ -4,4 +4,4 @@ A **Content Provider** in Android is a key component that allows applications to
Visit the following resources to learn more:
- [@official@Content Provider](https://developer.android.com/guide/topics/providers/content-providers)
- [@official@Content Provider](https://developer.android.com/guide/topics/providers/content-providers)

View File

@@ -4,4 +4,4 @@
Visit the following resources to learn more:
- [@official@Coroutines](https://kotlinlang.org/docs/coroutines-overview.html)
- [@official@Coroutines](https://kotlinlang.org/docs/coroutines-overview.html)

View File

@@ -5,4 +5,4 @@
Visit the following resources to learn more:
- [@official@Crashlytics Documentation](https://firebase.google.com/docs/crashlytics/get-started?platform=android)
- [@video@Firebase: Crashlytics](https://www.youtube.com/watch?v=LhjTAkifr6g)
- [@video@Firebase: Crashlytics](https://www.youtube.com/watch?v=LhjTAkifr6g)

View File

@@ -2,6 +2,6 @@
The "Hello World" app is a simple project that you can build when you're getting started with Android development. It's often the first program that beginners learn to build in a new system. It's usually considered the simplest form of program that displays a message to the user - "Hello, World!" In Android, this involves creating a new project from the Android Studio and setting up the main activity. The main activity file is primarily written in Java or Kotlin where you can code for the display message, while the layout design view can be created in the XML file.
Visit the follow resources to learn more:
Visit the following resources to learn more:
- [@official@Create Your First Android Application](https://developer.android.com/codelabs/basic-android-kotlin-compose-first-app)
- [@official@Create Your First Android Application](https://developer.android.com/codelabs/basic-android-kotlin-compose-first-app)

View File

@@ -4,4 +4,4 @@ Dagger is a fully static, compile-time dependency injection framework for both J
Visit the following resources to learn more:
- [@official@Dagger](https://dagger.dev/)
- [@official@Dagger](https://dagger.dev/)

View File

@@ -6,4 +6,4 @@
Visit the following resources to learn more:
- [@article@Data Structures and Algorithms in Android](https://medium.com/@pranamsharma.1997/importance-of-data-structure-and-algorithms-in-android-app-development-75eed9f73909)
- [@article@Data Structures and Algorithms in Android](https://medium.com/@pranamsharma.1997/importance-of-data-structure-and-algorithms-in-android-app-development-75eed9f73909)

View File

@@ -5,4 +5,4 @@
Visit the following resources to learn more:
- [@official@Documentation](https://developer.android.com/topic/libraries/architecture/datastore)
- [@video@Introduction to DataStore](https://www.youtube.com/watch?v=9ws-cJzlJkU&list=PLWz5rJ2EKKc8to3Ere-ePuco69yBUmQ9C)
- [@video@Introduction to DataStore](https://www.youtube.com/watch?v=9ws-cJzlJkU&list=PLWz5rJ2EKKc8to3Ere-ePuco69yBUmQ9C)

View File

@@ -4,4 +4,4 @@ Debugging is a critical step in the app development process. In Android developm
Visit the following resources to learn more:
- [@official@Debugging](https://developer.android.com/studio/debug)
- [@official@Debugging](https://developer.android.com/studio/debug)

View File

@@ -4,4 +4,4 @@
Visit the following resources to learn more:
- [@official@Dependency Injection](https://developer.android.com/training/dependency-injection)
- [@official@Dependency Injection](https://developer.android.com/training/dependency-injection)

View File

@@ -8,4 +8,4 @@ Visit the following resources to learn more:
- [@article@Model-View-Controller (MVC)](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller)
- [@article@Model-View-Presenter (MVP)](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93presenter)
- [@article@Model-View-ViewModel (MVVM)](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93viewmodel)
- [@article@Model-View-Intent (MVI)](https://www.raywenderlich.com/817602-mvi-architecture-for-android-tutorial-getting-started)
- [@article@Model-View-Intent (MVI)](https://www.raywenderlich.com/817602-mvi-architecture-for-android-tutorial-getting-started)

View File

@@ -5,4 +5,4 @@
Visit the following resources to learn more:
- [@official@Detekt](https://detekt.dev/)
- [@opensource@Detekt: Static Code Analysis for Kotlin](https://github.com/detekt/detekt)
- [@opensource@Detekt: Static Code Analysis for Kotlin](https://github.com/detekt/detekt)

View File

@@ -6,4 +6,4 @@ Visit the following resources to learn more:
- [@official@Android Studio](https://developer.android.com/studio)
- [@official@Android Studio Documentation](https://developer.android.com/studio/intro)
- [@official@Android Studio Plugins](https://developer.android.com/studio/intro/studio-plugins)
- [@official@Android Studio Plugins](https://developer.android.com/studio/intro/studio-plugins)

View File

@@ -1,6 +1,5 @@
# Dialogs
A `DialogFragment` is a special fragment subclass that is designed for creating and hosting dialogs. Although you don't need to host your **dialog** within a fragment, doing so lets the `FragmentManager` manage the state of the dialog and automatically restore the dialog when a configuration change occurs.
Learn more from the following resources:
Visit the following resources to learn more:
- [@official@Android Developers: Dialogs](https://developer.android.com/guide/fragments/dialogs)
- [@official@Android Developers: Dialogs](https://developer.android.com/guide/fragments/dialogs)

View File

@@ -4,4 +4,4 @@ Distribution in Android refers to the methods and channels you can use to get yo
Visit the following resources to learn more:
- [@official@Google Play Developer Distribution](https://developer.android.com/distribute)
- [@official@Google Play Developer Distribution](https://developer.android.com/distribute)

View File

@@ -5,4 +5,4 @@ The **Navigation Drawer** in Android is a sliding menu from the left that simpli
Visit the following resources to learn more:
- [@official@Android developers: DrawerLayout](https://developer.android.com/reference/androidx/drawerlayout/widget/DrawerLayout)
- [@article@Navigate Drawer Tutorial](https://www.digitalocean.com/community/tutorials/android-navigation-drawer-example-tutorial)
- [@article@Navigate Drawer Tutorial](https://www.digitalocean.com/community/tutorials/android-navigation-drawer-example-tutorial)

View File

@@ -4,4 +4,4 @@
Visit the following resources to learn more:
- [@official@Android developers: EditText](https://developer.android.com/reference/android/widget/EditText)
- [@official@Android developers: EditText](https://developer.android.com/reference/android/widget/EditText)

View File

@@ -4,4 +4,4 @@ Espresso is a testing framework provided by Android to create UI tests for Andro
Visit the following resources to learn more:
- [@official@Espresso](https://developer.android.com/training/testing/espresso)
- [@official@Espresso](https://developer.android.com/training/testing/espresso)

View File

@@ -4,4 +4,4 @@
Visit the following resources to learn more:
- [@official@Explicit Intents](https://developer.android.com/guide/components/intents-filters#explicit)
- [@official@Explicit Intents](https://developer.android.com/guide/components/intents-filters#explicit)

View File

@@ -4,37 +4,35 @@ The **Factory Pattern** is part of the Creational Design Patterns. This pattern
Here is a basic example of the Factory Pattern:
```java
public abstract class Animal {
public abstract String makeSound();
}
public class Dog extends Animal {
@override
public String makeSound() {
return "Woof";
public abstract class Animal {
public abstract String makeSound();
}
}
public class Cat extends Animal {
@override
public String makeSound() {
return "Meow";
}
}
public class AnimalFactory {
public Animal createAnimal(String type) {
if ("Dog".equals(type)) {
return new Dog();
} else if ("Cat".equals(type)) {
return new Cat();
public class Dog extends Animal {
@override
public String makeSound() {
return "Woof";
}
}
public class Cat extends Animal {
@override
public String makeSound() {
return "Meow";
}
}
public class AnimalFactory {
public Animal createAnimal(String type) {
if ("Dog".equals(type)) {
return new Dog();
} else if ("Cat".equals(type)) {
return new Cat();
}
return null;
}
return null;
}
}
```
Visit the following resources to learn more:
- [@official@Android: Factory Pattern](https://developer.android.com/guide/components/intents-filters#factory)
- [@official@Android: Factory Pattern](https://developer.android.com/guide/components/intents-filters#factory)

View File

@@ -5,4 +5,4 @@ The Android operating system uses a specific File System structure to store and
Visit the following resources to learn more:
- [@official@Android File System](https://developer.android.com/training/data-storage/)
- [@article@Android File System](https://www.androidauthority.com/android-file-system-1010817/)
- [@article@Android File System](https://www.androidauthority.com/android-file-system-1010817/)

View File

@@ -4,4 +4,4 @@ Firebase Distribution is a development tool within the Google Firebase suite tha
Visit the following resources to learn more:
- [@official@Firebase Distribution](https://firebase.google.com/docs/app-distribution)
- [@official@Firebase Distribution](https://firebase.google.com/docs/app-distribution)

View File

@@ -4,4 +4,4 @@ Firestore, often referred to as Firebase Firestore or Cloud Firestore, is a flex
Visit the following resources to learn more:
- [@official@Firestore](https://firebase.google.com/docs/firestore)
- [@official@Firestore](https://firebase.google.com/docs/firestore)

View File

@@ -5,4 +5,4 @@
Visit the following resources to learn more:
- [@official@Flow](https://kotlinlang.org/docs/flow.html)
- [@official@Flow: Coroutines](https://kotlinlang.org/docs/flow-coroutines.html)
- [@official@Flow: Coroutines](https://kotlinlang.org/docs/flow-coroutines.html)

View File

@@ -4,4 +4,4 @@ A `Fragment` represents a reusable portion of your app's UI. A fragment defines
Visit the following resources to learn more:
- [@official@Android Developers: Fragments](https://developer.android.com/guide/fragments)
- [@official@Android Developers: Fragments](https://developer.android.com/guide/fragments)

View File

@@ -4,4 +4,4 @@
Visit the following resources to learn more:
- [@official@Android developers: Frame Layout](https://developer.android.com/reference/android/widget/FrameLayout)
- [@official@Android developers: Frame Layout](https://developer.android.com/reference/android/widget/FrameLayout)

View File

@@ -6,4 +6,4 @@ Visit the following resources to learn more:
- [@roadmap@Git and GitHub Roadmap](https://roadmap.sh/git-github)
- [@official@Git](https://git-scm.com/)
- [@official@Git Documentation](https://git-scm.com/docs)
- [@official@Git Documentation](https://git-scm.com/docs)

View File

@@ -6,4 +6,4 @@ Visit the following resources to learn more:
- [@roadmap@Git and GitHub Roadmap](https://roadmap.sh/git-github)
- [@official@GitHub](https://github.com/)
- [@official@GitHub Documentation](https://docs.github.com/)
- [@official@GitHub Documentation](https://docs.github.com/)

View File

@@ -5,4 +5,4 @@
Visit the following resources to learn more:
- [@official@GitLab](https://about.gitlab.com/)
- [@official@GitLab Documentation](https://docs.gitlab.com/)
- [@official@GitLab Documentation](https://docs.gitlab.com/)

View File

@@ -5,4 +5,4 @@ Google AdMob is a mobile advertising platform designed for app developers to mon
Visit the following resources to learn more:
- [@official@Google AdMob](https://admob.google.com/home/)
- [@official@Google AdMob Documentation](https://admob.google.com/home/get-started/)
- [@official@Google AdMob Documentation](https://admob.google.com/home/get-started/)

View File

@@ -5,4 +5,4 @@ Google Maps is a crucial service on Android, offering powerful, user-friendly ma
Visit the following resources to learn more:
- [@official@Google Maps](https://developers.google.com/maps/documentation/android-sdk/overview)
- [@official@Google Maps Documentation](https://developers.google.com/maps/documentation/android-sdk/intro)
- [@official@Google Maps Documentation](https://developers.google.com/maps/documentation/android-sdk/intro)

View File

@@ -1,8 +1,8 @@
# Google Play Services
*Google Play Services* is a proprietary background service and API package for Android devices from Google. Operated by Google, the service provides core functionalities like authentication for Google services, synchronized contacts, access to all the latest user privacy settings, and higher quality, lower-powered location-based services. It also speeds up offline searches, provides more immersive maps, and improves gaming experiences. Google Play Services play a crucial role in the operation of various other applications, including those not developed by Google. Moreover, it improves the overall Android experience by speeding up offline searches, providing more detailed maps, enhancing gaming experiences, and more.
_Google Play Services_ is a proprietary background service and API package for Android devices from Google. Operated by Google, the service provides core functionalities like authentication for Google services, synchronized contacts, access to all the latest user privacy settings, and higher quality, lower-powered location-based services. It also speeds up offline searches, provides more immersive maps, and improves gaming experiences. Google Play Services play a crucial role in the operation of various other applications, including those not developed by Google. Moreover, it improves the overall Android experience by speeding up offline searches, providing more detailed maps, enhancing gaming experiences, and more.
Visit the following resources to learn more:
- [@official@Google Play Services](https://developer.android.com/google/play-services)
- [@official@Google Play Services Documentation](https://developer.android.com/google/play-services/overview.html)
- [@official@Google Play Services Documentation](https://developer.android.com/google/play-services/overview.html)

View File

@@ -5,4 +5,4 @@
Visit the following resources to learn more:
- [@official@Google Play Store](https://play.google.com/store)
- [@official@Google Play Store Documentation](https://developer.android.com/distribute/googleplay)
- [@official@Google Play Store Documentation](https://developer.android.com/distribute/googleplay)

View File

@@ -4,4 +4,4 @@ Hilt is a dependency injection library for Android that reduces the boilerplate
Visit the following resources to learn more:
- [@official@Hilt](https://developer.android.com/training/dependency-injection/hilt-android)
- [@official@Hilt](https://developer.android.com/training/dependency-injection/hilt-android)

View File

@@ -4,4 +4,4 @@ Displays image resources, for example Bitmap or Drawable resources. ImageView is
Visit the following resources to learn more:
- [@article@Android Developers: ImageView](https://developer.android.com/reference/android/widget/ImageView)
- [@article@Android Developers: ImageView](https://developer.android.com/reference/android/widget/ImageView)

View File

@@ -4,4 +4,4 @@
Visit the following resources to learn more:
- [@official@Implicit Intents](https://developer.android.com/guide/components/intents-filters#implicit)
- [@official@Implicit Intents](https://developer.android.com/guide/components/intents-filters#implicit)

View File

@@ -4,4 +4,4 @@
Visit the following resources to learn more:
- [@official@Intent Filters](https://developer.android.com/guide/components/intents-filters)
- [@official@Intent Filters](https://developer.android.com/guide/components/intents-filters)

View File

@@ -4,4 +4,4 @@ Intent in Android is a software mechanism used for late runtime binding between
Visit the following resources to learn more:
- [@official@Intent](https://developer.android.com/reference/android/content/Intent)
- [@official@Intent](https://developer.android.com/reference/android/content/Intent)

View File

@@ -5,4 +5,4 @@ In Android development, the concepts of "Interface" and "Navigation" are crucial
Visit the following resources to learn more:
- [@official@Android Developers: Interface](https://developer.android.com/guide/topics/ui/declaring-layout.html)
- [@official@Android Developers: Navigation](https://developer.android.com/guide/navigation)
- [@official@Android Developers: Navigation](https://developer.android.com/guide/navigation)

View File

@@ -6,4 +6,4 @@ Visit the following resources to learn more:
- [@roadmap@Java Roadmap](https://roadmap.sh/java)
- [@official@Java](https://www.oracle.com/java/technologies/javase-jdk11-downloads.html)
- [@official@Java Documentation](https://docs.oracle.com/en/java/javase/11/docs/api/)
- [@official@Java Documentation](https://docs.oracle.com/en/java/javase/11/docs/api/)

View File

@@ -4,4 +4,4 @@ Jetpack Benchmark is a library within the Android Jetpack Suite that allows deve
Visit the following resources to learn more:
- [@official@Jetpack Benchmark](https://developer.android.com/studio/profile/benchmark)
- [@official@Jetpack Benchmark](https://developer.android.com/studio/profile/benchmark)

View File

@@ -5,4 +5,4 @@
Visit the following resources to learn more:
- [@official@Jetpack Compose](https://developer.android.com/jetpack/compose)
- [@video@Jetpack Compose Crash Course](https://www.youtube.com/watch?v=6_wK_Ud8--0)
- [@video@Jetpack Compose Crash Course](https://www.youtube.com/watch?v=6_wK_Ud8--0)

View File

@@ -4,4 +4,4 @@
Visit the following resources to learn more:
- [@official@Kodein](https://insert-kodein.io/)
- [@official@Kodein](https://insert-kodein.io/)

View File

@@ -6,4 +6,4 @@ Visit the following resources to learn more:
- [@official@Koin](https://insert-koin.io)
- [@official@Android Architecture Components](https://developer.android.com/topic/libraries/architecture/index.html)
- [@officialKotlin Coroutines](https://kotlinlang.org/docs/reference/coroutines-overview.html)
- [@article@@officialKotlin Coroutines](https://kotlinlang.org/docs/reference/coroutines-overview.html)

View File

@@ -6,4 +6,4 @@ Visit the following resources to learn more:
- [@official@Kotlin](https://kotlinlang.org/)
- [@official@Kotlin Documentation](https://kotlinlang.org/docs/home.html)
- [@video@Learn Kotlin Programming for Beginners - Free Code Camp](https://youtu.be/EExSSotojVI?si=4VPW8ZHa2UMX0HH1)
- [@video@Learn Kotlin Programming for Beginners - Free Code Camp](https://youtu.be/EExSSotojVI?si=4VPW8ZHa2UMX0HH1)

View File

@@ -5,4 +5,4 @@
Visit the following resources to learn more:
- [@official@Ktlint](https://ktlint.github.io/)
- [@opensource@Ktlint: Static Code Analysis for Kotlin](https://github.com/pinterest/ktlint)
- [@opensource@Ktlint: Static Code Analysis for Kotlin](https://github.com/pinterest/ktlint)

View File

@@ -5,4 +5,4 @@ LeakCanary is a powerful open-source memory leak detection library for Android a
Visit the following resources to learn more:
- [@official@Leak Canary](https://square.github.io/leakcanary/)
- [@opensource@LeakCanary on GitHub](https://github.com/square/leakcanary)
- [@opensource@LeakCanary on GitHub](https://github.com/square/leakcanary)

View File

@@ -6,4 +6,4 @@
Visit the following resources to learn more:
- [@official@Linear Layout](https://developer.android.com/develop/ui/views/layout/linear)
- [@official@Linear Layout](https://developer.android.com/develop/ui/views/layout/linear)

View File

@@ -4,4 +4,4 @@
Visit the following resources to learn more:
- [@official@Linting](https://developer.android.com/studio/write/lint)
- [@official@Linting](https://developer.android.com/studio/write/lint)

View File

@@ -6,4 +6,4 @@ For a more modern, flexible, and performant approach to displaying lists, use `R
Visit the following resources to learn more:
- [@official@ListView](https://developer.android.com/reference/android/widget/ListView)
- [@official@ListView](https://developer.android.com/reference/android/widget/ListView)

View File

@@ -4,4 +4,4 @@
Visit the following resources to learn more:
- [@official@LiveData](https://developer.android.com/topic/libraries/architecture/livedata)
- [@official@LiveData](https://developer.android.com/topic/libraries/architecture/livedata)

View File

@@ -2,13 +2,14 @@
MVC or `Model View Controller` is a software design pattern commonly used for developing user interfaces that divides the related program logic into three interconnected components.
## Components:
Components:
-----------
- `Model`: The internal representations of information. This can often be an Interactor or UseCase
- `View`: The interface that presents information to and accepts it from the user
- `Controller`: The controller contains logic that updates the model and/or view in response to input from the users of the app.
* `Model`: The internal representations of information. This can often be an Interactor or UseCase
* `View`: The interface that presents information to and accepts it from the user
* `Controller`: The controller contains logic that updates the model and/or view in response to input from the users of the app.
Visit the following resources to learn more:
- [@article@MVC](https://developer.mozilla.org/en-US/docs/Glossary/MVC)
- [@article@Model View Controller](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller)
- [@article@Model View Controller](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller)

View File

@@ -2,10 +2,10 @@
The **MVI** `Model-View-Intent` pattern is a reactive architectural pattern, similar to **MVVM** and **MVP**, focusing on immutability and handling states in unidirectional cycles. The data flow is unidirectional: Intents update the Model's state through the `ViewModel`, and then the View reacts to the new state. This ensures a clear and predictable cycle between logic and the interface.
- Model: Represents the UI state. It is immutable and contains all the necessary information to represent a screen.
- View: Displays the UI state and receives the user's intentions.
- Intent: The user's intentions trigger state updates, managed by the `ViewModel`.
* Model: Represents the UI state. It is immutable and contains all the necessary information to represent a screen.
* View: Displays the UI state and receives the user's intentions.
* Intent: The user's intentions trigger state updates, managed by the `ViewModel`.
Visit the following resources to learn more:
- [@article@MVI with Kotlin](https://proandroiddev.com/mvi-architecture-with-kotlin-flows-and-channels-d36820b2028d)
- [@article@MVI with Kotlin](https://proandroiddev.com/mvi-architecture-with-kotlin-flows-and-channels-d36820b2028d)

View File

@@ -1,13 +1,13 @@
# MVP or Model View Presenter
The MVP `Model View Presenter` pattern is a derivative of the well-known MVC `Model View Controller` pattern and is one of the most popular patterns for organizing the presentation layer in Android applications.
MVP is divided into three components:
- `Model`: Responsible for managing the data input to the app. This can often be an Interactor or UseCase, handling the business logic and data operations.
- `View`: Takes care of updating the graphical part of the application. It acts as a passive view, only receiving data and requesting actions to be performed.
- `Presenter`: Handles all the logic related to the graphical interface that the View requests. It provides the View with the data it needs to display on the screen.
Visit the following resources to learn more:
- [@article@Model View Presenter](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93presenter)
# MVP or Model View Presenter
The MVP `Model View Presenter` pattern is a derivative of the well-known MVC `Model View Controller` pattern and is one of the most popular patterns for organizing the presentation layer in Android applications.
MVP is divided into three components:
* `Model`: Responsible for managing the data input to the app. This can often be an Interactor or UseCase, handling the business logic and data operations.
* `View`: Takes care of updating the graphical part of the application. It acts as a passive view, only receiving data and requesting actions to be performed.
* `Presenter`: Handles all the logic related to the graphical interface that the View requests. It provides the View with the data it needs to display on the screen.
Visit the following resources to learn more:
- [@article@Model View Presenter](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93presenter)

View File

@@ -1,14 +1,14 @@
# MVVM
# MVVM
The `Model-View-ViewModel` (MVVM) pattern is a software architectural pattern commonly used in UI development. It is designed to separate the concerns of an application, making the code more modular, testable, and maintainable.
Components:
- `Model`: Refers either to a domain model, which represents real state content (an object-oriented approach), or to the data access layer, which represents content.
- `View`: The view is the structure, layout, and appearance of what a user sees on the screen.
- `View model`: The view model is an abstraction of the view exposing public properties and commands. The view model has been described as a state of the data in the model.
* `Model`: Refers either to a domain model, which represents real state content (an object-oriented approach), or to the data access layer, which represents content.
* `View`: The view is the structure, layout, and appearance of what a user sees on the screen.
* `View model`: The view model is an abstraction of the view exposing public properties and commands. The view model has been described as a state of the data in the model.
Visit the following resources to learn more:
- [@official@Android Developers: View Model](https://developer.android.com/topic/libraries/architecture/viewmodel)
- [@article@Wikipedia](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93viewmodel)
- [@article@Wikipedia](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93viewmodel)

View File

@@ -4,4 +4,4 @@ The **Navigation Components** are part of Android Jetpack and are designed to si
Visit the following resources to learn more:
- [@official@Navigation Components](https://developer.android.com/guide/navigation)
- [@official@Navigation Components](https://developer.android.com/guide/navigation)

View File

@@ -6,4 +6,4 @@ Visit the following resources to learn more:
- [@official@Network](https://developer.android.com/guide/topics/connectivity)
- [@official@ConnectivityManager](https://developer.android.com/reference/android/net/ConnectivityManager)
- [@official@WifiManager](https://developer.android.com/reference/android/net/wifi/WifiManager)
- [@official@WifiManager](https://developer.android.com/reference/android/net/wifi/WifiManager)

View File

@@ -5,4 +5,4 @@ The **Observer Pattern** is a software design pattern in which an object, known
Visit the following resources to learn more:
- [@article@Observer Pattern](https://en.wikipedia.org/wiki/Observer_pattern)
- [@article@Observer Pattern](https://refactoring.guru/design-patterns/observer)
- [@article@Observer Pattern](https://refactoring.guru/design-patterns/observer)

View File

@@ -5,4 +5,4 @@
Visit the following resources to learn more:
- [@official@OkHttp](https://square.github.io/okhttp/)
- [@opensource@OkHttp on GitHub](https://github.com/square/okhttp)
- [@opensource@OkHttp on GitHub](https://github.com/square/okhttp)

View File

@@ -7,4 +7,4 @@ Java is the original language used for Android development and is widely used, m
Visit the following resources to learn more:
- [@official@Pick a Language](https://developer.android.com/studio/write/java8-support)
- [@official@Kotlin vs Java](https://developer.android.com/kotlin)
- [@official@Kotlin vs Java](https://developer.android.com/kotlin)

View File

@@ -0,0 +1,10 @@
# RecyclerView
RecyclerView is the most commonly used and powerful list management tool in Android development. It makes it easy to efficiently display large sets of data. You supply the data and define how each item looks, and the RecyclerView library dynamically creates the elements when they're needed.
As the name implies, RecyclerView recycles those individual elements. When an item scrolls off the screen, RecyclerView doesn't destroy its view. Instead, RecyclerView reuses the view for new items that have scrolled onscreen. RecyclerView improves performance and your app's responsiveness, and it reduces power consumption.
Visit the following resources to learn more:
- [@official@RecyclerView Reference (Android Docs)](https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView)
- [@official@Create Dynamic Lists with RecyclerView (Android Docs)](https://developer.android.com/develop/ui/views/layout/recyclerview)

View File

@@ -6,4 +6,4 @@ A **RelativeLayout** in Android is a type of ViewGroup that allows you to positi
Visit the following resources to learn more:
- [@official@Relative Layout](https://developer.android.com/develop/ui/views/layout/relative)
- [@official@Relative Layout](https://developer.android.com/develop/ui/views/layout/relative)

View File

@@ -5,4 +5,4 @@ Firebase Remote Config is a cloud service offered by Firebase. It lets you chang
Visit the following resources to learn more:
- [@official@Remote Config](https://firebase.google.com/docs/remote-config/get-started?platform=android)
- [@video@Getting Started with Remote Config](https://www.youtube.com/watch?v=pcnnbjAAIkI)
- [@video@Getting Started with Remote Config](https://www.youtube.com/watch?v=pcnnbjAAIkI)

View File

@@ -4,4 +4,4 @@ The `Repository Pattern` separates the data sources from the rest of the applica
Visit the following resources to learn more:
- [@article@Repository Pattern](https://en.wikipedia.org/wiki/Repository_pattern)
- [@article@Repository Pattern](https://en.wikipedia.org/wiki/Repository_pattern)

View File

@@ -5,4 +5,4 @@
Visit the following resources to learn more:
- [@official@Room Database](https://developer.android.com/training/data-storage/room)
- [@video@The Full Beginner's Guide for Room in Android](https://www.youtube.com/watch?v=bOd3wO0uFr8&t=10s)
- [@video@The Full Beginner's Guide for Room in Android](https://www.youtube.com/watch?v=bOd3wO0uFr8&t=10s)

View File

@@ -4,4 +4,4 @@ RxJava, standing for Reactive Extensions for the JVM, is a library in the Java a
Visit the following resources to learn more:
- [@opensource@RxJava on GitHub](https://github.com/ReactiveX/RxJava)
- [@opensource@RxJava on GitHub](https://github.com/ReactiveX/RxJava)

View File

@@ -4,4 +4,4 @@ RxJava (Reactive Extensions for the JVM) is a powerful library for composing asy
Visit the following resources to learn more:
- [@opensource@RxJava on GitHub](https://github.com/ReactiveX/RxJava)
- [@opensource@RxJava on GitHub](https://github.com/ReactiveX/RxJava)

View File

@@ -4,4 +4,4 @@
Visit the following resources to learn more:
- [@opensource@ReactiveX/RxKotlin - RxKotlin on GitHub](https://github.com/ReactiveX/RxKotlin)
- [@opensource@ReactiveX/RxKotlin - RxKotlin on GitHub](https://github.com/ReactiveX/RxKotlin)

View File

@@ -4,4 +4,4 @@
Visit the following resources to learn more:
- [@opensource@RxKotlin](https://github.com/ReactiveX/RxKotlin)
- [@opensource@RxKotlin](https://github.com/ReactiveX/RxKotlin)

View File

@@ -4,4 +4,4 @@
Visit the following resources to learn more:
- [@official@Services](https://developer.android.com/guide/components/services)
- [@official@Services](https://developer.android.com/guide/components/services)

View File

@@ -5,4 +5,4 @@ Shared Preferences in Android are used to store data in key-value pairs. It work
Visit the following resources to learn more:
- [@official@Shared Preferences Documentation](https://developer.android.com/training/data-storage/shared-preferences)
- [@video@SharedPreferences in Android](https://www.youtube.com/watch?v=rJ3uwqko9Ew)
- [@video@SharedPreferences in Android](https://www.youtube.com/watch?v=rJ3uwqko9Ew)

View File

@@ -4,4 +4,4 @@ A **Signed APK** is a version of your app that you prepare for distribution in t
Visit the following resources to learn more:
- [@official@Signing Your App](https://developer.android.com/studio/publish/app-signing)
- [@official@Signing Your App](https://developer.android.com/studio/publish/app-signing)

View File

@@ -4,4 +4,4 @@
Visit the following resources to learn more:
- [@official@Activity Lifecycle](https://developer.android.com/guide/components/activities/activity-lifecycle)
- [@official@Activity Lifecycle](https://developer.android.com/guide/components/activities/activity-lifecycle)

View File

@@ -4,4 +4,4 @@ On Android devices, storage refers to where your data such as apps, photos, vide
Visit the following resources to learn more:
- [@official@Storage](https://developer.android.com/guide/topics/data/data-storage)
- [@official@Storage](https://developer.android.com/guide/topics/data/data-storage)

View File

@@ -4,4 +4,4 @@ Tabs in Android Studio are a UI component used to organize content into multiple
Visit the following resources to learn more:
- [@official@Material Tabs](https://developer.android.com/reference/com/google/android/material/tabs/package-summary)
- [@official@Material Tabs](https://developer.android.com/reference/com/google/android/material/tabs/package-summary)

View File

@@ -4,4 +4,4 @@ The **tasks backstack** in Android refers to the way Android manages and arrange
Visit the following resources to learn more:
- [@official@Tasks and Backstack](https://developer.android.com/guide/components/activities/tasks-and-back-stack)
- [@official@Tasks and Backstack](https://developer.android.com/guide/components/activities/tasks-and-back-stack)

View File

@@ -4,4 +4,4 @@
Visit the following resources to learn more:
- [@official@Testing](https://developer.android.com/training/testing)
- [@official@Testing](https://developer.android.com/training/testing)

View File

@@ -4,4 +4,4 @@ TextView is a widget that is seen in every android application. This widget is u
Visit the following resources to learn more:
- [@article@TextView](https://developer.android.com/reference/android/widget/TextView)
- [@article@TextView](https://developer.android.com/reference/android/widget/TextView)

View File

@@ -4,4 +4,4 @@
Visit the following resources to learn more:
- [@official@The Fundamentals](https://developer.android.com/guide/components/fundamentals)
- [@official@The Fundamentals](https://developer.android.com/guide/components/fundamentals)

View File

@@ -4,4 +4,4 @@ In Android, a `Thread` is a concurrent unit of execution. It has its own call st
Visit the following resources to learn more:
- [@official@Threads](https://developer.android.com/guide/components/processes-and-threads)
- [@official@Threads](https://developer.android.com/guide/components/processes-and-threads)

View File

@@ -4,4 +4,4 @@
Visit the following resources to learn more:
- [@opensource@Timber on GitHub](https://github.com/JakeWharton/timber)
- [@opensource@Timber on GitHub](https://github.com/JakeWharton/timber)

View File

@@ -4,4 +4,4 @@ A `toast` provides simple feedback about an operation in a small popup. It only
Visit the following resources to learn more:
- [@official@Toast](https://developer.android.com/guide/topics/ui/notifiers/toasts)
- [@official@Toast](https://developer.android.com/guide/topics/ui/notifiers/toasts)

Some files were not shown because too many files have changed in this diff Show More