manual

78
Plantel: CECYTEM TECAMAC Tema: Manual de android “ADT” Nombre del alumno: Isabel García Hernández Nombre del profesor: René Domínguez escalona Grupo: 402 Carrera: Programación Turno: matutino

Transcript of manual

Plantel: CECYTEM TECAMAC

Tema: Manual de android “ADT”

Nombre del alumno: Isabel García Hernández

Nombre del profesor: René Domínguez escalona

Grupo: 402

Carrera: Programación

Turno: matutino

Índice:

Hola Mundo

IMC Factorial Álbum Rebosodroid Listview Sonido aniales Video view Notificaciones Togglebutton Checkbox Radiobutton Progressbar Spinner Webview Timepicker Tabhost Acelerómetro Canvas

NTRODUCCION

En este manual podremos observar la estructura de algunas aplicaciones.

Tambie se observara para que sirve cada condición que se utilizan en las aplicaciones que se utilizan dia con dia en cada celular de este planeta

“Hola mundo”

Al abrir eclipse y crear una clase nueva automáticamente te abrirá dos pestañas una con el nobre que le ayas asignado mas la extensión “.XML” el cual es como el cuerpo de la

aplicación en esta parte del programa podemos asignarle el tipo de color de fondo, en si es todo el diseño de la aplicación.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android: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" >El codigo anterior lo da automaticamente el sistema de eclipse es el tamaño de la pantalla y de cómo se irán ordenando todos los objetos que se vayan utilizando.

<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" />El codigo anterior es de un text view el cual sirve para mostrar textos que el programador coloque en este caso emos puesto “hello word” pero ustedes pueden utilizar cualquier texto de su agrado y tambien el tamaño y el color de letra deseado.</LinearLayout>Bueno el texto anterior de linear layout es solo para cerrar las condiciones estructuradas anterior mente este tambien es colocado al principio de todo el texto como pudiste aber observadoppuesto que se abre al inicio y se cierra hasta el final de todas los objetos utilizados.

Y asi es como se visualizara en un celular

Esta solo es una aplicación que te mostrara un texto en especifico con el color de fondo deseado y no tiene ninguna otra tarea mas que esa.

“IMC”

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#000000" android:orientation="vertical" >*Aqui se colocara un editex para que el usuario pueda ingreasar cualquier numero el cual nos indicara que esa es su estatura.

<EditText android:id="@+id/num" android:layout_width="match_parent"

android:layout_height="50dp"android:layout_margin="10dp"android:background="#000000"android:textColor="#FFFFFF"android:hint = "altura" android:numeric = "decimal" />

*En el Segundo nos indicara su estatura del usuario el cual al igual que el otro podra ingresar el numero que el usuario requiera. <EditText android:id="@+id/numd" android:layout_width="match_parent"

android:layout_height="50dp"android:layout_margin="10dp"android:background="#000000"android:textColor="#FFFFFF"android:hint = "peso" android:numeric = "decimal" />

<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal">*Aqui el boton nos servira para que al momento de presionarlo nos calule el índice de masa corporal con los datos ya introducidos anteriormente <Button android:id="@+id/cal" android:layout_width="match_parent" android:layout_height="50dp" android:layout_weight="1" android:layout_margin="10dp" android:background="#3366FF" android:text = "calcular" android:textColor="#000000"/>

*El Segundo nos servirá para que al momento de presionarlo nos borre los datos ya introducidos anteriormente y asi los podamos volver a introducir<Button android:id="@+id/bor" android:layout_width="match_parent" android:layout_height="50dp" android:layout_weight="1" android:layout_margin="10dp" android:background="#3366FF" android:text = "Borrar" android:textColor="#000000"/> </LinearLayout>

*El text view nos servirá para que nos muestre el resultado después de ya haber introducido los datos que se nos pide <TextView android:id="@+id/res" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="10dp" android:background="#000000" android:textColor="#FFFFFF"> </TextView> </LinearLayout>Acontinuacion te mostrare el codigo .java para que las condiciones se puedan cumplir correctamentamente.

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 {

*Aqui solo estamos declarando las variables para que estas puedan ser utilizadas correvtamente.

EditText txtaltura,txtpeso;

TextView txtResultado;

Button btnCalcular,btnBorrar;

@Override

protected void onCreate(Bundle savedInstanceState) {

*Aqui se esta especificando las variables a que le pertenecen de los objetos empleados ya anteriormente en el codigo .xml.

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

}

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

*Como podras notar aqui se empleara un switch el cual nos ayudara para identificar si el usuario ya ingreso los datos de lo contario saldra un mensage que nos especifique que no hay ningun dato.

switch(v.getId()){

case R.id.cal:

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

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

*Tambien emplearemos un if para que este nos ayude a calcular el IMC (índice de masa corporal) y ai nos muestre el resultado final de esta

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

}

break;

case R.id.bor:

txtpeso.setText("");

txtaltura.setText("");

txtResultado.setText("");

}

}

}

