Manual de aplicaciones de android

50
Uriel Ávila Cruz Desarrollo de Aplicaciones Móviles CECyTEM Plantel Tecámac

Transcript of Manual de aplicaciones de android

Page 1: Manual de aplicaciones de android

Uriel Ávila Cruz

Desarrollo de Aplicaciones Móviles

CECyTEM Plantel Tecámac

Manual De Aplicaciones de Android

Page 2: Manual de aplicaciones de android

Índice…1. Hola Mundo2. CheckBox3. Factorial4. Operaciones Básicas5. Tablas De Multiplicar6. Calculo De IMC7. Comunicación entre Acitivities8. ImageView9. Intent Enviando Y Recibiendo Datos10. Calcular Edad11. Tomar Foto12. Giroscopio13. SoundPool14. Options15. ProgressBar16. VideoView17. RadioButton18. Acelerometro19. Spinner20. Notificaciones

Page 3: Manual de aplicaciones de android

El Objetivo De Esta Aplicación Fue Conocer El Entorno de ADT y Saber El Nombre De Cada Uno De Los Componentes, Así como analizar el contexto de Java.

Primeramente Creamos Un Nuevo Proyecto En Eclipse En La Parte Superior Izquierda Damos Clic En File, New, Android Aplication Project. Colocamos Nombre a la Aplicación En La Primera Caja De Texto Así Como El Nombre de Paquete o Package Y Damos Clic En Siguiente o Next, Posteriormente Configuramos el Icono de Nuestra Aplicación Desde Una Imagen Externa, Una Imagen Prediseñada De Eclipse O Un Texto. Damos El Nombre A Nuestra Pantalla o Layout Y al Proceso O al Java. Y Finalizamos El Wizard Nos Vamos Al Xml Y Observamos Un TextView Con Un HelloWord Lo Podemos Cambiar Desde El android:text=”” ó Ir a res, values, strings y definir nuestra variable y el valor.

Esta Aplicación Se Utiliza Para

Hola Mundo En Android

2

3

CheckBox En Android

Page 4: Manual de aplicaciones de android

Seleccionar Las Opciones Introducidas Por Medio De Casillas Y Al Tocarlas Se Marca Una Palomita √ Al Crear El Proyecto Vamos A La Paleta Y Buscamos Form Widgets.

Arrastramos A la Pantalla El CheckBox

Quedarían Así:

Asi Que En El activity_main.xml El Codigo Seria:

<?xml version="1.0" encoding="utf-8"?><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:gravity="center" android:background="#990000" tools:context=".Checkbox" >

<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint = "Nutrición" android:text = "Deportes" android:textColor="#FFFFFF" android:textSize="50sp" />

<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="10sp" android:hint = "1.¿Cuántos cereales debemos comer al día?" android:text = "¿Que Deporte Te Gusta Mas?" android:textColor="#FFFFFF" android:textSize="15sp" />

<CheckBox android:id="@+id/cereala" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15sp"

4

Page 5: Manual de aplicaciones de android

android:text = "Futbol" android:textSize = "10sp" />

<CheckBox android:id="@+id/cerealb" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15sp" android:text = "BasquetBol" android:textSize = "10sp" />

<CheckBox android:id="@+id/cerealc" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15sp" android:text = "Voleibol" android:textSize = "10sp" />

</LinearLayout>

Los TextView Que Muestren Solo Texto Y Los Check Box Para Seleccionar Las Opciones.Y En El Codigo Java Quedaria:

package skriom.checkbox;

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.CheckBox;

import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener {

5

Page 6: Manual de aplicaciones de android

String message = "";

private CheckBox a, b, c, d, e, f, g, h, i;

@Override

public 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);

a.setOnClickListener( this);

b.setOnClickListener( this);

c.setOnClickListener( this);

}

@Override

