manual de app

71
1 CECYTEM Nombre: Lorna Valeria Lerate Gutiérrez Materia: Aplicaciones Móviles Manual de Aplicaciones Móviles Profesor: René Domínguez Escalona

Upload: valeria-lg

Post on 16-Aug-2015

43 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: Manual de App

1

CECYTEM

Nombre: Lorna Valeria Lerate Gutiérrez

Materia: Aplicaciones Móviles

Manual de Aplicaciones Móviles

Profesor: René Domínguez Escalona

Grupo: 403

Page 2: Manual de App

2

ÍndiceHola mundo……………………………………………………………………………04

Operaciones……………………………………………………………………………05

IMC

Factorial

Asteriscos

Album…………………………………………………………………………………..08

All App

ColorHEX………………………………………………………………………………12

RebosoDroid

Calcular Edad………………………………………………………………………….17

Phonegap………………………………………………………………………………

BD insertarm eliminar, modificar y consultar……………………………………….

ListaView……………………………………………………………………………….27

Menú……………………………………………………………………………………29

TabHost…………………………………………………………………………………31

Acelerometro……………………………………………………………………………34

Canvas

Gato

Calculadora

Sonidos Animales

VideoView……………………………………………………………………………….37

Giroscopio

Notificaciones…………………………………………………………………………… 38

Page 3: Manual de App

3

ToggleButton…………………………………………………………………………39

CheckBox…………………………………………………………………………….42

RadioButton…………………………………………………………………………..44

ProgressBar…………………………………………………………………………..47

Spinner……………………………………………………………………………….50

WebView……………………………………………………………………………..55

TimePicker……………………………………………………………………………56

DatePicker……………………………………………………………………………

Page 4: Manual de App

4

Hola mundo

Aquí empieza nuestra app que es la de HolaMundo en esta parte simplemente vamos a crear la interfaz , empezando con lo que ya sabemos, el diseño que nosotros le queramos dar, le podemos poder color o imagen de fondo con esta parte.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:background="#7fc9d2" tools:context=".MainActivity" >

<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" />

</RelativeLayout>

Este es nuestro código java.package valeria.holamundoo;

Aqui tenemos nuestras librerias.import android.os.Bundle;import android.app.Activity;import android.view.Menu;

Aqui declaramos la clase.public class MainActivity extends Activity {

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

@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; } }

Page 5: Manual de App

5

Operaciones:

Esta es nuestra interfaz de nuestra apliacion, que en este caso va a calcular el resultado de dos números, aquí vamos a preparar el diseño de la aplicación.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#000000" android:orientation="vertical" >

Aqui vamos a poner un EditText, que nor sirve para poder poner los numeros que queremos calcular,

<EditText android:id="@+id/num" android:layout_width="match_parent" android:layout_height="50dp" android:layout_margin="10dp" android:background="#FFFFFF" android:hint = "numero 1" android:maxLength="10" android:numeric = "decimal" android:textColor="#00CC00" android:textStyle="bold" />

<EditText android:id="@+id/numd" android:layout_width="match_parent" android:layout_height="50dp" android:layout_margin="10dp" android:background="#FFFFFF" android:hint = "numero 2" android:maxLength="10" android:numeric = "decimal" android:textColor="#00CC00" android:textStyle="bold" />

<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" >

Aqui vamos a poner las partes de los botones, el cual va a ser el que dira “calcular” y el otro nos ayudara a borrar los datos puestos anteriormente.

<Button android:id="@+id/cal" android:layout_width="match_parent" android:layout_height="50dp" android:layout_margin="10dp" android:layout_weight="1"

Page 6: Manual de App

6

android:background="#00CC00" android:text="calcular" android:textStyle="bold" />

<Button android:id="@+id/bor" android:layout_width="match_parent" android:layout_height="50dp" android:layout_margin="10dp" android:layout_weight="1" android:background="#00CC00" android:text = "borrar" android:textStyle="bold" /> </LinearLayout>

En esta parte vamos a imprimir el resultado de la operacion que queremos calcular, este nos lo mostrara.

<TextView android:id="@+id/res" android:layout_width="match_parent" android:layout_height = "102dp" android:layout_margin="10dp" android:layout_weight="0.37" android:background="#FFFFFF" android:text = "resultado" android:textStyle="bold" />

</LinearLayout>

Este es nuestro código en java.

package valeria.operaciones;

Estas son nuestras librerias que vamos a utilizar para las siguientes funciones. import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.*;import android.app.Activity;

Aqui vamos declarar nuestra clase.public class ActivityMain extends Activity implements OnClickListener{

En esta parte vamos a declarar nuestras variables, de tal manera como las pusimos en nuestro codigo xml, como podremos notar usamos EditText, TextView y Button, que son los que usamos para nuestra interfaz grafica. EditText edtnumerouno, edtnumerodos;

TextView txtresultado; Button btncalcular, btnborrar;

@Override protected void onCreate(Bundle savedInstanceState) {

Page 7: Manual de App

7

super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);

Aqui vamos a ligar nuestras variables, es decir nuestras variables con las del codigo xml el cual deben ser las mismas, vamos a poner su function. edtnumerouno=(EditText) findViewById(R.id.num); edtnumerodos=(EditText) findViewById(R.id.numd); txtresultado=(TextView) findViewById(R.id.res); btncalcular=(Button) findViewById(R.id.cal); btnborrar=(Button) findViewById(R.id.bor); btncalcular.setOnClickListener(this); btnborrar.setOnClickListener(this); }

@Override

Esta parte se podria decir que es la más importante, ya que aqui vamos a poner lo que queremos que nuestra aplicación haga, en este caso vamos a calcular dos números, para esto usamos un switch. public void onClick(View v) {

switch(v.getId()){ case R.id.cal: String u=edtnumerouno.getText().toString(); String g=edtnumerodos.getText().toString();

Aqui vamos a poner a poner para que se haga la operacion que queramos dependiendo lo que querramos que haga.

if(!u.equals("") && !g.equals("")){ double uno=Double.parseDouble(edtnumerouno.getText().toString()); double dos=Double.parseDouble(edtnumerodos.getText().toString()); if(uno<dos){

Aquí vamos a poner la función que hara que se imprima nuestro resultado de la operación.

Page 8: Manual de App

8

txtresultado.setText("la suma es: "+(dos+uno)+"\n la resta es: "+(dos-uno)+"\n la multiplicacion es:"+(dos*uno)+"\n La division es: "+(dos/uno)); break;}} case R.id.bor: edtnumerouno.setText(""); edtnumerodos.setText(""); txtresultado.setText(""); break;Con el break es con el que vamos a cerrar nuestro switch para terminar con las condiciones.

} }}

Álbum:

Aquí empieza nuestro código xml que prácticamente viene siendo nuestra interfaz grafica, osea, el diseño que nosotros se queremos dar a nuestra aplicacion

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

Aqui vamos a meter las imagenes que queramos que aparezcan, las vamos a meter en la carpeta que está en res, luego drawable-mdpi y en esa carpeta las meteremos y las vamos a declarar de la siguiente manera.

< ImageView android:id="@+id/imagen1" android:layout_width="match_parent" android:layout_height="200dp" android:src="@drawable/a" />

< HorizontalScrollView android:layout_width="match_parent"

Page 9: Manual de App

9

android:layout_height="100sp" >

< LinearLayout android:layout_width = "match_parent" android:layout_height="wrap_content" android:orientation="horizontal" />

< ImageView android:id="@+id/imagen2" android:layout_width="100sp" android:layout_height="100sp" android:src="@drawable/b" />

< ImageView android:id="@+id/imagen3" android:layout_width="100sp" android:layout_height="100sp" android:src="@drawable/c" />

< ImageView android:id="@+id/imagen4" android:layout_width="100sp" android:layout_height="100sp" android:src="@drawable/d" />

< ImageView android:id="@+id/imagen5" android:layout_width="100sp" android:layout_height="100sp" android:src="@drawable/e" />

< ImageView android:id="@+id/imagen6" android:layout_width="100sp" android:layout_height="100sp" android:src="@drawable/f" />