Y asi será como se visualizara al momento de que se instale en el celular.

Ya es tu decisión el diseño que requiera utilizar y en esta aplicación solo se calcula tu IMC que se calcula multiplicando tu peso por la altura .

“Factorial”

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

<EditText android:id="@+id/num" android:layout_width="match_parent" android:layout_height="50dp" android:layout_margin="10dp" android:background="#FFFFFF" android:hint = "numero1" android:numeric = "decimal" />

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

<Button android:id="@+id/cal" android:layout_width="match_parent" android:layout_height="50dp" android:layout_margin="10dp" android:layout_weight="1" android:background="#0CCC00" android:text = "calcular" android:textColor="#000000" />

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

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

</LinearLayout>

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

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){

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;

}

}

}

Este se declara igual que el anterior pues es casi lo mimo solo que la diferenci es que a este se le debe declarar un objeto string para que guarde el numero y luego con el switch lo multiplique dependiendo de el numero que se vaya ingresando como por ejemplo si se coloca el numero 2 seria=1*2=2 .

“Album”

<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="#000000">Aqui se declararan todas las imagenes que se vayan a utilizar en nuestra aplicacion < ImageView android:id="@+id/image" android:layout_width="match_parent" android:layout_height="200sp" 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/image3" android:layout_width="100sp" android:layout_height="100sp" android:src="@drawable/c" /> < ImageView android:id="@+id/image2" android:layout_width="100sp" android:layout_height="100sp" android:src="@drawable/b"/>

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

Y tambien un boton para que nos de la opcion de cambiar el wallpaper<Button android:id="@+id/cambiar" android:layout_width="match_parent" android:layout_height="80sp" android:textColor="#FFFA33FF" android:text = "Cambiar Wallpaper" /> </LinearLayout>

A continuacion te mostrare el codigo java

package pelon.wallpaperp;

import android.os.Bundle;

import android.app.Activity;

import android.app.WallpaperManager;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.ImageView;

import android.widget.Toast;

public class Wallpaperp extends Activity implements OnClickListener {

*Aqui les estamos asignando una variable a las imagenes que utilizaremos.

ImageView image, image1, image2, image3, image4, image5, image6, image7,

image8, image9, image10;

Button btn;

int fondo;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

*Aqui le estamos declarando que imagen es cual a la variable.

setContentView(R.layout.activity_wallpaperp);

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

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

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

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

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

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

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

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

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

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

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

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

image.setOnClickListener(this);

image1.setOnClickListener(this);

image2.setOnClickListener(this);

image3.setOnClickListener(this);

image4.setOnClickListener(this);

image5.setOnClickListener(this);

image6.setOnClickListener(this);

image7.setOnClickListener(this);

image8.setOnClickListener(this);

image9.setOnClickListener(this);

image10.setOnClickListener(this);

btn.setOnClickListener(this);

}

@Override

public void onClick(View v) {

*En este caso utilizaremos un switch para que nos de las varias opciones de imagenes que tenemos en nuestro álbum y también para que nos de la opción de cambiar el fondo

// TODO Auto-generated method stub

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:

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=WallpaperManager.getInstance(getApplicationContext());

try {

mywp.setResource(fondo);

}catch(Exception e){

e.printStackTrace();

}

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

break;

}

}

}

Y también tendras que realizar una carpeta dentro de la carpeta res para que en ella puedas coopear todas las imágenes que quieras introducir y le tendras que dar refresh para que estas se guarden en la carpeta mdpi y también les tendras que dar nombres cortos a tus imágenes.

Asi se visualizara en un celular ya instalada correctamente se visualizan las imágenes que se eligieron y también el botón de opción de cambiar wallpaper

“ListView”

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

<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" >Aqui se puede visualizar una caja de texto donde el usuario podra ingresar cualquier tipo de texto

<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" />Aqui el boton nos servira para que el usuario pueda ingresar el texto que ya a escrito

<Button android:id="@+id/agregar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:background="#00FFFF" android:hint="agregar" /> </LinearLayout>

