CryptoApp (pet projekt jako przykład)
Na ekranie głównym aplikacji znajduje się aktualizowany w czasie rzeczywistym lista 10 najpopularniejszych kryptowalut, na których otworzy się nowy ekran z bardziej szczegółowymi informacjami na temat wybranej kryptowaluty.Istnieje również orientacja horyzontalna, w tym przypadku ekran zostanie "podzielony" na pół, w jednej części listy, w drugiej - szczegółowe informacje na ciśnienie.O zastosowanych rozwiązaniach i technologiach: aplikacja została zbudowana zgodnie z zasadami czystej architektury i wstrzykiwania uzależnień (na podstawie Dagger2).Obraz danych jest realizowany w RecyclerView (przez ListAdapter i ItemCallback), ekran z szczegółowymi informacjami jest realizowany fragmentem, ten sam fragment jest używany w orientacji horyzontalnej.Dane są pobierane za pomocą usług realizowanych za pośrednictwem WorkManager co 10 sekund, dane są pobierane z serwera zgodnie z API, w tym samym czasie używane są skrzydła (funkcja suspend), co pozwala serwisowi zatrzymać swoje wykonanie na 10 sekund przed kolejną iteracją.Istnieje również folder, w którym klasy są przekształcane z domeny w dto z warstwy danych i odwrotnie.Dane są przechowywane w bazie danych i pobierane z niej, dzięki czemu nawet bez Internetu zostaną przekazane najnowsze aktualne informacje.Na ekranie głównym możemy zobaczyć listę 10 najpopularniejszych kryptowalut, które są aktualizowane co 10 sekund, na kliknięcie drugiego ekranu zostanie otwarty, tam użytkownik może zobaczyć bardziej szczegółowe informacje o wybranej walucie.Również istnieje orientacja ziemi, w której główny ekran "podzielony" na dwie, gdzie w pierwszej części zostanie umieszczony listę i w drugiej - szczegółowe informacje, jeśli klikniemy na jakąś monetę.About technologies and realizations: the application is created according to the clean architecture and dependency injection principles (using Dagger2).List is created using the RecyclerView(ListAdapter + ItemCallback), screen with detailed information realized as a fragment, the same fragment is used as a part of the main screen in the land orientation.Data load occurs every 10 seconds using services (WorkManager) from server according to the API, also here i used coroutines (suspend function), which allows service to stop itself for 10 seconds before the next iteratiom.Także istnieje folder, w którym przekazuję dto klasy do klas z domeny i odwrotnie.The data saves to the database, so we can see the most actual information even without connection.#Android #Android #Kotlin #Mobile #Mobileapp #Android #MobileDevelopment #Kotlin