Mam zamiar wdrożyć wzór projektu architektonicznego MVVM dla mojej aplikacji na Androida. Przeczytałem w Internecie, że pomoże mi to w skutecznym oddzieleniu problemów i łatwym pisaniu przypadków testowych dla modelu danych, interfejsu użytkownika itd. Potrzebuję informacji/porady na ten temat.Jak skutecznie wdrożyć wzorzec projektowania MVVM dla mojej aplikacji na Androida, który również ułatwi zapisywanie przypadków testowych?
Odpowiedz
Dobrze, aby dowiedzieć się, jak efektywnie korzystać z MVVM, zacząć Android MVVM Design Pattern Examples
Tutaj można znaleźć ten wpis:
Jestem deweloper Android-Binding. Tak jak powiedział @Brentley, jest to bardzo nowy projekt, ale mam nadzieję, że dzięki niemu zyskasz więcej szumów i doświadczenia, dzięki czemu można go ulepszyć. Powrót do pytania, napisałem kilka prostych Wprowadzenie/tutoriale na MVVM z android wiążące:
- Android MVVM Tutorials (with android binding)
- Introduction to Android Binding (codeproject)
- Model Validation in Android Binding (codeproject)
- Wiki in project homepage
potencjalnych rodziców adopcyjnych zadowolić również Zarejestruj się na project discussion group.
Przeczytaj cały temat. Można by zauważyć, że MVVM
jest stosunkowo nowe ramy i jest wysoce zalecane, aby z nim pracować wspólnie z p Data Binding
biblioteki i iniekcji zależność biblioteki Google jak Roboguice
lub Dagger2
...
... ale najlepiej byłoby to jedno:
gdzie autor wyjaśnia użyciu MVVM powiązanie danych z biblioteki przez przykład - mam na myśli własnej stworzonej aplikacji. Kończy on:
Jest jeszcze zbyt wcześnie, aby wiedzieć, czy to podejście jest prawidłowym sposobem tworzenia aplikacji, ale ten eksperyment dał mi szansę spojrzenia na jedną z możliwości przyszłych projektów. Jest to coś, z czym zdecydowanie chcę się bawić.
Model-View-ViewModel
jest interesujący, ponieważ w tradycyjnej architekturze Androida kontroler przesyła dane do widoku. Możesz znaleźć widok w swojej działalności, a następnie ustawić na nim treść.
W przypadku MVVM numer ViewModel
zmienia część zawartości i powiadamia o powiązanej strukturze danych o zmienionej zawartości. Struktura automatycznie aktualizuje wszelkie widoki, które są związane z tą zawartością.
Te dwa komponenty są luźno sprzężone tylko przez ten interfejs danych i poleceń.
Kolejny wniosek z użyciem MVVM
jest naprawdę sprawdzalny.Od MVVM on Android: What You Need to Know
Ponieważ
ViewModel
nie zależy naView
już można przetestowaćViewModel
bezView
nawet istnieć. Przy odpowiednim wtrysku zależności dla innych zależności testowanie jest bardzo proste.Na przykład, zamiast wiązania maszyny wirtualnej z rzeczywistym widokiem, można utworzyć maszynę wirtualną w teście, podać jej dane, a następnie wywoływać na niej akcje, aby upewnić się, że dane zostały przekształcone prawidłowo. (...) Wszystko to można zrobić bez interakcji z rzeczywistym widokiem.
Czytaj także: MVVM ON ANDROID USING THE DATA BINDING LIBRARY
Mam nadzieję, że pomoże
- 1. W języku C# jak poprawnie wdrożyć wzorzec projektowania polecenia?
- 2. Jak uruchamiać aplikacje na Androida w mojej aplikacji na Androida?
- 3. Zapisywanie sterownika USB dla Androida
- 4. Automatyzacja przypadków testowych na urządzeniach z Androidem: biblioteka robotów vs system testów Androida
- 5. Jak korzystać z aplikacji WhatsApp w mojej aplikacji na Androida?
- 6. unittest i dynamiczne tworzenie Pythona przypadków testowych
- 7. W jaki sposób można dostosować klasy przypadków testowych DUnit wygenerowane przez Kreator przypadków testowych?
- 8. Jak mogę wdrożyć funkcjonalność awt.CardLayout w mojej aplikacji javaFX 2.0?
- 9. Warunkowa realizacja przypadków testowych do mokki
- 10. Roboto czcionka w mojej aplikacji na Androida
- 11. Test wzmocnienia: sposób zapisywania sparametryzowanych przypadków testowych
- 12. Uruchamianie przypadków testowych sekwencyjnie w kreatorze
- 13. Niestandardowy kolor czcionki dla aplikacji PagerTabStrip w aplikacji ViewPager dla mojej aplikacji na Androida
- 14. Nunit: Dodaj kategorię do konkretnych przypadków testowych.
- 15. Jak mogę zintegrować reklamy AirPush w mojej aplikacji na Androida?
- 16. Jak umieścić reklamę w mojej aplikacji na Androida?
- 17. Jak mogę używać ikon systemowych w mojej aplikacji na Androida?
- 18. Selenium WebDriver - Jak kontrolować szybkość uruchamiania przypadków testowych
- 19. Jak wdrożyć wtyczkę qt5 qml na Androida?
- 20. Wzorzec projektowy dla czasu aplikacji?
- 21. Jak uruchomić wiele przypadków testowych Pythona w pętli?
- 22. Jak dodać powiadomienie push w mojej własnej aplikacji na Androida
- 23. Jak wyświetlać reklamy VAST w mojej aplikacji na Androida?
- 24. Jak rozdawać darmowe kopie mojej płatnej aplikacji na Androida?
- 25. Wdrażanie aplikacji na Androida
- 26. Czy istnieje język skryptowy, który mogę umieścić w mojej aplikacji Java na Androida?
- 27. Aktualizacja aplikacji na konsolę dla programistów Androida
- 28. Wzorzec projektowania dla przełączania klienta i przełączania awaryjnego WCF?
- 29. który wbudowany serwer WWW do użycia dla mojej aplikacji GUI
- 30. Jak zapobiegać kradzieży aplikacji (specyficzne dla aplikacji na Androida)?
O stanowisko stablekernel blogu, czytałem go kilka dni temu, ale muszę pamiętać, że nie jest całkowicie zgodny z MVVM. Wprowadza obawy dotyczące widoku do ViewModel (OnFocusListener, View type). Jak wszystko od Google, nie wydaje się zbyt dobrze przemyślane lub dojrzałe. Układy Xml nadal nie są zbyt elastyczne jako XAML dla przykładu, więc nadal będzie ** bardzo ** trudne do wdrożenia prawdziwej MVVM w Apps – Tseng
Deweloperzy zawsze mówią, że MVP jest bardziej dojrzały i łatwo pozwala programistom na testowanie w porównaniu do MVVM! –
Nie kupuję tej architektury pochodzącej z Knockouta i przechodzę do strumienia/reaguję. To po prostu zbyt nieprzewidywalne. – frostymarvelous