manual de aplicaciones moviles

156
Manual de aplicaciones de Android Tania López Galaviz Rene Domínguez Escalona Recuperación 402 Matutino

Upload: tania-lopez-galaviz

Post on 16-Aug-2015

40 views

Category:

Education


2 download

TRANSCRIPT

Page 1: Manual de aplicaciones Moviles

Manual de aplicaciones de Android

Tania López Galaviz

Rene Domínguez Escalona

Recuperación

402

Matutino

Page 2: Manual de aplicaciones Moviles

Índice

Hola mundo Operaciones IMC Factorial Asterisco Álbum Color HEX RebosoDroid PhoneGap ListView Sonidos animales VideoView notificaciones ToggleButton CheckBox RadioButton ProgressBar Spinner Webview TimePicker y DatePicker Tabhost Acelerómetro Canvas Gato calculadora

Page 3: Manual de aplicaciones Moviles

“Hola mundo”

Código XML Código java

<? Xml version="1.0"?>

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

<TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="HOLA

package com.example.mundo;

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

public class Mundo extends Activity {

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

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

Page 4: Manual de aplicaciones Moviles

MUNDO !!!!!!!!!!"/>

</RelativeLayout>

}

Bueno es este programa no es gran cosa ya que solo tienes que poner un TextView dentro del relative para que aparezca en la pantalla y en el código java no tienes que hacer nada.

Page 5: Manual de aplicaciones Moviles

“operaciones”

Código XML Código java

<?xml version="1.0"?><LinearLayout android:orientation="vertical" android:background="#000000" android:layout_height="match_parent" android:layout_width="match_parent" xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android"><EditText android:background="#FFFFFF" android:layout_height="50dp" android:layout_width="match_parent" android:numeric="decimal" android:hint="numero1" android:layout_margin="10dp" android:id="@+id/num"/><EditText android:background="#FFFFFF" android:layout_height="50dp" android:layout_width=

package com.exa.operacion; import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;import android.widget.Toast;

public class Operacion extends Activity implements OnClickListener {

EditText txtNumeroUno, txtNumeroDos;

TextView txtResultado;Button btnCalcular,btnBorrar;Toast t;

@Overrideprotected void

onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

Page 6: Manual de aplicaciones Moviles

"match_parent" android:numeric="decimal" android:hint="numero2" android:layout_margin="10dp" android:id="@+id/numd"/><LinearLayout android:orientation="horizontal" android:layout_height="wrap_content" android:layout_width="match_parent"><Button android:background="#00CC00" android:layout_height="50dp" android:layout_width="match_parent" android:layout_margin="10dp" android:id="@+id/cal" android:textColor="#000000" android:text="calcular" android:layout_weight="1"/><Button android:background="#00CC00" android:layout_height="50dp" android:layout_width="match_parent" android:layout_margin="10dp" android:id="@+id/bor" android:textColor="#000000" android:text="Borrar" android:layout_weight="1"/></LinearLayout><TextView

setContentView(R.layout.activity_operacion);

txtNumeroUno=(EditText)findViewById(R.id.num); txtNumeroDos=(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); }

@Overridepublic void onClick(View v) {

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

String u=txtNumeroUno.getText().toString();

String d=txtNumeroDos.getText().toString();

if((u.equals("")|| d.equals("")) || (u.equals("")&&

Page 7: Manual de aplicaciones Moviles

android:background="#FFFFFF" android:layout_height="match_parent" android:layout_width="match_parent" android:layout_margin="10dp" android:id="@+id/res"/></LinearLayout>

d.equals("")) ){

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

}else{double

uno=Double.parseDouble(txtNumeroUno.getText().toString());

double dos=Double.parseDouble(txtNumeroDos.getText().toString());

txtNumeroUno.setText("");

txtNumeroDos.setText("");

txtResultado.setText("");

txtResultado.setText("la suma es: "+(uno+dos)+"\n"

+"La resta es:"+(uno-dos)+"\n"

+"La multiplicacion es:"+(uno*dos)+"\n"

+"La division es:"+(uno/dos));

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

}break;

case R.id.bor:

txtNumeroUno.setText("");

Page 8: Manual de aplicaciones Moviles

txtNumeroDos.setText("");

txtResultado.setText("");break;

}

}

}

Page 9: Manual de aplicaciones Moviles

Bueno en XML tienes que hacer tu diseño como tu deseas y poner 2 EditText, 2 botones y un TextView en donde van a salir los resultados de las suma, resta, multiplicación, división.

Page 10: Manual de aplicaciones Moviles

Y ya en el código java tienes que declarar los que vas a utilizar que son los botones, TextView y EditText después tienes que utilizar un if para poner los mensajes que salen de faltan valores o valores calculados después de eso tienes que utilizar el case por si aprieta el botón de calcular haga lo que se le indique y otro para borrar todos los valores del TextView y los EditText.

“IMC”

Código XML Código java<?xml version="1.0"?><LinearLayout android:orientation="vertical" android:background="#000000" android:layout_height="match_parent" android:layout_width="match_parent" xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android"><EditText android:background="#000000" android:layout_height="50dp" android:layout_width="match_parent" android:numeric=

package com.abuelo.imc;

import com.abuelo.imc.R;

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

public class IMC extends Activity implements OnClickListener {

EditText txtaltura,txtpeso;TextView txtResultado;Button

btnCalcular,btnBorrar;

@Override

Page 11: Manual de aplicaciones Moviles

"decimal" android:hint="altura" android:textColor="#FFFFFF" android:layout_margin="10dp" android:id="@+id/num"/><EditText android:background="#000000" android:layout_height="50dp" android:layout_width="match_parent" android:numeric="decimal" android:hint="peso" android:textColor="#FFFFFF" android:layout_margin="10dp" android:id="@+id/numd"/><LinearLayout android:orientation="horizontal" android:layout_height="wrap_content" android:layout_width="match_parent"><Button android:background="#3366FF" android:layout_height="50dp" android:layout_width="match_parent"

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_imc); txtpeso=(EditText)findViewById(R.id.num); txtaltura=(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);

}

@Overridepublic void onClick(View v) {

// TODO Auto-

Page 12: Manual de aplicaciones Moviles

android:textColor="#000000" android:layout_margin="10dp" android:id="@+id/cal" android:text="calcular" android:layout_weight="1"/><Button android:background="#3366FF" android:layout_height="50dp" android:layout_width="match_parent" android:textColor="#000000" android:layout_margin="10dp" android:id="@+id/bor" android:text="Borrar" android:layout_weight="1"/></LinearLayout><TextView android:background="#000000" android:layout_height="match_parent" android:layout_width="match_parent" android:textColor="#FFFFFF" android:layout_margin="10dp" android:id="@+id/res"> </TextView></LinearLayout>

generated method stub

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

String u=txtpeso.getText().toString();

String d=txtaltura.getText().toString();

if((u.equals("")|| d.equals("")) || (u.equals("")&& d.equals("")) ){

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

}else{double

uno=Double.parseDouble(txtpeso.getText().toString());

double dos=Double.parseDouble(txtaltura.getText().toString());

double die=uno*uno;

double IMC=dos/die;

txtResultado.setText("TU IMC ES : "+IMC+"\n");

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

}

Page 13: Manual de aplicaciones Moviles

break; case R.id.bor:

txtpeso.setText("");

txtaltura.setText("");

txtResultado.setText("");

}

}

}

Page 14: Manual de aplicaciones Moviles

Bueno en este programa como en todos tienes que hacer tu diseño y ponerles un id para poder identificarlos a los otros y pues ya en java tienes igual que declarar los EditText y botones para eso tenemos que hacer casi lo mismo que el anterior utilizar un if para los mensajes y switch para sí aprieta el botón de calcular tiene que hacer la multiplicación del peso por la altura entre dos para saber le IMC de tu cuerpo y ya en el TextView aparezca el IMC.

Page 15: Manual de aplicaciones Moviles

“Factorial”

Código XML Código java

<?xml version="1.0"?><LinearLayout android:orientation="vertical" android:background="#000000" android:layout_height="match_parent" android:layout_width="match_parent" xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android"><EditText android:background="#FFFFFF" android:layout_height="50dp" android:layout_width="match_parent" android:numeric="decimal" android:hint="numero1" android:layout_margin="10dp" android:id="@+id/num"/><LinearLayout android:orientation="horizontal" android:layout_height="wrap_content" android:layout_width="match_parent"><Button android:background="#0CCC00" android:layout_height="50dp" android:layout_width=