public void onClick(View arg0) {

switch (arg0.getId()) {

case R.id.cereala:

message = "Tu respuesta Basquetbol Es Super";

Toast.makeText(this, message, Toast.LENGTH_SHORT).show();

break;

6

Page 7: Manual de aplicaciones de android

case R.id.cerealb:

message = "Tu respuesta Basquetbol Es Super";

Toast.makeText(this, message, Toast.LENGTH_SHORT).show();

break;

case R.id.cerealc:

message = "Tu respuesta es Voleibol Es Hermoso";

Toast.makeText(this, message, Toast.LENGTH_SHORT).show();

break;

}

}

Asi Que Ese Es Proceso Para Que Pueda Ejecutarse En Un Telefono El CheckBox.

Con Esta Aplicación Calculamos El Factorial De Cada Numero Basándonos en El Factorial Matemático Por Ejemplo. Factorial de 3 3*2=6 3*1=3 Entonces 6+3=9 Factorial De 3=9. El activity_main.xml quedó de la siguiente manera

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

7

Factorial En Android

Page 8: Manual de aplicaciones de android

android:layout_height="match_parent" android:orientation="vertical" android:gravity="center" android:background="@drawable/ic_launcher">

<EditText android:id="@+id/Txt1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:numeric = "integer" android:hint = "Numero" > </EditText>

<Button android:id="@+id/btn1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text = "Calcular Factorial" />

<TextView android:id="@+id/text1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft = "@+id/button1" />

</LinearLayout>

Asi Que El MainActivity.java quedaría:

package meridane.factorial;

import android.widget.*;

import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

public class MainActivity extends Activity implements OnClickListener {

EditText t;

Button b;

TextView v;

@Override

protected void onCreate(Bundle savedInstanceState) {

8

Page 9: Manual de aplicaciones de android

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

t=(EditText) findViewById(R.id.Txt1);

b=(Button) findViewById(R.id.btn1);

v=(TextView)findViewById(R.id.text1);

b.setOnClickListener(this);

}

@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 void onClick(View arg0) {

if(arg0.getId()==R.id.btn1){

int i=1;

int res=0;

int num=Integer.parseInt(t.getText().toString());

v.setText(null);

v.append("\n"+num);

int fax=num-1;

int in;

while(fax>=i){

9

Page 10: Manual de aplicaciones de android

v.append("*"+fax);

in=num*fax;

res=res+in;

fax=fax-1;

}

v.append("\n Factorial de:"+num+"="+res);

}

}

}

Esta app sirvió para observar el proceso del Método OnclickListener, además el funcionamiento de las cajas y la impresión de lo resultados, utilizamos dos EditText, Un

Operaciones Básicas En Android

Page 11: Manual de aplicaciones de android

Botón Y Un TextView Pues El activity_main.xml quedó de la siguiente manera para que obtuviera los dos números de tipo decimal y mostrara suma, resta, multiplicación y divisió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" android:gravity="center">

<EditText android:id="@+id/Txt1" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint = "Numero 1" android:numeric = "decimal" android:gravity="center" >

</EditText>

<EditText android:id="@+eid/Txt2" android:numeric = "decimal" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint = "Numero 2" android:gravity="center" />

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

<Button android:id="@+id/boton1" android:layout_width="wrap_content" android:layout_weight="1" android:layout_height="wrap_content" android:text = "Calcular" />

<Button android:id="@+id/boton2" android:layout_width="wrap_content" android:layout_weight="1" android:layout_height="wrap_content" android:text = "Borrar" />

</LinearLayout>

<TextView android:id="@+id/textView1" android:layout_width="wrap_content"

10

11

Page 12: Manual de aplicaciones de android

android:layout_height="wrap_content" android:text = "--------" />

</LinearLayout>

Si Esto Es Mucho Código Para Solo Mostrar Esto:

Entonces se dice que el MainActivity.java quedaría asi para dar el proceso:

package meridane.basico;

import android.os.Bundle;

import android.app.Activity;

EditText

BotonesTextView

Layout Principal

(Vertical)

Layout Secundario

(Horizontal)

12

Page 13: Manual de aplicaciones de android

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.*;

public class MainActivity extends Activity implements OnClickListener {

Button cal, bor;

EditText n1,n2;

TextView res;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

cal=(Button) findViewById(R.id.boton1);

bor=(Button) findViewById(R.id.boton2);

n1=(EditText) findViewById(R.id.Txt1);

n2=(EditText) findViewById(R.id.Txt2);

res=(TextView) findViewById(R.id.textView1);

cal.setOnClickListener(this);

bor.setOnClickListener(this);

}