< ImageView android:id="@+id/imagen7" android:layout_width="100sp" android:layout_height="100sp" android:src="@drawable/g" />

< ImageView android:id="@+id/imagen8" android:layout_width="100sp" android:layout_height="100sp" android:src="@drawable/h" />

< ImageView android:id="@+id/imagen9" android:layout_width="100sp" android:layout_height="100sp" android:src="@drawable/i" />

Page 10: Manual de App

10

< ImageView android:id="@+id/imagen10" android:layout_width="100sp" android:layout_height="100sp" android:src="@drawable/j" /> </HorizontalScrollView>

Aqui solo vamos a poner un boton para mostrar el texto cada que cambiemos el wallpaper, y es el siguiente.

<Button android:id="@+id/cambiar" android:layout_width="match_parent" android:layout_height="70sp" android:text = "Cambiar wallpaper" />

</LinearLayout>

Este es nuestro código de java.

package valeria.album;

Aquí están nuestras librerías que utilizaremos.

import android.os.Bundle;import android.app.Activity;import android.app.WallpaperManager;import android.view.View;import android.view.View.OnClickListener;import android.widget.*;

Aqui vamos a declarar la clase.public class MainActivity extends Activity implements OnClickListener{

En esta parte vamos adeclarar nuestra variables de las imagenes que metimos en nuesto codigo xml, asi como el botón que incorporamos.

ImageView image,image1, image2, image3, image4, image5, image6, image7, image8, image9,image10;

Button btn;int fondo;

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

Aqui vamos a declarar la función que tendrán nuestras variables, asi como se ve a continuación:

image1=(ImageView) findViewById (R.id.imagen1); image2=(ImageView) findViewById (R.id.imagen2); image3=(ImageView) findViewById (R.id.imagen3); image4=(ImageView) findViewById (R.id.imagen4); image5=(ImageView) findViewById (R.id.imagen5); image6=(ImageView) findViewById (R.id.imagen6); image7=(ImageView) findViewById (R.id.imagen7); image8=(ImageView) findViewById (R.id.imagen8);

Page 11: Manual de App

11

image9=(ImageView) findViewById (R.id.imagen9); image10=(ImageView) findViewById (R.id.imagen10); btn=(Button) findViewById (R.id.cambiar); Esta parte es importante, en esta nos ayuda a cambiar el wallpaper, es decir cuando nosotros tocamos la imagen, esa imagen es la que se pondrá de wallpapel. image1.setOnClickListener(this); image2.setOnClickListener(this); image3.setOnClickListener(this); image4.setOnClickListener(this); image5.setOnClickListener(this); image6.setOnClickListener(this); image7.setOnClickListener(this); image8.setOnClickListener(this); image9.setOnClickListener(this); image10.setOnClickListener(this); btn.setOnClickListener(this); }

@Overridepublic void onClick(View v) {

En esta usamos un switch para los casos diferentes, es decir cada imagen es un caso diferente y aqui le damos su funcion,

switch (v.getId()){case R.id.imagen1:

image1.setImageResource(R.drawable.a); fondo = R.drawable.a;

break;case R.id.imagen2:

image2.setImageResource(R.drawable.b);fondo = R.drawable.b;break;

case R.id.imagen3:image3.setImageResource(R.drawable.c);fondo = R.drawable.c;break;

case R.id.imagen4:image4.setImageResource(R.drawable.d);fondo = R.drawable.d;break;

case R.id.imagen5:image5.setImageResource(R.drawable.e);fondo = R.drawable.e;break;

case R.id.imagen6:image6.setImageResource(R.drawable.f);fondo = R.drawable.f;break;

case R.id.imagen7:image7.setImageResource(R.drawable.g);fondo = R.drawable.g;break;

case R.id.imagen8:image8.setImageResource(R.drawable.h);

Page 12: Manual de App

12

fondo = R.drawable.h;break;

case R.id.imagen9:image9.setImageResource(R.drawable.i);fondo = R.drawable.i;break;

case R.id.imagen10:image10.setImageResource(R.drawable.j);fondo = R.drawable.j;break;

case R.id.cambiar:WallpaperManager

mywp=WallpaperManager.getInstance(getApplicationContext());try{

mywp.setResource(fondo);}catch(Exception e){

e.printStackTrace();}

En esta parte solo vamos a incorporar un mensaje para que cada que nosotros cambiemos el wallpaper este mensaje se muestre en pantalla, aqui lo pusimos con un “Toast.LENGTH_LONG” que nos sirve para que visualización del mensaje sea corto.

Toast.makeText(this, "Se a Cambiado el Wallpaper", Toast.LENGTH_LONG).show();

break;

}}

}

ColorHEX:

Aqui empieza nuestro codigo para el ColorHEX en xml, como ya sabemos aquí creamos nuestra interfaz grafica que es el diseño se nuestra aplicación,

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

<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" >

En esta parte vamos a poner lo que queremos que aparezca en nuestros TextView asi como aparece:

<TextView android:id="@+id/red" android:layout_width="match_parent" android:layout_height="wrap_content"

Page 13: Manual de App

13

android:layout_margin="5sp" android:layout_weight="1" android:fontFamily="Arial" android:gravity="center" android:text = "Rojo" android:textSize="25sp" />

<TextView android:id="@+id/vrojo " android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5sp" android:layout_weight="1" android:fontFamily="Arial" android:gravity="center" android:text = "R:" android:textSize="25sp" /> </LinearLayout>

<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" >

Esta funcion es para poder encontrar el codigo del color que estamos buscando, le podemos aumentar o disminuir segun el color, se declara como se muestra a continuación:

<SeekBar android:id="@+id/rojo" android:layout_width = "match_parent" android:layout_height="wrap_content" android:layout_margin="5sp" android:layout_weight="1" android:gravity="center" android:indeterminate="false" android:max="255" android:progress="1" /> </LinearLayout>

<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" >

En esta parte vamos a poner lo que queremos que aparezca en nuestros TextView asi como aparece:

<TextView android:id="@+id/green" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5sp" android:layout_weight="1" android:fontFamily="Arial"

Page 14: Manual de App

14

android:gravity="center" android:text = "Verde" android:textSize="25sp" />

<TextView android:id="@+id/vverde" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5sp" android:layout_weight="1" android:fontFamily="Arial" android:gravity="center" android:text = "V:" android:textSize="25sp" /> </LinearLayout>

<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" >Esta funcion es para poder encontrar el codigo del color que estamos buscando, le podemos aumentar o disminuir segun el color, se declara como se muestra a continuación:

<SeekBar android:id="@+id/verde" android:layout_width = "match_parent" android:layout_height="wrap_content" android:layout_margin="5sp" android:layout_weight="1" android:gravity="center" android:indeterminate="false" android:max="255" android:progress="1" /> </LinearLayout>

<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" >

En esta parte vamos a poner lo que queremos que aparezca en nuestros TextView asi como aparece:

<TextView android:id="@+id/blue" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5sp" android:layout_weight="1" android:fontFamily="Arial" android:gravity="center" android:text = "Azul" android:textSize="25sp" />

<TextView

Page 15: Manual de App

15

android:id="@+id/vazul" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5sp" android:layout_weight="1" android:fontFamily="Arial" android:gravity="center" android:text = "A:" android:textSize="25sp" /> </LinearLayout>

<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" >

Esta funcion es para poder encontrar el codigo del color que estamos buscando, le podemos aumentar o disminuir segun el color, se declara como se muestra a continuación:

<SeekBar android:id="@+id/azul" android:layout_width = "match_parent" android:layout_height="wrap_content" android:layout_margin="5sp" android:layout_weight="1" android:gravity="center" android:indeterminate="false" android:max="255" android:progress="1" /> </LinearLayout>

En esta parte vamos a poner lo que queremos que aparezca en nuestros TextView asi como aparece:

<TextView android:id="@+id/hex" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5sp" android:fontFamily="Arial" android:gravity="center" android:text = "Hexadecimal:" android:textSize="25sp" />

<TextView android:id="@+id/color" android:layout_width="match_parent" android:layout_height = "match_parent" android:layout_margin="10sp" android:layout_weight="1" android:background="#cccccc" android:fontFamily="Arial" android:gravity="center" android:text = "Color" android:textSize="65sp" />