Y aquí nuestro text view nos mostrara todos los textos que se lleguen a escribir <ListView android:id="@+id/lista" android:layout_width="match_parent" android:layout_height="wrap_content" > </ListView>

</LinearLayout>

A continuación te mostraremos el código java

package com.example.list;

import java.util.ArrayList;

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

import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.EditText;import android.widget.ListView;

public class MainActivity extends Activity implements OnClickListener {EditText elemento;ArrayList<String> elementos;Button btn;ListView lista;ArrayAdapter<String> adaptador;

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

Estamos declarando las variables que se utilizaran y la fuuncion que tendran setContentView(R.layout.activity_main); lista=(ListView)findViewById(R.id.lista);

elemento=(EditText)findViewById(R.id.elemento);btn=(Button)findViewById(R.id.agregar);

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

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

}

@Overridepublic void onClick(View v) {

// TODO Auto-generated method stubEn este caso ahora utilizaremos un if para que este valla guardando los textos que se vallan escribiendo hy asi se visualizen nuestra pantalla.

if(v.getId()==R.id.agregar){elementos.add(elemento.getText().toString());elemento.setText("");adaptador.notifyDataSetChanged();

}

}

Y asi es como se ve la aplicación al final instalada en un celular correctamente

“RebosoDroid”

En esta aplicación utilizaremos dos conexiones para realizarla.

Esta es la primera estructura de .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:orientation="vertical" tools:context=".MainActivity" >

En esta parte solo hemos colocado dos editext para que el usuario pueda ingresar los datos que se solicitan

<EditText android:id="@+id/nombre" android:layout_width="match_parent" android:layout_height="60sp" android:layout_margin="10sp" android:background="#cc00ff" android:hint = "nombre" android:maxLength="20" android:textSize="50sp"/>

<EditText android:id="@+id/edad" android:layout_width="match_parent" android:layout_height="60sp" android:layout_margin="10sp" android:background="#cc00ff" android:hint = "edad" android:maxLength="20" android:textSize="50sp"/>

Tambien hemos colocado dos botones que nos servirán para enviar los datos ya escritos a otra pagina y otro para borrar los datos

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

android:hint = "Borrar" android:maxLength="20" android:textSize="50sp"/>

</LinearLayout>

Y su .java es el siguiente

package com.Sparda.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;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);

Aqui se estan declarando todas las variables de los obgetos que se utilizaron en el .xml 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); }

@Overridepublic void onClick(View v) {

Y en este utilizaremos if para que esta condicion nos sirva para guardar o borrar los datos que se introduscan y nos mande a la siguiente pagina

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

String n=nombre.getText().toString();String e=edad.getText().toString();if ((!n.equals("" ) || !e.equals("")) || (!n.equals("" ) && !e.equals(""))){Intent 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("");

}}}}

El segundo código .xml es el siguiente el cual corresponde a la pagina donde nos mostrara un mensaje

En este solo se coloca un text view puesto que solo lo que ara será mostrar un mensaje

<?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" > <TextView android:id="@+id/resultado"

android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="10sp" android:background="#ffffff" android:textSize="10sp"/>

</LinearLayout>

Y su estructura .java es la siguiente

package com.Sparda.rebosodroid;import android.app.Activity;import android.os.Bundle;import android.widget.TextView;

public class Recibe extends Activity{

Aqui solo se esta declarando los objetos que se utilizaron en el .xmlTextView Resultado;String nombre="";int edad=0;

protected void onCreate(Bundle savedInstanceState){

Y se esta difiniendo lo que contendra cada objeto ya definido anteriormente y le esta dando permiso a la pagina principal de recibir los datos que ingresen

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

}

}

Yasi es como se visualizan las dos pantallas al final que se instalan correctamente en el celeular

“Sonido de animales”

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

En esta estructura solo se colocaran button en los cuales se le colocaran una imagen determinada para que se identifique de que se trata en lugar de poner solo textos

<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" android:layout_weight="0.85" android:orientation="horizontal" >

<Button android:id="@+id/a1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight = "1" android:gravity="center" android:background="@drawable/caballo" /> <Button android:id="@+id/a2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center" android:background="@drawable/cuervo" /> <Button android:id="@+id/a3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center" android:background="@drawable/elefante" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" android:layout_weight="0.85"

android:orientation="horizontal" >

<Button android:id="@+id/a4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight = "1" android:gravity="center" android:background="@drawable/lechuza" /> <Button android:id="@+id/a5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center" android:background="@drawable/leon" /> <Button android:id="@+id/a6" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center" android:background="@drawable/lobo" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" android:layout_weight="0.85" android:orientation="horizontal" >