package com.example.factorial;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener{

EditText n;TextView r;Button fac, borr;Toast t;

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

Page 16: Manual de aplicaciones Moviles

"match_parent" android:layout_margin="10dp" android:id="@+id/cal" android:textColor="#000000" android:text="calcular" android:layout_weight="1"/><Button android:background="#CCCC00" android:layout_height="50dp" android:layout_width="match_parent" android:layout_margin="10dp" android:id="@+id/bor" android:textColor="#000000" android:text="Borrar" android:layout_weight="1"/></LinearLayout><TextView android:background="#FFFFFF" android:layout_height="match_parent" android:layout_width="match_parent" android:layout_margin="10dp" android:id="@+id/res"/></LinearLayout>

n=(EditText)findViewById(R.id.num); r=(TextView)findViewById(R.id.res); fac=(Button)findViewById(R.id.cal); borr=(Button)findViewById(R.id.bor); fac.setOnClickListener(this); borr.setOnClickListener(this); }@Override

public void onClick(View v) {

String a=n.getText().toString();

int e=0;switch(v.getId()){

case R.id.cal:if(a.equals("")){

t = Toast.makeText(this, "Inserta un valor chavo" , Toast.LENGTH_SHORT);

t.show();}else{

int b=Integer.parseInt(a);

if(b==1){

r.setText("La factorial es = 1");

}if(b==2){

Page 17: Manual de aplicaciones Moviles

r.setText("La factorial es = 2");

}if(b>2){int c=2;int d=3;int o=0;for(e=0; e<b; e+

+){o=c*d;if(d==b){

r.setText("La factorial es = "+o);

}else{d=d+1;c=o;}}

}

}break;case R.id.bor:

n.setText("");r.setText("");

break;}}

}

Page 18: Manual de aplicaciones Moviles
Page 19: Manual de aplicaciones Moviles

Bueno en este igual va a ser igual que los otros hacer tu diseño y ponerles un id para identificarlos Y lo complicado es el código java pues siempre tienes que declarar todos tus botones o lo que hallas creado, tienes que crear un objeto de tipo string para guardar el número y luego con el switch ya no había entendido bien el numero factorial pero se va multiplicado 5!=1*2*3*4*5=120 como se muestra en el ejemplo de arriba ya si es dos pues 2!=1*2=2 así dependiendo el número

“Álbum”

Código XML Código java

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

<ImageView android:id="@+id/image" android:layout_width="match_parent" android:layout_height="200sp"

package com.abb.app1;import android.os.Bundle;import android.app.Activity;import android.app.WallpaperManager;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ImageView;import android.widget.Toast;public class MainActivity

Page 20: Manual de aplicaciones Moviles

android:src="@drawable/a"/>

<HorizontalScrollView android:layout_width="match_parent" android:layout_height="100sp">

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

<ImageView android:id="@+id/image1" android:layout_width="100sp" android:layout_height="100sp" android:src="@drawable/a"/> <ImageView android:id="@+id/image2" android:layout_width="100sp" android:layout_height="100sp" android:src="@drawable/b"/> <ImageView android:id="@+id/image3" android:layout_width="100sp" android:layout_height="100sp" android:src="@drawable/c"/> <ImageView

extends Activity implements OnClickListener {ImageView image, img1, img2, img3, img4, img5, img6, img7, img8, img9,img10;

Button btn;int fondo;@Overrideprotected void

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

image = (ImageView) findViewById(R.id.image);

img1 = (ImageView) findViewById(R.id.image1);

img2 = (ImageView) findViewById(R.id.image2);

img3 = (ImageView) findViewById(R.id.image3);

img4 = (ImageView) findViewById(R.id.image4);

img5 = (ImageView) findViewById(R.id.image5);

img6 = (ImageView) findViewById(R.id.image6);

img7 = (ImageView) findViewById(R.id.image7);

img8 = (ImageView) findViewById(R.id.image8);

img9 = (ImageView) findViewById(R.id.image9);

img10 =

Page 21: Manual de aplicaciones Moviles

android:id="@+id/image4" android:layout_width="100sp" android:layout_height="100sp" android:src="@drawable/d"/> <ImageView android:id="@+id/image5" android:layout_width="100sp" android:layout_height="100sp" android:src="@drawable/e"/> <ImageView android:id="@+id/image6" android:layout_width="100sp" android:layout_height="100sp" android:src="@drawable/f"/> <ImageView android:id="@+id/image7" android:layout_width="100sp" android:layout_height="100sp" android:src="@drawable/g"/> <ImageView android:id="@+id/image8" android:layout_width="100sp" android:layout_height="100sp" android:src="@drawable/h"/> <ImageView

(ImageView) findViewById(R.id.image10); btn = (Button) findViewById(R.id.cambiar);img1.setOnClickListener(this);img2.setOnClickListener(this);img3.setOnClickListener(this);img4.setOnClickListener(this);img5.setOnClickListener(this);img6.setOnClickListener(this);img7.setOnClickListener(this);img8.setOnClickListener(this);img9.setOnClickListener(this);img10.setOnClickListener(this);btn.setOnClickListener(this);

} @Overridepublic void onClick(View

v) {switch (v.getId()) {case R.id.image1: image.setImageResource(R.drawable.a);fondo = R.drawable.a;

break;case R.id.image2:image.setImageResource(R.drawable.b);fondo = R.drawable.b;break;case R.id.image3: image.setImageResource(R.drawable.c);fondo = R.drawable.c;break;case R.id.image4:

Page 22: Manual de aplicaciones Moviles

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

</LinearLayout>

</HorizontalScrollView>

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

</LinearLayout>

image.setImageResource(R.drawable.d);fondo = R.drawable.d;break;case R.id.image5: image.setImageResource(R.drawable.e);fondo = R.drawable.e;break;case R.id.image6: image.setImageResource(R.drawable.f);fondo = R.drawable.f;break;case R.id.image7: image.setImageResource(R.drawable.g);fondo = R.drawable.g;break;case R.id.image8: image.setImageResource(R.drawable.h);fondo = R.drawable.h;

break;case R.id.image9: image.setImageResource(R.drawable.i);fondo = R.drawable.i;break;case R.id.image10: image.setImageResource(R.drawable.j);fondo = R.drawable.j;break;case R.id.cambiar:WallpaperManager mywp =

Page 23: Manual de aplicaciones Moviles

WallpaperManager.getInstance(getApplicationContext());

try {

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

e.printStackTrace();}

Toast.makeText(this, "cambiar Wallpaper", Toast.LENGTH_LONG).show();

break;} } }

Page 24: Manual de aplicaciones Moviles
Page 25: Manual de aplicaciones Moviles

Bueno en este programa tienes que hacer una carpeta dentro de res ahí dentro de a la carpeta drawable-mdpi ahí las guardas te vas al programa en le la carpeta mdpi le das refreh y ahí y van a estar por preferencia poner nombres cortos los declaras dentro de ImageView bueno de ahí te vas al java declaras el botón y todas las imágenes y de ahí con switch (case) vas poniendo en orden todas las imágenes y en cada caso y las vas a ir visualizando todas las fotos.

“Color Hex”

Código XML Código java

<?xml version="1.0"?><LinearLayout android:orientation="vertical" android:layout_height="match_parent" android:layout_width="match_parent" xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android"><LinearLayout android:orientation="horizontal" android:layout_height="wrap_content" android:layout_width="match_parent"><TextView android:layout_height="wrap_content" android:layout_width="match_parent"

package com.rgbtohex;import android.os.Bundle;import android.widget.*;import android.app.Activity;public class RGBtoEX extends Activity implements SeekBar.OnSeekBarChangeListener {

SeekBar rojo,verde,azul;TextView

vrojo,vverde,vazul,hex,color;int r=0,v=0,a=0;

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_rgbto_ex); rojo=(SeekBar)findViewById(R.id.r

Page 26: Manual de aplicaciones Moviles

android:textSize="25sp" android:text="Rojo" android:gravity="center" android:fontFamily="Arial" android:layout_weight="1" android:layout_margin="5sp" android:id="@+id/trojo"/><TextView android:layout_height="match_parent" android:layout_width="match_parent" android:textSize="25sp" android:text="R:" android:gravity="center" android:fontFamily="Arial" android:layout_weight="1" android:layout_margin="5sp" android:id="@+id/vrojo"/></LinearLayout><LinearLayout android:orientation="horizontal" android:layout_height="wrap_content" android:layout_width="match_parent"><SeekBar android:layout_height="wrap_content" android:layout_width="match_parent" android:layout_weight="1" android:layout_margin="5sp" android:id="@+id/rojo" android:indeterminate="false" android:progress="1" android:max=

ojo); verde=(SeekBar)findViewById(R.id.verde); azul=(SeekBar)findViewById(R.id.azul); hex=(TextView)findViewById(R.id.hex); color=(TextView)findViewById(R.id.color); vrojo=(TextView)findViewById(R.id.vrojo); vverde=(TextView)findViewById(R.id.vverde); vazul=(TextView)findViewById(R.id.vazul); rojo.setOnSeekBarChangeListener(this); verde.setOnSeekBarChangeListener(this); azul.setOnSeekBarChangeListener(this); }@Override

public void onProgressChanged(SeekBar seekBar, int progress,

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

Page 27: Manual de aplicaciones Moviles

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

r=progress;break;

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); vverde.setText("G: "+v); vazul.setText("B: "+a);

}@Override