Page 16: Manual de App

16

</LinearLayout>

Este es nuestro código en java:

package valeria.colorhex;

Estas son nuestras librerias.

import android.os.Bundle;import android.widget.*;import android.app.Activity;

Vamos a declarar la clase.

public class MainActivity extends Activity implements SeekBar.OnSeekBarChangeListener {

Aquí vamos a declarar nuestras variables que utilizamos en el código xml, asi como todo lo que utilizamos.

SeekBar rojo, verde, azul;TextView vrojo, vverde, vazul, hex, color;int r = 0, v = 0, a = 0;

Aquí enlazamos nuestras variables con las de nuestro código xml, las mandamos a llamar de esta manera:

@Overrideprotected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);rojo = (SeekBar) findViewById(R.id.rojo);verde = (SeekBar) findViewById(R.id.verde);azul = (SeekBar) findViewById(R.id.azul);hex = (TextView) findViewById(R.id.hex);vrojo = (TextView) findViewById(R.id.vrojo);vverde = (TextView) findViewById(R.id.vverde);vazul = (TextView) findViewById(R.id.vazul);color = (TextView) findViewById(R.id.color);rojo.setOnSeekBarChangeListener(this);verde.setOnSeekBarChangeListener(this);azul.setOnSeekBarChangeListener(this);

}

En toda esta parte ponemos lo que queremos que haga nuestra aplicacion, le damos funcion a nuestras variables y los codigos que hemos puesto. Para esto usamos un switch para cada caso diferente que tenemos, y después imprimimos lo que queremos que nos salga según el color que queramos.

@Overridepublic void onProgressChanged(SeekBar seekBar, int progress,

boolean fromUser) {switch (seekBar.getId()) {case R.id.rojo:

r = progress;break;

Page 17: Manual de App

17

case R.id.verde:v = progress;break;

case R.id.azul:a = progress;break;

}String c = ColorHex(r, v, a);hex.setText("HEX:" + c);color.setBackgroundColor(android.graphics.Color.rgb(r, v,

a));

}

public String ColorHex(int r, int v, int a) {String color = "";color = "#";color += Integer.toHexString(r);color += Integer.toHexString(v);color += Integer.toHexString(a);return color;

}

@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {

vrojo.setText("R: " + r);vazul.setText("R: " + a);vverde.setText("R: " + v);

}

@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {

vrojo.setText("R: " + r);vazul.setText("R: " + a);vverde.setText("R: " + v);

}

}

Page 18: Manual de App

18

Calcular edad:

Este es nuestro codigo xml, que es nuestra interfaz grafica y el diseño de nuestra aplicacion.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="@drawable/pasto">

Aquí vamos a usar un EditText para poner lo que nosotros queramos que el usuario ingrese, en este caso será su fecha de nacimiento en día, mes y año.

<EditText android:id="@+id/dia" android:layout_width="match_parent" android:layout_height="50dp" android:layout_margin="10dp" android:hint = "Día" android:maxLength="2" android:numeric = "integer" android:textColor="#000000" android:textStyle="italic" />

<EditText android:id="@+id/mes" android:layout_width="match_parent" android:layout_height="50dp" android:layout_margin="10dp" android:hint = "Mes" android:maxLength="2" android:numeric = "integer" android:textColor="#000000" android:textStyle="italic" />

<EditText android:id="@+id/year" android:layout_width="match_parent" android:layout_height="50dp" android:layout_margin="10dp" android:hint = "Año" android:maxLength="4" android:numeric = "integer" android:textColor="#000000" android:textStyle="italic" />

<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" >

Page 19: Manual de App

19

En esta parte vamos a poner un boton que le pondremos el nombre de Calcular, y el otro botón le pondremos borrar para que nos borre los datos que ya ha ingresado el usuario.

<Button android:id="@+id/calcular" android:layout_width="match_parent" android:layout_height="50dp" android:layout_margin="10dp" android:layout_weight="1" android:text = "Calcular" android:textStyle="italic" />

<Button android:id="@+id/borrar" android:layout_width="match_parent" android:layout_height="50dp" android:layout_margin="10dp" android:layout_weight="1" android:text = "Borrar" android:textStyle="italic" /> </LinearLayout>Aqui vamos a imprimir el resultado de nuestra edad segun la fecha que ingresemos hasta el dia de hoy.

<TextView android:id="@+id/Res" android:layout_width="208dp" android:layout_height="76dp" android:layout_marginLeft="10dp" android:textColor="#000000" android:text = "Resultado" android:hint = "Resultado" />

</LinearLayout>Este es nuestro código en java.

package valeria.edad;

Aqui tenemos las librerias para que podamos utilizar lo necesario.

import android.os.Bundle;import android.view.View.OnClickListener;import android.app.Activity;import android.view.View;import android.widget.*;

Declaramos la clase.

public class MainActivity extends Activity implements OnClickListener{

Aqui declaramos las variables que utilizamos en nuestro codigo xml.

Page 20: Manual de App

20

EditText edtNumeroUno, edtNumeroDos, edtNumeroTres;TextView txtResultado;Button btnCalcular, btnBorrar;

Aquí enlazamos nuestras variables del código xml con el java y ponemos la función que hara.

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); edtNumeroUno=(EditText) findViewById(R.id.dia); edtNumeroDos=(EditText) findViewById(R.id.mes); edtNumeroTres=(EditText) findViewById(R.id.year); txtResultado=(TextView) findViewById(R.id.Res); btnCalcular=(Button) findViewById(R.id.calcular); btnBorrar=(Button) findViewById(R.id.borrar); btnCalcular.setOnClickListener(this); btnBorrar.setOnClickListener(this); }

Aqui ponemos lo que hara nuestra aplicacion, utilizamos switch para cada uno de nuestros casos.

@Overridepublic void onClick(View v) {

switch(v.getId()){case R.id.calcular:

String u=edtNumeroUno.getText().toString();String g=edtNumeroDos.getText().toString();String d=edtNumeroTres.getText().toString();if(!u.equals("") && !g.equals("") && !d.equals("")){

int dia=Integer.parseInt(edtNumeroUno.getText().toString());

int mes=Integer.parseInt(edtNumeroDos.getText().toString());

int ano=Integer.parseInt(edtNumeroTres.getText().toString());

int diah=22;int mesh=4;int anoh=2015;int dias=0;int meses=0;int anos=0;

Aqui ponemos condiciones segun el caso o la fecha que nosotros vallamos a ingresar y el codigo no sea tan largo.

if (dia < diah && mes < mesh) {dias=diah-dia;meses=mesh-mes;anos=anoh-ano;

}if (dia == diah && mes < mesh) {

Page 21: Manual de App

21

dias=diah-dia;meses=mesh-mes;anos=anoh-ano;

}if (dia > diah && mes < mesh) {

dias=(30-dia)+diah;meses=mesh-mesh;anos=anoh-ano;

}

if (dia < diah && mes == mesh) {dias=diah-dia;meses=mesh-mes;anos=anoh-ano;

}if (dia == diah && mes == mesh) {

dias=diah-dia;meses=mesh-mes;anos=anoh-ano;

}if (dia > diah && mes == mesh) {

dias=(30-dia)+diah;meses=(12-mesh)+(mes-1);anos=(anoh-ano)-1;

}

if (dia < diah && mes > mesh) {dias=diah-dia;meses=(12-mes)+mesh;anos=(anoh-ano)-1;

}if (dia == diah && mes > mesh) {

dias=diah-dia;meses=(12-mes)+mesh;anos=(anoh-ano)-1;

}if (dia > diah && mes > mesh) {

dias=(30-dia)+diah;meses=((12-mes)+mesh)-1;anos=(anoh-ano)-1;

}txtResultado.setText("Edad: "+anos+" años \

n"+meses+" meses \n"+dias+" dias \n");

}else{

Aquí vamos a poner un mensaje por si el usuario ingresa valores no validos, utilizamos Toast.LENGTH_SHORT para que nuestro mensaje sea de poca duración en pantalla.

Toast.makeText(this, "Valores incorrectos", Toast.LENGTH_SHORT).show();

}break;

Page 22: Manual de App

22

Aquí vamos a imprimir el resultado de nuestra edad.

case R.id.borrar:edtNumeroUno.setText("");edtNumeroDos.setText("");edtNumeroTres.setText("");txtResultado.setText("");break;

}}

}