<Button android:id="@+id/a7" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight = "1" android:gravity="center" android:background="@drawable/mosquito" /> <Button android:id="@+id/a8" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center" android:background="@drawable/perro" /> <Button android:id="@+id/a9" android:layout_width="wrap_content" android:layout_height="wrap_content"

android:layout_weight="1" android:gravity="center" android:background="@drawable/vaca" /> </LinearLayout>

</LinearLayout

A continuación te mostraremos la estructura .java

package com.abuelo.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;

Aqui se estan definiendo los valores que ya se le avian asignado en el .xml alos botones

Button a1,a2,a3,a4,a5,a6,a7,a8,a9;

int b1,b2,b3,b4,b5,b6,b7,b8,b9;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_animales);

Yaqui se puede ver que se le estan definiendo los sonidos a cada boton en especifico

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

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

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

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

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

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

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

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

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

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

sp= new SoundPool(8, AudioManager.STREAM_MUSIC,0);

b1=sp.load(this,R.raw.caba, 1);

b2=sp.load(this,R.raw.cue, 1);

b3=sp.load(this,R.raw.ele, 1);

b4=sp.load(this,R.raw.lechu, 1);

b5=sp.load(this,R.raw.lion, 1);

b6=sp.load(this,R.raw.lob, 1);

b7=sp.load(this,R.raw.mosca, 1);

b8=sp.load(this,R.raw.pero, 1);

b9=sp.load(this,R.raw.vaco, 1);

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

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

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

return true;

}

@Override

En este caso se utilizara un switch para que nos de varias opciones de elegir cualquier boton que se encuentra en la pantalla y asi se pueda escuchar el sonido que se le ha predeterminado

public void onClick(View v) {

switch(v.getId()){

case R.id.a1:

sp.play(b1, 1,1, 1, 0,1);

break;

case R.id.a2:

sp.play(b2, 1,1, 1, 0,1);

break;

case R.id.a3:

sp.play(b3, 1,1, 1, 0,1);

break;

case R.id.a4:

sp.play(b4, 1,1, 1, 0,1);

break;

case R.id.a5:

sp.play(b5, 1,1, 1, 0,1);

break;

case R.id.a6:

sp.play(b6, 1,1, 1, 0,1);

break;

case R.id.a7:

sp.play(b7, 1,1, 1, 0,1);

break;

case R.id.a8:

sp.play(b8, 1,1, 1, 0,1);

break;

case R.id.a9:

sp.play(b9, 1,1, 1, 0,1);

break;

}

}

}

Y asi es como ya se puede visualizar nuestra aplicación ya intalada en un celular

“Web view”

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

Se declarara un botan para que este pueda tomar la foto que se desee y se logre visualizar <Button android:id="@+id/botonCapturar" android:layout_width="91dp" android:layout_height="54dp" android:background="#0066gg" android:text="Capturar" android:textColor="#FFFFFF" />

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

Tambien se declarara un image view par que en este se logre visualizar la fotografia ya capturada <ImageView android:id="@+id/imageViewFoto" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@+id/botonCapturar" android:layout_margin="35sp" > </ImageView> </LinearLayout>

</LinearLayout>

A continuación te mostraremos el código .java

package app.ejempl.video;

import android.os.Bundle;

import android.app.Activity;

import android.content.Intent;

import android.graphics.Bitmap;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.ImageView;

public class MainActivity extends Activity {

ImageView imagen;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Aqui se puede observer que se estan declarando las variables con las funciones que impartiran

imagen = (ImageView) findViewById(R.id.imageViewFoto);

Button boton = (Button) findViewById(R.id.botonCapturar);

boton.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

Intent intent = new Intent(

android.provider.MediaStore.ACTION_IMAGE_CAPTURE);

startActivityForResult(intent, 0);

}

});

}

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data)

{

Y aqui se puede observer que se ele esta dando permiso para que se logre tomar la fotografia y se visualice en el image view

super.onActivityResult(requestCode, resultCode, data);

Bitmap bitmap = (Bitmap) data.getExtras().get("data");

imagen.setImageBitmap(bitmap);

}

}

Y asi es como se observara la fotografía deseada no se distingue mucho el marco por que el color de mi fondo es blanco al igual que el color de este.

“Notificacion”

En esta aplicación igual se utilizaran dos pantallas asi que aquí te mostramos la primera en .xml

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

En esta solo se esta declarando un boton el cual nos servira para declararlo como si ya se ubiera descargado algo <Button android:id="@+id/boton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Iniciar" android:background="#FF00C5"/>