@Override

public void onClick(View arg0) {

switch(arg0.getId()){

case R.id.boton1:

double num1=Integer.parseInt(n1.getText().toString());

13

Page 14: Manual de aplicaciones de android

double num2=Integer.parseInt(n2.getText().toString());

double suma =num1+num2;

double resta =num1-num2;

double m =num1*num2;

double div=num1/num2;

res.setText("La suma Es: "+suma+"\n La Resta Es: "+resta+"\n La Division Es: "+div+"\n La Multiplicacion es: "+m );

break;

case R.id.boton2:

n1.setText("");

n2.setText("");

res.setText("");

}

}

}

En donde primero se mencionó el paquete que lo contenia, la clase, asi como declaramos nuestros objetos como son Botones, TextView, EditText, etc, Con El Metodo OnCreate Enlazamos El Java Con El Layout, y relacionamos los objetos para tener datos, por último en el Metodo OnClick Se Hizo El Proceso a realizar y quedaría de la siguiente manera:

14

Page 15: Manual de aplicaciones de android

15

Page 16: Manual de aplicaciones de android

Esta app sirvió Para agudizar la habilidad lógica por medio de un método corto para realizar las tablas de multiplicar. Utilizamos Un EditText, Dos Botones y Un Text View Para Mostrar Las Tablas De Multiplicar. Así Que El Layout Quedó de la sig. Manera:

<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:gravity="center" android:layout_margin="15pt" android:orientation="vertical" >

< EditText android:id="@+id/edtTxt1" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:numeric = "integer" >

<requestFocus /> </EditText>

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

<Button android:id="@+id/btncalc" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text = "Calcular" />

<Button android:id="@+id/btnlimp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text = "Limpiar" android:layout_weight="1" /> </LinearLayout>

<TextView android:id="@+id/txt1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text = "TextView" /> </LinearLayout>

Tablas De Multiplicar En Android

16

Page 17: Manual de aplicaciones de android

Utilizamos como ya se había dicho un EdiText, Dos Botones Y Un TextView Para Mostrar Las Tablas. Todos Con Las Mismas Características que Son Match_parent, wrap_content y Los id. Todo Para Mostrar El Siguiente Layout:

Y El MainActivity.java También Quedaría

package meridane.operaciones;

import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.*; 17

Page 18: Manual de aplicaciones de android

public class MainActivity extends Activity implements OnClickListener {

Button calc,limpiar;

TextView txt1;

EditText mu;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

calc=(Button)findViewById(R.id.btncalc);

limpiar=(Button)findViewById(R.id.btnlimp);

txt1=(TextView)findViewById(R.id.txt1);

mu=(EditText)findViewById(R.id.edtTxt1);

calc.setOnClickListener(this);

limpiar.setOnClickListener(this);

}

@Override

public void onClick(View arg0) {

switch(arg0.getId()){

case R.id.btncalc:

int num=Integer.parseInt(mu.getText().toString());

for(int cont=1;cont<=10;cont++){

int multip=cont*num;

18

Page 19: Manual de aplicaciones de android

txt1.append(num+"*"+cont+"="+multip+"\n");

}

break;

case R.id.btnlimp:

mu.setText("");

txt1.setText("");

}

}

}

Donde El Botón Limpiar También Juega Un Papel Muy Importante Por Que Cuando se Llene EL TextView Éste Lo Limpia:

Calculo De IMC En Android

19

Page 20: Manual de aplicaciones de android

Como todos sabemos el IMC es el Indice De Masa Corporal Y se Calcula dividiendo el peso entre la altura al cuadrado. La app aparte de decirte tu IMC también te da una pequeña recomendación.

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

<EditText android:id="@+id/altura" android:layout_width="match_parent" android:gravity="center" android:numeric = "decimal" android:layout_height="wrap_content" android:hint = "Altura (Mts)" >

</EditText>