Base de Datos:Aquí empieza nuestro código xml, en que hacemos el diseño de nuestra aplicación.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#000000" android:orientation="vertical" >

Aqui vamos a poner lo que queramos que los EditText queramos que digan.

<EditText android:id="@+id/nombre" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10sp" android:background="#00CCFF" android:gravity="center" android:hint = "Marca" android:maxLength="20" android:textSize="20sp" />

<EditText android:id="@+id/apellido" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10sp" android:background="#00CCFF" android:gravity="center" android:hint = "RAM" android:maxLength="20" android:textSize="20sp" />

<EditText android:id="@+id/edad" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10sp" android:background="#00CCFF" android:gravity="center" android:hint = "Procesador"

Page 23: Manual de App

23

android:maxLength="20" android:textSize="20sp" />

<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="0" android:orientation="horizontal" >

Aqui vamos a utilizar botones para poner el inserter, ver, borrar…

<Button android:id="@+id/insertar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10sp" android:layout_weight = "1" android:background="#FFFFFF" android:gravity="center" android:maxLength="20" android:onClick="Insertar" android:text = "Insertar" android:textSize="20sp" />

<Button android:id="@+id/ver" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10sp" android:layout_weight="1" android:background="#FFFFFF" android:onClick="Ver" android:text = "Ver" android:textSize="20sp" /> <Button android:id="@+id/borrar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10sp" android:layout_weight="1" android:background="#FFFFFF" android:onClick="Borrar" android:text = "Borrar" android:textSize="20sp" />

</LinearLayout>

<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="0" android:orientation="horizontal" >

<EditText

Page 24: Manual de App

24

android:id="@+id/id" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight = "1" android:layout_margin="10sp" android:background="#00CCFF" android:gravity="center" android:hint = "ID" android:maxLength="20" android:textSize="20sp" />

Este boton nos ayudara a buscar lo que queramos con la ayuda del Id que esta arriba,

<Button android:id="@+id/buscar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:layout_margin="10sp" android:background="#FFFFFF" android:onClick="Buscar" android:text = "buscar" android:textSize="20sp" /> <Button android:id="@+id/modificar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10sp" android:layout_weight="1" android:background="#FFFFFF" android:onClick="Modificar" android:text = "Modificar" android:textSize="20sp" /> </LinearLayout> <ScrollView android:layout_width="match_parent" android:layout_height="wrap_content" >

Este nos puede server para poner algun comentario, texto o lo que gusten.

<TextView android:id="@+id/tver" android:layout_width="match_parent" android:layout_height="wrap_content" android:text = "TextView" android:textColor="#FFFFFF" /> </ScrollView>

</LinearLayout>

Page 25: Manual de App

25

Esta es nuestro código en java.

package com.Sparda.modificar;

Estas son nuestras librerias.

import android.content.ContentValues;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.widget.Toast;

Declaramos la clase.

public class Compus {

Declaramos nuestras variables segun como este nuestro codigo xml.

String marca, ram , procesador; int idn;

Context contextoEjecucion;BaseDatos creador;SQLiteDatabase mDatos;

Aquí ponemos todo lo que queremos que nuestra aplicación con base de datos nos muestre.

public Compus (Context c){contextoEjecucion = c;

}public Compus abrirSqlite(){

creador = new BaseDatos (contextoEjecucion);mDatos = creador.getWritableDatabase();return this;

}public void elimina(int id){

creador = new BaseDatos (contextoEjecucion);mDatos = creador.getReadableDatabase();String sql = ("delete from compus where id="+id);mDatos.execSQL(sql);

}public void insertar(String marca, String ram, String procesador){

creador = new BaseDatos (contextoEjecucion);mDatos = creador.getReadableDatabase();String sql = ("insert into compus(marca,ram,procesador)

values('"+marca+"','"+ram+"','"+procesador+"')");mDatos.execSQL(sql);

}

Page 26: Manual de App

26

public void modificar(int id,String marca, String ram, String procesador){

creador = new BaseDatos (contextoEjecucion);mDatos = creador.getReadableDatabase();String sql = ("update compus set marca='"+marca+"',

ram='"+ram+"', procesador='"+procesador+"' where id="+id);mDatos.execSQL(sql);

}

public boolean consultar(int id){creador = new BaseDatos (contextoEjecucion);mDatos = creador.getReadableDatabase();String sql = ("Select * from compus where id="+id);Cursor cur = mDatos.rawQuery(sql, null);if(cur.getCount()==0){

return false;}else{

cur.moveToFirst();idn=cur.getInt(0);marca=cur.getString(1);ram=cur.getString(2);procesador=cur.getString(3);

return true;}

}public String getMarca(){

return marca;}public String getRam(){

return ram;}public String getProcesador(){

return procesador;}public int getId(){

return idn;}public String ver(){

String datos="";creador = new BaseDatos (contextoEjecucion);mDatos = creador.getReadableDatabase();String sql = ("Select * from compus");Cursor cur = mDatos.rawQuery(sql, null);cur.moveToFirst();do{

datos+= cur.getString(0) + "\t " + cur.getString(1) + "\t " + cur.getString(2) + " \t" + cur.getString(3) + "\n";

}while (cur.moveToNext());return datos;

}

Page 27: Manual de App

27

public void cerrarSqlite(){

creador.close();

}}

ListView:

Esta sera nuestra interfaz grafica de la aplicacion, sera el diseño que escogeremos para ella,

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="#f03"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal">

En el EditText vamos a poner el texto que señalara lo que nosotros queremos que el usuario ingrese.

<EditText android:id="@+id/elemento" android:layout_width="match_parent" android:layout_height="fill_parent" android:layout_weight="0.3" android:hint = "Agregar Elemento" android:background="#FFFFFF" android:marqueeRepeatLimit="marquee_forever" android:textSize="25sp" android:textColor="#000000" android:textStyle="bold" /> Este es el boton que nos agregara el elemento que el usuario ingresara.

<Button android:id="@+id/agregar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:background="#3f3" android:text = "Enter" /> </LinearLayout> Aqui nos hara nuestra lista de lo que hemos agregado.

Page 28: Manual de App

28

<ListView android:id="@+id/lista" android:layout_width="match_parent" android:layout_height="wrap_content"/>

</LinearLayout>

Este es nuestro código en java.

package valeria.listview;

Estas son nuestras librerias.

import java.util.ArrayList;import android.os.Bundle;import android.app.Activity;import android.view.View;import android.view.View.OnClickListener;import android.widget.*;

Declaramos la clase.

public class MainActivity extends Activity implements OnClickListener {

Declaramos las variables que utilizamos en nuestro codigo xml.EditText elemento;

ArrayList<String> elementos;Button btn;ListView lista;ArrayAdapter<String> adaptador;

Ponemos lo que queremos que nuestras funciones hagan, ligamos variables con las de xml.

@Overrideprotected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);lista = (ListView) findViewById(R.id.lista);elemento = (EditText) findViewById(R.id.elemento);btn = (Button) findViewById(R.id.agregar);

elementos = new ArrayList<String>();adaptador = new ArrayAdapter<String>(this,

android.R.layout.simple_list_item_1, elementos);lista.setAdapter(adaptador);btn.setOnClickListener(this);

}

Aqui con el if ponemos la condicion para imprimir nuestra lista dependiendo los elementos que agreguemos.

@Override

Page 29: Manual de App

29

public void onClick(View v) {if (v.getId() == R.id.agregar) {

elementos.add(elemento.getText().toString());elemento.setText("");adaptador.notifyDataSetChanged();

}}

}

Menú:

Esta es nuestra interfaz grafica.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" >

<TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" />

</LinearLayout>

Este es nuestro código en java.

package valeria.menu;

Estas son nuestras librerias

import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.widget.TextView;

Nuestra clase