</RelativeLayout>

Y este es su .java

package com.aronmith.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 Pantallauno extends Activity {

Aqui se estan declarando las variables que se utilizaran

NotificationManager nm;

private static final int ID_NOTIFICACION_PERSONAL= 1;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

Aqui se le estara dando permisos necesarios para que este se pueda realizar

setContentView(R.layout.activity_pantallauno);

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

nm = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);

boton.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

Notification notification = new Notification(R.drawable.ic_launcher,"QUE ONDA XD", System.currentTimeMillis());

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

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

nm.notify(ID_NOTIFICACION_PERSONAL, notification);

}

});

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

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

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

return true;

}

public void onDestroy(){

super.onDestroy();

nm.cancel(ID_NOTIFICACION_PERSONAL);

}

}

Esta es la segunda panatalla en la cual se observara el mensaje ya identificado es el código .xml

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

Aqui solo se utilizara un text view el cual nos servira para que salga el mensage ya especificado anteriormente <TextView android:layout_width="wrap_content"

android:layout_height="wrap_content" android:text="Hola que hace?" /></RelativeLayout>

Y este es su java

package com.aronmith.notificacion;import android.os.Bundle;import android.app.Activity;import android.view.Menu;

public class Pantallados extends Activity {

@Overrideprotected void onCreate(Bundle savedInstanceState) {

En este se esta declarando a que pantalla le dictara cuando tenga que salir el mensage

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

}

@Overridepublic boolean onCreateOptionsMenu(Menu menu) {

Y aqui se ele esta dando permiso para que la principal le dege mencionar cuando se tendra que mostrar el mensage

// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.pantallados, menu);return true;

}

}

ncncnfccm

Asi es como se visualizaran las dos paginas una ves instaladas correctamente

“Togglebutton”

<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=".Togglebutton" >En este se va a visualizar el fondo de un color o una imagen en especifico <LinearLayout android:id="@+id/fondo" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" >Aqui el toggle button para que aga un efecto rapido de cambio de imagenes <ToggleButton android:id="@+id/toggleButton1" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="10sp" android:textOn="encendido" android:textOff="apagado" />Esta es nuestra imagen la cual tendra que cambiar repentinamente al ejecutarlo en cierta forma es nuestro efecto <!-- <ImageView android:id="@+id/img1" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="10sp" android:src="@drawable/coche" android:background="@drawable/coche" /> --> </LinearLayout>

</LinearLayout>

Este es su java

package com.abuelo.togglebutton;import android.os.Bundle;import android.media.*;import android.app.Activity;import android.widget.CompoundButton;import android.widget.CompoundButton.OnCheckedChangeListener;import android.widget.LinearLayout;import android.widget.ToggleButton;

public class Togglebutton extends Activity implements OnCheckedChangeListener {

SoundPool sp;int audio;ToggleButton alarma;LinearLayout con;@Overrideprotected void onCreate(Bundle savedInstanceState) {

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

Aqui se estan declarando los obgetos que ya se an declarado en el .xml con su variable y lo que tendrán que realizar

con = (LinearLayout) findViewById(R.id.fondo);alarma= (ToggleButton) findViewById(R.id.toggleButton1);alarma.setOnCheckedChangeListener(this);sp= new SoundPool(8, AudioManager.STREAM_MUSIC,0);audio=sp.load(this,R.raw.coche, 1);

}

@Overridepublic void onCheckedChanged(CompoundButton CompoundButton, boolean

b) {

Y en esta parte se esta declarando el if para que se realice si elige prender o encender la aplicacion o apagarla para eso nos dan el else

if (b) {con.setBackgroundResource(R.drawable.cochedos);sp.play(audio, 1, 1, 1, 0, 1);}

else{con.setBackgroundResource(R.drawable.coche);}

}}

Y esgta es la manera en la que se visualiza una ves ya instalada y ejecutada

“CheckBox”

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" 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" > *Aquí se puede visualizar que se esta declarando un check nox que es casi igual que un raio button por que es para colocar multiples opciones que se requieran colcar.Puesto que solo aquí se declaran los que se deseen y se les da la variable y el texto que se quiera visualizar en estas opciones. <CheckBox android:id="@+id/ch1" android:layout_height="wrap_content" android:layout_width="fill_parent" android:text = "Android" /> <CheckBox android:id="@+id/ch2" android:layout_height="wrap_content" android:layout_width="fill_parent" android:text = "Android" /> <CheckBox android:id="@+id/ch3" android:layout_height="wrap_content" android:layout_width="fill_parent" android:text = "Windows" /></LinearLayout>

