So… Let’s see the code!
No te pierdas de la última entrega de Xamarin y descubre el código que utiliza esta plataforma.
Por defecto, Xamarin ya crea un pequeño “hola mundo” que podemos bien ejecutar en el simulador o en un dispositivo. En mi caso decidí probarlo en un dispositivo Samsung Galaxy SII. Para correr la aplicación en un dispositivo, hay que darle click al botón que está arriba a la izquierda. En seguida, se desplegará la lista de los dispositivos conectados y los simuladores, así como la opción de crear uno. Recuerden que para que el dispositivo sea reconocido, debe estar en modo debug.
Sólo seleccionamos el destino de la aplicación y clicamos en OK. Como pueden ver, el ejemplo es sólo un botón que contabiliza tus clicks. En las siguientes imágenes vemos la aplicación funcionando en el teléfono.
El código de esta app es realmente sencillo y fácil de entender, incluso si no tienes experiencia alguna en C#. Primero tenemos el layout diseñado en XML, el cual es simplemente un linearLayout con un botón que contiene el identificador myButton y asimismo, cuenta con algunas especificaciones de tamaño y estilo.
<?xml version=”1.0″ encoding=”utf-8″?>
<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”
android:orientation=”vertical”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”>
<Button
android:id=”@+id/myButton”
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:text=”@string/hello” />
</LinearLayout>
La programación de los elementos gráficos del layout se lleva a cabo en el MainActivity.cs, que es donde escribimos el código C#. Invocamos las librerías mínimas necesarias y creamos el ámbito HelloWorld, donde va una clase cuyo contenido es una función que permite inicializar la aplicación y los elementos gráficos que uno, como desarrollador, defina que van al comienzo.
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
namespace HelloWorld
{
[Activity (Label = “HelloWorld”, MainLauncher = true)]
public class MainActivity : Activity
{
int count = 1;
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
// Set our view from the “main” layout resource
SetContentView (Resource.Layout.Main);
// Get our button from the layout resource,
// and attach an event to it
// Clase botón para manipular el comportamiento del botón en el layout
Button button = FindViewById<Button> (Resource.Id.myButton);
button.Click += delegate {
button.Text = string.Format (“{0} clicks!”, count++);
};
}
}
}
Como ven, es muy sencillo crear apps para Android usando C#. En el caso de que aún no decidas qué usar para programar, yo te recomendaría usar Xamarin, ya que la curva de aprendizaje de C# es mucho menos empinada que la de Java para Android u Objective C para iOS.