public void

Page 28: Manual de aplicaciones Moviles

"match_parent"><SeekBar android:layout_height="wrap_content" android:layout_width="match_parent" android:layout_weight="1" android:layout_margin="5sp" android:id="@+id/verde" android:indeterminate="false" android:progress="1" android:max="255"/></LinearLayout><LinearLayout android:orientation="horizontal" android:layout_height="wrap_content" android:layout_width="match_parent"><TextView android:layout_height="wrap_content" android:layout_width="match_parent" android:textSize="25sp" android:text="Azul" android:gravity="center" android:fontFamily="Arial" android:layout_weight="1" android:layout_margin="5sp" android:id="@+id/tazul"/><TextView android:layout_height="match_parent" android:layout_width="match_parent" android:textSize="25sp" android:text="B:"

onStopTrackingTouch(SeekBar seekBar) {

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

}

}

Page 29: Manual de aplicaciones Moviles

android:gravity="center" android:fontFamily="Arial" android:layout_weight="1" android:layout_margin="5sp" android:id="@+id/vazul"/></LinearLayout><LinearLayout android:orientation="horizontal" android:layout_height="wrap_content" android:layout_width="match_parent"><SeekBar android:layout_height="wrap_content" android:layout_width="match_parent" android:layout_weight="1" android:layout_margin="5sp" android:id="@+id/azul" android:indeterminate="false" android:progress="1" android:max="255"/></LinearLayout><TextView android:layout_height="wrap_content" android:layout_width="match_parent" android:textSize="25sp" android:text="Hexadecimal" android:gravity="center" android:fontFamily="Arial" android:layout_margin="5sp" android:id="@+id/hex"/><TextView android:layout_height=

Page 30: Manual de aplicaciones Moviles

"match_parent" android:layout_width="match_parent" android:textSize="65sp" android:text="color" android:gravity="center" android:layout_margin="5sp" android:id="@+id/color" android:background="#CCCCCC"/></LinearLayout>

Page 31: Manual de aplicaciones Moviles

Bueno en este tienes que utilizar SeekBar para los colores y utilizar int r=0, v=0, a=0 para mover los numero de R:, G: , B: después los declaras tienes que utilizar una librería onProgressChanged para ahí poder moverse los números y el color luego pones el primer caso que es el de rojo r=progress; ahí con los otros 2. Luego creas un objeto de tipo String c=ColorHex(r, v, a); para dar el código después otra librería llamada String ColorHex luego pones String color=""; color="#"; color+=Integer.toHexString(r) también con los otros 2 y al final luego pones public void onStartTrackingTouch y pones vrojo.setText("R: "+r); con los otros 2 y luego para detener lo mismo pero en vez de start (Stop) y listo.

Page 32: Manual de aplicaciones Moviles

“RebosoDroid”

Son dos este es el primero.

Código XML Código java

<?xml version="1.0"?><LinearLayout tools:context=".MainActivity" android:orientation="vertical" android:layout_height="match_parent" android:layout_width=

package com.tania.rebosodroid;import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;

Page 33: Manual de aplicaciones Moviles

"match_parent" xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android"><EditText android:layout_height="60sp" android:layout_width="match_parent" android:textSize="50sp" android:maxLength="20" android:hint="nombre" android:background="#00ccff" android:layout_margin="10sp" android:id="@+id/nombre"/><EditText android:layout_height="60sp" android:layout_width="match_parent" android:textSize="50sp" android:maxLength="20" android:hint="edad" android:background="#00ccff" android:layout_margin="10sp" android:id="@+id/edad"/><Button android:layout_height="60sp"

import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener {

EditText nombre,edad;Button enviar,borrar;

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); nombre=(EditText)findViewById(R.id.nombre); edad=(EditText)findViewById(R.id.edad); enviar=(Button)findViewById(R.id.enviar); borrar=(Button)findViewById(R.id.borrar); enviar.setOnClickListener(this); borrar.setOnClickListener(this); }@Override

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

String n=nombre.getText().toString();

Page 34: Manual de aplicaciones Moviles

android:layout_width="match_parent" android:textSize="50sp" android:maxLength="20" android:hint="Enviar" android:background="#00ccff" android:layout_margin="10sp" android:id="@+id/enviar"/><Button android:layout_height="60sp" android:layout_width="match_parent" android:textSize="50sp" android:maxLength="20" android:hint="Borrar" android:background="#00ccff" android:layout_margin="10sp" android:id="@+id/borrar"/></LinearLayout>

String e=edad.getText().toString();

if ((!n.equals("" ) || !e.equals("")) || (!n.equals("" ) && !e.equals(""))){

Intert enviardatos=new Intent(this, Recibe.class);

enviardatos.putExtra("nombre", n);

enviardatos.putExtra("edad", e)

startActivity(enviardatos);}else{

Toast.makeText(this, "faltan valores", Toast.LENGTH_SHORT).show();if(v.getId()==R.id.borrar){nombre.setText("");edad.setText("");} } }

Bueno este es donde va a recibir la información que mandaste desde la primera.

Código XML Código java

<?xml version="1.0" encoding="UTF-8"?><LinearLayout

package com.Sparda.rebosodroid;

import android.app.Activity;

Page 35: Manual de aplicaciones Moviles

android:orientation="vertical" android:layout_height="match_parent" android:layout_width="match_parent" xmlns:android="http://schemas.android.com/apk/res/android"><TextView android:layout_height="match_parent" android:layout_width="match_parent" android:textSize="10sp" android:background="#ffffff" android:layout_margin="10sp" android:id="@+id/resultado"/></LinearLayout>

import android.os.Bundle;import android.widget.TextView;

public class Recibe extends Activity{

TextView Resultado;String nombre="";int edad=0;

protected void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.recibe);

Resultado=(TextView)findViewById(R.id.resultado);

Bundle recibedatos=getIntent().getExtras();

nombre=recibedatos.getString("nombre");

edad=Integer.parseInt(recibedatos.getString("edad"));

Resultado.setText("Hola!!!!"+nombre+"\n"+"Tu edad es:"+edad);

} }

Page 36: Manual de aplicaciones Moviles

Bueno primero haces el diseño y para que te mande a la otra página tienes que crear una nueva class y otro XML para hacer el 2 diseño, ya que tienes la clase en la primera vas a poner Intertenviardatos=new Intent(this, Recibe.class); Rcibe es el nombre de la 2 clase ya en la 2 clase haces

Page 37: Manual de aplicaciones Moviles

Resultado=(TextView)findViewById(R.id.resultado);Bundle recibedatos=getIntent().getExtras();

Mandas a llamar nombre=recibedatos.getString("nombre"); y la edad y hast ael final utilizas el resultado +la edad+ y el nombre .

“PhoneGap”

En este código no necesitas abrir el XML ni el java si no te vas asset luego www ahí están las el índex que es la página principal y ahí si deseas crear más creas y tiene que utilizar lenguajes de páginas web.

Page 38: Manual de aplicaciones Moviles
Page 39: Manual de aplicaciones Moviles

“ListView”

Código XML Código java

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

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

package skrion.abuelo.listview;

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

import java.util.ArrayList;import android.app.Activity;

public class Listview extends Activity implements OnClickListener{

EditText elemento;ArrayList<String>

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

adaptador;

@Overrideprotected void

onCreate(Bundle savedInstanceState) {

Page 40: Manual de aplicaciones Moviles

<EditText android:id="@+id/elemento" android:layout_width="match_parent" android:layout_height="fill_parent" android:layout_weight="0.3" android:background="#FFFFFF" android:contentDescription="agregarDescElemento" android:hint="AgregarElemento" android:marqueeRepeatLimit="marquee_forever" android:textColor="#000000" android:textSize="26sp" android:textStyle="bold" />

<Button android:id="@+id/agregar" android:layout_width="match_parent" android:layout_height="wrap_content"

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_listview);

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(this, android.R.layout.simple_list_item_1,elementos);

lista.setAdapter(adaptador);

btn.setOnClickListener(this);}

@Overridepublic void onClick(View v)

{

Page 41: Manual de aplicaciones Moviles

android:layout_weight="1" android:background="#00FFFF" android:hint="agregar" /> </LinearLayout>

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

</LinearLayout>

if(v.getId()==R.id.agregar){

elementos.add(elemento.getText().toString());

elemento.setText("");

adaptador.notifyDataSetChanged();

}

}

}

Page 42: Manual de aplicaciones Moviles

Bueno en este programa vamos a utilizar la ListView que como se muestra en ejemplo puedes ir agregando cosas o notas lo cual tenemos que hacerlo en el XML para que te permita agregar también un botón para aceptar y un EditText para agregar la palabra o cosa, ya en el código java tienes que declarar y va a declarar este método que es ArrayList<String> para que guarde los elementos que agregas en el EditText Después utilizas el implements OnClickListener para poner dentro el desarrollo del programa que nada más si agrega algo te lo muestre en donde está la ListView y es todo

