'Y'

Android legacy, część 2

W pierwszej części naszego artykułu zaczęliśmy szukać szablonu, którego możemy używać w przypadku Android legacy projects. Kontunuujmy zatem omawianie tej kwestii.

Jul 17, 2018 869
W pierwszej części naszego artykułu zaczęliśmy szukać szablonu, którego możemy używać w przypadku Android legacy projects. Kontunuujmy zatem omawianie tej kwestii.

Dodaj Frameworki jeśli to potrzebne

  • Dagger może pomóc w zarządzaniu grafem zależności
  • RxJava jest dobra dla złożonych sekwencji i operacji asynchronicznych
  • MVC / MVP / MVVM dla łatwego utrzymywania kodu w porządku i prostego testowania

Mało używaj refaktoryzacji, izoluj

Czasami łatwo jest pogodzić się z realnym światem: nie zmieniaj tego, co działa - po prostu izoluj, dostarcz wrappery, jeśli to konieczne oraz opieraj się na tym, co jest naprawdę potrzebne.

Można to bardzo łatwo zrobić w systemie Android:

  • Użyj niezależnego Activity/Fragment
  • Oddzielnie uruchom IntentService

Android_legacy_czesc2_2960.jpg


Miej wzgląd na Android Framework

Przede wszystkim miej wzgląd na Android Framework. Zawiera tylko 5 głównych komponentów do budowy pracy całej aplikacji:

  • Activity - do tworzenia interfejsu użytkownika i uzyskiwania działań użytkownika
  • Service - dla długowiecznych komponentów używanych na różnych ekranach
  • ContentProvider - do obsługi danych w stylu "REST"
  • BroadcastReceiver - do odbierania/przekazywania komunikatów/powiadomień (trzeba być z nimi bardzo ostrożnym)
  • Application - kontekst globalny, "przyjaciel, który zawsze będzie z tobą"

Użyj tych komponentów, aby umożliwić "hostowanie" obiektów kontrolnych/danych, mając na uwadze cykl życia oraz czas, przez jaki ten lub inny składnik systemu Android musi/może istnieć.

Chwalimy śmiałość wszystkich odważnych marzycieli

Uważam, że legacy projects stanowią doskonałą podstawę do nauki i doskonalenia umiejętności. Jest to kopalnia złota zilustrowanych przykładów tego, jak różne podejścia mogą powodować problemy. Każdy programista aplikacji na Androida musi prędzej czy później rozwikłać "klasyczną plątaninę Androida" składającą się z Activity, AsyncTask, brakujących plików DataLayer itp.

Udostępnij


Masz jeszcze jakieś pytania?
Skontaktuj się z nami
Thank you.
Your request has been received.