public class MainActivity extends Activity {

Declaramos el TextView que utilizamos.

TextView tv;/** Called when the activity is first created. */

@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

Page 30: Manual de App

30

setContentView(R.layout.activity_main); tv=(TextView) findViewById(R.id.textView); }

Enlazamos nuestras variables.

@Override public boolean onCreateOptionsMenu(Menu menu){

super.onCreateOptionsMenu(menu); MenuItem item1= menu.add(0,1,1,"Opcion 1"); MenuItem item2= menu.add(0,2,2,"Opcion 2"); MenuItem item3= menu.add(0,3,3,"Opcion 3"); MenuItem item4= menu.add(0,4,4,"Opcion 4"); MenuItem item5= menu.add(0,5,5,"Opcion 5"); MenuItem item6= menu.add(0,6,6,"Opcion 6"); MenuItem item7= menu.add(0,7,7,"Opcion 7"); MenuItem item8= menu.add(0,8,8,"Opcion 8");

item1.setIcon(R.drawable.ic_launcher); item2.setIcon(R.drawable.ic_launcher); item3.setIcon(R.drawable.ic_launcher); return true; } Damos funcion a nuestra variables con un switch, y poniendo su caso de cada una de las opciones segun la que vallamos a escoger, ya que como sabemos es un menu.

@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.menu_configuracion: menuConfiguracion(); return true; case R.id.menu_linterna_encender: encenderLinternaAndroid(); return true; case R.id.menu_linterna_apagar: apagarLinternaAndroid(); return true; case R.id.menu_visitar_web: visitarURL("http://www.ajpdsoft.com"); return true; default: return super.onOptionsItemSelected(item); } }

@Override public boolean onOptionsItemSelected(MenuItem item){

Page 31: Manual de App

31

Solo declarammos un mensaje para que aparesca en pantalla a la hora de elegir una opcion.

int id= item.getItemId(); tv.append("\n Ha pulsado la opcion "+id); return true;

} }

TabHost:

Aquí empieza nuestra aplicación del TabHost, ya sabemos que aquí vamos a poner el diseño y lo que vamos a utilizar.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".Tabhost" >

Aqui declaramos nuestro TabHost.

<TabHost android:id="@+id/th" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" >

<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" >

<TabWidget android:id="@android:id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content" > </TabWidget>

<FrameLayout android:id="@android:id/tabcontent" android:layout_width="match_parent" android:layout_height="match_parent" >

<LinearLayout android:id="@+id/tab1" android:layout_width="match_parent" android:layout_height="108dp" >

Aqui vamos a declara nuestro boton, y lo declaramos de esta forma:

Page 32: Manual de App

32

<Button android:id="@+id/cancion" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/uno" android:gravity="center" /> </LinearLayout>

<LinearLayout android:id="@+id/tab2" android:layout_width="match_parent" android:layout_height="match_parent" >

<Button android:id="@+id/dos" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/uno" android:gravity="center" /> </LinearLayout>

<LinearLayout android:id="@+id/tab3" android:layout_width="match_parent" android:layout_height="match_parent" >

<Button android:id="@+id/tres" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/uno" /> </LinearLayout> </FrameLayout> </LinearLayout> </TabHost>

</RelativeLayout>

Aquí esta nuestro código en java:

package valeria.tabhost;

Estas son nuestras librerias

import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View.OnClickListener;import android.view.View;import android.widget.Button;import android.widget.TabHost;import android.media.AudioManager;import android.media.SoundPool;import android.widget.TabHost.TabSpec;

Page 33: Manual de App

33

Nuestra clase:

public class MainActivity extends Activity implements OnClickListener {

Declaramos lo que utilizamos en el codigo xml.

TabHost th;SoundPool sp;Button b1t;int a;

Aqui vamos a juntar nuestras variables de esta manera:@Overrideprotected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);th = (TabHost) findViewById(R.id.th);b1t = (Button) findViewById(R.id.cancion);b1t.setOnClickListener(this);

th.setup();TabSpec ts1 = th.newTabSpec("tab1");ts1.setIndicator("Uno");ts1.setContent(R.id.tab1);th.addTab(ts1);

th.setup();TabSpec ts2 = th.newTabSpec("tab2");ts2.setIndicator("Dos");ts2.setContent(R.id.tab2);th.addTab(ts2);

th.setup();TabSpec ts3 = th . new TabSpec( "tab3" ) ;ts3.setIndicator("Tres");ts3.setContent(R.id.tab3);th.addTab(ts3);

sp = new SoundPool(8, AudioManager.STREAM_MUSIC, 0);a = sp.load(this, R.raw.ca, a);

}

Aqui vamos a poner lo que queremos que nuestras funciones hagan, con la ayuda del switch vamos a poner que hacer en case, y lo vamos a cerrar con el break.

@Overridepublic void onClick(View v) {

switch (v.getId()) {

case R.id.cancion:sp.play(a, 1, 1, 1, 0, 1);break;

Page 34: Manual de App

34

}}}

Acelerometro:

Empezamos con nuestra aplicacion del acelerometro, ya sabemos que esta es nuestra interfaz grafica, osea nuestro diseño.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#D56376" android:orientation="vertical" >

Aqui vamos a poner una imagenes, vamos a colocarles sus nombres, osea sus variables, y lo vamos a hacer de esta forma.

< ImageView android:id="@+id/posisionx" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="10dp" android:layout_weight="1" android:background="@drawable/a" />

< ImageView android:id="@+id/posisiony" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="10dp" android:layout_weight="1" android:background="@drawable/b" />

< ImageView android:id="@+id/posisionz" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="10dp" android:layout_weight="1" android:background="@drawable/c" />

</LinearLayout>

Este es nuestro código en java:

Page 35: Manual de App

35

package valeria.acelerometroo;

Estas son nuestras librerias:

import java.util.List;

import android.app.Activity;import android.content.pm.ActivityInfo;import android.hardware.Sensor;import android.hardware.SensorEvent;import android.hardware.SensorEventListener;import android.hardware.SensorManager;import android.media.AudioManager;import android.media.SoundPool;import android.os.Bundle;import android.widget.ImageView;import android.widget.TextView;import android.widget.Toast;

Aqui esta nuestra clase:

public class MainActivity extends Activity implements SensorEventListener { Declaramos lo que utilizamos en el codigo xml:

ImageView image,image1, image2;TextView x, y, z;

Esta es la parte del sensor, esta es importante ya que si el celular no tiene sensor no podra funcionar esta aplicación.

private Sensor acelerometro;

@Overrideprotected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);

Aqui vamos a enlazar nuestras variables con las que pusimos en el xml y con las que estamos poniendo aqui en java.

image=(ImageView) findViewById(R.id.posisionx) ; image1=(ImageView) findViewById(R.id.posisiony) ; image2=(ImageView) findViewById(R.id. posisiony ) ;

this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);}

Page 36: Manual de App

36

Esta es la parte mas importante, ya que es la nos dará lo que queremos, en esta parte se manejan las funciones para que el acelerómetro cambie según para donde movamos el celular.

protected void onResume() {super.onResume();SensorManager sm = (SensorManager)

getSystemService(SENSOR_SERVICE);List<Sensor> sensors =

sm.getSensorList(Sensor.TYPE_ACCELEROMETER);if (sensors.size() > 0) {

sm.registerListener(this, sensors.get(0),SensorManager.SENSOR_DELAY_GAME);

}}

protected void onPause() {SensorManager mSensorManager = (SensorManager)

getSystemService(SENSOR_SERVICE);mSensorManager.unregisterListener(this, acelerometro);super.onPause();

}

protected void onStop() {SensorManager mSensorManager = (SensorManager)

getSystemService(SENSOR_SERVICE);mSensorManager.unregisterListener(this, acelerometro);super.onStop();

}

@Overridepublic void onSensorChanged(SensorEvent event) {x.setText("X = " + event.values[SensorManager.DATA_X]);if(event.values[SensorManager.DATA_X]>=-0.0){

image.setImageResource(R.drawable.a);}

this.y.setText("Y = " + event.values[SensorManager.DATA_Y]); if(event.values[SensorManager.DATA_Y]>=-0.0){ image1.setImageResource(R.drawable.b); }

this.z.setText("Z = " + event.values[SensorManager.DATA_Z]);if(event.values[SensorManager.DATA_Z]>=10.100000){

image2.setImageResource(R.drawable.c);

}}

