README.md
<a href="https://devlibrary.withgoogle.com/products/android/repos/skydoves-pokedex"></a> <a href="https://proandroiddev.com/exploring-dagger-hilt-and-whats-main-differences-with-dagger-android-c8c54cd92f18"></a> <a href="https://youtu.be/RG9ATodwbT4"></a> <a href="https://github.com/skydoves"></a> <a href="https://github.com/doveletter"></a>
</p> <p align="center"> 🗡️ Pokedex demonstrates modern Android development with Hilt, Coroutines, Flow, Jetpack (Room, ViewModel), and Material Design based on MVVM architecture. </p><p align="center"> </p>[!TIP] If you want to see the Jetpack Compose version of Pokedex, check out the Pokedex Compose repository.
Go to the Releases to download the latest APK.
<a href="https://www.android.skydoves.me/"> </a>Manifest Android Interview is a comprehensive guide designed to enhance your Android development expertise through 108 interview questions with detailed answers, 162 additional practical questions, and 50+ "Pro Tips for Mastery" sections. The interview questions primarily focus on Android development—including the Framework, UI, Jetpack Libraries, and Business Logic—as well as Jetpack Compose, covering Fundamentals, Runtime, and UI.
<a href="https://kotlin-deepdive.com/"> </a>Practical Kotlin Deep Dive takes you from “how to use Kotlin” into “how Kotlin really works,” revealing the internal implementations, desmifying bytecodes and compiler behavior, and internals that shape the language. If you want to write smarter, more confident Kotlin across fundamentals, coroutines, and multiplatform, this is the book that shows you why everything is the way it is. The Course - Practical Kotlin Deep Dive, with 158 interactive assessments to test and reinforce your understanding, this course doesn't just show you why everything is the way it is; it challenges you to prove you've mastered it and earn a certificate.
<a href="https://github.com/doveletter"> </a>If you're eager to dive deeper into Kotlin and Android, explore Dove Letter, a private subscription repository where you can learn, discuss, and share knowledge. To get more details about this unique opportunity, check out the Learn Kotlin and Android With Dove Letter article.
Pokedex is based on the MVVM architecture and the Repository pattern, which follows the Google's official architecture guidance.
The overall architecture of Pokedex is composed of two layers; the UI layer and the data layer. Each layer has dedicated components and they have each different responsibilities, as defined below:
Pokedex was built with Guide to app architecture, so it would be a great sample to show how the architecture works in real-world projects.
With this loosely coupled architecture, you can increase the reusability of components and scalability of your app.
The UI layer consists of UI elements to configure screens that could interact with users and ViewModel that holds app states and restores data when configuration changes.
The data Layer consists of repositories, which include business logic, such as querying data from the local database and requesting remote data from the network. It is implemented as an offline-first source of business logic and follows the single source of truth principle.
Pokedex is an offline-first app is an app that is able to perform all, or a critical subset of its core functionality without access to the internet. So users don't need to be up-to-date on the network resources every time and it will decrease users' data consumption. For further information, you can check out Build an offline-first app.
Pokedex adopted modularization strategies below:
For more information, check out the Guide to Android app modularization.
Pokedex using the PokeAPI for constructing RESTful API.
PokeAPI provides a RESTful API interface to highly detailed objects built from thousands of lines of data related to Pokémon.
Support it by joining stargazers for this repository. :star:
Also, follow me on GitHub for my next creations! 🤩
Designed and developed by 2022 skydoves (Jaewoong Eum)
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.