programar android sobre linux

Upload: juan-lopez

Post on 06-Apr-2018

240 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 Programar Android Sobre Linux

    1/17

    Inicio Mis Comunidades Directorio Historial

    Comunidades Internet y Tecnologa Comunidad GNU/Linux [Tutorial] Desarrollando Aplicaciones para Android en Linux

    MS DE 8 MESES 000

    Anuncios Google

    Curso online Androidwww.estudiosabiertos.es- Aprende a desarrollar y programar tus aplicaciones. Infrmate aqu!

    [Tutorial] Desarrollando Aplicaciones paraAndroid en Linux

    Android: qu es?

    Android es un sistema operativo inicialmente desarrollado por Android Inc., una firma comprada por Google en el 2005.6

    Android est basado en una versin modificada del Kernel de Linux.

    Tiene una gran comunidad de desarrolladores escribiendo aplicaciones para extender la funcionalidad de los dispositivos.

    A la fecha, existen cerca de 100.000 aplicaciones disponibles para Android.12 13 Android Market es la tienda de

    aplicaciones en lnea administrada por Google, aunque existe la posibilidad de obtener software externamente. Los

    programas estn escritos en Java

    Estructura de una aplicacin Android

    La estructura de una aplicacin Android est definida por la interaccin de distintos componentes, haciendo nfasis en la

    "agrupacin debil" de distintas piezas. La aplicacin har uso de las distintas APIs expuestas por Android, de forma que

    los componentes encargados de realizar cada tarea puedan ser manipulados o reemplazados sin problemas, asegurando

    la mxima flexibilidad. Por ejemplo, una aplicacin puede permitir al usuario elegir fotos mediante el componente "Galera"

    o, por ejemplo, reemplazar esa "Galera" por una seleccin de fotos a travs de un servicio online. Los principales

    componentes de una aplicacin seran:

    Activity

    Representa cada una de las principales tareas que el usuario puede llevar a cabo en la aplicacin. Tpica (aunque no

    necesariamente) corresponder a una pantalla especfica de la aplicacin y, tambin normalmente, una "activity" ser el

    punto de entrada (pantalla inicial) de nuestra aplicacin. Desde ella se invocarn las vistas, especficas o layouts, para la

    aplicacin.

    IntentReceiver

    Permite a nuestra aplicacin declarar ciertos "callbacks" que respondern a cambios en el estado del terminal. P.ej.

    llamada o email recibido, cambio en la geolocalizacin, etc.

    Service

    Una tarea que corre en el background y que puede y debe ejecutarse sin interaccin con el usuario. Una aplicacin puede

    mandar los mensajes necesarios a un determinado servicio activo.

    ContentProvider

    Establece una capa que permite a las distintas aplicaciones compartir datos. Con independencia del almacenamiento local

    que utilicen para sus propsitos, las aplicaciones necesitan declarar ContentProviders para poner a disposicin de otros

    procesos los datos que consideren necesarios.

    Denunciar - Historial

    IdentificarmeIdentificarme Buscar...

    Posts Comunidades TOPs Global

    6,600

    Miembros10,911

    Temas1,238

    Seguidores

    Comunidad GNU/LinuxSi tienes dudas o problemas, o prefieres pasar el tiempo, ste es tu lugar. Un lugar donde todos

    compartimos algo en comn: GNU/Linux. "Somos ms linuxeros que Torvalds y ms barbudos que

    Stallman".

    Ver ms

    UnirseUnirse SeguirSeguir

    Me gusta

    Posteador

    8Seguidores

    273Puntos

    22Temas

    Ver ms del autor

    facuumunoz

    SeguirSeguir

    ltimas respuestas

    [Off-Topic] Happy birthday linux

    [Problema] con videos HD 720p

    [Consulta] Quiero introducirme en este

    [Consulta] Quiero introducirme en este

    [Consulta] Quiero introducirme en este

    [Consulta] Quiero introducirme en este

    [Consulta] Quiero introducirme en este

    [Problema] no puedo instalar ubuntu

    [Consulta] Si pongo Ubuntu saco

    [Consulta] Si pongo Ubuntu saco

    [Consulta] Quiero introducirme en este

    [Consulta] Quiero introducirme en este

    [Consulta] Quiero introducirme en este

    [Consulta] Quiero introducirme en este

    [Off-Topic] Compartir con google reader

    Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntupar

    de 17 24/08/11 02

  • 8/3/2019 Programar Android Sobre Linux

    2/17

    Estos son algunos de las principales, pero no las nicas piezas de construccin de la aplicacin. Tambin es interesante

    que se defina como pieza de primer nivel, el sistema de notificaciones en pantalla, que se recomienda como principal va

    de comunicacin con el usuario.

    La construccin de una comunidad

    Aunque algunos de las primeros ataques que sufri Android tras su presentacin fue la de ser slamente "vaporware", o

    una mera "nota de prensa", no tardaron demasiado en aparecer los primeros productos tangibles de la iniciativa: slo siete

    das despus del anuncio oficial, Google liber una versin preliminar de su SDK, consistente en ejemplos de cdigo,

    documentacin, un emulador de dispositivos con Android, diversas herramientas de debug y un plugin de desarrollo para

    Eclipse.

    Al mismo tiempo que lanzaba el SDK, Google impulsaba una importante tarea de construccin de una comunidad

    articulada de evangelistas y desarrolladores: blogs, tutoriales, videos en Youtube que cumplen funciones tanto de creacin

    de marca como pedaggicas. Como gran incentivo para aumentar la masa crtica de desarrolladores necesaria para hacer

    frente a comunidades ms antiguas y numerosas, se cre la Android Developers Challenge que, desde principios de 2008,

    recompensar con 10 millones de dlares a los mejores proyectos para la plataforma, asegurndose as un poblado

    ecosistema de aplicaciones disponibles incluso antes de la aparicin de los primeros dispositivos capaces de ejecutarlas.

    Requisitos

    dijo:

    -Android est hecho en Java+XML, por lo tanto saber se debe saber sobre ambos

    -Java JDK-SDK

    -El mejor IDE para programar para Android es Eclipse (multiplataforma)

    -plugin de Android para Eclipse (ADT).

    Instalando Java JDK

    Como Android est basado en Java, necesitamos tener instalado el Kit de desarrollo de java en la pc. Para ello descargue

    la ltima versin del JDK (versin adecuada a las caractersticas de su sistema operativo).

    Descargar desde el sitio de Oracle

    Usuario de ubuntu :

    dijo:

    sudo aptitude install sun-java6-bin

    adems, si tu mquina es de 64 bits vas a necesitar las libreras de 32 bits ya que el SDK de Android est programado en

    32 bits:

    dijo:

    sudo aptitude install ia32-libs

    Usuario de arch:

    dijo:

    sudo yaourt -S jdk

    Instalando SDK

    Si sos usuario de arch yaourt -S android-sdk y listo

    en ubuntu:

    Descargar Bajamos la versin para linux y descomprimimos.

    supongamos que nos quedo asi.. " /home/{usuario}/Desarrollo/android-sdk-linux_86"

    Preparar Android SDK para la instalacin

    Antes de poder instalar nada tenemos que declarar el path para que el sistema encuentre los ejecutables. Para ello hay

    que editar el fichero .bashrc alojado en tu directorio home:

    Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntupar

    2 de 17 24/08/11 02

  • 8/3/2019 Programar Android Sobre Linux

    3/17

    dijo:

    $ gedit ~/.bashrc

    y agregar al final:

    dijo:

    export PATH=${PATH}:/home/{usuario}/Desarrollo/android-sdk-linux_86/tools

    Reemplazando {usuario} por tu nombre de usuario

    luego podremos lanzarlo desde la terminal tecleando

    dijo:

    android

    Esto har que se abra el manager de Android donde podremos instalar y actualizar el SDK as como crear dispositivos

    virtuales de pruebas, vamos a Available Packages y pulsamos Refresh para que nos aparezca la lista de paquetes que

    podemos instalar. Es importante que NO est seleccionada la casilla Display update only ya que esta primera vez

    queremos instalarlo todo. Seleccionamos todos los paquetes y pulsamos Install Selected.

    Entonces se abrir una nueva ventana para aceptar las licencias de dichos paquetes. Seleccionamos Accept All y

    pulsamos Install Acepted.

    Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntupar

    3 de 17 24/08/11 02

  • 8/3/2019 Programar Android Sobre Linux

    4/17

    Instalar Eclipse

    ubuntu :

    dijo:

    sudo apt-get install eclipse

    arch :

    dijo:

    sudo yaourt -S eclipse

    Instalamos el ADT

    Descargamos dentro de eclipse:

    Help > Install New Software > Add

    Seleccionamos Archive agregamos lo descargado y seguimos > Next > Next > Finish > Reiniciar Eclipse

    Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntupar

    4 de 17 24/08/11 02

  • 8/3/2019 Programar Android Sobre Linux

    5/17

    Luego Windows -> Preferences > Android

    y en SDK Location completamos con

    dijo:

    /home/{usuario}/Desarrollo/android-sdk-linux_86

    ahora nos dirigimos a el sdk:

    Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntupar

    5 de 17 24/08/11 02

  • 8/3/2019 Programar Android Sobre Linux

    6/17

    en el presionamos "New"

    podemos "encenderlo"(Tarda un buen rato en arrancar).

    Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntupar

    6 de 17 24/08/11 02

  • 8/3/2019 Programar Android Sobre Linux

    7/17

    Creando un nuevo proyectoLa mejor forma de conocer un sistema es probndolo asi que vamos a crear el proyecto y por el camino vamos explicando

    cmo funciona Android.

    File -> New -> Other -> Android -> Android Project

    completemos como de esta manera:

    Project name: HolaMundo

    Package name: com.example.holamundo

    Create Activity: HolaMundo

    Application name: Hola Mundo

    Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntupar

    7 de 17 24/08/11 02

  • 8/3/2019 Programar Android Sobre Linux

    8/17

    Aunque he puesto los mismos nombres en los 4 sitios no tiene por qu coincidir, como sabris. El nombre de la aplicacin

    es lo que veris en el mvil, las actividades son los controladores de Android, el nombre del paquete es algo interno y el

    proyecto es lo que veris en Eclipse. Finalizamos y podremos ver el siguiente rbol de archivos

    la estructura:

    dijo:

    /src Aqu se encuentran las actividades (controladores recuerdo), clases y un archivo que se llama R.java.

    Este archivo no se debe tocar nunca, Android lo actualiza automticamente pero si lo veis os encontraris

    con variables y posiciones.

    /Android Library Eclipse referencia al sdk de Android. No movis nunca el sdk de sitio o si lo hacis

    recordad cambiar la direccin

    /assets Aqu se puede incluir archivos varios (msica, pdfs, zips, rars)

    /res/drawable Todas las imgenes van en este directorio

    /res/layout Todas las vistas van aqu

    /res/values En el archivo strings.xml podemos poner variables que luego sustituiremos en las vistas

    AndroidManifest.xml Este archivo es muy importante porque recoge todas las actividades y algunas

    configuraciones del proyecto.

    Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntupar

    8 de 17 24/08/11 02

  • 8/3/2019 Programar Android Sobre Linux

    9/17

    Vamos a ejecutar el proyecto, y para eso damos a Run As y elegimos Android Application. Si instalasteis todo bien saldr

    el emulador, cargando iniciando Android (tarda un poquito). Lo desbloqueamos dando a Men, y ya puedes ver la

    aplicacin ms bsica que se hace en todos los lenguajes, nuestro Hola Mundo.

    Creando Una aplicacin un poco mas interesante

    Ahora vamos a desarrollar un pequeo conversor de temperatura de Celsius a Fahrenheit y viceversa.

    Lo siguiente es una traduccin muy barata del siguiente artculo:

    http://www.vogella.de/articles/Android/article.html

    En el nombre del proyecto aparece "vogella" para no hacer las capturas de pantalla

    nuevamente File -> New -> Other -> Android -> Android Project

    Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntupar

    9 de 17 24/08/11 02

  • 8/3/2019 Programar Android Sobre Linux

    10/17

    Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntupar

    0 de 17 24/08/11 02

  • 8/3/2019 Programar Android Sobre Linux

    11/17

    una vez creado el proyecto nos dirigimos a string.xml ("res/values/string.xml" )

    Presionamos "Add". seleccionamos "Color" en el nombre "myColor" y "#3399CC" de valor.

    y agregamos de manera anloga a los siguientes, todos de tipo String:

    nombrevalor

    buttonHandlermyClickHandlercelsius to Celsius

    fahrenheitto Fahrenheit

    calcCalculate

    nos debera quedar as:

    Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntupar

    1 de 17 24/08/11 02

  • 8/3/2019 Programar Android Sobre Linux

    12/17

    o viendo el cdigo:

    dijo:

    Hello World, Convert!

    Temperature Converter

    #3399CC

    myClickHandler

    to Celsius

    to Fahrenheit

    Calculate

    Vamos a agregar los elementos grficos que nos servirn para la entrada y salida de datos:

    Abrimos "res/layout/main.xml" presionamos en Graphical como bien muestra la imagen:

    Eliminamos el "Hello Word" con el click derecho.

    Agregamos en el diseo de un "EditText" luego "RadioGroup" (Solo sirve para agrupar no es ningun elemento visible) y

    luego dos componentes RadioButton y un "botn".

    El xml les debe quedar si o si de esta manera:

    dijo:

    Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntupar

    2 de 17 24/08/11 02

  • 8/3/2019 Programar Android Sobre Linux

    13/17

    Una vez listo editamos las propiedades de cada elemento,

    En el "EditText" cambiamos

    Layout Width por fill_parent y en Input Type seleccionamos "numberSigned" y "number decimal"

    Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntupar

    3 de 17 24/08/11 02

  • 8/3/2019 Programar Android Sobre Linux

    14/17

    Colocamos "celsius" en la propidad "text" del primer RadioButton y "Fahrenheit" a la segunda. Tambien ponemos en true

    la propiedad "Checked" del primer RadioButton.

    Asignar "calc" en la propiedad de "text" del button y asignar a "buttonHandler" "onClick" .

    Hacemos click en la ventana y editamos "background" colocando "@color/myColor"

    En caso de que no entiendan copien y peguen el codigo en el xml.

    El cdigo les debe quedar de esta forma:

    dijo:

    Ahora abrimos "Convert.java" y copia el siguiente cdigo:

    Lo dejo en pastebin para que se vea mejor: LINK

    dijo:

    package de.vogella.android.temperature;

    import android.app.Activity;

    import android.os.Bundle;

    import android.view.View;

    import android.widget.EditText;

    import android.widget.RadioButton;

    import android.widget.Toast;

    public class Convert extends Activity {

    private EditText text;

    @Override

    public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    text = (EditText) findViewById(R.id.EditText01);

    }

    // This method is called at button click because we assigned the name to the

    // "On Click property" of the button

    Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntupar

    4 de 17 24/08/11 02

  • 8/3/2019 Programar Android Sobre Linux

    15/17

    public void myClickHandler(View view) {

    switch (view.getId()) {

    case R.id.Button01:

    RadioButton celsiusButton = (RadioButton) findViewById(R.id.RadioButton01);

    RadioButton fahrenheitButton = (RadioButton) findViewById(R.id.RadioButton02);

    if (text.getText().length() == 0) {

    Toast.makeText(

    this,

    "Please enter a valid number", Toast.LENGTH_LONG).show();

    return;

    }

    float inputValue = Float.parseFloat(text.getText().toString());

    if (celsiusButton.isChecked()) {

    text.setText(String

    .valueOf(convertFahrenheitToCelcius(inputValue)));

    } else {

    text.setText(String

    .valueOf(convertCelciusToFahrenheit(inputValue)));

    }

    // Switch to the other button

    if (fahrenheitButton.isChecked()) {

    fahrenheitButton.setChecked(false);

    celsiusButton.setChecked(true);

    } else {

    fahrenheitButton.setChecked(true);

    celsiusButton.setChecked(false);

    }

    break;

    }

    }

    // Converts to celcius

    private float convertFahrenheitToCelcius(float fahrenheit) {

    return ((fahrenheit - 32) * 5 / 9);

    }

    // Converts to fahrenheit

    private float convertCelciusToFahrenheit(float celsius) {

    return ((celsius * 9) / 5) + 32;

    }

    }

    Ahora ya esta listo!!! vamos al sdk iniciamos "la maquina/celular virtual" que creamos, esperamos que prenda y

    Run-As-> Android Application

    Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntupar

    5 de 17 24/08/11 02

  • 8/3/2019 Programar Android Sobre Linux

    16/17

    0

    FUENTE1

    FUENTE2

    FUENTE3

    FUENTE4

    Me gusta

    00

    Me gustaMe gusta SeguirSeguir3

    CALIFICACIN8

    SEGUIDORES955VISITAS

    Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntupar

    6 de 17 24/08/11 02

  • 8/3/2019 Programar Android Sobre Linux

    17/17

    Curso online Android Aprende a desarrollar y programar tus aplicaciones. Infrmate aqu!www.estudiosabiertos.es

    Plus500 Software Aces, Forex, Petrleo, Ouro. Conta Demo Gratis. Bnus 25 Gratis www.Plus500.pt

    NetBeans RCP Training with Geertjan Wielenga, also as in-house course or via webinarwww.eppleton.de

    Tienes que ser miembro para responder en este tema

    7 respuestas

    @Abi0kdijo ms de 8 meses:

    Muy buena info

    @facuumunozdijo ms de 8 meses:

    Abi0kdijo:

    Muy buena info

    Gracias ;D

    @pipebuntudijo ms de 8 meses:

    WOOOOAU GRACIAS POR LA INFO...

    @colga1dijo ms de 8 meses:

    Excelent.

    @seban_dijo ms de 4 meses:

    muy bueno

    @blackjaguar2000dijo ms de 2 meses:

    Excelente, me ayudaste muchisimo amigo.

    @matt12stonesdijo ms de 1 mes:

    que buena info la necesitaba

    Ir al cieloBuscar...

    Anunciar Ayuda Protocolo Ideas Reportar bug Contacto Denuncias Report Abuse - DMCA Trminos y condiciones Privacidad de datos

    Desactivar la beta

    Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntupar

    7 de 17 24/08/11 02