De que se trata o artigo

Neste artigo abordaremos o desenvolvimento para dispositivos móveis com o Google Android. Será mostrado como utilizar o Android SDK, que é a API usada para seu desenvolvimento e como é possível fazer uso da linguagem de programação C#.

Em que situação o tema é útil

O tema é útil para que você possa desenvolver aplicativos para Android utilizando a plataforma .NET e a linguagem C#. Desta forma, você tem a possibilidade de reaproveitar toda a estrutura do mesmo, sem ter que aprender uma nova tecnologia, bastando apenas entender suas classes, que serão vistas neste artigo.

Mono for Android – Desenvolva para Android com C#

Nesse artigo abordaremos o que é o Android, como preparar o ambiente para o desenvolvimento de aplicativos utilizando como ferramenta o Visual Studio 2010 e em seguida criaremos uma aplicação. Além disso, será realizado um overview nas principais estruturas da plataforma. Para que isto seja possível, utilizaremos o MonoAndroid.

O Android é um sistema operacional que roda sobre o núcleo do Linux (Kernel 2.6). Inicialmente foi desenvolvido pela Android Inc. Em 2005 a Google comprou a mesma e deu sequência com seu desenvolvimento em conjunto com a Open Handset Alliance ou OHA. A mesma é um grupo formado por gigantes do mercado de telefonia móveis, liderados pelo Google. Entre alguns de seus representantes estão: T-Mobile, Telecom Itália, Telefônica, Acer, ASUSTeK Computer, Dell, HTC Corporation, LG Electronics, Motorola, Samsung Electronics, Accenture e muitas outras grandes empresas.

É uma plataforma de desenvolvimento móvel, para tablets e até mesmo TV. Para que você possa desenvolver para Android, é necessário utilizar a linguagem Java. Mas, com a criação do projeto MonoDroid, é possível que você também desenvolva aplicativos com a linguagem de programação C#.

Através do Mono você tem a possibilidade de utilizar todas as bibliotecas .NET e as nativas do Google Android. O Android roda através de uma máquina virtual denominada Dalvik e, após a compilação do seu código, o compilador converte o arquivo para o formato .dex (Dalvik Executable), que representa o aplicativo Android compilado. Esses arquivos (.dex) e outros recursos como imagens, são compactados em um único arquivo com a extensão .apk (Android Package File), que é a aplicação final do Android, pronta para ser instalada. Você não precisa preocupar-se com isso, pois a própria ferramenta se encarrega de transformar o código C# para os formatos citados anteriormente.

Nota: Apesar de você ter a possibilidade de programar para Android utilizando C#, é sempre bom lembrar que não estamos desenvolvendo para o ambiente Windows.

Componentes de Tela

No Android os componentes ficam centralizados em arquivos XML. Esses componentes são classificados como Widgets e Gerenciadores de Layout. Os Widgets são componentes gráficos que herdam diretamente da classe android.view.View (responsável pelas interfaces do Android), como por exemplo, Button, ImageView, TextView, EditText e RadionButton.

Já os gerenciadores de layout servem para posicionar ou organizar os componentes em uma tela, podendo organizá-los na vertical, horizontal ou até mesmo por coordenadas absolutas com x e y. Os gerenciadores de layout herdam da classe android.view.ViewGroup (grupo de View, mas precisamente de interfaces gráficas), que por sua vez herda da classe android.view.View.

Todos os tipos de componentes, Widgets ou Gerenciadores de Layout, herdam diretamente ou indiretamente da classe android.view.View. A classe View é responsável pela criação dos componentes visuais e quando implementada precisa sobrescrever o método OnDraw(Canvas). Esse método é responsável por desenhar um componente na tela.

Na Tabela 1 você visualiza os principais Widgets.

Widgets

TextView

Representa um texto na tela, como se fosse um label.

EditText

Campo para entrada de informações pelos usuários do sistema.

Button

Botão para acionar algum evento.

ImageButton

Botão com imagem ao invés de um texto.

Spinner

Utilizado para seleção de valores definidos como tipos e cores, como se fosse um combo, muito semelhantes à tag select de um documento HTML.

...
Quer ler esse conteúdo completo? Tenha acesso completo