@Override

Page 37: Manual de App

37

public void onAccuracyChanged(Sensor arg0, int arg1) {// TODO Auto-generated method stub

}

}

VideoView:

Este es nuestro código xml, y en esta ocasión solo llevara esto, lo que es un diseño sencillo porque no mas.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".VideoView" >

<VideoView android:id="@+id/videoView1" android:layout_width="fill_parent" android:layout_height="fill_parent" />

</LinearLayout>

Este es nuestro código java:

package valeria.videoview;

Estas son las librerias:

import android.os.Bundle;

import android.net.Uri;import android.widget.MediaController;import android.widget.VideoView;import android.app.Activity;

public class MainActivity extends Activity {

En esta parte solo vamos a incorporar el video que se reproducira, pero vamos a crear otra carpeta en “res”.

@Override

Page 38: Manual de App

38

protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);VideoView video = (VideoView) findViewById(R.id.videoView1);Uri path = Uri.parse("android.resource://hola.videoView1/" +

R.raw.galactus);video.setVideoURI(path);video.setMediaController(new MediaController(this));video.start();video.requestFocus();

}

}

Notificación:

Aquí empezamos con la aplicación de notificación, la interfaz es corta y la que se muestra aquí abajo:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" >

<Button android:id="@+id/botonNotificacion" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" />

</RelativeLayout>

Este es el código en java:

package valeria.notificaciones;

import android.app.Activity;

import android.app.Notification;import android.app.NotificationManager;import android.app.PendingIntent;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;

public class MainActivity extends Activity {

Page 39: Manual de App

39

@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);

Aqui declaramos variables del codigo xml con las de java: Button boton = (Button) findViewById(R.id.botonNotificacion); boton.setOnClickListener( new OnClickListener() {

Aqui ya nos esta dando la funcion que haremos, que es la que nos informe cada que haya un cambio en algo o cosas asi y cuando eso pase llegara la notificación.

public void onClick(View v) {NotificationManager manager =

(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

Notification notificacion = new Notification (android.R.drawable. stat_notify_more , "Notificación" , System. currentTimeMillis ()) ;

Intent intent = new Intent(MainActivity.this, MainActivity.class);

PendingIntent pIntent = PendingIntent.getActivity(MainActivity.this, 0, intent, 0);

notificacion.setLatestEventInfo (MainActivity. this , "Titulo" , "Detalles" , pIntent) ;

manager.notify(0,notificacion);}

}); }

}

ToggleButton:

Aquí empezamos nuestra aplicación de ToggleButton, esta es la interfaz grafica:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".ToogleButton" > < LinearLayout android:id="@+id/fondo" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_horizontal"

Page 40: Manual de App

40

android:orientation="horizontal" > En esta parte declaramos los ToggleButton, los cuales son como si fueran botones de encendido y apagado.

<ToggleButton android:id="@+id/togglebutton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5sp" android:textOn="Rojo On" android:textOff="Rojo Off" android:text = "ToggleButton" /> <ToggleButton android:id="@+id/togglebutton2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5sp" android:textOn="Verde On" android:textOff="Verde Off" android:text = "ToggleButton" /> <ToggleButton android:id="@+id/togglebutton3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5sp" android:textOn="Azul On" android:textOff="Azul Off" android:text = "ToggleButton" /> </LinearLayout></LinearLayout>

Este es nuestro código en java:

package valeria.togglebutton;

Estas son nuestras librerias:

import android.os.Bundle;

import android.widget.CompoundButton;import android.widget.CompoundButton.OnCheckedChangeListener;import android.widget.LinearLayout;import android.widget.ToggleButton;import android.view.Menu;import android.app.Activity;import android.graphics.Color;

Page 41: Manual de App

41

public class MainActivity extends Activity implements OnCheckedChangeListener {

Declaramos nuestras variables que utilizamos en el codigo xml:

ToggleButton r,v,a;LinearLayout cont;String color="",rj="00",vr="00",az="00";

Aqui vamos a poner la funcion del ToggleButton:

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); cont=(LinearLayout)findViewById(R.id.fondo); r=(ToggleButton)findViewById(R.id.togglebutton1); v=(ToggleButton)findViewById(R.id.togglebutton2); a=(ToggleButton)findViewById(R.id.togglebutton3);

r.setOnCheckedChangeListener(this); v.setOnCheckedChangeListener(this); a.setOnCheckedChangeListener(this); }

Aqui vamos a poner lo que cada caso va a hacer con ayuda del switch

public void onCheckedChanged(CompoundButton v, boolean isChecked){switch(v.getId()){case R.id.togglebutton1:

if(isChecked){rj="FF";color="#"+rj+vr+az;cont.setBackgroundColor(Color.parseColor(color));

}else{

rj="00";color="#"+rj+vr+az;cont.setBackgroundColor(Color.parseColor(color));

}break;

case R.id.togglebutton2:if(isChecked){

vr="FF";color="#"+rj+vr+az;cont.setBackgroundColor(Color.parseColor(color));

}else{

vr="00";color="#"+rj+vr+az;cont.setBackgroundColor(Color.parseColor(color));

}break;

case R.id.togglebutton3:if(isChecked){

Page 42: Manual de App

42

az="FF";color="#"+rj+vr+az;cont.setBackgroundColor(Color.parseColor(color));

}else {az="00";color="#"+rj+vr+az;cont.setBackgroundColor(Color.parseColor(color));

}break;

}}

private ToggleButton setOnCheckedChangeListener(ToogleButton toogleButton) {

// TODO Auto-generated method stubreturn null;

} }

CheckBox:

Aquí empezamos nuestra aplicación de CheckBox, esta es nuestra interfaz grafica:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="#00FFCC" tools:context=".MainActivity" > En esta parte solo ponemos la parte que queremos que el usuario lea:

<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint = "Recursos Forestales" android:textColor="#FF0063" android:textSize="50sp" />

<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="10sp" android:hint = "1.¿Que es un Recurso Forestal?" android:textColor="#FFFFFF" android:textSize="15sp" />

Aqui pones nuestras opciones los cuales son los CheckBox, en esta funcion podemos elegir mas de una opcion.

<CheckBox android:id="@+id/cereala" android:layout_width="wrap_content"

Page 43: Manual de App

43

android:layout_height="wrap_content" android:layout_marginLeft="15sp" android:hint = "Es una parte del los arboles" android:textSize = "10sp" />

<CheckBox android:id="@+id/cerealb" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15sp" android:hint = "Forma parte del ecosistema" android:textSize = "10sp" />

<CheckBox android:id="@+id/cerealc" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15sp" android:hint = "Es aquello que se obtiene de los bosques" android:textSize = "10sp" />

</LinearLayout>

Codigo en java:

package valeria.checkbox;

Estan son las librerias:

import android.os.Bundle;import android.app.Activity;import android.view.View;import android.view.View.OnClickListener;import android.widget.CheckBox;import android.widget.Toast;

Nuestra clase:

public class MainActivity extends Activity implements OnClickListener{String message = "";

Declaramos variables:

private CheckBox a, b, c;

Ponemos las variables de xml con las de java:

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); a = (CheckBox) findViewById(R.id.cereala);

b = (CheckBox) findViewById(R.id.cerealb);c = (CheckBox) findViewById(R.id.cerealc);

Page 44: Manual de App

44

a.setOnClickListener(this);b.setOnClickListener(this);c.setOnClickListener(this);

}

Aqui ponemos un switch para poner las respues correctas que pusimos para los CheckBox con un mensaje par aver si la respuesta correcta o no:

@Overridepublic void onClick(View arg0) {

switch (arg0.getId()) {case R.id.cereala:

message = "Tu respuesta es incorrecta";Toast.makeText(this, message,

Toast.LENGTH_SHORT).show();

break;case R.id.cerealb:

message = "Tu respuesta es incorrecta";Toast.makeText(this, message,

Toast.LENGTH_SHORT).show();

break;case R.id.cerealc:

message = "Tu respuesta es correcta";Toast.makeText(this, message,

Toast.LENGTH_SHORT).show();

break;}

}

