Je fais actuellement beaucoup de développement WPF et j'ai commencé à créer des applications Android de base. Lors de la création d'applications WPF, j'utilise souvent MVVM, normalement sous Prism, et j'aimerais savoir s'il existe des exemples de MVVM pour la plate-forme Android.
Réponses
Trop de publicités?Je suis le développeur d' Android de Liaison. Comme @Brentley dit, c'est un tout nouveau projet, mais je n'ai espoir d'obtenir plus de buzz et de l'expérience, de sorte qu'il peut être amélioré. Pour revenir à ta question, j'ai écrit un simple introduction/tutoriels sur MVVM avec android de liaison:
- Android MVVM Tutoriels (avec android de liaison)
- Introduction à Android de Liaison (codeproject)
- La Validation du modèle dans Android de Liaison (codeproject)
- Wiki dans la page d'accueil du projet
Les adoptants potentiels veuillez également vous inscrire sur le projet de groupe de discussion.
J'utilise parfois des ViewModels de traduire à partir d'un Modèle pur de ce que le Modèle doit être affiché comme, mais une grande partie de la MVVM-ismes viennent du fait que vous avez cet énorme moteur de liaison de données intégré dans le framework WPF. Vous ne trouverez probablement pas l'expérience exacte de WPF + MVVM dans le monde Android, mais vous pouvez prendre beaucoup de bons concepts et de les mettre en œuvre (juste sans les automatique de la liaison de données trucs).
Pour l'un, il suffit de créer Viewmodel. Vous n'avez pas besoin d'un framework comme Prisme pour créer des ViewModels. Vous n'avez pas toutes les PropertyChanged des notifications et des trucs comme ça, mais vous pouvez traduire vos données en informations qui peuvent être mieux utilisés par votre INTERFACE utilisateur qui permet de nettoyer votre code. Un parfait exemple de cela est quelque chose que j'ai fait avec un curseur-lourds de l'INTERFACE utilisateur. Android SeekBar est toujours en partant de zéro, et travaille avec des valeurs entières, de sorte que vous ne pouvez pas lier à min, max, et les valeurs d'incrément de votre modèle. Vous pouvez utiliser un ViewModel pour traduire vos valeurs min/max en 0-à base d'équivalents de votre SeekBar pouvez utiliser...juste un exemple. En va de même pour l'affichage des couleurs et des tailles de base sur les plages de valeurs, etc. Pour moi, c'est ce que Viewmodel sont tout au sujet.
Aussi loin que DependencyInjection trucs, découvrez RoboGuice. J'ai juste commencé à utiliser un de mes projets après avoir vu une présentation par son créateur à un local Meetup, et c'est probablement ce que vous cherchez.
Un cadre relativement nouveau en cours de développement permet de lier les vues à ViewModels, appelé android-binding . En utilisant ce framework et RoboGuice, vous pouvez activer votre MVVM. Le cadre a encore besoin de travail, mais c'est un bon point de départ.
La bibliothèque Android-Data-Binding est un outil permettant de connecter des données à des éléments de l'interface utilisateur. Une fois le fichier de mise en page créé et chaque élément étiqueté, une ligne de code lie toutes les données aux éléments de l'interface utilisateur et vous permet de gagner du temps.
Il y a un projet appelé MVVMCross.
C'est gratuit, open-source et bien conçu MVVM cadre, développé par Stuart Lodge.
Il a mis en œuvre de liaison pour Android et iPhone, alors maintenant, MVVM est applicable à l'ensemble de ces plates-formes trop.
Pour moi c'est l'un des meilleurs frameworks MVVM - il vraiment montre la puissance de MVVM. Avec elle, vous pouvez écrire un code (modèle et viewmodel couches) pour les différentes plates-formes (WP7, Android, iPhone, WinRT) et de la demande de changement d'INTERFACE utilisateur (vue de la couche).