Anda di halaman 1dari 17

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

Identificarme Buscar...

Posts Comunidades TOPs Global

Inicio Mis Comunidades Directorio Historial

Comunidades Internet y Tecnología Comunidad GNU/Linux [Tutorial] Desarrollando Aplicaciones para Android en Linux facuumunoz
Anuncios Google
Seguir
Curso online Androidwww.estudiosabiertos.es - Aprende a desarrollar y programar tus aplicaciones. Infórmate aquí!
8
Seguidores

273
Comunidad GNU/Linux Puntos
Si tienes dudas o problemas, o prefieres pasar el tiempo, éste es tu lugar. Un lugar donde todos
Posteador
22
compartimos algo en común: GNU/Linux. "Somos más linuxeros que Torvalds y más barbudos que Temas
Stallman".
Ver más del autor »
Ver más

Unirse Seguir 6,600 10,911 1,238


Miembros Temas Seguidores

MÁS DE 8 MESES 0
0 Me gusta 0

[Tutorial] Desarrollando Aplicaciones para


Android en Linux
Android: qué es?
Últimas respuestas
Android es un sistema operativo inicialmente desarrollado por Android Inc., una firma comprada por Google en el 2005.6
Android está basado en una versión modificada del Kernel de Linux. [Off-Topic] Happy birthday linux

Tiene una gran comunidad de desarrolladores escribiendo aplicaciones para extender la funcionalidad de los dispositivos. [Problema] con videos HD 720p
A la fecha, existen cerca de 100.000 aplicaciones disponibles para Android.12 13 Android Market es la tienda de
[Consulta] Quiero introducirme en este
aplicaciones en línea administrada por Google, aunque existe la posibilidad de obtener software externamente. Los
mundo GNU/LINUX
programas están escritos en Java [Consulta] Quiero introducirme en este
mundo GNU/LINUX
[Consulta] Quiero introducirme en este
mundo GNU/LINUX
Estructura de una aplicación Android [Consulta] Quiero introducirme en este
mundo GNU/LINUX
[Consulta] Quiero introducirme en este
La estructura de una aplicación Android está definida por la interacción de distintos componentes, haciendo énfasis en la mundo GNU/LINUX
[Problema] no puedo instalar ubuntu
"agrupación debil" de distintas piezas. La aplicación hará uso de las distintas APIs expuestas por Android, de forma que 11.04
los componentes encargados de realizar cada tarea puedan ser manipulados o reemplazados sin problemas, asegurando [Consulta] Si pongo Ubuntu saco
Windows?
la máxima flexibilidad. Por ejemplo, una aplicación puede permitir al usuario elegir fotos mediante el componente "Galería" [Consulta] Si pongo Ubuntu saco
o, por ejemplo, reemplazar esa "Galería" por una selección de fotos a través de un servicio online. Los principales Windows?
[Consulta] Quiero introducirme en este
componentes de una aplicación serían:
mundo GNU/LINUX
[Consulta] Quiero introducirme en este
Activity mundo GNU/LINUX
[Consulta] Quiero introducirme en este
Representa cada una de las principales tareas que el usuario puede llevar a cabo en la aplicación. Típica (aunque no mundo GNU/LINUX
necesariamente) corresponderá a una pantalla específica de la aplicación y, también normalmente, una "activity" será el [Consulta] Quiero introducirme en este
mundo GNU/LINUX
punto de entrada (pantalla inicial) de nuestra aplicación. Desde ella se invocarán las vistas, específicas o layouts, para la [Off-Topic] Compartir con google reader
aplicación.
Denunciar - Historial
IntentReceiver
Permite a nuestra aplicación declarar ciertos "callbacks" que responderán a cambios en el estado del terminal. P.ej.
llamada o email recibido, cambio en la geolocalización, etc.
Service
Una tarea que corre en el background y que puede y debe ejecutarse sin interacción con el usuario. Una aplicación 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 propósitos, las aplicaciones necesitan declarar ContentProviders para poner a disposición de otros
procesos los datos que consideren necesarios.