*Aquí se visualizara qel codigo de .java donde se colocara el codigo necesario para que nuestar aplicación funcione correctamente.

package com.example.checkboxdemo;

Aquí estan las clases que se necesiatan para utilizar corretamente los objetos empleados

import android.os.Bundle;

import android.preference.CheckBoxPreference;

import android.app.Activity;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.CheckBox;

import android.widget.Toast;

public class MainActivity extends Activity {

*Aquí se estan declarando las variables que ya se le abian asignado a los check box anteriormente en el codigo .xml

CheckBox ch_Android,ch_Iphone,ch_Windows;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

*Aquí se esta declarando lo que le pertenece a cada check box con su variable asignada ya anteriormente.

setContentView(R.layout.activity_main);

ch_Android=(CheckBox) findViewById(R.id.ch1);

ch_Iphone=(CheckBox) findViewById(R.id.ch2);

ch_Windows=(CheckBox) findViewById(R.id.ch3);

OnClickListener l=new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

*Aquí se esta declarando un if para que la aplicación pueda visualizar que opcion esta eligiendo en si para que al momento que se elija y se quiera cambiar la opcion no se quede esta y asi se pueda reelegir y para que esto ocurra tambien se colocara else if, else

que se ria como un case pero en este se colocara como para reelegir y no se quede la primera opcion y al mismo salga un mensage oculto que te diga la opcion que as elegido.

if(ch_Android.isChecked())

{

Toast.makeText(MainActivity.this, "Android", Toast.LENGTH_SHORT).show();

}

else if (ch_Iphone.isChecked()){

Toast.makeText(MainActivity.this,"Iphone", Toast.LENGTH_SHORT).show();

}

else {

Toast.makeText(MainActivity.this, "WindoWs", Toast.LENGTH_SHORT).show();

}

}

};

ch_Android.setOnClickListener(l);

ch_Iphone.setOnClickListener(l);

ch_Windows.setOnClickListener(l);

}

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

}

}

Asi es como se visualizara en un celular al ya instalar la aplicación propiamente.

“Radio Button”

Como anterior mente se explico este codigo es para dec larar como se iran posicionando los objetos que se vallan colocando que en este caso seran textview, buttons y radio button.<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_vertical_margin" android:paddingRight="@dimen/activity_vertical_margin" android:paddingTop="@dimen/activity_horizontal_margin" tools:context=".MainActivity" >El codigo siquiente es de un text view el cual le estamos colocando una pregunta que es “de que pais eres” con esto estamos declarando que en nuestar pantalla se cisualizara esta preunta para que usuario la pueda visualizar <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text = "de que pais eres" android:textAppearance="?android:attr/textAppearanceLarge" />A partir de aquí podras visualizar tres radio button los cuales tendran asta el final en un “android:text=” esto quiere decir que se les colocara una posible respuesta que el usuario podra darnos y tambien los estamos posicionando y asignandoloes una variable al principio co el “android:id=@+id/nombre que se desee”.En si los radio button sirven para darnos multiple opciones. <RadioGroup android:id="@+id/rg" android:layout_width="wrap_content" android:layout_height="wrap_content" > <RadioButton android:id="@+id/radio0" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft = "true" android:checked="true" android:text = "mexico" /> <RadioButton android:id="@+id/radio1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft = "true" android:checked="true" android:text = "peru" /> <RadioButton android:id="@+id/radio2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft = "true" android:checked="true" android:text = "colombia" />

</RadioGroup>Aquí se puede observar un button el cual se esta asignando para que al momento de darle click este nos diga la respuesta que a elegido el usuario.Tambien le estamos asiganando una variable y un nombre que el usuario podra visualizar <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text = "Button" /></LinearLayout>Todo lo escrito anteriormente es esta escrito en la pestaña de .xml que como ya se avia explicado es solo la estructura de nuestra aplicación.Acontinuacion se explicara la pestaña de .java que es en donde iran todas nuestras condiciones para que esta pueda funcionar.

Aquí se estan declarando las clases que se van a necesitar es como darles permiso a todo lo empleado anterior mente en el codigo .xml.package com.example.radio;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.RadioButton;import android.widget.RadioGroup;import android.widget.Toast;