RadioButton:

Aqui empezamos nuestra aplicacion de RadioButton, ya sabemos que aqui hacemos la interfaz grafica:

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

<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="20dp" android:id="@+id/text" android:text = "ChooseText" />

Page 45: Manual de App

45

Esta parte es muy importante porque es la que nos agrupa los RadioButton, es decir, pueden ponerte cualquier pregunta y tu como usuario solamente puedes escoger una respuesta.

<RadioGroup android:id="@+id/myRadioGroup" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal = "true" android:layout_centerVertical = "true" android:background="#fff035" android:checkedButton="@+id/sound" > <RadioButton android:id="@+id/sound" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text = "Sound" /> <RadioButton android:id="@+id/vibration" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text = "vibration" /> <RadioButton android:id="@+id/silent" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text = "silent" /> </RadioGroup> <Button android:id="@+id/chooseBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft = "@+id/myRadioGroup" android:layout_alignParentTop = "true" android:text = "Choose" /> </LinearLayout>

Este es nuestro codigo en java:

package valeria.radiobutton;

Estas son las librerias:

import android.os.Bundle;import android.app.Activity;import android.view.Menu;

Page 46: Manual de App

46

import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.RadioButton;import android.widget.RadioGroup;import android.widget.RadioGroup.OnCheckedChangeListener;import android.widget.TextView;import android.widget.Toast;

public class MainActivity extends Activity {

Declaramos lo que pusimos en el codigo xml.

private RadioGroup radioGroup;private RadioButton sound,vibration,silent;private Button button;private TextView textView;

@Overrideprotected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);

radioGroup=(RadioGroup)findViewById(R.id.myRadioGroup);

radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener(){

@Override public void onCheckedChanged(RadioGroup group, int

checkedId){ if(checkedId == R.id.silent){ Toast.makeText(getApplicationContext(),

"choice: silent", Toast.LENGTH_SHORT).show(); }else if(checkedId== R.id.sound){ Toast.makeText(getApplicationContext(),

"choice: sound", Toast.LENGTH_SHORT).show(); }else{ Toast.makeText(getApplicationContext(),

"choise: vibration", Toast.LENGTH_SHORT).show(); } } }); sound =(RadioButton)findViewById(R.id.sound); vibration =(RadioButton)findViewById(R.id.vibration); silent =(RadioButton)findViewById(R.id.silent); textView =(TextView)findViewById(R.id.text);

Page 47: Manual de App

47

button=(Button)findViewById(R.id.chooseBtn); button.setOnClickListener(new OnClickListener(){

Aqui ponemos en mensaje segun la opcion que escogamos:

@Override public void onClick(View v){ int

selectedId=radioGroup.getCheckedRadioButtonId(); if(selectedId== sound.getId()){ textView.setText("You Chose 'sound'

option"); }else if(selectedId ==vibration.getId()){ textView.setText("You Chose 'Vibration'

option"); }else{ textView.setText("You chose 'silent'

option"); } } });

}}

ProgressBar:

Este es nuestro código de progressbar, el cual se utiliza para descargar cosas:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/sa" android:orientation="vertical" >

Este boton es el que va a dar funcion al ProgressBar, es decir, cuando el usuario le haga click o lo toque, inmediatamente empezara la descarga.

<Button android:id="@+id/btnStartProgress" android:layout_width="match_parent" android:layout_height="81dp" android:text = "Descargar Imagen" />

Este es el texto que te aparecera cuando termine la descarga:

<TextView android:id="@+id/text" android:layout_width="match_parent" android:layout_height="19dp" android:layout_marginBottom="10dp" android:text = "Imagen Guardando" />

Page 48: Manual de App

48

< ImageView android:id="@+id/imghh" android:layout_width="match_parent" android:layout_height="19dp" /> </LinearLayout>

Este es nuestro código en java:

package valeria.progressbar;

Estas son las librerias:

import android.app.Activity;import android.app.ProgressDialog;import android.os.Bundle;import android.os.Handler;import android.widget.Button;import android.widget.ImageView;import android.widget.TextView;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;

public class MainActivity extends Activity {Aqui declaramos variables:

TextView Texto;ImageView imghh;

Button btnStartProgress;ProgressDialog progressBar;private int progressBarStatus = 0;private Handler progressBarHandler = new Handler();

private long fileSize = 0;

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imghh=(ImageView)findViewById(R.id.text); addListenerOnButton();

}

Aqui le ponemos la funcion del progressbar public void addListenerOnButton() {

btnStartProgress = (Button) findViewById(R.id.btnStartProgress);

btnStartProgress.setOnClickListener(

new OnClickListener() {

Page 49: Manual de App

49

@Override public void onClick(View v) {

// prepare for a progress bar dialogprogressBar = new ProgressDialog(v.getContext());progressBar.setCancelable(true);progressBar.setMessage("Imagen Descargando ...");

progressBar.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);progressBar.setProgress(0);progressBar.setMax(100);progressBar.show();

progressBarStatus = 0;

fileSize = 0;

new Thread(new Runnable() { public void run() {

while (progressBarStatus < 100) {

progressBarStatus = doSomeTasks();

try {Thread.sleep(1000);

} catch (InterruptedException e) {e.printStackTrace();

}

progressBarHandler.post(new Runnable() {

public void run() {

progressBar.setProgress(progressBarStatus);}

});}

if (progressBarStatus >= 100) {

try {Thread.sleep(2000);

} catch (InterruptedException e) {e.printStackTrace();

}

Page 50: Manual de App

50

progressBar.dismiss();}

} }).start();

}

}); }

public int doSomeTasks() {

while (fileSize <= 1000000) {

fileSize++;

if (fileSize == 100000) {

return 10;} else if (fileSize == 200000) {

return 20;} else if (fileSize == 300000) {

return 30;}if(fileSize==1000000){

imghh.setImageResource(R.drawable.historia);}

}

return 100;

}

}

Spinner:

Aquí empieza nuestra aplicación con Spinner, el Spinner en si es una lista desplegable:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#ccc" android:orientation="vertical" tools:context=".MainActivity" >

Aqui vamos a poner la pregunta o texto que le queramos hacer al usuario:

Page 51: Manual de App

51

<TextView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:gravity="center" android:text = "Selecciona una opcion" android:textColor="#000" android:textSize="15sp" />

Aqui vamos a poner los Spinner que vamos a utilizar:

<Spinner android:id="@+id/sp1" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="10sp" android:layout_weight="1" android:textSize="15sp" />

<Spinner android:id="@+id/sp2" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="10sp" android:layout_weight="1" android:textSize="15sp" />

Aqui nos va a imprimir la opcion que en este caso son imagenes segun las que queramos ver:

< ImageView android:id="@+id/image" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="10sp" android:layout_weight=".7" android:background="#333" />

</LinearLayout>

Este es el código en java:

package valeria.spinnerr;

Estas son las librerias:

import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;

Page 52: Manual de App

52

import android.widget.AdapterView.OnItemSelectedListener;import android.widget.ArrayAdapter;import android.widget.ImageView;import android.widget.Spinner;

public class MainActivity extends Activity implements OnItemSelectedListener {Declaramos los Spinner que utilizaremos y las demas funciones:

Spinner sp1, sp2;ImageView img;ArrayAdapter<String> a, a1, a2, a3, a4, a5;int sel2 = 0;

Ponemos las opciones que tendra cada Spinner:

String[] opcMarca = new String[] { "VolksWagen", "Ford", "Nissan", "Honda",

"BMW" };String[] opcVW = new String[] { "Caribe", "Atlantic", "Golf",

"Jetta","Bora" };

String[] opcFord = new String[] { "Mustang", "Fusion", "Fiesta", "Lobo",

"Ikon" };String[] opcNissan = new String[] { "NP300", "Sentra", "Altima",

"X-Terra","Frontier" };

String[] opcHonda = new String[] { "Civic", "Accord", "CRV", "Odyssey",

"Pilot" };String[] opcBMW = new String[] { "Sedan", "Coupe", "Roadster",

"i3", "i8" };

@Overrideprotected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);

sp1 = (Spinner) findViewById(R.id.sp1);sp2 = (Spinner) findViewById(R.id.sp2);img = (ImageView) findViewById(R.id.image);

sp1.setOnItemSelectedListener(this);sp2.setOnItemSelectedListener(this);

a = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, opcMarca);

