miércoles, 29 de diciembre de 2010

APP INVENTOR

Bueno vamos a seguir uno de los tutoriales que nos recomienda google desde appinventor.Un juego llamado el topo donde tenemos que ir pinchando el topo cuando salga en nuestra pantalla.
Para empezar necesitamos una cuenta de @gmail para poder registrarnos en su pagina aqui,debemos saber que no es un programa que se descarga lo haremos online desde su pagina.
Bueno una vez registrados accedemos a nuestros proyectos y creamos uno nuevo,nos pedira un nombre para el proyecto,esta vez pondremos topo.Nos deberia salir una pantalla como esta:




Ahora solo tenemos que arrastrar al dibujo del movil los controles que deseamos,necesitaremos un label,lo pondremos arriba del todo ,en el panel de la izquierda ya podemos ponerle nombre ,puntuacion por ejemplo.Un canvas,sera la zona donde se desplaze el topo en el panel de la derecha le damos tamaño  width y height pondremos 300 pixeles a cada uno para que nos llene la pantalla mas o menos  ,tambien nos hara falta una imagen de un topo aqui,un boton lo pondremos debajo del canvas y un temporizador a y un control de sonido que no son visibles i quedarian fuera de la imagen del movil algo asi:

Como veis a cada control le e puesto un nombre para despues aclararme mejor.
Bueno ya tenemos la primera parte aclarada ahora solo nos queda encajar las piezas,presionamos el boton Open the blocks editor y se nos descargara un programa,nos preguntara si queremos conectar un movil(con android)claro o si no disponemos podemos usar el emulador que nos propone,seria algo como esto:

Esto seria para montar nuestros puzzles y nuestro emulador para provar la aplicacion.
Empezamos con el movimiento del topo,vamos a definiciones y arrastramos un bloque de procedimiento le podemos cambiar el nombre para saber que es ,buscamos topo.x y topo.y ,lo llevamos dentro del procedimiento ahora  tenemos que crear un valor para mover el topo con la fraccion,multiplicacion y resta ,que encontraremos en la pestaña math,para que lo veais mejor:

ahora definiremos que el marcador siempre empieze a cero y despues otro para actualizarlo.
El siguiente paso es conectar el movimiento del topo al reloj,de nuestros bloques arrastramos un clock1.timer y dentro introducimos una llamada a mover el topo(movemole):
Ahora incorporaremos un controlador tactil para actualizar las puntuaciones,mover el topo y que vibre el movil:

 Ya solo nos quedara el boton reset que haremos una llamada a actualizar marcador y se ponga a cero el proyecto nos quedaria asi:

Y con esto creo que no deberia funcionar.





lunes, 20 de diciembre de 2010

APPINVENTOR

Proximamente empezaremos a practicar con appinventor para los que no sabemos mucho de codigo de programacion.

COMO SE HACE

Ya estoy aqui de nuevo ,bueno para hacer aplicaciones para nuestro telefono,hay varias opciones las mas empleadas son eclipse y el nuevo appinventor.
Para los que sabeis de programacion seguramente usareis eclipse para poder hacer vuestra aplicacion,pero para los que no sabemos google a sacado una aplicacion llamada appinventor,es como un sistema de puzzles donde tenemos que ir encajando piezas para crear nuestra aplicacion.

Hoy veremos como empezar a usar eclipse y hacer un programa basico llamado hola mundo.

Lo primero, descarga e instala eclipse, que puedes descargar desde su pagina web
 Se me olvidaba lo primero necesitais instalar el entorno java enlace para que funcione eclipse.

Despues instalar plugin en eclipse: Ir al menu Help/Software Updates aparecerá una ventana ir a la pestaña Avaliable Updates, Add site y añadir la siguiente dirección: https://dl-ssl.google.com/android/eclipse/
Una vez añadida la url selecciona Developer Tools y instalar.
 Añadir la ruta del SDK en eclipse: Ir al menu Window/Preferences y en la ventana que aparecerá, apartado Android añadir la ruta.
Con esto ya deberiamos poder hacer nuestra primera aplicacion.

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.

Una vez instalado el plugin, creamos el nuevo proyecto de Android (File > New > Project > Android Project). Damos a siguiente:

  • Project name: HolaMundo
  • Package name: com.example.holamundo
  • Create Activity: HolaMundo
  • Application name: Hola Mundo
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


Voy a explicar la estructura:
  • /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.

Antes de seguir 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.

Si quieres puedes investigar los programas que trae el emulador, está bastante bien conseguido; aunque para mi gusto faltan varios detalles como girar el teléfono en posición horizontal. A continuación veremos cómo ha funcionado el programa.

Entendiendo el Hola Mundo

Gracias al plugin de Android, no hemos programado nada y ya tenemos el programa básico. Pero como hemos visto antes en la estructura, se han creado unos cuantos archivos. Vamos a ir paso a paso por cada uno de ellos.