Aquí se estan declarando las variables que se le asignaron anteriormente a los objetos empleados.public class MainActivity extends Activity implements OnClickListener {

View boton;RadioGroup rg;int checa;

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); rg=(RadioGroup)findViewById(R.id.rg); boton=(View)findViewById(R.id.button1); boton.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) {checa=rg.getCheckedRadioButtonId();

Aquí se esta declarando un switch el cual nos servira para que se declaren los radio button y asi nos permita escoger alguno de los que ya se declararon anteriormente.Checa solo nos esta dejando escoger alguna opcion yrevisar si con el boton cual es la opcion que emos elegido y darnos un mensage oculto.

switch(checa){case R.id.radio0:Toast.makeText(this, "saludosos a los mexicanos",

Toast.LENGTH_SHORT).show();break;case R.id.radio1:Toast.makeText(this, "saludos peru",

Toast.LENGTH_SHORT).show();break;case R.id.radio2:Toast.makeText(this, "saludos colombianos",

Toast.LENGTH_SHORT).show();break;}

} }

Asi es como se podra visualizar en un celular una ves instalado.

“ProgresBar”

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

se declara el progress bar el cual es una barra se estado que en este caso nos indica que tanto se esta cargando la aplicacion

<ProgressBar android:id="@+id/progressBar1" style="?android:attr/progressBarStyleHorizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:indeterminate="false" android:max="100" android:padding="4dip" > </ProgressBar>

Este se esta declarando para que se visualice la imagne o lo que este cargando <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:textColor="#B61E14" > </TextView>

<Button android:id="@+id/button1" android:layout_width="120dp" android:layout_height="120dp" android:background="@drawable/a" android:onClick="startProgress" > </Button>Y esta se declara para que se visualice el resultado de la aplicacion en este caso sera una imagen <ImageView android:id="@+id/image1" android:layout_width="250sp" android:layout_height="250sp" />

</LinearLayout>

Este es su java

package com.doggy.progess;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.ImageView;

import android.widget.ProgressBar;

import android.widget.TextView;

public class Progess extends Activity implements OnClickListener{

private ProgressBar progress;

private TextView text;

ImageView image1;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_progess);

progress = (ProgressBar) findViewById(R.id.progressBar1);

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

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

}

public void startProgress(View view) {

Runnable runnable = new Runnable() {

@Override

public void run() {

for (int i = 0; i <= 100; i++) {

final int value = i;

doFakeWork();

progress.post(new Runnable() {

@Override

public void run() {

text.setText(value + "/100");

progress.setProgress(value);

Aqui se esta declarando el if para saber cuanto tiempo tardara en cargar la aplicacion

if(value==100){

image1.setImageResource(R.drawable.a);

}

}

}

);

}

}

};

new Thread(runnable).start();

}

private void doFakeWork() {

try {

Thread.sleep(2000);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

@Override

public void onClick(View o) {

}

}

“TimePicker”

<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=".Tiempo" >Aqui se declara el time picker el cual igual se puede extraer desde el menu que nos brinda el xml Este nos servirá para declarar la hora en la que estamos o declarar otra hora cualquiera

<TimePicker android:id="@+id/time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" />

</RelativeLayout>Y este es su javaEn este se pondrán todas la condiciones para que se cambie la hora para esto utilizaremos un if y un switch para que este se logre realuzarimport android.os.Bundle;import android.app.Activity;import android.view.Menu;public class Tiempo extends Activity {

@Overrideprotected void onCreate(Bundle savedInstanceState) {

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

}

@Overridepublic boolean onCreateOptionsMenu(Menu menu) {

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

getMenuInflater().inflate(R.menu.tiempo, menu);return true;

}

}

“Acelerometro”

*Aquí como ya se a explicado anteriormente se puede visualizar el inicio de este codigo en donde se esta declaraondo como se iran posicionando los objetos que se vayan empleando.

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

*Aquí solo se visualizara un text view en el cual se podra cisualizar los numeros que se vayan dando dependiendo de las inclinaciones que el celular vaya teniendo <TextView android:id="@+id/acceleration" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text = "X: Y: Z:" android:textAppearance="?android:attr/textAppearanceLarge" />

</LinearLayout>

*Aquí se stan visualizando los permisos de las objetos que se iran empleando desde el .xml.package com.example.acelerometro;

import android.hardware.Sensor;

import android.hardware.SensorEvent;

import android.hardware.SensorEventListener;

import android.hardware.SensorListener;

import android.hardware.SensorManager;

import android.os.Bundle;

import android.app.Activity;

import android.app.Notification.Action;

import android.view.Menu;

import android.widget.TextView;

public class MainActivity extends Activity implements SensorEventListener {

*Aquí se estan declarando las variables que anteriormente en el .xml ya se abian emplementado y tambien otras que se utilizaran a lo largo del proceso.

Sensor accelerometer;

SensorManager sm;

TextView acceleration;

@Override

public void onCreate(Bundle savedInstanceState){

*Aquí se estan declarando nuevamente las variables para que se les permita utilizar ciertos utencilios del celular que esn este caso es el sensor de movimiento para que pueda identificar las inclinaciones que se vayan aciendo.

sm=(SensorManager)getSystemService(SENSOR_SERVICE);

accelerometer=sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);

sm.registerListener((SensorListener) this,accelerometer.TYPE_ACCELEROMETER);

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

}

@Override

public void onAccuracyChanged(Sensor sensor,int accuracy){

}

//TODO Auto-generated method stub

@Override

public void onSensorChanged(SensorEvent event){

*Aquí se estan colocando las variables para que estas puedan visualizar el resultado de las inclinaciones en la pantalla del celular que se visualizaran en el text view que ya antes se habia colocado en el .xml

//TODO Auto-generated method stub

acceleration.setText("X: "+event.values[0]+"\nY:"+event.values[1]+"\nZ:"+event.values[2]);

}

}