“sonidos animales”

Código XML Código java

Page 43: Manual de aplicaciones Moviles

<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=".Animales" >

<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="horizontal" android:layout_weight="1" >

<Button android:id="@+id/b1" android:layout_width="156dp" android:layout_height="wrap_content" android:gravity="center"

package com.example.animales;

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

public class Animales extends Activity implements OnClickListener{SoundPool sp;Button b1,b2,b3,b4,b5,b6,b7,b8,b9;int a1,a2,a3,a4,a5,a6,a7,a8,a9;

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_animales); b1=(Button)findViewById(R.id.b1);

Page 44: Manual de aplicaciones Moviles

android:background="@drawable/bu" android:layout_weight="1"/>

<Button android:id="@+id/b2" android:layout_width="106dp" android:layout_height="wrap_content" android:gravity="center" android:background="@drawable/ca"

android:layout_weight="1" />

<Button android:id="@+id/b3" android:layout_width="82dp" android:layout_height="wrap_content" android:gravity="center" android:background="@drawable/pu" android:layout_weight="1" />

</LinearLayout>

b2=(Button)findViewById(R.id.b2); b3=(Button)findViewById(R.id.b3); b4=(Button)findViewById(R.id.b4); b5=(Button)findViewById(R.id.b5); b6=(Button)findViewById(R.id.b6); b7=(Button)findViewById(R.id.b7); b8=(Button)findViewById(R.id.b8); b9=(Button)findViewById(R.id.b9); b1.setOnClickListener(this); b2.setOnClickListener(this); b3.setOnClickListener(this); b4.setOnClickListener(this); b5.setOnClickListener(this); b6.setOnClickListener(this); b7.setOnClickListener(this); b8.setOnClickListener(this); b9.setOnClickListener(this);

sp= new SoundPool(8, AudioManager.STREAM_MUSIC, 0); a1=sp.load(this,R.raw.burro,1);

Page 45: Manual de aplicaciones Moviles

<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="horizontal" android:layout_weight="1" >

<Button android:id="@+id/b4" android:layout_width="156dp" android:layout_height="wrap_content" android:gravity="center" android:background="@drawable/ga" android:layout_weight="1"/>

<Button android:id="@+id/b5" android:layout_width="106dp" android:layout_height="wrap_content" android:gravity="center" android:background="@drawable/bo"

a2=sp.load(this,R.raw.caballo,2); a3=sp.load(this,R.raw.cerdaco,3); a4=sp.load(this,R.raw.gato,4); a5=sp.load(this,R.raw.obeja,5); a6=sp.load(this,R.raw.pardo,6); a7=sp.load(this,R.raw.perro,7); a8=sp.load(this,R.raw.twitter,8); a9=sp.load(this,R.raw.muu,9);

} @Override public void onClick(View v){ switch(v.getId()){ case R.id.b1: sp.play(a1,1,1,1,0,1); break;

case R.id.b2: sp.play(a2,1,1,1,0,1); break;

case R.id.b3: sp.play(a3,1,1,1,0,1); break; case R.id.b4: sp.play(a4,1,1,1,0,1); break; case R.id.b5: sp.play(a5,1,1,1,0,1);

Page 46: Manual de aplicaciones Moviles

android:layout_weight="1" />

<Button android:id="@+id/b6" android:layout_width="82dp" android:layout_height="wrap_content" android:gravity="center" android:background="@drawable/os" android:layout_weight="1" />

</LinearLayout>

<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="horizontal" android:layout_weight="1" >

<Button android:id="@+id/b7" android:layout_width="156dp" android:layout_height

break;

case R.id.b6: sp.play(a6,1,1,1,0,1); break;

case R.id.b7: sp.play(a7,1,1,1,0,1); break; case R.id.b8: sp.play(a8,1,1,1,0,1); break; case R.id.b9: sp.play(a9,1,1,1,0,1); break;

} }

}

Page 47: Manual de aplicaciones Moviles

="wrap_content" android:gravity="center" android:background="@drawable/pe" android:layout_weight="1"/>

<Button android:id="@+id/b8" android:layout_width="106dp" android:layout_height="wrap_content" android:gravity="center" android:background="@drawable/paj"

android:layout_weight="1" />

<Button android:id="@+id/b9" android:layout_width="82dp" android:layout_height="wrap_content" android:gravity="center" android:background="@drawable/va" android:layout_weight="1" />

</LinearLayout>

Page 48: Manual de aplicaciones Moviles

</LinearLayout>

Bueno en es tienes que crear botones con fondo de imágenes de los animales y ponerles un id para identificarlos y poner layout para que los acomode como se muestra en la imagen y tienes que crear una carpeta donde contenga a los sonidos de cada animal y ya en el programa tienes que declararlos como int para cada sonido de los animales y después con switch vas acomodando a los animales dependiendo de los sonidos cuando la condición es esa tienes q poner sp.play(a7,1,1,1,0,1); break; y los tienes que declarar dentro de cada caso

Page 49: Manual de aplicaciones Moviles

“Video View”

Código XML Código java

<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=".Video" >

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

</LinearLayout>

package com.example.video;

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

public class Video extends Activity {

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

Page 50: Manual de aplicaciones Moviles

om.example.video/" + R.raw.me); video.setVideoURI(path); video.setMediaController(new MediaController(this)); video.start(); video.requestFocus(); } }

Bueno es este solo tienes que poner en el XML solo video View para que en todo ese espacio salga el video y ya en java tienes que declarar el video View y luego poner los controles que son de play, pause y todo eso y tienes que declararlos de la siguiente manera video.setMediaController(new MediaController(this)); y el video lo tienes que guardar en un carpeta dentro de la carpeta res y de ahí tienes que poner el nombre de video como seria Uri path = Uri.parse("android.resource://com.example.video/" + R.raw.me); (me asi se llama el video).

Page 51: Manual de aplicaciones Moviles

“notificaciones”

Código XML Código java

Page 52: Manual de aplicaciones Moviles

<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" tools:context=".Notificaciones" > <Button android:id="@+id/btn" android:layout_width="fill_parent"

package com.example.notificacion;

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

public class Notificaciones extends Activity {

NotificationManager nm;

private static final int ID_NOTFICACION_PERSONA = 1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_notificaciones);

Button lanzar= (Button)findViewById(R.id.btn);

Page 53: Manual de aplicaciones Moviles

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

<ImageView android:id="@+id/ima" android:layout_width="350dp" android:layout_height="350dp" android:layout_alignLeft="@+id/btn" android:layout_alignParentBottom="true" android:src="@drawable/el" />

</RelativeLayout>

nm = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);

lanzar.setOnClickListener(new View.OnClickListener() {

@Overridepublic void

onClick(View view) {Notification

notification = new Notification (R.drawable.ic_launcher,"Notificacion personal DESCARGA", System.currentTimeMillis());

PendingIntent intencionpendiente= PendingIntent.getActivity(getApplicationContext(), 0, new Intent(getApplicationContext(), Dos.class),0);

notification.setLatestEventInfo(getApplicationContext(), "Notificacion", "Notificacion personal de Android",intencionpendiente);

nm.notify(ID_NOTFICACION_PERSONA, notification);

Page 54: Manual de aplicaciones Moviles

}});

}}

Bueno esta es la primera parte en esta tienes que crear un botón y en este caso puse una imagen y en el botón dice descargar bueno en el java tienes que crear la notificación Manager que es lo que tiene el derecho de aparecer la notificación en la barra de notificaciones de tu teléfono pones nm = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); es como declaras la notificación después mandas el enlace para que te mande a la segunda página PendingIntent intencionpendiente= PendingIntent.getActivity(getApplicationContext(), 0, new Intent(getApplicationContext(), Dos.class),0);Que eso te ayuda para que cuando tú le des a la notificación de mande a la segunda página que tu creaste Código XML Código java

Page 55: Manual de aplicaciones Moviles

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=http://schemas.android.com/apk/res/androidandroid:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><ImageViewandroid:id="@+id/ima"android:layout_width="300dp"android:layout_height="300dp"android:layout_weight="0.88"android:src="@drawable/el" />

</LinearLayout>

package com.example.notificacion;

import android.app.Activity;import android.os.Bundle;import android.view.Menu;public class Dos extends Activity {

@Overrideprotected void onCreate(Bundle

savedInstanceState) {

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

}

@Overridepublic boolean

onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.notificaciones, menu);

return true;

}}

Bueno en este nadamas tienes que hacer es ponoer la imagen y en el java nada lo dejas como te aparece para crear otra clase y otro XML tienes que darle en el paquete donde estás trabajando pones new class y Android XML File

Page 56: Manual de aplicaciones Moviles
Page 57: Manual de aplicaciones Moviles

“ToggleButton”

Código XML Código java

Page 58: Manual de aplicaciones Moviles

