Para finalizar con esta serie de artículos. Vamos con la siguiente opción de aplicación, en esta ocasión iremos con Android. En el caso de Android puedes utiliar obviamente Xamarin Studio pero en este ejercicio vamos a hacerlo con Visual Studio por las siguientes ventajas.
Puedes integrar el proyecto de Android a tus demás proyectos hechos.
Puedes agregar referencias de los demás proyectos y desde NuGet sin problemas.
Puedes trabajar de una manera más cómoda y ejecutar en un dispositivo sin mayores problemas.
Una vez vistas las ventajas entonces podemos comenzar a trabajar. Primero crea un nuevo proyecto de Android.
Ya que lo tengas listo. Comienza por eliminar la clase Activity1.cs y dentro de las carpetas Resources>Layout elimina también Main.axml. Después de eso debes hacer lo mismo que en los dos ejercicios anteriores, primero agregar la referencia a la PCL que ya tienes creada, después agregar tu paquete de NuGet, el mismo de las ocasiones anteriores, como se ve en la imagen.
Hasta este punto, tu proyecto debe lucir de la siguiente manera.
Ahora, abre y modifica de manera correcta el método CreateApp de Setup.cs
protected override IMvxApplication CreateApp() { return new FirstDemoPCL.App(); } |
Abre tu archivo FirstView.axml, en el caso de las aplicaciones Android, este funciona como la capa de vista de la aplicación. Coloca el siguiente código.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:local="http://schemas.android.com/apk/res-auto" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="40dp" local:MvxBind="Text FirstName" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="40dp" local:MvxBind="Text LastName" /> <extView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="40dp" local:MvxBind="Text FullName" /> </LinearLayout> |
Hay algo sumamente interesante aquí, como puedes ver, hay un espacio de nombres llamado local que hace referencia a los ensamblados agregados y esto te permite utilizar ¡enlazado de datos en Android! Casi como lo haces en XAML, para poder hacerlo utilizas justamente MVVM Cross con la sentencia.
local:MvxBind="Text LastName" |
Esto hace que mantengas presente la gran ventaja que te da poder trabajar con este framework.
Bueno, hasta aquí, si ejecutas tu aplicación el resultado será el mismo que en los ejemplos anteriores. Aquí tienes una imagen de como lucen los tres dispositivos de cada una de las plataformas mencionadas a lo largo de estos ejemplos.
Si no has leído los artículos anteriores, aquí tienes un enlace a cada uno de ellos.
Aplicaciones multi plataforma con MVVM Cross y Xamarin: Introducción
Hola Amin, realice tu curso de Introducción a Xamarin en MVA, pero ahora quiero colocar algunas cosas en practica y ya me di mi primer tropiezo iniciando, cuando me voy a references de mi clase portable y quiero agregar y en este caso instalar MvvmCross me genera el siguiente error:
Intentando resolver la dependencia ‘MvvmCross.HotTuna.StarterPack (≥ 3.5.0)’.
Intentando resolver la dependencia ‘MvvmCross.HotTuna.MvvmCrossLibraries (≥ 3.5.0)’.
Intentando resolver la dependencia ‘MvvmCross.HotTuna.CrossCore (≥ 3.5.0)’.
Intentando resolver la dependencia ‘MvvmCross.PortableSupport (≥ 3.5.0)’.
Instalando ‘MvvmCross.PortableSupport 3.5.0’.
‘MvvmCross.PortableSupport 3.5.0’ se instaló correctamente.
Instalando ‘MvvmCross.HotTuna.CrossCore 3.5.0’.
‘MvvmCross.HotTuna.CrossCore 3.5.0’ se instaló correctamente.
Instalando ‘MvvmCross.HotTuna.MvvmCrossLibraries 3.5.0’.
‘MvvmCross.HotTuna.MvvmCrossLibraries 3.5.0’ se instaló correctamente.
Instalando ‘MvvmCross.HotTuna.StarterPack 3.5.0’.
‘MvvmCross.HotTuna.StarterPack 3.5.0’ se instaló correctamente.
Instalando ‘MvvmCross 3.5.0’.
‘MvvmCross 3.5.0’ se instaló correctamente.
Agregando ‘MvvmCross.PortableSupport 3.5.0’ a PCLBERA.
Desinstalando ‘MvvmCross.PortableSupport 3.5.0’.
‘MvvmCross.PortableSupport 3.5.0’ se desinstaló correctamente.
Error en la instalación. Revirtiendo…
No se pudo instalar el paquete ‘MvvmCross.PortableSupport 3.5.0’. Está intentando instalar este paquete en un proyecto que tiene ‘portable-net45+sl50+MonoAndroid10+Xamarin.iOS10+MonoTouch10’ como destino, pero el paquete no contiene referencias de ensamblado o archivos de contenido compatibles con dicho marco. Para obtener más información, póngase en contacto con el autor del paquete.
Espero me logres ayudar Amin, Saludos!!
Es sencillo, Vladimir, tienes ensamblados de versiones diferentes. Dime que versión de .net estás usando.
Microsoft Visual Studio Ultimate 2012
Versión 11.0.61030.00 Update 4
Microsoft .NET Framework
Versión 4.5.51209
Versión instalada: Ultimate
Architecture and Modeling Tools 04940-004-0038003-02688
Herramientas de arquitectura y modelado de Microsoft
UML® y Unified Modeling Language™ son marcas comerciales o marcas registradas de Object Management Group, Inc. en Estados Unidos y otros países.
Corrector ortográfico de Análisis de código de Visual Studio 2012 04940-004-0038003-02688
Corrector ortográfico de Análisis de código de Microsoft® Visual Studio® 2012
Partes de International CorrectSpell™ spelling correction system © 1993 por Lernout & Hauspie Speech Products N.V. Reservados todos los derechos.
The American Heritage® Dictionary of the English Language, Third Edition Copyright © 1992 Houghton Mifflin Company. Versión electrónica bajo licencia de Lernout & Hauspie Speech Products N.V. Todos los derechos reservados.
LightSwitch para Visual Studio 2012 04940-004-0038003-02688
Microsoft LightSwitch para Visual Studio 2012
Office Developer Tools 04940-004-0038003-02688
Microsoft Office Developer Tools
Team Explorer para Visual Studio 2012 04940-004-0038003-02688
Microsoft Team Explorer para Visual Studio 2012
Visual Basic 2012 04940-004-0038003-02688
Microsoft Visual Basic 2012
Visual C# 2012 04940-004-0038003-02688
Microsoft Visual C# 2012
Visual C++ 2012 04940-004-0038003-02688
Microsoft Visual C++ 2012
Visual F# 2012 04940-004-0038003-02688
Microsoft Visual F# 2012
Visual Studio 2012 SharePoint Developer Tools 04940-004-0038003-02688
Microsoft Visual Studio 2012 SharePoint Developer Tools
Administrador de paquetes NuGet 2.6.40627.9000
Administrador de paquetes NuGet en Visual Studio. Para obtener más información acerca de NuGet, visite http://docs.nuget.org/.
ASP.NET and Web Tools 2012.3.41009
Microsoft Web Developer Tools contains the following components:
Support for creating and opening ASP.NET web projects
Browser Link: A communication channel between Visual Studio and browsers
Editor extensions for HTML, CSS, and JavaScript
Page Inspector: Inspection tool for ASP.NET web projects
Scaffolding: A framework for building and running code generators
Server Explorer extensions for Windows Azure Web Sites
Web publishing: Extensions for publishing ASP.NET web projects to hosting providers, on-premises servers, or Windows Azure
PreEmptive Analytics Visualizer 1.0
Extensión de Microsoft Visual Studio para visualizar los resúmenes agregados desde el producto PreEmptive Analytics.
SQL Server Data Tools 11.1.20627.00
Microsoft SQL Server Data Tools
Xamarin 3.9.302.0 (80f4e84)
Visual Studio extension to enable development for Xamarin.iOS and Xamarin.Android.
Xamarin.Android 4.20.0.34 (49a04b966feb40dfdba49d57ba16249b66d606a6)
Visual Studio plugin to enable development for Xamarin.Android.
Xamarin.iOS 8.6.1.0 (3b3ef438017c7ecf486defa9e01567a5f2b3cb2a)
Visual Studio extension to enable development for Xamarin.iOS.
Xamarin.iOS Unified Migration 1.0
Automated migration for Xamarin iOS Classic projects to Unified
Me pasa igual que a Vladimir
Sucede que apenas actualizaron sus referencias (ellos, el equipo que hace MVVVM Cross) quizá ahora ya debe ser posible