martes, 31 de marzo de 2015

Creando Menu en nuestra Aplicacion


En la sesion anterior les enseñamos la manera de crear una sencilla aplicacion que muestre en la pantalla de nuestro dispositivo una linea de texto

Esta vez mejoraremos esa aplicacion añadiendo un menu y algunas cosas adicionales


@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();

if (id == R.id.action_settings) {
//Aqui añadiremos codigo
return true;
}
return super.onOptionsItemSelected(item);

}

Esta sentencias crea nuestro menu en nuestra aplicacion de ejemplo, ahora explicaremos con mas detalle

El primer metodo onCreateOptionMenu, nos sirvirar para llamar al xml donde se encuentra el menu de nuestra aplicacion

Aqui el codigo del XML del menu



Aqui podemos apreciar que cada item es una opcion del menu, y el titulo usa la syntax @string/action_act1 y  @string/action_act2. Esto significa que la descripcion del menu se encuentra en el archivo String.xml, esto se utiliza mucho para tener mayor orden de nuestros textos y para internacionalizacion de nuestras aplicaciones, en futuras lecciones hablaremos con mas detalle sobre internacionalizacion usando el String.xml



A continuacion podemos ver como debe ser la estructura de archivos xmls dentro de nuestro proyecto

Ahora tambien vemos la etiqueta app:showAsAction = "never", esto es la syntax por default paa mostrar las opciones del menu de esta manera como vemos en la siguiente imagen




Ahora para cada opcion del menu debe ejecutar algunas lineas de codigo

@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_menu1) {
//Aqui añadiremos codigo
return true;
}
else if (id == R.id.action_menu2) {
//Aqui añadiremos codigo
return true;
}
return super.onOptionsItemSelected(item);
}

En este ejemplo cuando llamamos a "Llamar Activity1" , debemos introducir codigo en la siguiente parte


if (id == R.id.action_menu1) {
//Aqui añadiremos codigo
return true;
}

Si queremos llamar a otro activity desde el menu1, entonces el codigo quedaria de esta manera

if (id == R.id.action_menu1) {
//Aqui añadiremos codigo
Intent intent = new Intent(this, MainActivity2.class);
startActivity(intent);
return true;

}

La sentencia startActivity la usamos para ejecutar otro screen, en este caso MainActivity2.java

Ahora si queremos mostrar el menus con otro look podemos cambiar
app:showAsAction = "never" por  app:showAsAction="always", y veremos el menu de esta manera como muestra la imagen


De esta manera ya tenemos nuestro menu de otra manera, en la proxima sesion hablaremos mas sobre los layouts y algunos de los controles UI mas usados, asi como otros temas

Mi Primera Android Aplicación


1. Creacion del Activity

Activity es la clase donde pondremos la logica de la aplicacion compuesta por codigo java, se podria decir que si una aplicacion tiene 6 pantallas, cada pantalla podria ser un activity, dentro del activity nosotros podemos llamar a los archivos XML (layout) donde pondremos cada uno de los controles de la pantalla como Botones (Buttons), Cajas de Texto (EditText), Labels (TextView), etc

Hay Varios tipos de Activities, mas adelanto detallaremos cada uno de ellos
Ejemplo de un Activity

package com.example.david.toledos;

import android.support.v7.app.ActionBarActivity;

import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends ActionBarActivity {


@Override

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}

Este es un Activity de tipo ActionBar , tambien podriamos tener una activity de esta manera

package com.example.david.toledos;

import android.Activity;

import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends Activity {


@Override

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}

La clase MainActivity sera la primera en ser llamada y esta muestra en la pantalla del dispositivo android el layout R.layout.activity_main, que en lineas abajos detallaremos

El Siguiente paso es la creacion del layout, donde pondremos todos los controles que tendra el UI


Este es un ejemplo de UI, Aqui estamos usando un RelativeLayout, mas adelante explicaremos acerca de su uso, dentro del RelativeLayour tenemos un TextView, que nos mostrara el texto "Hola es mi primera aplicacion android" en la pantalla de nuestro dispositivo android





El Siguiente paso es declarar la clase Activity en el AndroidManifest.xml

Este es un ejemplo:



       

Aqui definimos nuestro Activity principal que sera el primero en ser llamado de esta manera
  

           
Aqui tenemos tambien un activity secundario llamado MainActivity2, si pueden apreciar no tiene el intent-filter de Main y Launcher.

Aqui muestra como quedaria nuestra pantalla, en la parte izquierda vemos un menu, en la siguiente clase le enseñaremos como crear un menu




lunes, 30 de marzo de 2015

Primeros Pasos

Primeros Pasos

1. Instalar SDK Android 

    http://developer.android.com/sdk/index.html

2. Instalar JDK

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html?ssSourceSiteId=otnes

3. Instalar algun IDE, como Android Studio o Eclipse

4. Instalar los drivers USB del device a utilizar en las pruebas

Acerca del Blog


Acerca del Blog

Este blog tiene como fin poder enseñar algunos conocimientos acerca de crear aplicaciones en la plataforma Android

En los siguientes dias ire agregando sesiones de clases de Android de nivel basico hasta avanzado