<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:background="#000000" 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=".Boton" >

<ImageView android:id="@+id/iv1" android:layout_width

package com.example.boton;

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

import android.widget.CompoundButton;import android.widget.CompoundButton.OnCheckedChangeListener;import android.widget.ImageView;import android.widget.ToggleButton;

public class Boton extends Activity implements OnCheckedChangeListener {

ToggleButton tb1;ImageView iv1;

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

Page 59: Manual de aplicaciones Moviles

="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/tb1" android:src="@drawable/a"

/>

<ToggleButton android:id="@+id/tb1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:textColor="#00ffcc" android:layout_marginTop="46dp" />

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

tb1=(ToggleButton)findViewById(R.id.tb1); iv1=(ImageView)findViewById(R.id.iv1);

tb1.setOnCheckedChangeListener(this);

}@Overridepublic void

onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

// TODO Auto-generated method stub

if(tb1.isChecked()){

iv1.setImageResource(R.drawable.b);

}else{

iv1.setImageResource(R.drawable.a);

}

}

}

Page 60: Manual de aplicaciones Moviles

="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="21dp" android:textColor="#00ffcc" android:text= "solo con un boton puede cambiar todo" />

</RelativeLayout>

Page 61: Manual de aplicaciones Moviles

Bueno en esta aplicación mostrare el ToggleButton para activar o desactivar algo en este caso solo es cambiar de imagen al aprisionar el botón lo cual tenemos que en el XML crear el ToggleButton y poner la imagen y el TextView ya en el java tienes que declarar el botón (ToggleButton) y la imagen y tienes que utilizar un if para crear si es ToggleButton esta desactivado salga esa imagen y si no salga la otra y así es el desarrollo de esta aplicación.

“CheckBox”

Page 62: Manual de aplicaciones Moviles

Código XML Código java<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=".MainActivity" > <CheckBox android:id="@+id/cass" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text= "meat" > </CheckBox> <CheckBox android:id="@+id/one" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text= "cheese" > </CheckBox>

</LinearLayout>

package one.exammple.checkbox;

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

public class MainActivity extends Activity implements OnClickListener {

@Overrideprotected void

onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

CheckBox a = (CheckBox) findViewById(R.id.cass);

CheckBox b =

Page 63: Manual de aplicaciones Moviles

(CheckBox) findViewById(R.id.one);a.setOnClickListener(this);b.setOnClickListener(this); }@Override

public void onClick(View v) {

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

Toast.makeText(this, "Opcion 1", Toast.LENGTH_LONG).show();break;

case R.id.cass:

Toast.makeText(this, "Opcion 2", Toast.LENGTH_LONG).show();

break; }}

}

Bueno en este programa tienes crear dos CheckBox para la opción 1 y opción dos y al seleccionar alguna de las dos tiene que aparecer en una imagen diferente y en java los tienes que declarar tanto el CheckBox y las imágenes y utilizar una switch si oprime el 1 salga esa imagen y si no la otra imagen es todo lo que tiene que hacer el programa.

Page 64: Manual de aplicaciones Moviles
Page 65: Manual de aplicaciones Moviles

“RadioButton”

Código XML Código java

<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> <TextViewandroid:id="@+id/textView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_alignParentTop="true" android:text="Selecciona una imagen"android:textAppearance="?android:attr/textAppearanceLarge"android:textColor="#FF00ff" /> <RadioGroup android:id="@+id/rg" android:layout_width

package pelon.eradiobutton;

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

public class MainActivity extends Activity implements OnClickListener{

View boton;RadioGroup rg;int checa;

ImageView a;@Overrideprotected void

onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Page 66: Manual de aplicaciones Moviles

="wrap_content"android:layout_height="wrap_content"android:layout_alignLeft="@+id/textView1"android:layout_below="@+id/textView1"android:layout_marginTop="22dp" ><RadioButtonandroid:id="@+id/mex"android:layout_width="wrap_content"android:layout_height="wrap_content" android:text="Death note"android:textColor="#FF00ff" /><RadioButtonandroid:id="@+id/china"android:layout_width="wrap_content"android:layout_height="wrap_content"android:checked="true"android:text="Hellsing"android:textColor="#FF00ff" /> <RadioButton android:id="@+id/eu"android:layout_width="wrap_content"android:layout_height="wrap_content" android:text="Totoro"

rg=(RadioGroup)findViewById(R.id.rg);

boton=(View)findViewById(R.id.button1);

boton.setOnClickListener(this);

a=(ImageView)findViewById(R.id.image);

}@Overridepublic void onClick(View

v) {// TODO Auto-

generated method stub

checa=rg.getCheckedRadioButtonId();

switch(checa){case R.id.mex:

a.setImageResource(R.drawable.a);

Toast.makeText(this, "Imagen1", Toast.LENGTH_SHORT).show();

break;

Page 67: Manual de aplicaciones Moviles

android:textColor="#FF00ff" /> </RadioGroup><Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/textView1" android:layout_centerVertical="true" android:text="Mostrar" android:textColor="#FF00ff" />

<ImageView android:id="@+id/image" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1.07" />

</LinearLayout>

case R.id.china:

a.setImageResource(R.drawable.b);

Toast.makeText(this, "Imagen2", Toast.LENGTH_SHORT).show();

break;case R.id.eu:

a.setImageResource(R.drawable.c);

Toast.makeText(this, "Imagen3", Toast.LENGTH_SHORT).show();

break;}

}

}

Page 68: Manual de aplicaciones Moviles

Bueno en esta aplicación es para que tú puedas seleccionar unas de las opciones que te muestra y aparezca una imagen lo cual las tenemos que declarar los tres RadioButton que son de las 3 imágenes que van a aparecer cuando le des en un botón de mostrar y solo poner una imagen sin fondo y ni declarar la imagen solo ponerlo en lugar donde quieres poner la imagen ya en java tienes que declarar la imagen el RadioButton y botón y tienes que utilizar checa=rg.getCheckedRadioButtonId (); para checar cual va escoger y utilizas un switch para las diferentes imágenes para mostrarlas se utiliza lo siguiente a.setImageResource(R.drawable.a);Toast.makeText (this, "Imagen1", Toast.LENGTH_SHORT).show ();

Page 69: Manual de aplicaciones Moviles
Page 70: Manual de aplicaciones Moviles

“ProgressBar”

Código XML Código java

<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" tools:context=".MainActivity" android:background="@drawable/uno">

package com.progressbar;

import android.os.Bundle;import android.os.Handler;import android.app.Activity;import android.content.Intent;import android.view.Menu;import android.widget.ProgressBar;

public class MainActivity extends Activity {

ProgressBar pgr;int progress=0;Handler h=new Handler();

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);pgr=(ProgressBar)findViewById(R.id.progressBar1); new Thread(new Runnable(){@Override

public void run() {

for(int

Page 71: Manual de aplicaciones Moviles

<ProgressBar android:id="@+id/progressBar1" style="?android:attr/progressBarStyleHorizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:layout_marginBottom="14dp" android:minWidth="300dp" android:progress="20" android:indeterminate="true"/>

</RelativeLayout>

i=0;i<5;i++){

progress+=20;

h.post(new Runnable(){

public void run() {

pgr.setProgress(progress);

if(progress==pgr.getMax()){

//pgr.setVisibility(4);

Intent in=new Intent(getApplicationContext(),SecondActivity.class);

startActivity(in);

} }});try{

Thread.sleep(3000);}catch

(InterruptedException e){

}}

} }).start(); } }

Bueno esta primera es para esperar a que cargue una página a algo lo cual después te muestra algo en esta primera parte mostrara solo como va avanzando el progreso

Page 72: Manual de aplicaciones Moviles

Código XML Código java<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" tools:context=".SecondActivity" >

<ImageView android:id="@+id/imageView6"

package com.progressbar;

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

public class SecondActivity extends Activity {

@Overrideprotected void

onCreate(Bundle savedInstanceState) {

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

}

@Overridepublic boolean

onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.second, menu);

return true;}

}

Page 73: Manual de aplicaciones Moviles

android:layout_width="100dp" android:layout_height="100dp" android:layout_alignParentRight="true" android:layout_alignTop="@+id/imageView1" android:layout_marginRight="14dp" android:src="@drawable/seis" />

<ImageView android:id="@+id/imageView5" android:layout_width="100dp" android:layout_height="100dp" android:layout_alignLeft="@+id/imageView6" android:layout_below="@+id/imageView6" android:src="@drawable/cinco" />

<ImageView android:id="@+id/imageView4" android:layout_width="100dp" android:layout_height="100dp"

Page 74: Manual de aplicaciones Moviles

android:layout_alignLeft="@+id/imageView1" android:layout_below="@+id/imageView5" android:layout_marginLeft="18dp" android:layout_marginTop="26dp" android:src="@drawable/cuatro" />