a1 = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, opcVW);

a2 = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, opcFord);

a3 = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, opcNissan);

Page 53: Manual de App

53

a4 = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, opcHonda);

a5 = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, opcBMW);

sp1.setAdapter(a);sp2.setAdapter(a1);

}

Aqui imprimimos la imagen, segun la opcion que escogamos, usamos un switch y imprimimos las imágenes con las case:

@Overridepublic void onItemSelected(AdapterView<?> arg0, View arg1, int

arg2,long arg3) {

switch (arg0.getId()) {case R.id.sp1:

int sel = sp1.getSelectedItemPosition();switch (sel) {case 0:

sp2.setAdapter(a1);sel2 = sp2.getSelectedItemPosition();switch (sel2) {case 0:

img.setImageResource(R.drawable.caribe);break;

case 1:img.setImageResource(R.drawable.atlantic);break;

case 2:img.setImageResource(R.drawable.golf);break;

case 3:img.setImageResource(R.drawable.jetta);break;

case 4:img.setImageResource(R.drawable.bora);break;

}break;

case 1:sp2.setAdapter(a2);sel2 = sp2.getSelectedItemPosition();switch (sel2) {case 0:

img.setImageResource(R.drawable.mustang);break;

case 1:img.setImageResource(R.drawable.fusion);break;

case 2:img.setImageResource(R.drawable.fiesta);

Page 54: Manual de App

54

break;case 3:

img.setImageResource(R.drawable.lobo);break;

case 4:img.setImageResource(R.drawable.ikon);break;

}break;

case 2:sp2.setAdapter(a3);sel2 = sp2.getSelectedItemPosition();switch (sel2) {case 0:

img.setImageResource(R.drawable.np300);break;

case 1:img.setImageResource(R.drawable.sentra);break;

case 2:img.setImageResource(R.drawable.altima);break;

case 3:img.setImageResource(R.drawable.xterra);break;

case 4:img.setImageResource(R.drawable.frontier);break;

}break;

case 3:sp2.setAdapter(a4);sel2 = sp2.getSelectedItemPosition();switch (sel2) {case 0:

img.setImageResource(R.drawable.crv);break;

case 1:img.setImageResource(R.drawable.accord);break;

case 2:img.setImageResource(R.drawable.crv);break;

case 3:img.setImageResource(R.drawable.odysey);break;

case 4:img.setImageResource(R.drawable.pilot);break;

}break;

case 4:sp2.setAdapter(a5);sel2 = sp2.getSelectedItemPosition();switch (sel2) {

Page 55: Manual de App

55

case 0:img.setImageResource(R.drawable.sedan);break;

case 1:img.setImageResource(R.drawable.coupe);break;

case 2:img.setImageResource(R.drawable.roadster);break;

case 3:img.setImageResource(R.drawable.i3);break;

case 4:img.setImageResource(R.drawable.i8);break;

}break;

}break;

}}

@Overridepublic void onNothingSelected(AdapterView<?> arg0) {

// TODO Auto-generated method stub

}

}

WebView:

Esta es la aplicación del WebView, esta te manda a la dirección de internet que este en el código:

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

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

<WebView android:id="@+id/webView" android:layout_width="match_parent" android:layout_height="match_parent" />

</LinearLayout>

Page 56: Manual de App

56

Codigo en java:

package valeria.webview;

import android.app.Activity;

import android.os.Bundle;import android.webkit.WebSettings;import android.webkit.WebView;import android.webkit.WebViewClient;

public class MainActivity extends Activity {

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); WebView myWebView = (WebView) this.findViewById(R.id.webView); Aqui lo unico que vamos a hacer es declara la pagina de internet a la cual nos van a mandar:

WebSettings webSettings = myWebView.getSettings(); webSettings.setJavaScriptEnabled( true ) ; myWebView.setWebViewClient(new WebViewClient()); myWebView.loadUrl("https://www.youtube.com/watch?v=u_0E5Tm5KhU"); } }

TimePicker:

Esta es nuestra interfaz grafica del TimePicker, este lo que hace es que te permite cambiar la hora;

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:background="#F26068" tools:context=".MainActivity" >

<Chronometer android:id="@+id/chronometer1" android:layout_width="wrap_content"

Page 57: Manual de App

57

android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="136dp" android:text = "Chronometer" />

<Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/chronometer1" android:layout_centerHorizontal="true" android:layout_marginTop="22dp" android:text = "Start" android:background="#FFFFFF"/>

<Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/button1" android:layout_below="@+id/button1" android:layout_marginTop="26dp" android:text = "Pause" android:background="#FFFFFF"/>

</RelativeLayout>

Codigo en java:

package valeria.timepicker;

Estas son nuestras librerias:

import android.os.Bundle;import android.os.SystemClock;import android.app.Activity;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Chronometer;

public class MainActivity extends Activity implements OnClickListener {

Aqui declaramos las funciones que pusimos en en codigo xml:

Button startChrono;Button pauseChrono;Chronometer chrono;long time = 0;

Aqui enlazamos variables:

Page 58: Manual de App

58

@Overrideprotected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);startChrono = (Button)findViewById(R.id.button1);pauseChrono = (Button)findViewById(R.id.button2);chrono = (Chronometer)findViewById(R.id.chronometer1);startChrono.setOnClickListener(this);pauseChrono.setOnClickListener(this);

}

@Overridepublic 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;

}

Aqui ponemos lo que ara cada una con el switch y poniendo los case:

@Overridepublic void onClick(View arg0) {

// TODO Auto-generated method stubswitch(arg0.getId()){case R.id.button1:

chrono.setBase(SystemClock.elapsedRealtime()+time);chrono.start();break;

case R.id.button2:

time =chrono.getBase()-SystemClock.elapsedRealtime();chrono.stop();break;}}}

DatePicker:

Aqui empieza nuestro codigo xml, el DatePicker lo que nos va a hacer una tipo agenda:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="#FF8754" tools:context=".MainActivity" >

<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text = "Presione para modificar" />

Page 59: Manual de App

59

<TextView android:id="@+id/estaciones" android:layout_width="wrap_content" android:layout_height="wrap_content" />

Aqui declaramos un DatePicker de esta manera:

<DatePicker android:id="@+id/dp" android:layout_width="wrap_content" android:layout_height="wrap_content" />

<Button android:id="@+id/set" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text = "set" />

</LinearLayout>

Codigo en java:

package valeria.datepicker;

Estas son las librerías:

import android.os.Bundle;import android.app.Activity;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.DatePicker;import android.widget.TextView;import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener {TextView estaciones;

@Overrideprotected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);estaciones = (TextView) findViewById(R.id.estaciones);estaciones.setOnClickListener(this);

final DatePicker dp = (DatePicker) findViewById(R.id.dp);final Button setBtn = (Button) findViewById(R.id.set);setBtn.setOnClickListener(new OnClickListener() {

Aqui declaramos un mensaje segun la fecha que hayas presionado, sera de corta duracion.

@Override

Page 60: Manual de App

60

public void onClick(View v) {Toast.makeText(

MainActivity.this,dp.getDayOfMonth() + "" +

dp.getMonth() + ""+ dp.getYear(),

Toast.LENGTH_SHORT).show();

int dia = dp.getDayOfMonth();int mes=dp.getMonth();

Aqui declaramos con las condiciones lo que pasara en esos dias, segun lo que nosotros pongamos en nuestra agende:

if(mes>=11 && dia>=25 ){estaciones.setText(" Es navidad ");

}

if(mes>=10 && dia>=2){estaciones.setText(" Es Halloween ");

}

if(mes>=8 && dia>=16 ){estaciones.setText(" Dia de la independencia

de Mexico");}

if(mes>=0 && dia>=6 ){estaciones.setText("Dia de Reyes Magos ");

}

}

});}

@Overridepublic void onClick(View arg0) {

// TODO Auto-generated method stub

}}