1 de 17 24/08/11 02:12
[Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntuparat...

Estos son algunos de las principales, pero no las únicas piezas de construcción de la aplicación. También es interesante
que se defina como pieza de primer nivel, el sistema de notificaciones en pantalla, que se recomienda como principal vía
de comunicación con el usuario.

La construcción de una comunidad


Aunque algunos de las primeros ataques que sufrió Android tras su presentación fue la de ser sólamente "vaporware", o
una mera "nota de prensa", no tardaron demasiado en aparecer los primeros productos tangibles de la iniciativa: sólo siete
días después del anuncio oficial, Google liberó una versión preliminar de su SDK, consistente en ejemplos de código,
documentación, 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 construcción de una comunidad
articulada de evangelistas y desarrolladores: blogs, tutoriales, videos en Youtube que cumplen funciones tanto de creación
de marca como pedagógicas. Como gran incentivo para aumentar la masa crítica de desarrolladores necesaria para hacer
frente a comunidades más antiguas y numerosas, se creó la Android Developers Challenge que, desde principios de 2008,
recompensará con 10 millones de dólares a los mejores proyectos para la plataforma, asegurándose así un poblado
ecosistema de aplicaciones disponibles incluso antes de la aparición 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 versión del JDK (versión adecuada a las características de su sistema operativo).

Descargar desde el sitio de Oracle


Usuario de ubuntu :

dijo:
sudo aptitude install sun-java6-bin

además, si tu máquina es de 64 bits vas a necesitar las librerías 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 versión para linux y descomprimimos.
supongamos que nos quedo asi.. " /home/{usuario}/Desarrollo/android-sdk-linux_86"
Preparar Android SDK para la instalación
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:

2 de 17 24/08/11 02:12
[Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntuparat...

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.

3 de 17 24/08/11 02:12
[Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntuparat...

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

4 de 17 24/08/11 02:12
[Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntuparat...

Luego Windows -> Preferences > Android

y en SDK Location completamos con

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

ahora nos dirigimos a el sdk:

5 de 17 24/08/11 02:12
[Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntuparat...

en el presionamos "New"

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

6 de 17 24/08/11 02:12
[Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntuparat...

Creando un nuevo proyecto


La mejor forma de conocer un sistema es probándolo asi que vamos a crear el proyecto y por el camino vamos explicando
cómo 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

7 de 17 24/08/11 02:12
[Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntuparat...

Aunque he puesto los mismos nombres en los 4 sitios no tiene por qué coincidir, como sabréis. El nombre de la aplicación
es lo que veréis en el móvil, las actividades son los controladores de Android, el nombre del paquete es algo interno y el
proyecto es lo que veréis 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 automáticamente pero si lo veis os encontraréis
con variables y posiciones.
/Android Library – Eclipse referencia al sdk de Android. No mováis nunca el sdk de sitio o si lo hacéis
recordad cambiar la dirección
/assets – Aquí se puede incluir archivos varios (música, pdfs, zips, rars)
/res/drawable – Todas las imágenes 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.

8 de 17 24/08/11 02:12
[Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntuparat...

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
aplicación más básica que se hace en todos los lenguajes, nuestro Hola Mundo.

Creando Una aplicación un poco mas interesante


Ahora vamos a desarrollar un pequeño conversor de temperatura de Celsius a Fahrenheit y viceversa.

Lo siguiente es una traducción muy barata del siguiente artículo:


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

9 de 17 24/08/11 02:12
[Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntuparat...

10 de 17 24/08/11 02:12
[Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntuparat...

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 análoga a los siguientes, todos de tipo String:


nombre valor
buttonHandler myClickHandler
celsius to Celsius
fahrenheit to Fahrenheit
calc Calculate

nos debería quedar así:

11 de 17 24/08/11 02:12
[Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntuparat...

o viendo el código:

dijo:

<?xml version="1.0" encoding="utf-8"?>


<resources>
<string name="hello">Hello World, Convert!</string>
<string name="app_name">Temperature Converter</string>
<color name="myColor">#3399CC</color>
<string name="buttonHandler">myClickHandler</string>
<string name="celsius">to Celsius</string>
<string name="fahrenheit">to Fahrenheit</string>
<string name="calc">Calculate</string>
</resources>

Vamos a agregar los elementos gráficos que nos servirán 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 diseño de un "EditText" luego "RadioGroup" (Solo sirve para agrupar no es ningun elemento visible) y
luego dos componentes RadioButton y un "botón".

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

dijo:

<?xml version="1.0" encoding="utf-8"?>

12 de 17 24/08/11 02:12
[Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntuparat...

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">

<EditText android:text="@+id/EditText01" android:id="@+id/EditText01"


android:layout_width="wrap_content" android:layout_height="wrap_content"></EditText>
<RadioGroup android:id="@+id/RadioGroup01"
android:layout_width="wrap_content" android:layout_height="wrap_content">
<RadioButton android:text="@+id/RadioButton01" android:id="@+id/RadioButton01"
android:layout_width="wrap_content" android:layout_height="wrap_content"></RadioButton>
<RadioButton android:text="@+id/RadioButton02" android:id="@+id/RadioButton02"
android:layout_width="wrap_content" android:layout_height="wrap_content"></RadioButton>
</RadioGroup>
<Button android:text="@+id/Button01" android:id="@+id/Button01"
android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
</LinearLayout>

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"

13 de 17 24/08/11 02:12
[Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntuparat...

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 código les debe quedar de esta forma:

dijo:

<?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"
android:background="@color/myColor">

<EditText android:id="@+id/EditText01" android:layout_height="wrap_content"


android:layout_width="fill_parent" android:inputType="numberSigned|numberDecimal"></EditText>
<RadioGroup android:id="@+id/RadioGroup01"
android:layout_width="wrap_content" android:layout_height="wrap_content">
<RadioButton android:id="@+id/RadioButton01"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/celsius"
android:checked="true"></RadioButton>
<RadioButton android:id="@+id/RadioButton02"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="@string/fahrenheit"></RadioButton>
</RadioGroup>
<Button android:id="@+id/Button01"
android:layout_height="wrap_content" android:onClick="@string/buttonHandler"
android:layout_width="wrap_content" android:text="@string/calc"></Button>
</LinearLayout>

Ahora abrimos "Convert.java" y copia el siguiente código:


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

14 de 17 24/08/11 02:12
[Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntuparat...

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

15 de 17 24/08/11 02:12
[Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntuparat...

FUENTE1
FUENTE2
FUENTE3
FUENTE4

0 0 0

Me gusta

Me gusta
955 8 3
Seguir
VISITAS SEGUIDORES CALIFICACIÓN

16 de 17 24/08/11 02:12
[Tutorial] Desarrollando Aplicaciones para Androi... http://www.taringa.net/comunidades/ubuntuparat...

Curso online Android Aprende a desarrollar y programar tus aplicaciones. Infórmate aquí! www.estudiosabiertos.es
Plus500® Software Acções, Forex, Petróleo, Ouro. Conta Demo Gratis. Bónus €25 Gratis www.Plus500.pt
NetBeans RCP Training with Geertjan Wielenga, also as in-house course or via webinar www.eppleton.de

7 respuestas
@Abi0k dijo más de 8 meses:

Muy buena info

@facuumunoz dijo más de 8 meses:

Abi0k dijo:
Muy buena info

Gracias ;D

@pipebuntu dijo más de 8 meses:

WOOOOAU GRACIAS POR LA INFO...

@colga1 dijo más de 8 meses:

Excelent.

@seban_ dijo más de 4 meses:

muy bueno

@blackjaguar2000 dijo más de 2 meses:

Excelente, me ayudaste muchisimo amigo.

@matt12stones dijo más de 1 mes:

que buena info la necesitaba

Tienes que ser miembro para responder en este tema

Ir al cielo
Buscar...

Anunciar Ayuda Protocolo Ideas Reportar bug Contacto Denuncias Report Abuse - DMCA Términos y condiciones Privacidad de datos
Desactivar la beta

17 de 17 24/08/11 02:12

Anda mungkin juga menyukai