<ImageView android:id="@+id/imageView3" android:layout_width="100dp" android:layout_height="100dp" android:layout_alignLeft="@+id/imageView4" android:layout_below="@+id/imageView6" android:src="@drawable/tres" />

<ImageView android:id="@+id/imageView2" android:layout_width="100dp" android:layout_height="100dp"

Page 75: Manual de aplicaciones Moviles

android:layout_alignRight="@+id/imageView5" android:layout_alignTop="@+id/imageView4" android:layout_marginRight="17dp" android:src="@drawable/dos" />

<ImageView android:id="@+id/imageView1" android:layout_width="100dp" android:layout_height="100dp" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginTop="17dp" android:src="@drawable/uno" />

</RelativeLayout>

Bueno nada más en esta parte declaras todas tus imágenes i ya van a salir dentro de la primera página y en java no tienes que hacer nada

Page 76: Manual de aplicaciones Moviles

“Spinner”

Código XML Código java

Page 77: Manual de aplicaciones Moviles

<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" tools:context=".Lista" > <TextView android:id="@+id/tvTitulo" android:layout_width="wrap_content" android:layout_height

package com.example.lista;

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;

public class Lista extends Activity implements OnItemSelectedListener { Spinner spMarca, spModelo; ArrayAdapter<String> aaMarca,aaModelo,aaClear; String [] opcMarca=new String [] {"HTC","Samsung","Lg","Sony Ericsson"}; String [] opcModelo=new String [] {"Grand Prime","Core 2","Alpha","Core"}; String [] opcClear=new String [0]; @Override protected void onCreate(Bundle savedInstanceState) {

Page 78: Manual de aplicaciones Moviles

="wrap_content" android:text="Selecciona un telefono" android:layout_centerHorizontal="true" />

<Spinner android:id="@+id/spMarca" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@+id/tvTitulo" android:layout_marginTop="15dp" />

<Spinner android:id="@+id/spModelo" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@+id/spMarca" android:layout_marginTop="15dp" />

super.onCreate(savedInstanceState); setContentView(R.layout.activity_lista);spMarca=(Spinner)findViewById(R.id.spMarca); spModelo=(Spinner)findViewById(R.id.spModelo);spMarca.setOnItemSelectedListener(this); spModelo.setOnItemSelectedListener(this);aaMarca=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, opcMarca ); aaModelo=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, opcModelo ); aaClear=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, opcClear );spMarca.setAdapter(aaMarca); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present.

Page 79: Manual de aplicaciones Moviles

</RelativeLayout>

getMenuInflater().inflate(R.menu.lista, menu); return true; }@Override

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

long arg3) {// TODO Auto-

generated method stub

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

int seleccionado=spMarca.getSelectedItemPosition();

if(seleccionado==1){

spModelo.setAdapter(aaModelo); }else{

spModelo.setAdapter(aaClear);

}}

}}

Bueno en este programa es como una lista despegable y seleccionas el producto que deseas lo cual tienes que utilizar Spinner y en java lo cual si solo escoges la opción correcta en

Page 80: Manual de aplicaciones Moviles

el otro Spinner te va a salir otras opciones de teléfonos .Lo cual necesitas los métodos para que almacenamiento de tus modelos String [] opcMarca=new String [] {"HTC","Samsung","Lg","Sony Ericsson"}; y declararlos aaMarca=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, opcMarca ); y que se almacenen en la caja de textos con un switch en la caja de textos y obtienes los otros datos.

Page 81: Manual de aplicaciones Moviles
Page 82: Manual de aplicaciones Moviles

“Webview”

Código XML Código java

Page 83: Manual de aplicaciones Moviles

“DatePicker”

Código XML Código java

<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=".Date" >

<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="selecciona el boton" />

<DatePicker

package com.example.date;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.DatePicker;import android.widget.Toast;public class Date extends Activity {

@Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_date); final DatePicker dp= (DatePicker)findViewById(R.id.dp); final Button setBtn= (Button)findViewById(R.id.set);setBtn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(Date.this,dp.

Page 84: Manual de aplicaciones Moviles

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="seleccionar" />

</LinearLayout

getDayOfMonth() + " " + dp.getMonth()+ " " + dp.getYear()+ " ",Toast.LENGTH_SHORT).show();

}});

}

}

En este programa te va a salir un calendario y para ver el día, mes, y año y un mensaje para ver qué día, mes y año lo cual tienes que utilizar el DatePicker para que salga ese calendario y en java solo declaras el DatePicker y para que salga el calendario y el mensaje Toast.makeText (Date. This, dp.getDayOfMonth() + " " + dp.getMonth()+ " " + dp.getYear()+ " ",Toast.LENGTH_SHORT).show();

Page 85: Manual de aplicaciones Moviles

“TimePicker”

Page 86: Manual de aplicaciones Moviles

Código XML Código java

<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="#ffffff"

android:orientation="vertical" tools:context=".Pick" >

<TextView android:background="#ffffff" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="seleciona el boton" android:id="@+id/textView1"/>

<TimePicker android:id="@+id/tp" android:layout_width="wrap_content"

package com.example.pick;

import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TimePicker;import android.widget.Toast;

public class Pick extends Activity {

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

final TimePicker tp= (TimePicker)findViewById(R.id.tp); tp.setIs24HourView(true); final Button set= (Button)findViewById(R.id.set)

Page 87: Manual de aplicaciones Moviles

android:layout_height="wrap_content"

android:layout_marginTop="50dp" />

<Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="Aceptar" android:id="@+id/set" android:layout_marginTop="58dp" android:layout_marginLeft="70dp" android:layout_below="@+id/tp" android:layout_alignLeft="@+id/tp"/></LinearLayout>

; set.setOnClickListener(new OnClickListener() {

@Overridepublic void

onClick(View v) {

Toast.makeText(Pick.this,(tp.getCurrentHour() % 12 == 0 ? 12 : tp.getCurrentHour() % 12) + ":" + tp.getCurrentMinute() + "" + ((tp.getCurrentHour() > 11 & tp.getCurrentHour() < 24) ? "pm" : "am" ),Toast.LENGTH_SHORT).show();

}});

}}

Page 88: Manual de aplicaciones Moviles
Page 89: Manual de aplicaciones Moviles