<EditText android:id="@+id/peso" android:layout_width="match_parent" android:layout_height="wrap_content" android:numeric = "decimal" android:gravity="center" android:hint = "Peso (Kg)" />

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

<Button android:id="@+id/calc" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text = "Calcular IMC" />

<Button android:id="@+id/borrar" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text = "Limpiar" android:gravity="center"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" > <TextView

20

Page 21: Manual de aplicaciones de android

android:id="@+id/res" android:gravity="center" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/rec" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center" />

</LinearLayout> </LinearLayout>

+

package meridane.imc;

import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

21

Page 22: Manual de aplicaciones de android

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.*;

public class MainActivity extends Activity implements OnClickListener {

Button calc, limpiar;

EditText altura,peso;

TextView res, rec;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

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

limpiar=(Button)findViewById(R.id.borrar);

altura=(EditText) findViewById(R.id.altura);

peso=(EditText) findViewById(R.id.peso);

res=(TextView) findViewById(R.id.res);

rec=(TextView) findViewById(R.id.rec);

calc.setOnClickListener(this);

limpiar.setOnClickListener(this);

}

@Override

public void onClick(View arg0) {

switch(arg0.getId()){

case R.id.calc:

double altu=Double.parseDouble(altura.getText().toString());

22

Page 23: Manual de aplicaciones de android

double pes=Double.parseDouble(peso.getText().toString());

double imc=pes/(Math.pow(altu, 2));

res.setText(""+ imc);

if(imc<18){

rec.setText("Come Más,\n Lo Necesitas");

}

if(imc>=18 && imc<=24.9){

rec.setText ("Sigue Asi,\n Haga Ejercicio");

}

if(imc>=25 && imc<=26.9){

rec.setText("Reduce Tus \n FRITURAS,\n Haga Ejercicio");

}

if(imc>=27){

rec.setText("Tienes un \n IMC Alto,\n Haga Ejercicio");

}

break;

case R.id.borrar:

altura.setText("");

peso.setText("");

res.setText("");

rec.setText("");

break;

}

23

Page 24: Manual de aplicaciones de android

}

}

1er activity_main.xml

<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:gravity="center" android:orientation="vertical">

<TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text = "clicka aqui" />

<Button android:id="@+id/button1" android:layout_width="wrap_content"

Comunicación Entre Activities En Android 24

Page 25: Manual de aplicaciones de android

android:layout_height="wrap_content" android:text = "eNVIAR" />

</LinearLayout>

2do Activity Se Insertaron Los Objetos para diferenciarlo del primero

<?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" >

<ProgressBar android:id="@+id/progressBar1" style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" />

<SeekBar android:id="@+id/seekBar1" android:layout_width="match_parent" android:layout_height="wrap_content" />

<RatingBar android:id="@+id/ratingBar1" android:layout_width="wrap_content" android:layout_height="wrap_content" />

Page 26: Manual de aplicaciones de android

<ToggleButton android:id="@+id/toggleButton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text = "ToggleButton" />

</LinearLayout>

1er MainActivity.java

package meridane.intent;

import android.os.Bundle;

import android.app.Activity;

import android.content.Intent;

import android.view.Menu;

import android.view.View;

Page 27: Manual de aplicaciones de android

import android.view.View.OnClickListener;

import android.widget.Button;

public class MainActivity extends Activity implements OnClickListener {

Button b;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

b=(Button) findViewById(R.id.button1);

b.setOnClickListener(this);

}

@Override

public void onClick(View arg0) {

if(arg0.getId()==R.id.button1){

String m="Holis";

Intent v=new Intent(this, segundo.class);

startActivity(v);

}

}

}

package meridane.intent;

import android.app.Activity;

Page 28: Manual de aplicaciones de android

import android.os.Bundle;

import android.widget.Toast;

public class segundo extends Activity{

String m="";

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_segundo);

Toast.makeText(this, “Hola Mundo”, Toast.LENGTH_LONG).show();

}

}

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="meridane.intent" android:versionCode="1" android:versionName="1.0" >

< uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" />

<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="meridane.intent.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>

Page 29: Manual de aplicaciones de android