Asi es cmo se visualizara en un celular ya instalada correctamente y claramente con los numeros respectivos que se iran colocando dependiendo de la posicion del celular.

“TabHost”

*Aquí estamos declarando nuevamente la posicion que tendra cada objeto que se vaya posicionando en la pantalla principal

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

Aquí se visualizara la primera pestaña de la pantalla por que tabhost es una aplicación para hacer pestañas ya predeterminadas desde el .xml <TabHost android:id="@+id/th" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_alignParentTop="true" > <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TabWidget android:id="@android:id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content" > </TabWidget> <FrameLayout android:id="@android:id/tabcontent" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:id="@+id/tab1" android:layout_width="match_parent" android:layout_height="match_parent" >*Aquí se visualiza el editext que nos servira para que el usuario pueda escribir lo que necesite < EditText android:id="@+id/et1" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout>

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

*Aquí se visualiza un boton de muestra que en si no tendra una tarea especifica <Button android:id="@+id/btn1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text = "boton de muestra" /> </LinearLayout> <LinearLayout android:id="@+id/tab3" android:layout_width="match_parent" android:layout_height="match_parent"> *Aquí se visualiza un boton el cual lo posicionaremos en la segunda pestaña que no tendra una tarea en especifico solo sera de muestra

*Aquí se visualiza un text view el cual le servira al usuario para escribir el texto que requiera<TextView android:id="@+id/tv1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text = "esta es la tercera tab" /> </LinearLayout> </FrameLayout> </LinearLayout> </TabHost></LinearLayout>

*Aquí se puede visualizar que se estan declarando todos los objetos que se emplearon en el codigo .xml

package com.example.tabhost;

import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

import android.widget.TabHost;

import android.widget.TabHost.TabSpec;

public class MainActivity extends Activity {

*Aquí se visualiza que se esta declarando el tabhost con su variable que ya anteriormente se le habia asignado.

TabHost th;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

*Aquí se les esta dando la tarea q ue ara cada tabhost que en este caso es una pestaña que se visualizara en la pantalla del celular

th=(TabHost)findViewById(R.id.th);

//Tab1

th.setup();

*Aquí le esta ordenando que en la primera pantalla solo se visualize el mensage de bienvenida

TabSpec ts1=th.newTabSpec("Tab1");

ts1.setIndicator("Bienvenido");

ts1.setContent(R.id.tab1);

th.addTab(ts1);

*Aquí le esta diciendo que se visualize en la tabhost 2 el mensage de contenido y un boton de muestra que como ya se habia explicado no tiene una tarea especifica

//Tab2

th.setup();

TabSpec ts2=th.newTabSpec("Tab2");

ts2.setIndicator("contenido");

ts2.setContent(R.id.tab2);

th.addTab(ts2);

*Y en la ultima tabhost se le esta declarando que solo se visualize el mensage de despedida

//Tab3

th.setup();

TabSpec ts3=th.newTabSpec("Tab3");

ts3.setIndicator("despedida");

ts3.setContent(R.id.tab3);

th.addTab(ts3);

}

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

}

}

Asi sera como se visualizara en la pantalla de un celular dependiendo de la pestaña que se abra y se desee visualizar obiamente ya existente.

Conclusiones:

Solo queda decir que estas aplicaciones se utilizan dia con dia en los teléfonos celulares y son muy importaten en nuestras vidas cootidianas