01// AndroidManifest.xml
02<?xml version="1.0" encoding="utf-8"?>
03<manifest xmlns:android="http://schemas.android.com/apk/res/android"
04      package="com.example.holamundo"
05      android:versionCode="1"
06      android:versionName="1.0.0">
07    <application android:icon="@drawable/icon" android:label="@string/app_name">
08        <activity android:name=".HolaMundo"
09                  android:label="@string/app_name">
10            <intent-filter>
11                <action android:name="android.intent.action.MAIN" />
12                <category android:name="android.intent.category.LAUNCHER" />
13            </intent-filter>
14        </activity>
15    </application>
16</manifest>
Supongo que estaréis familiarizados con xml, si no, no os preocupéis, es muy fácil de entender. Podemos ver como crea un manifesto con el paquete y la versión de Android. Contiene la aplicación que hemos creado. android:icon="@drawable/icon" coge la imagen llamada icon.png del directorio /res/drawables y la asigna como icono. Esto es lo que véis en el menú de aplicaciones. Lo mismo sucede con android:label="@string/app_name", sustituye la variable app_name por su valor en el archivo:

1// res/values/strings.xml
2<?xml version="1.0" encoding="utf-8"?>
3<resources>
4    <string name="hello">Hello World, HolaMundo</string>
5    <string name="app_name">Hola Mundo</string>
6</resources>
Volviendo a AndroidManifest.xml, vemos que dentro de application se encuentra la actividad principal android:name=".HolaMundo", que corresponde con un punto más el nombre de la clase java en src/com.example.holamundo. El resto son detalles más profundos. Asi que Android ejecuta esa clase, vamos a verla:

01// src/com.example.holamundo/HolaMundo.java
02package com.example.holamundo;
03  
04import android.app.Activity;
05import android.os.Bundle;
06  
07public class HolaMundo extends Activity {
08    /** Called when the activity is first created. */
09    @Override
10    public void onCreate(Bundle savedInstanceState) {
11      // Inicializa la actividad
12        super.onCreate(savedInstanceState);
13      // Asignamos la vista
14        setContentView(R.layout.main);
15    }
16}
Crea una actividad llamada HolaMundo con un único método que sobreescribe al de la clase que extiende. Vemos como setContentView pasa como parámetro R.layout.main que representa a /res/layout/main.xml. Pero como dije antes, todo las referencias a archivos y variables pasan por la clase R.java que Android se encarga de ajustar automáticamente. Veamos la vista

01// res/layout/main.xml
02<?xml version="1.0" encoding="utf-8"?>
03<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
04    android:orientation="vertical"
05    android:layout_width="fill_parent"
06    android:layout_height="fill_parent"
07    >
08<TextView
09    android:layout_width="fill_parent"
10    android:layout_height="wrap_content"
11    android:text="@string/hello"
12    />
13</LinearLayout>
01// res/layout/main.xml
02<?xml version="1.0" encoding="utf-8"?>
03<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
04    android:orientation="vertical"
05    android:layout_width="fill_parent"
06    android:layout_height="fill_parent"
07    >
08<TextView
09    android:layout_width="fill_parent"
10    android:layout_height="wrap_content"
11    android:text="@string/hello"
12    />
13</LinearLayout>
Como podéis ver vuelve a ser un xml y es que Google ha elegido usar xml para representar las vistas. LinearLayout es un tipo de layout que muestra los elementos uno debajo de otro. Tiene orientación vertical y ocupa toda la pantalla tanto a lo alto como a lo ancho.
Dentro podemos ver un campo de texto (TextView) cuyo texto se encuentra en el archivo strings.xml visto antes.

Finalizando

Hemos visto paso por paso lo que hace Android para ejecutar un sencillo Hola Mundo. Lo importante es:
  • AndroidManifest.xml contiene todas las actividades indicando cuál se ejecuta primero.
  • Todas las actividades y clases se encuentran en src. La actividad HolaMundo usa el layout main.xml
  • Todos los layouts están en res/layout. Se programan en xml siguiendo las etiquetas del SDK de Android.
  • En cualquier sitio podemos referenciar a variables del fichero strings.xml. Esto es muy útil para aplicaciones en varios idiomas.
Sacado de maestrosdelweb


¿QUE ES?

Android es un sistema operativo inicialmente desarrollado por Android Inc., una firma comprada por Google en el 2005. Android está basado en una versión modificada del Kernel de Linux. Es participe de la Open Handset Alliance. Las unidades vendidas de teléfonos inteligentes con Android se ubican en el primer puesto en los Estados Unidos, en el segundo y tercer cuarto del 2010, con una cuota de mercado de 43,6 % en el tercer trimestre.
Android 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. Android Market es la tienda de aplicaciones en línea administrada por Google, aunque existe la posibilidad de obtener software externamente. Los programas están escritos en Java.
El anuncio del sistema Android se realizó el 5 de noviembre de 2007 junto con la creación de la Open Handset Alliance, un consorcio de 78 compañías de hardware, software y telecomunicaciones dedicadas al desarrollo de estándares abiertos para dispositivos móviles. Google liberó la mayoría del código de Android bajo la Licencia Apache, una licencia libre y de código abierto. Actualmente Android posee más del 25% de cuota de mercado a escala mundial de los smartphones, el segundo detrás de symbian

Fuente wikipedia
Hola a todos acabo de abrir este blog para ir informando del tema android,iremos aprendiendo a crear aplicaciones android (yo incluido)