Hola Mundo en Android con Monodroid

Cuando me entere del comienzo de un proyecto para desarrollar con C# para Android como hace 6 meses (Marzo del 2010), busque toda la información posible sobre este, lamentablemente en ese entonces el proyecto recién estaba en su etapa de concepción, por lo cual tuve que esperarme un tiempo hasta poder acceder a este, que no fue hasta principios del mes de septiembre, que gran día fue ese que pude descargarme la herramienta.
Bueno ahora casi un mes después de haberla probado, puedo decir que es lo que esperaba e inclusive un poco más, con una muy buena integración con Visual Studio 2010 y la migración de al menos un 80% de todas las librerías disponibles en el SDK de Android. Los muchachos del proyecto mono (al dia de hoy Xamarin) son los encargados del desarrollo de este proyecto, donde se esforzaron bastante para sacar tan buena herramienta y en tan poco tiempo (+/- 4 meses).
Ahora lo único que me queda es mostrarles como iniciar en el desarrollo de aplicación para Android con esta súper herramienta, para lo cual vamos a necesitar lo siguiente:

- Visual Studio 2010
- Plug-in de MonoDroid
- El SDK de Android 2.1 o superior
Lo primero que hacemos es bajarnos el SDK de Android para Windows de http://developer.android.com/sdk/index.html (aquí) , que será un comprimido con el nombre “android-sdk_r07-windows.zip”, luego lo descomprimimos y ejecutamos el archivo “SDK Manager.exe” que nos desplegara una ventana como la siguiente:

Recomiendo seleccionar solo las plataformas 2.1 y 2.2, ya que son las más modernas y que además están completamente soportadas por MonoDroid, nuestro próximo pasó después de descargarnos los archivos necesarios, procedemos a configurar nuestro emulardor, para lo cual nos vamos al ítem “Virtual Devices” y luego hacemos clic en el botón “New”, que nos desplegara un cuadro de dialogo donde llenaremos con los datos de la captura que sigue y por ultimo hacemos clic en el botón “Create AVD” para finalizar la creación del dispositivo.
Luego nos saldrá un cuadro de dialogo indicándonos como se creó el dispositivo virtual al cual solo le damos un “Ok”.Nuestro siguiente paso es ejecutar el instalador de MonoDroid (hay que registrarse en la página oficial de Mono For Android para conseguir acceso al repositorio de descarga), donde el instalador nos guiara para realizar la instalación, aquí no hay ningún apunte importante que mencionar, en otras palabras hacer solo next, next, next.
Ahora el último pasó para tener nuestro ambiente de desarrollo a punto, es iniciar el Visual Studio e ir a Tools->Options y luego buscar dentro de la pantalla el ítem Monodroid y en el campo de texto “Android SDK location” debemos de cambiar la ruta por defecto (C:\android-sdk-windows) por la ruta donde este nuestro SDK.

Con esto tendría que estar funcionando a la perfección nuestro entorno de desarrollo, en caso de que suceda un error llamado “

"monodroid.exe or aresgen.exe exited with code 1” ver el este articulo para arreglarlo.

Hola Mundo

Para probar que tal esta MonoDroid, nada mejor que una aplicación “Hola Mundo”, para lo cual vamos a crear un nuevo proyecto en Visual Studio al que le daremos el nombre “MiPrimeraAplicacionMonoDroid”.

El proyecto viene con la siguiente estructura por defecto, junto con una actividad por defecto que trae el siguiente código:

   
using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;

namespace SegundaAplicacion
{
    public class Activity1 : Activity
    {
        int count = 1;
        public Activity1( IntPtr handle )
            : base( handle )
        {
        }

        protected override void OnCreate( Bundle bundle )
        {
            base.OnCreate( bundle );
            // Set our view from the "main" layout resource
            SetContentView( R.layout.main );
            // Get our button from the layout resource,
            // and attach an event to it
            Button button = FindViewById & lt;
            Button & gt;
            ( R.id.myButton );
            button.Click += delegate { button.Text = string.Format( "{0} clicks!", count++ ); };
        }
    }
}
Pero como no nos gusta hacer correr el código por defecto, lo vamos a cambiar por el siguiente código, que es un “Hola Mundo” personalizado:
   
using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using Android.Opengl;

namespace MiPrimeraAplicacionMonodroid
{
    public class Activity1 : Activity
    {
        public Activity1( IntPtr handle )
                        : base( handle )
        {
        }

        public static String paises( )
        {
            String[ ] vec = new String[ 6 ];
            vec[ 0 ] = "Bolivia";
            vec[ 1 ] = "México";
            vec[ 2 ] = "Colombia";
            vec[ 3 ] = "España";
            vec[ 4 ] = "Argentina";
            vec[ 5 ] = "Peru";

            Random rnd = newRandom( );
            return vec[ rnd.Next( 0, 5 ) ];
        }


        protected override void OnCreate( Bundle bundle )
        {
            base.OnCreate( bundle );
            Button btn = new Button( this );
            btn.SetHeight( 25 );            
            SetContentView( btn );
            btn.Click += delegate { btn.Text = "HolaMundodesde " + paises( ); };
        }
    }
}
Si ya han desarrollado alguna vez para Android con Java y Eclipse pueden ver que no existe mucha diferencia entre lo que ya estaban acostumbrados a hacer y lo que he escrito arriba, creo que la única diferencia (vean este mismo hola mundo que hice con Netbeans y Java para Android) es como se implementó la escucha del evento “Clic”, que en vez de usar la implementación de una interfaz, directamente hago una llamada desde el mismo objeto “btn” y modifico el texto de este a través de un delegado, para los que ya estén acostumbrados a programar en .NET esto les resultara familiar.
Ahora hacemos correr nuestra aplicación con Ctrl + F5, lo que nos mostrara el siguiente cuadro de dialogo donde deberemos elegir nuestro emulador:


Si en este cuadro de dialogo no aparece el emulador que creamos arriba, deberemos de hacer clic en el link “Startemulatorimage”, que hará que se inicie el emulador si no está encendido.
Después de un rato(a veces un poco largo a decir verdad) el emulador terminara de iniciar el SO e iniciara nuestra aplicación que se verá +/- así:


Bueno con esto sería todo, espero que les haya gustado el articulo y ojala se pongan a desarrollar para Android con MonoDroid Mono For Android, VIVA C#!!!!!!
Suerte!.

Comentarios

  1. Ehhh... no me puedo registrar en la web de Mono para entrar en el repositorio de descargas...

    ResponderEliminar
    Respuestas
    1. Hola Mundo En Android Con Monodroid >>>>> Download Now

      >>>>> Download Full

      Hola Mundo En Android Con Monodroid >>>>> Download LINK

      >>>>> Download Now

      Hola Mundo En Android Con Monodroid >>>>> Download Full

      >>>>> Download LINK sZ

      Eliminar
  2. Entra aqui http://go-mono.com/monodroid-download/

    ResponderEliminar
  3. Hola Gustavo, de antemano muchas gracias por la información, he seguido todos los pasos que has descrito para instalar el plugin; compilo y ejecuto el ejemplo... el emulador funciona, pero no ejecuta las instrucciones del "Hola mundo", alguna sugerencia?

    ResponderEliminar
  4. podria de ser que la version de monodroid con la que estas haciendo, tenga algun cambio con respecto a la que use, cuando hice el articulo.
    Si me dices el numero de version del SDK de monodroid y de android skd, me seria de ayuda para poderte dar una solucion

    ResponderEliminar
  5. Descargue e instale el “installer_r10-windows.exe ”, y le instale todas las plataforma del SDK.. ahora que leo con mas calma veo que recominadas solo instalar las plataformas 2.1 y 2.2.. y le instale el mono-android-9794.

    ResponderEliminar
  6. Otro dato que quizas sirva, es que cuando creo el proyecto en Visual Studio, comparo los archivos y carpetas del mismo con la imagen que has colocado y no tengo el archivo R.cs, que esta enseguida del archivo Activity1.cs

    ResponderEliminar
  7. mmm, debe de ser por actualizaciones que se realizaron en monodroid. Me bajare las ultimas versiones y actualizare el post.

    ResponderEliminar
  8. yo logro hacer texto botones etc para aplicaciones pero como hago para q todo el proyecto en el visual lo pueda pasar a mi android como paquete apk? y se pueda ejecutar tal y como lo vemos en la consola del visual

    ResponderEliminar
  9. Entiendo mal o la version trial solo funciona en el emulador? Gracias

    ResponderEliminar
  10. Hola Locotus y Omar, la version trial que nos ofrece xamarin solo nos permitira llevar nuestro programa escrito en monodroid a nuestro smartphone, si compramos la licencia de desarrollador, exactamente como sucede con Apple. Para comprar la licencia, pueden hacerlo por aqui https://store.xamarin.com/ los precios no son muy altos teniendo en cuenta la muy buena calidad del producto y ademas la reduccion de costos de aprender otro lenguaje y/o framework.

    ResponderEliminar
  11. Una consulta entonces la versión trial solo te limita para q' tu aplicación se ejecute en tu movil o te limita algunas herramientas

    ResponderEliminar
  12. Al dia de hoy, Xamarin limita la version trial al emulador, si queremos hacer deploy de nuestra aplicacion a un dispositivo fisico debemos de comprar la licensia.

    ResponderEliminar
  13. Hola Gustavo Torrico Martínez:

    Quisiera que me orientaras, soy nuevo en ell ambiente MonoDroid, he creado varias aplicaciones, pero a la hora de compilar me aparecen varios errores, entre ellos el que mensionas: "monodroid.exe or aresgen.exe exited with code 1". Trate de comprovar si el AVD de Android Manage funcionaba bien y por alguna razón, el AVD que había creado no corría, no se ejecutaba. ¿Qué me recomiendas hacer? Al 16 de Febrero, prefiero usar aplicaciones de Novell que de Xamarin.

    ResponderEliminar
  14. Por que no me funciona el .apk cuando lo intalo en mi celular? Ayuda?

    ResponderEliminar
  15. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  16. Me gusta mucho el sistema operativo android, ya que es bastante abierto y permite muchas variaciones, ahora el mod de android para Instagram que más me gusta es AeroInsta, os lo recomiendo, tiene funciones muchísimo más avanzadas.

    ResponderEliminar
  17. Hola Mundo En Android Con Monodroid >>>>> Download Now

    >>>>> Download Full

    Hola Mundo En Android Con Monodroid >>>>> Download LINK

    >>>>> Download Now

    Hola Mundo En Android Con Monodroid >>>>> Download Full

    >>>>> Download LINK XR

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Conectarse a un Web Service en PHP con WPF

Ejecutar comandos en el CMD de Windows desde C#

Usar Log4Net en un proyecto ASP.NET MVC