Es para la hora y también sale el mensaje y casi es igual como el DatePicker solo que en vez de mes, día, y año es horas y segundos solo cambia el Toast.makeText(Pick.this,(tp.getCurrentHour() % 12 == 0 ? 12 : tp.getCurrentHour() % 12) + ":" + tp.getCurrentMinute() + "" + ((tp.getCurrentHour() > 11 & tp.getCurrentHour() < 24) ? "pm” "am" ),Toast.LENGTH_SHORT).show();Para que te aparezca el formulario.

“Tabhost”Código XML Código java

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/androidxmlns:tools=http://schemas.android.com/toolsandroid: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=".Nuevo" > <TabHost android:id="@+id/th"

package com.example.nuevo;

import com.example.nuevo.R;

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

import android.widget.TabHost;import

android.widget.TabHost.TabSpec;

public class Nuevo extends Activity {TabHost th;

@Override protected void onCreate(Bundle

savedInstanceState) { super.onCreate(savedInst

anceState); setContentView(R.layout.

activity_nuevo); th=(TabHost)

Page 90: Manual de aplicaciones Moviles

android:layout_width="match_parent"android:layout_height="match_parent"android:layout_alignParentLeft="true"android:layout_alignParentRight="true"android:layout_alignParentTop="true" > <LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:orientation="horizontal"<TabWidgetandroid:id="@android:id/tabs"android:layout_width="match_parent"android:layout_height="wrap_content" </TabWidget> <FrameLayoutandroid:id="@android:id/tabcontent"android:layout_width="match_parent"android:layout_height="match_parent" ><LinearLayoutandroid:id="@+id/tab1"android:layout_width="match_parent"android:layout_height="match_parent" > <EditText

findViewById(R.id.th);

//Tab1 th.setup(); TabSpec

ts1=th.newTabSpec("tab1"); ts1.setIndicator("Bienveni

do"); ts1.setContent(R.id.tab1);

th.addTab(ts1);

//Tab2 th.setup(); TabSpec

ts2=th.newTabSpec("tab2"); ts2.setIndicator("contenid

o"); ts2.setContent(R.id.tab2);

th.addTab(ts2);

//Tab3 th.setup(); TabSpec

ts3=th.newTabSpec("tab3");

ts3.setIndicator("Despedida"); ts3.setContent(R.id.tab3);

th.addTab(ts3); }

Page 91: Manual de aplicaciones Moviles

android:id="@+id/et1"android:layout_width="fill_parent"android:layout_height="wrap_content" /> </LinearLayout><LinearLayoutandroid:id="@+id/tab2"android:layout_width="match_parent"android:layout_height="match_parent" ><Buttonandroid:id="@+id/bt1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="boton de muestra" /> </LinearLayoutt <LinearLayoutandroid:id="@+id/tab3"android:layout_width="match_parent"android:layout_height="match_parent" ><TextViewandroid:id="@+id/tv1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="esta es la tercera tab" /> </LinearLayout> </FrameLayout>

Page 92: Manual de aplicaciones Moviles

</LinearLayout> </TabHost>

</RelativeLayout>

Ponemos las librerías y los elementos gráficos y luego la función de los 3 elementos luego pones th.setup()TabSpects1=th.newTabSpec("tab1");ts1.setIndicator("Bienvenido"); ts1.setContent(R.id.tab1); th.addTab(ts1); para el primer tabhost y asi hasta llegar al ultimo element y eso es todo como se muestra en lo siguiente

Page 93: Manual de aplicaciones Moviles

“Acelerómetro”Código XML Código java

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

package com.acelerometro;

import java.util.List;

import android.hardware.Sensor;import android.widget.*;

Page 94: Manual de aplicaciones Moviles

="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="#000000" 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=".Acelerometro" >

<TextView android:layout_height="wrap_content"

import android.hardware.SensorEvent;

import android.hardware.SensorEventListene

r;import

android.hardware.SensorManager;import android.os.Bundle;

import android.app.Activity;import android.content.pm.ActivityInfo;

import android.view.Menu;

public class Acelerometro extends Activity implements

SensorEventListener{private Sensor mAccelerometer;

TextView a,b,c;@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_acelerometro);

a=(TextView)findViewById(R.id.x);

b=(TextView)findViewById(R.id.y);

c=(TextView)findViewById(R.id.z);

Page 95: Manual de aplicaciones Moviles

android:layout_width="match_parent" android:textSize="30sp" android:textColor="#FFFFFF" android:layout_margin="5sp" android:id="@+id/x"/>

<TextView android:layout_height="wrap_content" android:layout_width="match_parent" android:textSize="30sp" android:textColor="#FFFFFF" android:layout_margin="5sp" android:id="@+id/y"/>

<TextView android:layout_height="wrap_content" android:layout_width="match_parent" android:textSize="30sp" android:textColor="#FFFFFF"

this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORT

RAIT);}

protected void onResume(){super.onResume();

SensorManager sm = (SensorManager)

getSystemService(SENSOR_SERVICE);

List<Sensor> sensors=sm.getSensorList(Sensor.TY

PE_ACCELEROMETER);if(sensors.size()>0){sm.registerListener(this, sensors.get(0),

SensorManager.SENSOR_DELAY_GAME);

}}

protected void onPause(){SensorManager

mSensorManager=(SensorManager) getSystemService(SENSOR_SERVIC

E);

mSensorManager.unregisterListener(this, mAccelerometer);

super.onPause();}

protected void onStop(){SensorManager

mSensorManager=(SensorManager) getSystemService(SENSOR_SERVIC

E);

Page 96: Manual de aplicaciones Moviles

android:layout_margin="5sp" android:id="@+id/z"/>

</LinearLayout>

mSensorManager.unregisterListener(this, mAccelerometer);

super.onStop();}

@Overridepublic void

onSensorChanged(SensorEvent event) {this.a.setText("X =

"+event.values[SensorManager.DATA_X]);

this.b.setText("Y = "+event.values[SensorManager.DATA

_Y]);this.c.setText("Z =

"+event.values[SensorManager.DATA_Z]);

}@Overridepublic void

onAccuracyChanged(Sensor arg0, int arg1) {

}

}

Bueno esta aplicación es el sensor que permite saber su posición se mueve en tres ejes x, y, z bueno vamos a ocupar muchas librerías después no vamos al XML y ponemos tres TextView y les ponemos el id de x y z luego declaramos los elementos después creas los métodos de pause stop y start para que empecé a correr los sensores después colocas este línea y declaras los otros 2 más this.a.setText ("X = "+event.values [SensorManager.DATA_X]);

Page 97: Manual de aplicaciones Moviles

“Canvas”Código XML Código java

<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:background="#000000"

package byyo.canvas;

import android.app.Activity;import

android.content.Context;import

android.graphics.Canvas;import

android.graphics.Paint;import android.os.Bundle;import android.view.View;

public class MainActivity extends Activity {

@Override

Page 98: Manual de aplicaciones Moviles

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

</RelativeLayout>

protected void onCreate(Bundle

savedInstanceState) { super.onCreate(savedIn

stanceState); setContentView(new

GraficosView(this)); }

public class GraficosView extends View{

public GraficosView(Context

context){ super(context);

}

protected void onDraw(Canvas canvas){

Paint pincelc=new Paint();

Paint pincelr=new Paint();

Paint pincelo=new Paint();

Paint pincelor=new Paint();

Paint pincelorr=new Paint();

Paint pince=new Paint();

Paint pincel=new Paint();

pincelc.setColor(getResourc

Page 99: Manual de aplicaciones Moviles

es().getColor(R.color.color_circulo));

pincelr.setColor(getResources().getColor(R.color.color_re

ctangulo));

pincelo.setColor(getResources().getColor(R.color.color_li

nea));

pincelor.setColor(getResources().getColor(R.color.color_ci

r));

pincelorr.setColor(getResources().getColor(R.color.color_

nuevo));

pincelorr.setColor(getResources().getColor(R.color.color_

nuevoo));

pincelorr.setColor(getResources().getColor(R.color.color_

nuevooo));

canvas.drawCircle(250, 50, 100, pincelc);

Page 100: Manual de aplicaciones Moviles

canvas.drawCircle(200,100, 100, pincelor);

canvas.drawCircle(300,150, 100, pincelorr);

canvas.drawLine(350,200, 150, 100, pince);

canvas.drawLine(400,

250, 150, 100, pincelo);

}

}

}Bueno esta aplicación no es muy difícil pero en la parte grafica no tienes que hacer nada y en el java pones primero las librerías y después solo declaras las figuras que utilizaras y las vas acomodando donde tu quieras ponerlas

Page 101: Manual de aplicaciones Moviles

“Calculadora”Código XML Código java

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

<LinearLayout android:layout_width="400dp" android:layout_height="40dp" android:orientation="horizontal" >

<TextView android:id="@+id/res"

package com.abuelo.calculadora;

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

import android.view.View;import android.view.View.OnClickListener;import android.widget.*;

public class Calculadora extends Activity implements OnClickListener{

Button a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,

a26,a27,a28,a30;TextView a29;@Overrideprotected void onCreate(Bundle

savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_calculadora);

Page 102: Manual de aplicaciones Moviles

android:layout_width="206dp" android:layout_height="40dp" android:layout_margin="5dp" android:background="#00FFFF" android:textColor="#CCFFCC" />

<Button android:id="@+id/borrar" android:layout_width="70dp" android:layout_height="40dp" android:layout_margin="6dp" android:layout_marginTop="100dp" android:text="C" /> </LinearLayout>

<LinearLayout android:layout_width="400dp"

a1=(Button)findViewById(R.id.a);

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

a3=(Button)findViewById(R.id.c);

a4=(Button)findViewById(R.id.d);

a5=(Button)findViewById(R.id.e);

a6=(Button)findViewById(R.id.f);

a7=(Button)findViewById(R.id.g);

a8=(Button)findViewById(R.id.h);

a9=(Button)findViewById(R.id.i);

a10=(Button)findViewById(R.id.j);

a11=(Button)findViewById(R.id.k);

a12=(Button)findViewById(R.id.l);

a13=(Button)findViewById(R.id.m);

a14=(Button)findViewById(R.id.n);

Page 103: Manual de aplicaciones Moviles

android:layout_height="40dp" android:orientation="horizontal" >

<Button android:id="@+id/a" android:layout_width="55dp" android:layout_height="40dp" android:layout_margin="5dp" android:text="7" />

<Button android:id="@+id/b" android:layout_width="55dp" android:layout_height="40dp" android:layout_margin="5dp" android:text="8" />

<Button android:id="@+id/c" android:layout_width="55dp"

a15=(Button)findViewById(R.id.o);

a16=(Button)findViewById(R.id.p);

a17=(Button)findViewById(R.id.q);

a18=(Button)findViewById(R.id.r);

a19=(Button)findViewById(R.id.s);

a20=(Button)findViewById(R.id.t);

a21=(Button)findViewById(R.id.u);

a22=(Button)findViewById(R.id.v);

a23=(Button)findViewById(R.id.w);

a24=(Button)findViewById(R.id.x);

a25=(Button)findViewById(R.id.y);

a26=(Button)findViewById(R.id.z);

a27=(Button)findViewById(R.id.ab);

Page 104: Manual de aplicaciones Moviles

android:layout_height="40dp" android:layout_margin="5dp" android:text="9" />

<Button android:id="@+id/d" android:layout_width="55dp" android:layout_height="40dp" android:layout_margin="5dp" android:text="+" />

<Button android:id="@+id/e" android:layout_width="55dp" android:layout_height="40dp" android:layout_margin="5dp" android:text="!" /> </LinearLayout>

<LinearLayout android:layout_width="400dp"

a28=(Button)findViewById(R.id.bc);

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

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

a1.setOnClickListener(this);

a2.setOnClickListener(this);

a3.setOnClickListener(this);

a4.setOnClickListener(this);

a5.setOnClickListener(this);

a6.setOnClickListener(this);

a7.setOnClickListener(this);

a8.setOnClickListener(this);

a9.setOnClickListener(this);

a10.setOnClickListener(this);

a11.setOnClickListener(this);

a12.setOnClickListener(this);

a13.setOnClickListener(this);

a14.setOnClickListener(this);

a15.setOnClickListener(this);

Page 105: Manual de aplicaciones Moviles

android:layout_height="40dp" android:orientation="horizontal" >

<Button android:id="@+id/f" android:layout_width="55dp" android:layout_height="40dp" android:layout_margin="5dp" android:text="4" />

<Button android:id="@+id/g" android:layout_width="55dp" android:layout_height="40dp" android:layout_margin="5dp" android:text="5" />

<Button android:id="@+id/h" android:layout_width="55dp"

a16.setOnClickListener(this);

a17.setOnClickListener(this);

a18.setOnClickListener(this);

a19.setOnClickListener(this);

a20.setOnClickListener(this);

a21.setOnClickListener(this);

a22.setOnClickListener(this);

a23.setOnClickListener(this);

a24.setOnClickListener(this);

a25.setOnClickListener(this);

a26.setOnClickListener(this);

a27.setOnClickListener(this);

a28.setOnClickListener(this);

a29.setOnClickListener(this);

a30.setOnClickListener(this);

}

@Overridepublic void onClick(View v) {

// TODO Auto-generated method stub

Page 106: Manual de aplicaciones Moviles

android:layout_height="40dp" android:layout_margin="5dp" android:text="6" />

<Button android:id="@+id/i" android:layout_width="55dp" android:layout_height="40dp" android:layout_margin="5dp" android:text="-" />

<Button android:id="@+id/j" android:layout_width="55dp" android:layout_height="40dp" android:layout_margin="5dp" android:text="√" /> </LinearLayout>

<LinearLayout android:layout_width="400dp"

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

Toast.makeText(this, "7",Toast.LENGTH_SHORT).show();

break;

case R.id.b:Toast.makeText(this,

"8",Toast.LENGTH_LONG).show();break;

case R.id.c:Toast.makeText(this,

"9",Toast.LENGTH_LONG).show();break;

case R.id.d:Toast.makeText(this,

"+",Toast.LENGTH_LONG).show();break;

case R.id.e:Toast.makeText(this,

"!",Toast.LENGTH_LONG).show();break;

case R.id.f:Toast.makeText(this,

"4",Toast.LENGTH_LONG).show();break;

case R.id.g:Toast.makeText(this,

"5",Toast.LENGTH_LONG).show();break;

case R.id.h:Toast.makeText(this,

"6",Toast.LENGTH_LONG).show();break;

Page 107: Manual de aplicaciones Moviles

android:layout_height="40dp" android:orientation="horizontal" >

<Button android:id="@+id/k" android:layout_width="55dp" android:layout_height="40dp" android:layout_margin="5dp" android:text="1" />

<Button android:id="@+id/l" android:layout_width="55dp" android:layout_height="40dp" android:layout_margin="5dp" android:text="2" />

<Button android:id="@+id/m" android:layout_width="55dp"

case R.id.i:Toast.makeText(this,

"-",Toast.LENGTH_LONG).show();break;

case R.id.j:Toast.makeText(this,

"√",Toast.LENGTH_LONG).show();break;

case R.id.k:Toast.makeText(this,

"1",Toast.LENGTH_LONG).show();break;

case R.id.l:Toast.makeText(this,

"2",Toast.LENGTH_LONG).show();break;

case R.id.m:Toast.makeText(this,

"3",Toast.LENGTH_LONG).show();break;

case R.id.n:Toast.makeText(this,

"/",Toast.LENGTH_LONG).show();break;

case R.id.o:Toast.makeText(this,

"%",Toast.LENGTH_LONG).show();break;

case R.id.p:Toast.makeText(this,

".",Toast.LENGTH_LONG).show();break;

case R.id.q:

Page 108: Manual de aplicaciones Moviles

android:layout_height="40dp" android:layout_margin="5dp" android:text="3" />

<Button android:id="@+id/n" android:layout_width="55dp" android:layout_height="40dp" android:layout_margin="5dp" android:text="/" />

<Button android:id="@+id/o" android:layout_width="55dp" android:layout_height="40dp" android:layout_margin="5dp" android:text="%" /> </LinearLayout>

<LinearLayout android:layout_width="400dp"

Toast.makeText(this, "0",Toast.LENGTH_LONG).show();

break;

case R.id.r:Toast.makeText(this,

"=",Toast.LENGTH_LONG).show();break;

case R.id.s:Toast.makeText(this,

"*",Toast.LENGTH_LONG).show();break;

case R.id.t:

Toast.makeText(this, "X^2",Toast.LENGTH_LONG).show();

break;

case R.id.u:

Toast.makeText(this, "II",Toast.LENGTH_LONG).show();

break;

case R.id.v:

Toast.makeText(this, "A",Toast.LENGTH_LONG).show();

break;

case R.id.w:

Toast.makeText(this, "B",Toast.LENGTH_LONG).show();

break;

Page 109: Manual de aplicaciones Moviles

android:layout_height="40dp" android:orientation="horizontal" >

<Button android:id="@+id/p" android:layout_width="55dp" android:layout_height="40dp" android:layout_margin="5dp" android:text="." />

<Button android:id="@+id/q" android:layout_width="55dp" android:layout_height="40dp" android:layout_margin="5dp" android:text="0" />

<Button android:id="@+id/r" android:layout_width="55dp"

case R.id.x:

Toast.makeText(this, "C",Toast.LENGTH_LONG).show();

break;

case R.id.y:

Toast.makeText(this, "D",Toast.LENGTH_LONG).show();

break;

case R.id.z:

Toast.makeText(this, "E",Toast.LENGTH_LONG).show();

break;

case R.id.ab:

Toast.makeText(this, "F",Toast.LENGTH_LONG).show();

break;

case R.id.bc:

Toast.makeText(this, "HOLA",Toast.LENGTH_LONG).show();

break;

case R.id.borrar:

Toast.makeText(this, "C",Toast.LENGTH_LONG).show();

break;}

Page 110: Manual de aplicaciones Moviles

android:layout_height="40dp" android:layout_margin="5dp" android:text="=" />

<Button android:id="@+id/s" android:layout_width="55dp" android:layout_height="40dp" android:layout_margin="5dp" android:text="*" />

<Button android:id="@+id/t" android:layout_width="55dp" android:layout_height="40dp" android:layout_margin="5dp" android:text="X^2" /> </LinearLayout>

<LinearLayout android:layout_width

}}

Page 111: Manual de aplicaciones Moviles

="400dp" android:layout_height="40dp" android:orientation="horizontal" >

<Button android:id="@+id/u" android:layout_width="120dp" android:layout_height="40dp" android:layout_margin="5dp" android:text="π" />

<Button android:id="@+id/v" android:layout_width="55dp" android:layout_height="40dp" android:layout_margin="5dp" android:text="a" />

<Button android:id="@+id/w" android:layout_width="55dp"

Page 112: Manual de aplicaciones Moviles

android:layout_height="40dp" android:layout_margin="5dp" android:text="b" />

<Button android:id="@+id/x" android:layout_width="55dp" android:layout_height="40dp" android:layout_margin="5dp" android:text="c" />

</LinearLayout>

<LinearLayout android:layout_width="400dp" android:layout_height="40dp" android:orientation="horizontal" >

Page 113: Manual de aplicaciones Moviles

<Button android:id="@+id/y" android:layout_width="55dp" android:layout_height="40dp" android:layout_margin="5dp" android:text="d" />

<Button android:id="@+id/z" android:layout_width="55dp" android:layout_height="40dp" android:layout_margin="5dp" android:text="e" />

<Button android:id="@+id/ab" android:layout_width="55dp" android:layout_height="40dp" android:layout_margin="5dp"

Page 114: Manual de aplicaciones Moviles

android:text="f" />

<Button android:id="@+id/bc" android:layout_width="120dp" android:layout_height="40dp" android:layout_margin="5dp" android:text="HOLA" /></LinearLayout></LinearLayout>Bueno primero tenemos que hacer el diseño gráfico que les dejo abajo para que vean como se fueron acomodando los botones de cada manera ok, declaras todas las variables y componentes visuales y los elementos después declaramos todas las variables para habilitarlas después vamos haciendo cada proceso de la suma, resta, multiplicación, división, entre otro , despues la del punto y borrar y resultado e igual lo cual te quedara de la siguiente manera

Page 115: Manual de aplicaciones Moviles