<activity android:name="meridane.intent.segundo" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.DEFAULT" />

<category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>

</manifest>

Se añadió el segundo Activity( La Clase Java) Como DEFAULT Ya Que La Vamos A Conectar

Spinner

Page 30: Manual de aplicaciones de android

<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="#DF012D" android:gravity="center" android:orientation="vertical" >

<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:text = "Escoge Una Seccion" android:textSize = "25dp" />

<Spinner android:id="@+id/estado" android:layout_width="fill_parent" android:layout_height="wrap_content" />

<Spinner android:id="@+id/municipio" android:layout_width="fill_parent" android:layout_height="wrap_content" />

</LinearLayout>

package gears.spinner;

import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

import android.view.View;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemSelectedListener;

import android.widget.ArrayAdapter;

import android.widget.Spinner;

import android.widget.Toast;

Page 31: Manual de aplicaciones de android

public class Otros extends Activity implements OnItemSelectedListener {

Spinner spestado, spmunicipo;

ArrayAdapter<String> aaEstado,aaMunicipio1,aaMunicipio2, aaMunicipio3, Clear;

String[] opcEstado = new String[] { "Mujeres", "Hombres","Bebes" };

String[] opcMunicipio1 = new String[] { "Vestido", "Pantalones", "Pijamas" };

String[] opcMunicipio2 = new String[] { "Camisa","Gorritos", "Pañales" };

String[] opcMunicipio3 = new String[] { "Zapatilla","Botas ", "Biberon" };

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_spinner);

spestado = (Spinner) findViewById(R.id.estado);

spmunicipo = (Spinner) findViewById(R.id.municipio);

spestado.setOnItemSelectedListener(this);

spmunicipo.setOnItemSelectedListener(this);

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

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

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

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

Page 32: Manual de aplicaciones de android

spestado.setAdapter(aaEstado);

}

@Override

public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,

long arg3) {

switch(arg0.getId()){

case R.id.estado:

int seleccionado=spestado.getSelectedItemPosition();

int s=spmunicipo.getSelectedItemPosition();

int sp=spmunicipo.getSelectedItemPosition();

if(seleccionado==0){

spmunicipo.setAdapter(aaMunicipio1);

Toast.makeText(this, "Usted Eligio :"+"Mujeres", Toast.LENGTH_SHORT).show();

if(sp==0){

Toast.makeText(this, "Vale $1000", Toast.LENGTH_SHORT).show();

}

if(sp==1){

Toast.makeText(this, "Vale $2300", Toast.LENGTH_SHORT).show();

Page 33: Manual de aplicaciones de android

}

if(sp==2){

Toast.makeText(this, "Vale $700", Toast.LENGTH_SHORT).show();

}

}

if(seleccionado==1){

spmunicipo.setAdapter(aaMunicipio2);

Toast.makeText(this, "Usted Eligio "+"Hombres", Toast.LENGTH_SHORT).show();

if(sp==0){

Toast.makeText(this, "Vale $1000", Toast.LENGTH_SHORT).show();

}

if(sp==1){

Toast.makeText(this, "Vale $2300", Toast.LENGTH_SHORT).show();

}

if(sp==2){

Toast.makeText(this, "Vale $700", Toast.LENGTH_SHORT).show();

}

}

if(seleccionado==2){

spmunicipo.setAdapter(aaMunicipio3);

Page 34: Manual de aplicaciones de android

Toast.makeText(this, "Usted Eligio "+"Bebes", Toast.LENGTH_SHORT).show();

if(sp==0){

Toast.makeText(this, "Vale $500", Toast.LENGTH_SHORT).show();

}

if(sp==1){

Toast.makeText(this, "Vale $700", Toast.LENGTH_SHORT).show();

}

if(sp==2){

Toast.makeText(this, "Vale $100", Toast.LENGTH_SHORT).show();

}

}

break;

}

}

@Override

public void onNothingSelected(AdapterView<?> arg0) {

// TODO Auto-generated method stub

}

}

Page 35: Manual de aplicaciones de android

Progress Bar

<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:gravity="center" android:background="@drawable/ic_launcher" android:orientation="vertical" >

<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:fontFamily="Arial" android:gravity="center"

Page 36: Manual de aplicaciones de android

android:text = "App Realizada Por 403 \n \n \n Descargar Archivo.." />

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

</LinearLayout>

package meridame.progresbar;

import android.app.Activity;

import android.app.ProgressDialog;

import android.content.Intent;

import android.net.Uri;

import android.os.Bundle;

import android.os.Handler;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.widget.Button;

import android.widget.MediaController;

import android.widget.VideoView;

import android.widget.MediaController;

public class MainActivity extends Activity {

Button b1;

private ProgressDialog progressBar;

private int progressBarStatus = 0;

private Handler progressBarbHandler = new Handler();

private long fileSize = 0;

@Override

Page 37: Manual de aplicaciones de android

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

b1=(Button)findViewById(R.id.button1);

b1.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

progressBar = new ProgressDialog(v.getContext());

progressBar.setCancelable(true);

progressBar.setMessage("Descargando...");

progressBar.setProgressStyle(ProgressDialog.STYLE_SPINNER);

progressBar.setProgress(0);

progressBar.setMax(100);

progressBar.show();

progressBarStatus = 0;

fileSize = 0;

new Thread(new Runnable() {

public void run() {

while (progressBarStatus < 100) {

progressBarStatus = downloadFile();

try {

Thread.sleep(1000);

}

catch (InterruptedException e) {

e.printStackTrace();

}

Page 38: Manual de aplicaciones de android

progressBarbHandler.post(new Runnable() {

public void run() {

progressBar.setProgress(progressBarStatus);

}

});

}

if (progressBarStatus >= 100) {

try {

Thread.sleep(2000);

}

catch (InterruptedException e) {

e.printStackTrace();

}

progressBar.dismiss();

}

}

}).start();

}

});

}

public int downloadFile() {

while (fileSize <= 1000000) {

fileSize++;

if (fileSize == 100000) {

return 10;

Page 39: Manual de aplicaciones de android

}

else if (fileSize == 200000) {

return 20;

}

else if (fileSize == 300000) {

return 30;

}

else if (fileSize == 400000) {

return 40;

}

else if (fileSize == 500000) {

return 50;

}

else if (fileSize == 600000) {

return 60;

}

else if (fileSize == 700000) {

return 70;

}

else if (fileSize == 800000) {

return 80;

}

else if (fileSize == 900000) {

return 90;

Page 40: Manual de aplicaciones de android

}

}

return 100;

}

}

Options

Page 41: Manual de aplicaciones de android

<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="#DD0F00" android:orientation="vertical">

< ImageView android:id="@+id/imageView1" android:layout_width= "fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:src="@drawable/ic_launcher" /> <TextView android:id="@+id/textView1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:textColor="#FFFFFF" android:gravity="center" android:text = "Elige una Opcion en el \n boton de la izquierda- abajo" />

</LinearLayout>

package meridame.optionsmenu;

import android.os.Bundle;

import android.app.Activity;

import android.content.Intent;

import android.view.Menu;

import android.view.MenuItem;

import android.widget.TextView;

Page 42: Manual de aplicaciones de android

public class MainActivity extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

}

@Override

public boolean onCreateOptionsMenu(Menu menu){

super.onCreateOptionsMenu(menu);

MenuItem item1= menu.add(0,1,1,"Videos");

MenuItem item2= menu.add(0,2,2,"Acerca De");

MenuItem item3= menu.add(0,3,3,"Salir");

item1.setIcon(R.drawable.ic_launcher);

item2.setIcon(R.drawable.ic_launcher);

item3.setIcon(R.drawable.ic_launcher);

return true;

}

@Override

public boolean onOptionsItemSelected(MenuItem item){

Page 43: Manual de aplicaciones de android

int id= item.getItemId();

switch(id){

case 1:

Intent go=new Intent(MainActivity.this, Videos.class);

startActivity(go);

break;

case 2:

Intent ir=new Intent(MainActivity.this, acercade.class);

startActivity(ir);

break;

case 3:

finish();

}

return true;

}

}