Manual en equipo

158
CECYTEM PLANTEL TECAMAC Manual de aplicaciones android INTEGRAMNTES: Diana Martinez pineda Hugo Jair Escamilla Meléndez Lizeth Sarahi Sandoval corona Diana Laura Breña García Mares Islas Blanca Lidia Isabel García Hernández Profesor: Domínguez Escalona Rene Materia: Desarrollar Aplicaciones Móviles Grupo: 403,402

Transcript of Manual en equipo

Page 1: Manual en equipo

CECYTEM PLANTEL TECAMAC

Manual de aplicaciones android

INTEGRAMNTES:

Diana Martinez pineda

Hugo Jair Escamilla Meléndez

Lizeth Sarahi Sandoval corona

Diana Laura Breña García

Mares Islas Blanca Lidia

Isabel García Hernández

Profesor:

Domínguez Escalona Rene

Materia:

Desarrollar Aplicaciones Móviles

Grupo:

403,402

Semestre:

Cuarto

Page 2: Manual en equipo

INTRODUCCION

En este manual aprenderemos a realizar aplicación para teléfonos móviles.

Aplicaciones que se utilizan regularmente para resolver problemas en nuestra vida

cotidiana o simplemente aprender a desarrollar algunas aplicaciones.

De igual manera se te explicara cada parte de los programas la función que tiene

los objetos que se visualizan en pantalla una vez ya finalizada la aplicación al

igual te mostraremos el desarrollo de cada aplicación es decir lo que viene siendo

el código de java el cual se encarga de que la aplicación pueda ser ejecutada

mediante condiciones y variables que se irán asignando en el transcurso del

código, al igual te mostraremos el código xml el cual se encarga de mostrar el

diseño de la aplicación y también declarando todo tipo de objetos que se

utilizaran(button, text view, list view, image view, etc…)

AJEDREZ

Este es un programa de java llamado ajedrez, lo que tiene que hacer este

programa es definir la posición que le corresponde cuando se le asigna un número

y una letra por ejemplo:

Si al programa le ponemos un “a 2” el tablero o el programa nos va a imprimir

negro como nos muestra en la siguiente imagen.

Page 3: Manual en equipo

Para eso tenemos que realizar un código en bloc de notas o ya sea también en un

programa llamado Sublime Text en esta ocasión yo voy a utilizar Sublime Text.

Para comenzar a realizar nuestro programa primero vamos a declarar las librerías

y la primera que debe de llevar es la siguiente:

import java.util.*;

Después vamos a nombrar la clase con el siguiente código este caso el nombre de

nuestro programa:

public class ajedrez{

public static void main (String[ ] args){

Después de que ya hayamos declarado la clase vamos a declarar variables y a

comenzar a hacer lo que va a ser el código con las condiciones como se muestra

en las siguientes imágenes:

Page 4: Manual en equipo

BARDEANDO

Page 5: Manual en equipo

Este programa de java se llama bardeando en donde se tiene que calcular cuantos

metros de malla ciclónica nos hace falta para bardear un terreno de “n” medida

para eso primero tenemos que describir que en la primera línea dos números “P” y

"n", donde "P" representa el perímetro del terreno con un rango de valores de

1<=P <= 2,000,000,000 y “n” representa la cantidad de trozos de malla ciclónica

que tenemos, donde 1<=n<=100,000. En las siguientes “n” líneas es el tamaño de

cada trozo de malla que tenemos. La suma de todos los trozos siempre será

menor a 2147483648 es decir debemos de introducir un numero y después otros 4

para que nos de la medida que nos hace falta para bardear el terreno como se

muestra en la imagen

Para eso tenemos que realizar el código de java con lo que es la librería la cual es

la siguiente:

Import java.util.*;

Después tenemos que declarar las clases respecto con el nombre del programa

por ejemplo:

Public class bardeando{

Public static void main (String[ ] args){

Page 6: Manual en equipo

Despues de eso debemos de comenzar a hacer el codigo de java realizando o

declarando acciones como se muestra en la siguiente imagen.

MATRIZ CUADRADA

Page 7: Manual en equipo

En este programa lo que debemos realizar es una cuadricula en donde

tenemos una matriz de “R” renglones por “C” columnas, donde podemos enumerar

las casillas de la siguiente manera, la casilla 1,1 (renglón 1, columna 1), la casilla

1,2 (renglón 1, columna 2) y la casilla 1,3 (renglón 1, columna 3 ) serían

respectivamente las posiciones 1, 2 y 3 como se puede ver en la figura, donde la

casilla 1,1 es la esquina superior izquierda y la celda “R” x “C” es la celda ubicada

en la esquina inferior derecha.

En esta cuadrícula, podemos hacer preguntas de la forma, ¿que número está en

la casilla 1,2 ? y su respuesta sería 2 otro ejemplo ¿qué número está en la celda

2,3? y su respuesta es 6 es decir debemos de contestar un determinado numero

de pregunta como se muestra en la imagen.

A continuación comenzaremos a realizar el código de java empezando a poner la

siguiente librería:

Import java.util.*;

Después comenzaremos a realizar o a declarar las clases del código java :

Public class cuadrada{

Page 8: Manual en equipo

Public static void main (String[ ] args){

Cuando ya hayamos colocado la librería y las clases podemos comenzar a

declarar variables y a hacer condiciones como se muestra en la siguiente figura:

CUADRADO

Page 9: Manual en equipo

En este programa lo que debemos realizar es un giro de 90 grados a un cuadrado

hecho por números en la primera línea el valor “n” indicando el tamaño de la

matriz donde 1<=n<=1000, en los siguientes “n” renglones habrán “n” valores de la

matriz separados por un espacio como se muestra en la siguiente imagen:

Ahora comenzaremos por empezar a realizar el código de java declarando la

librería:

Import java.util.*;

Después vamos a declarar la clase con el siguiente código:

Public class cuadrado{

Public static void main(String[ ] args){

Ahora comenzaremos a hacer el codigo de java declarando variables y haciendo

condiciones para que funcione nuestro programa como se muestra en la siguiente

imagen:

Page 10: Manual en equipo

NO FIBONACCI

Este es un programa llamado fibonacci, Fibonacci es una serie de números

enteros positivos de la cual sus primeros 2 números son 1 y 2, luego de eso, cada

número es el resultado de sumar los dos anteriores de dicha serie de la siguiente

forma:

1, 2, 3, 5, 8, 13, 21, 34, 55...

Nótese que 1+2=3, 2+3=5, 5+8=13, 13+21=34, 21+34=55 ...

Como se muestra en la siguiente imagen:

Page 11: Manual en equipo

Ahora comenzaremos a hacer lo que es la estructura del código java comenzando

a declarar la librería

Import java.util.*;

Después vamos a declarar lo que son las clases

Public class Fibonacci{

Public static void main(String[ ] args){

Ahora continuaremos haciendo lo que va a ser el codigo de java declarando

variables y haciendo condiciones como se muestran en la siguiente imagen:

Page 12: Manual en equipo

FRECUENCIAS

Este programa que vamos a hacer trata de que hagamos como tipo votos en

donde se le va a preguntar a unos niños de una escuela cual es su profesor

favorito en la primera línea el número “P” que indica la cantidad de profesores que

tiene la escuela donde 1<=P <= 100 y el número “n” que indica la cantidad de

alumnos en la escuela donde 1<=n<=1000. en la siguiente línea habrán “n”

números que representan el número de profesor favorito “F” de cada alumno

donde 1<=F<=P como se muestra en la imagen:

Page 13: Manual en equipo

Bien ahora comenzaremos a poner el código de java para declarar la librería:

Import java.util.*;

Ahora lo que vamos a declarar son las clases :

Public class frecuencias{

Public static void main(String[ ] args){

Despues vamos a seguir haciendo lo de el codigo java declarando variables y

haciendo condiciones en el programa como se muestra en la siguiente imagen:

Page 14: Manual en equipo

PAR IMPAR

Este programa lo que hace es que introducimos el numero de números que

queremos introducir y después ingresamos los números y nos imprime si son par

positivo, par negativo, impar positivo o impar negativo como se muestra en la

siguiente imagen:

Page 15: Manual en equipo

A continuación lo que vamos a declarar la librería de nuestro programa para que

este se pueda ejecutar correctamente:

Import java.util.*;

Ahora vamos a declarar las librerias de nuestro programa:

Public class parimpar{

Public static void main(String[ ] args){

Ahora vamos a continuar hacienda nuestro código de java declarando variables

haciendo arreglos y condiciones para que nuestro programa pueda funcionar así

como se muestra en la siguiente imagen:

Page 16: Manual en equipo
Page 17: Manual en equipo

sumando

Aplicacion que sirve para que valla sumando columnas

Solucion:

import java.util.*;

public class sumando{

public static void main (String []args){

Scanner in=new Scanner (System.in);

int n=in.nextInt();

int numeros [][]= new int [n][n];

int suma [] = new int [n];

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

for (int k=0;k<n ;k++ ) {

numeros [i][k]=in.nextInt();

suma[i]=0;

}

}

Imprimir(numeros,n);

obtenersuma(numeros, n, suma);

imprimir suma (suma, n);

Page 18: Manual en equipo

}

public static void Imprimir (int [] [] numeros, int n){

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

for (int k=0; k<n; k++) {

System.out.print("numeros["+ (i+1)+ "]["+(k+1)+"]=>"+numeros[i][k]+" ");

}

System.out.println (" ");

}

}

public static void obtenersuma(int [] [] numeros, int n, int [] suma){

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

for (int k=0;k<n ;k++ ) {

suma[i]+=numeros[k][i];

}

}

}

public static void imprimirsuma (int [] suma, int n){

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

System.out.print(" "+suma[i]+" ");

}

}

Page 19: Manual en equipo

}

Page 20: Manual en equipo

triangulo

Este programa sirve para ver si de 3 numeros que introduces pueden formar un

triangulo

Solucion:

import java.lang.Math;

import java.util.*;

public class triangulo{

public static void main(String[] args) {

Scanner b1= new Scanner (System.in);

Scanner b2= new Scanner (System.in);

Scanner b3= new Scanner (System.in);

int a,b,c,ax,bx,cx,d,e,f;

Double raiz;

System.out.println("Ingresa los numeros");

a=b1.nextInt();

b=b2.nextInt();

c=b3.nextInt();

ax=a*a;

bx=b*b;

cx=c*c;

if (a>=b){

Page 21: Manual en equipo

if(a>=c){

if(b>=c){

System.out.println("\n N:"+a+"\n N:"+b+"\n N:"+c);

d=bx+cx;

raiz=Math.sqrt(d);

if(raiz==a){

System.out.println("Si es posible el triangulo y sus medidas serian Hipotenusa

"+a+"\n Cateto Adyacente "+b+"\n Cateto Opuesto "+c);

}

else{

System.out.println("Es imposible");

}

}

else{

System.out.println("\n N:"+a+"\n N:"+c+"\n N:"+b);

d=cx+bx;

raiz=Math.sqrt(d);

if(raiz==a){

System.out.println("Si es posible el triangulo y sus medidas serian Hipotenusa

"+a+"\n Cateto Adyacente "+c+"\n Cateto Opuesto "+b);

}

else{

Page 22: Manual en equipo

System.out.println("Es imposible");

}

}

}

else{

System.out.println("\n N:"+c+"\n N:"+a+"\n N:"+b);

d=ax+bx;

raiz=Math.sqrt(d);

if(raiz==c){

System.out.println("Si es posible el triangulo y sus medidas serian Hipotenusa

"+c+"\n Cateto Adyacente "+a+"\n Cateto Opuesto "+b);

}

else{

System.out.println("Es imposible");

}

}

}

else {

if(b>=c){

if(c>=a){

Page 23: Manual en equipo

System.out.println("\n N:"+b+"\n N:"+c+"\n N:"+a);

d=ax+cx;

raiz=Math.sqrt(d);

if(raiz==b){

System.out.println("Si es posible el triangulo y sus medidas serian Hipotenusa

"+b+"\n Cateto Adyacente "+c+"\n Cateto Opuesto "+a);

}

else{

System.out.println("Es imposible");

}

}

else{

System.out.println("\n N:"+b+"\n N:"+a+"\n N:"+c);

d=ax+cx;

raiz=Math.sqrt(d);

if(raiz==b){

System.out.println("Si es posible el triangulo y sus medidas serian Hipotenusa

"+b+"\n Cateto Adyacente "+a+"\n Cateto Opuesto "+c);

}

else{

System.out.println("Es imposible");

}

Page 24: Manual en equipo

}

}

else{

System.out.println("\n N:"+c+"\n N:"+b+"\n N:"+a);

d=ax+bx;

raiz=Math.sqrt(d);

if(raiz==c){

System.out.println("Si es posible el triangulo y sus medidas serian Hipotenusa

"+c+"\n Cateto Adyacente "+b+"\n Cateto Opuesto "+a);

}

else{

System.out.println("Es imposible");

}

}

}

}

}

Page 25: Manual en equipo

Romanos

Sirve para que introduscas numeros y imprima su equvalencia en romanos

Solucion:

import java.util.Scanner;

public class romanos{

public static void main(String[] args) {

Scanner sc=new Scanner(System.in);

String Unidad[]={"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};

String Decena[]={"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"};

int N = sc.nextInt();

int u=N%10;

int d=(N/10)%10;

if(N==100){

System.out.println("C");

}

else if(N>=10){

System.out.println(Decena[d]+Unidad[u]);

}

else{

System.out.println(Unidad[N]);

}

Page 26: Manual en equipo

}

}

Ejemplo:

Page 27: Manual en equipo

Sedes

Solucion:

import java.util.*;

public class sede3{

public static void main(String[] args) {

Scanner in=new Scanner (System.in);

int a=in.nextInt();

int ar[]=new int [a];

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

ar[i]=in.nextInt();

}

int c=ar[0];

for (int i=1;i<a ;i++ ) {

if (ar[i]>c){

c=ar[i];

}

}

int q=ar[0];

Page 28: Manual en equipo

for (int i=1;i<a ;i++ ) {

if (ar[i]<q){

q=ar[i];

}

}

int x=c-q;

System.out.println(" "+x);

} }

Ejemplo:

Page 29: Manual en equipo

Edad

Sirve para calcular los años y sabes si es año bisiesto o no es año bisiesto

Solución:

import java.util.*;

public class bisiesto{

public static void main(String[] args) {

Scanner in=new Scanner (System.in);

int a=in.nextInt();

int b[]=new int [a];

Page 30: Manual en equipo

int c[]=new int [a];

int d[]=new int [a];S

int e[]=new int [a];

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

b[i]=in.nextInt(); }

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

c[i]=b[i]%4;

d[i]=b[i]%100;

e[i]=b[i]%400;

}

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

if (d[i]==0){

if (e[i]==0) {

System.out.println("Si"); }

else{

System.out.println("no");

} }

else if(c[i]==0){

System.out.println("Si"); }

else{

System.out.println("no");

Page 31: Manual en equipo

}}}}

Page 32: Manual en equipo
Page 33: Manual en equipo
Page 34: Manual en equipo
Page 35: Manual en equipo
Page 36: Manual en equipo

DATE PICKER

esta aplicación en como un calendario que permitirá ver y consultar fechas.

lo primero será crear una nueva aplicación Android, le daremos clic file new, Android aplicación y nos aparecerá este recuadro donde tu pondrás el nombre de la aplicación que vayas a hacer o el nombre que le quieran poner.

Page 37: Manual en equipo

Escribimos el código de la siguiente forma

Después se escribirá el código java

Page 38: Manual en equipo

Se declararan y inicializaran las variables date picker y button dentro del método OnClick , se pone un toast que mostrara la fecha

TIME PICKER

Esta es una aplicación que es un reloj que permite cambiar el horario de 24 horas a 12.

Primero vas a abrir un nuevo proyecto lo llamaras como tu quieras o con el mismo nombre que se está usando.

Page 39: Manual en equipo

Después escribirás el código con un button, TextView y un TimePicker

Por lo consiguiente escribirás el código java

Page 40: Manual en equipo

Se declararan las variables de tipo button y time picker en el método OneClick y se pondrá un toast en el que se cambiaran las horas.

VideoView

En esta aplicación se podrá ver el video que tu quieras poner

Primero tendrás que abrir un proyecto nuevo para comenzar a hacer tu aplicación

Page 41: Manual en equipo

La interfaz grafica cambiara cuando se haya creadp el proyecto

Pondrás el nombre de la aplicación como la quieras llamar y el nombre del paquete, cuando ya este creado el proyecto se modificara la interfaz grafica, creara una carpeta llamada raw donde pondremos el video con el formato mp4.

Se escribe el siguiente codigo

en el siguiente código que pondremos se podrá reproducir el video en el código java

se declarara la variable videoview y después se mandara a llamar con el siguiente código

ToggleButton

esta aplicación es un botón que cuando lo oprimas será como un on que es como si estuviera prendido y lo tendrás que oprimir de nuevo para que sea como un off que será como si lo apagaras

primero tendremos que abrir otra aplicación y nombrarlo.

Page 42: Manual en equipo

Ya creado el proyecto la interfaz grafica cambiara de este modo.

La interfaz esta compuesta por dos togglebutton y un botón que al ser presionado el botón te indicara si está apagado o si esta encendido el togglebutton por medio de un toast.

El código java es el siguiente:

Primero declararemos dos togglebutton y un botón :

Page 43: Manual en equipo

Inicializamos las variables por el método OneClickListener

Del botón se abre un método el cual te imprime por medio de un toast

Page 44: Manual en equipo

CheckBox

Esta aplicación permite escoger una o mas opciones a la vez.

Primero abriremos otra aplicación Android .

Cuando ya hayamos nombrado la aplicación y el paquete se tendran que seguir todos los pasos que marquen para finalizar una vez finalizando se creara el proyecto y la interfaz grafica se cambiara.

Page 45: Manual en equipo

El código java es el siguiente

Page 46: Manual en equipo

Lo primero que se hace es inicializar las variables on el método opera que se activa al pulsar el botón se convierten lo contenido en los EditText en string y esta a su vez en int.

Y por medio de un if se checa si un checkbox esta activado o no y por ultimo se imprime un resultado en un TextView

Page 47: Manual en equipo

MENU

La aplicación de menú sirve para que se muestre una lista desplegable y nos pueda mandar a otra interfaz.

Primero abrimos otra aplicación Android para crear un nuevo proyecto para que cuando este creado la interfaz grafica cambie

Colocare el código para que cuando seleccione una opción haga la condición en este caso de un switch

Page 48: Manual en equipo

Esta aplicación nos sirve para poder deslizarnos mas rápido y con failidad gracias a su listado que permite su deslizamiento

Page 49: Manual en equipo

ProgressBar

Esta aplicación es una barra de proceso la vemos en descargaras , cuando actualizamos algo cuando esta cargando archivos.

Primero como ya sabemos abrimos una nueva aplicación Android para poder crear nuestro proyecto

Vamos a crear nuestra interfaz y actividad

después colocaremos un botón de descarga y el imagen del archivo a descargar

código de java:

Este código nos va a permitir la actualización de nuestra barra de proceso

Page 50: Manual en equipo
Page 51: Manual en equipo

Hola Mundo

Lo que vamos a hacer para comenzar es crear nuestro primer proyecto. Hacemos

"File / New / Project…". Nos sale una ventana donde seleccionamos "Java

project".

Ahora encontramos una ventana de configuración del proyecto que tenemos que

rellenar convenientemente.

1. Asignamos un nombre al proyecto.

2. Dejamos marcada "Use default location", para que use la ruta de

nuestro workspace configurado y Eclipse se encargará de hacer un subdirectorio

para este nuevo proyecto.

3. JRE puedes dejar la que tienes por defecto en Eclipse.

4. En project layout puedes dejar también la configuración que te sale "create

separate folders…"

5. Pulsamos "Finish"

Cuando terminas el proceso en el lado izquierdo, panel de "projects", nos sale el

proyecto que acabamos de crear. Es un árbol desplegable en el que si examinas

dentro encontrarás:

Carpeta src: es donde está el código fuente de tus clases, todos los .class que irás

creando con tu código Java.

Page 52: Manual en equipo

Carpeta JRE: encuentras toda una serie de .jar, que es una forma de englobar

varios archivos de clases. En definitiva, aquí encontrarás todas las clases que

dispones en Java para realizar cualquier tipo de tarea.Crear un nuevo código para implementar el "Hola Mundo"

Ahora vamos a crear nuestro primer archivo dentro del proyecto para hacer

nuestro primer ejemplo en Java. Es bien simple realmente, pero recuerda que

Java solo trabaja con programación orientada a objetos (POO), por lo que alguna

cosa puede ser poco familiar para ti, si no conoces este paradigma.

1. Botón derecho en el proyecto que acabas de crear

2. Seleccionas "New / Class". (Un class es una clase de POO)

3. En el campo "Name" indicas el nombre de tu clase

4. Todo lo demás lo puedes dejar como está, más adelante explicaremos qué otras

cosas te aparecen en esta pantalla y el por qué de su existencia

5. Pulsas el Botón "Finish" para acabar

Page 53: Manual en equipo

Con esto hemos creado ya nuestro primer archivo y Eclipse nos mostrará el

código con el que partimos. Observarás que el archivo ya tiene un código escrito,

es la declaración de una clase de Programación Orientada a Objetos (class en

inglés).

Todo en Java va dentro de las clases, exceptuando los "import" que van fuera de

las llaves de tu "class". De momento no nos tenemos que preocupar más que con

el código para crear una salida con el mensaje "Hola Mundo", pero aquí es donde

decíamos que Java es un poco doloroso para hacer nuestro primer programa,

porque necesitamos varias cosas para que todo esto funcione.

Creo que lo mejor sería ver el código fuente del "Hola Mundo" completo y a partir

de ahí explicar lo que nos encontramos.

public class HolaMundo {

public static void main (String[] argumentos) {

System.out.println ("Hola mundo");

}

}

Rápidamente, estos son los elementos que te puedes fijar:

"public class" es una declaración de la clase. 

"HolaMundo" es el nombre de la clase que estamos creando. Por convención los

nombres de las clases en Java tienen la primera letra en mayúscula. 

"public static void main" es la declaración de un método público y estático

llamado "main" que no devuelve valor alguno. De momento olvida todo lo demás

y quédate que en Java; cuando quieres ejecutar una clase debes crear este

método "main" tal como está. Al ejecutar una clase se pondrá todo en marcha a

partir del código que hayas escrito en tu "main". 

"String[] argumentos" son los parámetros que recibe todo método main, que

sirven para enviar por consola argumentos para que al ejecutar la clase se

personalice el comportamiento. De momento no vamos a hacer nada con esos

argumentos, por lo que puedes obviar este código. 

Page 54: Manual en equipo

"System.out.println("Hola mundo");" es la línea de código que hace realmente el

"Hola mundo". Lo que indica es que estás enviando una salida, en este caso por

pantalla. Es una manera un poco fea o complicada de decir simplemente a Java

que muestre algo por pantalla, pero recuerda que todo en Java son clases, por lo

que aquí estás accediendo a una jerarquía de clases y al método "println()" que

es el encargado de imprimir una línea. A ese método se le envía una cadena, en

este caso "Hola mundo" que es aquello que debe mostrar por pantalla.Ejecutar una clase desde Eclipse

Una vez que hemos escrito el código de nuestra clase estamos listos para

ejecutarla. Lo hacemos dentro del propio IDE eclipse, con el botón "run", que tiene

forma de un botón de play, en la barra de menús de arriba del todo.

Cuando ejecutas te aparece la salida en una consola, en un panel en la parte de

abajo de Eclipse, en el que deberías ver el mensaje de salida de la ejecución de tu

primer programa.

Operaciones

Iniciaremos Creando Nuestro Proyecto.

Page 55: Manual en equipo

Debes nombrar tu Activity

Te abrira xml java.

Despues Te Vas A Res/Layout/activity

Xml:

<LinearLayoutxmlns: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="#FFCC00" COLOR

android:orientation="vertical" >ORIENTACION

Edit Text Este nos ayudara a Ingresar numeros

<EditText

android:id="@+id/num"

android:layout_width="match_parent"

Page 56: Manual en equipo

android:layout_height="50dp"

android:layout_margin="10dp"

android:background="#CC00FF"

android:hint="numero 1"

android:maxLength="10"

android:numeric="decimal"

android:textColor="#00FFCC"

android:textStyle="bold" />

<EditText

android:id="@+id/numd"

android:layout_width="match_parent"

android:layout_height="50dp"

android:layout_margin="10dp"

android:background="#00FFCC "

android:hint="numero 2"

android:maxLength="10"

android:numeric="decimal"

android:textColor="#00FFCC "

android:textStyle="bold" />

<LinearLayout

android:layout_width="match_parent"

Page 57: Manual en equipo

android:layout_height="wrap_content"

android:orientation="horizontal" >

Botones uno de nos ayudara a Calcular y Eliminar.

<Button

android:id="@+id/cal"

android:layout_width="match_parent"

android:layout_height="50dp"

android:layout_margin="10dp"

android:layout_weight="1"

android:background="#00FFCC "

android:text="calcular"

android:textStyle="bold" />

<Button

android:id="@+id/bor"

android:layout_width="match_parent"

android:layout_height="50dp"

android:layout_margin="10dp"

android:layout_weight="1"

android:background="#00FFCC "

android:text="borrar"

android:textStyle="bold" />

</LinearLayout>

Page 58: Manual en equipo

TextView imprimiran los resultados de numeros.

<TextView

android:id="@+id/res"

android:layout_width="match_parent"

android:layout_height="102dp"

android:layout_margin="10dp"

android:layout_weight="0.37"

android:background="#00FFCC "

android:text="resultado"

android:textStyle="bold" />

</LinearLayout>

*java

Librerias

package aplicacion.operaciones;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.*;

import android.app.Activity;

import android.view.Menu;

El metodo Onclick En La Clase

public class Operaciones extends Activity implements OnClickListener{

Declaramos variables

EditText edtnumerouno, edtnumerodos;

Page 59: Manual en equipo

TextView txtresultado;

Button btncalcular, btnborrar; BOTONES

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_operaciones);

variables enlazadas con XML

edtnumerouno=(EditText) findViewById(R.id.num);

edtnumerodos=(EditText) findViewById(R.id.numd);

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

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

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

btncalcular.setOnClickListener(this);

btnborrar.setOnClickListener(this);

}

Metodo OnClick

public void onClick(View v) {

switch(v.getId()){

case R.id.cal:

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

String g=edtnumerodos.getText().toString();

if(!u.equals("") && !g.equals("")){

double uno=Double.parseDouble(edtnumerouno.getText().toString());

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

Page 60: Manual en equipo

if(uno<dos){

txtresultado.setText("la suma es: "+(dos+uno)+"\n resta es: "+(dos-uno)+"\n multiplicacion es:"+(dos*uno)+"\n division es: "+(dos/uno));

break;

}

}

case R.id.bor:

edtnumerouno.setText("");

edtnumerodos.setText("");

txtresultado.setText("");

break;}

}

}

Page 61: Manual en equipo

Album

Cambia fondo de pantalla.

RES/LAYOUT/Activity_album

<LinearLayoutxmlns: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 mostrara imagen de pantalla

<ImageView

android:id="@+id/imagen1"

android:layout_width="match_parent"

android:layout_height="200dp"

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

HorizontalScrollView Imágenes Forma Horizontal.

<HorizontalScrollView

android:layout_width="match_parent"

android:layout_height="100sp" >

Layout Ordenara

<LinearLayout

Page 62: Manual en equipo

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="horizontal" >

ImageView seran las Imágenes-imprimir las imagenes.

<ImageView

android:id="@+id/ima1"

android:layout_width="100sp"

android:layout_height="100sp"

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

<ImageView

android:id="@+id/ima2"

android:layout_width="100sp"

android:layout_height="100sp"

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

<ImageView

android:id="@+id/ima3"

android:layout_width="100sp"

android:layout_height="100sp"

android:src="@drawable/e"

<ImageView

android:id="@+id/ima4"

android:layout_width="100sp"

android:layout_height="100sp"

android:src="@drawable/f"

Page 63: Manual en equipo

<ImageView

android:id="@+id/ima5"

android:layout_width="100sp"

android:layout_height="100sp"

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

<ImageView

android:id="@+id/ima6"

android:layout_width="100sp"

android:layout_height="100sp"

android:src="@drawable/h"

<ImageView

android:id="@+id/ima7"

android:layout_width="100sp"

android:layout_height="100sp"

android:src="@drawable/i"

Imagen

</LinearLayout>

</HorizontalScrollView>

Boton Cerrar Linear Layout

<Button

android:id="@+id/cambiar"

android:layout_width="match_parent"

android:layout_height="70sp"

Page 64: Manual en equipo

android:text="Cambiar wallpaper" />

</LinearLayout>

*java

Librerias

import android.os.Bundle;

import android.app.Activity;

import android.app.WallpaperManager;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.*;

Despues implementaremos el metodo OnClick

public class InterfazActivity extends Activity implements OnClickListener{

Declaramos variables

ImageView image,ima1, ima2, ima3, ima4, ima5, ima6, ima7;

Button btn;

int fondo;

Cuerpo Programa Variables XML-Imágenes.

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.interfaz);

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

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

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

Page 65: Manual en equipo

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

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

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

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

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

image1.setOnClickListener(this);

image2.setOnClickListener(this);

image3.setOnClickListener(this);

image4.setOnClickListener(this);

image5.setOnClickListener(this);

image6.setOnClickListener(this);

image7.setOnClickListener(this);

}

@Override

El Metodo OnClick Para fondo de pantalla.

public void onClick(View v) {

switch (v.getId()){

case R.id.ima1:

image1.setImageResource(R.drawable.a);

fondo = R.drawable.a;

break;

case R.id.ima2:

image2.setImageResource(R.drawable.b);

Page 66: Manual en equipo

fondo = R.drawable.b;

break;

case R.id.ima3:

image3.setImageResource(R.drawable.c);

fondo = R.drawable.c;

break;

case R.id.ima4:

image4.setImageResource(R.drawable.d);

fondo = R.drawable.d;

break;

case R.id.ima5:

image5.setImageResource(R.drawable.e);

fondo = R.drawable.e;

break;

case R.id.ima6:

image6.setImageResource(R.drawable.f);

fondo = R.drawable.f;

break;

case R.id.ima7:

image7.setImageResource(R.drawable.g);

fondo = R.drawable.g;

break;

case R.id.cambiar:

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

Page 67: Manual en equipo

try{

mywp.setResource(fondo);

}catch(Exception e){

e.printStackTrace();

}

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

break;

}

Spinner

RES/LAYOUT/ACTIVITY

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

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="#ccc"

Page 68: Manual en equipo

android:orientation="vertical"

tools:context=".MainActivity" >

Text View Primera Lista Despegable

<TextView

android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_weight="1"

android:gravity="center"

android:text="cual es tu opcion"

android:textColor="#000"

android:textSize="15sp" />

Despues Van Los Spinner

<Spinner

android:id="@+id/sp1"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_margin="10sp"

android:layout_weight="1"

android:textSize="15sp" />

<Spinner

android:id="@+id/sp2"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_margin="10sp"

Page 69: Manual en equipo

android:layout_weight="1"

android:textSize="15sp" />

Image View Imprimira Una Imagen Y Se Cierra El Layout

<ImageView

android:id="@+id/image"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_margin="10sp"

android:layout_weight=".7"

android:background="#333" />

</LinearLayout>

*Java

librerias

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemSelectedListener;

import android.widget.ArrayAdapter;

import android.widget.ImageView;

import android.widget.Spinner;

Clase Incrementara METODO ONCLICK

public class MainActivity extends Activity implements OnItemSelectedListener {

Declarar variables opciones de spinner

Spinner sp1, sp2;

Page 70: Manual en equipo

ImageView img;

ArrayAdapter<String> a, a1, a2, a3, a4, a5;

int sel2 = 0;

String[] opcMarca = new String[] { "pitufos", "miki", "boo", "moster inc",

"BMW" };

String[] opcVW = new String[] { "azules", "bonitos", "lindos", "divertidos" };

String[] opcFord = new String[] { "corazon", "amor", "amistad", "cariño" };

String[] opcNissan = new String[] { “bonita", "tierna", "agradable", "dulce };

String[] opcHonda = new String[] { "boo", "amistad", "mike", "suliban",

"Pilot" };

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

spinner variables xml, java

sp1 = (Spinner) findViewById(R.id.sp1);

sp2 = (Spinner) findViewById(R.id.sp2);

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

sp1.setOnItemSelectedListener(this);

sp2.setOnItemSelectedListener(this);

a = new ArrayAdapter<String>(this,

android.R.layout.simple_spinner_item, opcMarca);

a1 = new ArrayAdapter<String>(this,

android.R.layout.simple_spinner_item, opcVW);

Page 71: Manual en equipo

a2 = new ArrayAdapter<String>(this,

android.R.layout.simple_spinner_item, opcFord);

a3 = new ArrayAdapter<String>(this,

android.R.layout.simple_spinner_item, opcNissan);

a4 = new ArrayAdapter<String>(this,

android.R.layout.simple_spinner_item, opcHonda);

a5 = new ArrayAdapter<String>(this,

android.R.layout.simple_spinner_item, opcBMW);

sp1.setAdapter(a);

sp2.setAdapter(a1);

}

@Override

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

long arg3) {

switch (arg0.getId()) {

case R.id.sp1:

int sel = sp1.getSelectedItemPosition();

switch (sel) {

case 0:

sp2.setAdapter(a1);

sel2 = sp2.getSelectedItemPosition();

switch (sel2) {

Page 72: Manual en equipo

case 0:

img.setImageResource(R.drawable.caribe);

break;

case 1:

img.setImageResource(R.drawable.atlantic);

break;

case 2:

img.setImageResource(R.drawable.golf);

break;

case 3:

img.setImageResource(R.drawable.jetta);

break;

case 4:

img.setImageResource(R.drawable.bora);

break;

}

break;

case 1:

sp2.setAdapter(a2);

sel2 = sp2.getSelectedItemPosition();

switch (sel2) {

case 0:

img.setImageResource(R.drawable.mustang);

break;

case 1:

Page 73: Manual en equipo

img.setImageResource(R.drawable.fusion);

break;

case 2:

img.setImageResource(R.drawable.fiesta);

break;

case 3:

img.setImageResource(R.drawable.lobo);

break;

case 4:

img.setImageResource(R.drawable.ikon);

break;

}

break;

case 2:

sp2.setAdapter(a3);

sel2 = sp2.getSelectedItemPosition();

switch (sel2) {

case 0:

img.setImageResource(R.drawable.np300);

break;

case 1:

img.setImageResource(R.drawable.sentra);

break;

case 2:

img.setImageResource(R.drawable.altima);

Page 74: Manual en equipo

break;

case 3:

img.setImageResource(R.drawable.xterra);

break;

case 4:

img.setImageResource(R.drawable.frontier);

break;

}

break;

case 3:

sp2.setAdapter(a4);

sel2 = sp2.getSelectedItemPosition();

switch (sel2) {

case 0:

img.setImageResource(R.drawable.crv);

break;

case 1:

img.setImageResource(R.drawable.accord);

break;

case 2:

img.setImageResource(R.drawable.crv);

break;

case 3:

img.setImageResource(R.drawable.odysey);

break;

Page 75: Manual en equipo

case 4:

img.setImageResource(R.drawable.pilot);

break;

}

break;

case 4:

sp2.setAdapter(a5);

sel2 = sp2.getSelectedItemPosition();

switch (sel2) {

case 0:

img.setImageResource(R.drawable.sedan);

break;

case 1:

img.setImageResource(R.drawable.coupe);

break;

case 2:

img.setImageResource(R.drawable.roadster);

break;

case 3:

img.setImageResource(R.drawable.i3);

break;

case 4:

img.setImageResource(R.drawable.i8);

break;

}

Page 76: Manual en equipo

break;

}

break;

}

}

@Override

public void onNothingSelected(AdapterView<?> arg0) {

// TODO Auto-generated method stub

}

}

Page 77: Manual en equipo

RadioButton

Funcionalidad radio button opción multiple.

<Relative Layout xmlns:android="http://schemas.android.com/apk/res/androd"

xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/sa" >

TextView Imprime botones

<TextView

android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="10dp" android:id="@+id/text"

Page 78: Manual en equipo

android:text="ChoiceText" />

Radio Group Agrupar Radios Button

<RadioGroup android:id="@+id/myRadioGroup" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/text" android:layout_marginTop="42dp" android:background="#abf234" android:checkedButton="@+id/sound" >

<RadioButton android:id="@+id/sound" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Sound" />

<RadioButton android:id="@+id/vibration" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Vibration" />

<RadioButton android:id="@+id/silent" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Silent" /> </RadioGroup>

Cerrar RadioGroup agragar Boton

<Button

android:id="@+id/chooseBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_marginLeft="34dp" android:text="Choose" />

Page 79: Manual en equipo

Cerrar RelativeLayout

</RelativeLayout>

*javapackage practica.radiobutton;

libreriasimport android.os.Bundle;import android.app.Activity;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.RadioButton;import android.widget.RadioGroup;importandroid.widget.RadioGroup.OnCheckedChangeLner;import android.widget.TextView;import android.widget.Toast;

public class Radiobutton extends Activity {

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

@Overrideprotected void onCreate(Bundle savedInstanceState) {

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

Declarar Radio ButtonradioGroup=(RadioGroup)findViewById(R.id.myRadioGroup);

Page 80: Manual en equipo

radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {

@OverrideCondiciones para guardar cambio.

public void onCheckedChanged(RadioGroup group, int checkedId) {

// find which radio button is selectedif(checkedId == R.id.silent) {

Toast.makeText(getApplicationContext(), "choice: Silent",

Toast.LENGTH_SHORT).show();} else if(checkedId == R.id.sound) {

Toast.makeText(getApplicationContext(), "choice: Sound",

Toast.LENGTH_SHORT).show();} else {

Toast.makeText(getApplicationContext(), "choice: Vibration",

Toast.LENGTH_SHORT).show();}

}

});

sound = (RadioButton) findViewById(R.id.sound);vibration = (RadioButton) findViewById(R.id.vibration);

silent = (RadioButton) findViewById(R.id.silent); textView = (TextView) findViewById(R.id.text); button = (Button)findViewById(R.id.chooseBtn); button.setOnClickListener(new OnClickListener() {

@Override

Imprimir mensaje

public void onClick(View v) {

Page 81: Manual en equipo

int selectedId = radioGroup.getCheckedRadioButtonId();

// find which radioButton is checked by idif(selectedId == sound.getId()) {

textView.setText("You chose 'Sound' option");

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

option");} else {

textView.setText("You chose 'Silent' option");

}}

});}

}

ToggleButton

Page 82: Manual en equipo

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

Linear Layout acomoda toggle button. <LinearLayout android:id="@+id/fondo" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_horizontal" android:orientation="horizontal" >agrgar color en toggle button <ToggleButton android:id="@+id/togglebutton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5sp" android:textOn="Rojo On" android:textOff="Rojo Off" android:text="ToggleButton" /> <ToggleButton android:id="@+id/togglebutton2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5sp" android:textOn="Verde On" android:textOff="Verde Off" android:text="ToggleButton" /> <ToggleButton android:id="@+id/togglebutton3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5sp" android:textOn="Azul On" android:textOff="Azul Off" android:text="ToggleButton" />

cerrar linerlayout</LinearLayout></LinearLayout>

Page 83: Manual en equipo

Despues Continuaremos Con El Java package nancy.tooglebutton;

Y Declaremos Las Librerias

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

Declaracion Metodo OnClickListener.public class ToogleButton extends Activity implements OnCheckedChangeListener {declaracion de variablesToggleButton r,v,a;LinearLayout cont;String color="",rj="00",vr="00",az="00"; @Override

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

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

Case para cambiar color

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

if(isChecked){

Page 84: Manual en equipo

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

}else{

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

}break;

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

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

}else{

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

}break;

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

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

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

}break;

}}

private ToggleButton setOnCheckedChangeListener(ToogleButton toogleButton) {

// TODO Auto-generated method stubreturn null;

}

Page 85: Manual en equipo

}

ColorHexa

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

Linear Layout acomoda TextView <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" >

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

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

Page 86: Manual en equipo

</LinearLayout>

<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" >SeekBar esto sirve para que se muevan los colores <SeekBar android:id="@+id/rojo" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5sp" android:layout_weight="1" android:gravity="center" android:indeterminate="false" android:max="255" android:progress="1" /> </LinearLayout>

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

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

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

Page 87: Manual en equipo

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

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

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

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

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

<LinearLayout

Page 88: Manual en equipo

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

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

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

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

</LinearLayout>

package scary.rgb;

import android.os.Bundle;

import android.widget.*;

Page 89: Manual en equipo

import android.app.Activity;

public class RGB extends Activity implements SeekBar.OnSeekBarChangeListener {

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

@Overrideprotected void onCreate(Bundle savedInstanceState) {

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

}

@Overridepublic void onProgressChanged(SeekBar seekBar, int progress,

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

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

Page 90: Manual en equipo

String color = "";color = "#";color += Integer.toHexString(r);color += Integer.toHexString(v);color += Integer.toHexString(a);return color;

}

@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {

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

}

@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {

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

}

}

Page 91: Manual en equipo

“CALCULADORA”Codigo 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:background="#000000" android:orientation="vertical" tools:context=".MainMinicalcu" >

<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="0.85"

android:background="#000000"android:gravity="center" android:orientation="horizontal">

Esto nos servirá para que dentro de este se posicionen los dos text view que utilizaremos para que los utilicemos los dos al tiempo<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight= "0.25"

android:background="#000000"android:gravity="center" android:orientation="vertical">

<TextViewEsto nos servirá para que el usuario pueda introducir los números que desee y esos serán el primer valor para cualquier operacion android:id="@+id/anterior"

android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight= ".25"

android:background="#000000" android:ellipsize="marquee"android:focusable="true"android:focusableInTouchMode="true"android:gravity="center"android:text=""android:textAlignment="textStart"android:textColor="#FFFFFF"android:textSize="30sp"/>

<TextViewEsto nos servirá para que el usuario introduzca el segundo valor de la operación que desee realizar android:id="@+id/num"

android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight=".25"

Page 92: Manual en equipo

android:background="#000000" android:ellipsize="marquee"android:focusable="true"android:focusableInTouchMode="true"android:gravity="center"android:text=""android:textAlignment="textStart"android:textColor="#FFFFFF"android:textSize="30sp"/>

</LinearLayout>

Este botón nos servirá para que el usuario pueda borrar el numero que haya puesto y asi pueda remplazarlo por otro <Button android:id="@+id/back" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:background="@drawable/backk" android:gravity="center"/> </LinearLayout> "

<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="0.85"

android:background="#000000"android:gravity="center" android:orientation="horizontal">

<Button

Este botón nos servirá para que el usuario tenga la opción de poner el numero siete en la operación que realizara android:id="@+id/siete" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight= "1" android:background="@drawable/siete" android:gravity="center"/> <Button

Este botón nos servirá para que el usuario pueda ocupar el numero ocho y este se visualice android:id="@+id/ocho" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:background="@drawable/ocho"

Page 93: Manual en equipo

android:gravity="center"/> <Button

Este botón nos servirá para que el usuario pueda ocupar el numero nueve y este se visualice

android:id="@+id/nueve" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:background="@drawable/nueve" android:gravity="center"/>

<Button

Este botón nos servirá para que el usuario pueda ocupar el signo de mas en este caso para realizar una suma android:id="@+id/mas" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:background="@drawable/mas" android:gravity="center"/> <Button

Este botón nos servirá para que el usuario pueda borrar toda la operación y también el resultado ya dado android:id="@+id/borrar" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:background="@drawable/ac" android:gravity="center"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="0.85"

android:background="#000000"android:gravity="center" android:orientation="horizontal">

<Button

Este botón nos servirá para que el usuario pueda utilizar el numero cuatro android:id="@+id/cuatro" android:layout_width="match_parent" android:layout_height="match_parent"

Page 94: Manual en equipo

android:layout_weight= "1" android:background="@drawable/cuatro" android:gravity="center"/> <Button

Este botón nos servirá para que el usuario pueda utilizar el numero cinco android:id="@+id/cinco" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:background="@drawable/cinco" android:gravity="center"/> <Button

Este botón nos servirá para que el usuario pueda utilizar el numero seis android:id="@+id/seis"

android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:background="@drawable/seis" android:gravity="center"/>

<Button

Este botón nos servirá para que el usuario pueda utilizar el símbolo de menos que en este caso será la operación de una resta

android:id="@+id/menos" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:background="@drawable/menos" android:gravity="center"/> <Button

Este botón nos servirá para que el usuario pueda utilizar el símbolo de raiz que en este caso será la operación de una raiz android:id="@+id/raiz" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:background="@drawable/raiz" android:gravity="center"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="0.85"

Page 95: Manual en equipo

android:background="#000000"android:gravity="center" android:orientation="horizontal">

<Button

Este botón nos servirá para que el usuario pueda utilizar el numero uno android:id="@+id/uno"

android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight= "1" android:background="@drawable/uno" android:gravity="center"/> <Button

Este botón nos servirá para que el usuario pueda utilizar el numero dos android:id="@+id/dos"

android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:background="@drawable/dos" android:gravity="center"/> <Button Este botón nos servirá para que el usuario pueda utilizar el numero tres

android:id="@+id/tres" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:background="@drawable/tres" android:gravity="center"/>

<Button

Este botón nos servirá para que el usuario pueda utilizar el símbolo de una x que en este caso será la operación de una multiplicacion android:id="@+id/por" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:background="@drawable/por" android:gravity="center"/> <Button Este botón nos servirá para que el usuario pueda utilizar el símbolo de factor que en este caso será la operación de factor

android:id="@+id/factorial" android:layout_width="match_parent" android:layout_height="match_parent"

Page 96: Manual en equipo

android:layout_weight="1" android:background="@drawable/factorial" android:gravity="center"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="0.85"

android:background="#000000"android:gravity="center" android:orientation="horizontal">

<Button Este botón nos servirá para que el usuario pueda utilizar el numero cero android:id="@+id/cero" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight= "1" android:background="@drawable/cero" android:gravity="center"/> <ButtonEste botón nos servirá para que el usuario pueda utilizar el símbolo de punto para operaciones en decimal android:id="@+id/punto" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:background="@drawable/punto" android:gravity="center"/> <Button Este botón nos servirá para que el usuario pueda utilizar el símbolo de pi que es el valor de 3.14 android:id="@+id/pi" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:background="@drawable/pi" android:gravity="center"/> <Button Este botón nos servirá para que el usuario pueda utilizar el símbolo de entre que nos servirá para que se puedan utilizar la operación de dividir android:id="@+id/entre" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:background="@drawable/entre" android:gravity="center"/> </LinearLayout>

Page 97: Manual en equipo

<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="0.85"

android:background="#000000"android:gravity="center" android:orientation="horizontal">

<ButtonEste botón nos servirá para que el usuario pueda utilizar el signo de igual para que nos de el resultado final de la operacion android:id="@+id/igual" android:layout_width="170dp" android:layout_height="match_parent" android:background="@drawable/igual" android:gravity="center" /> </LinearLayout> </LinearLayout>

Codigo java:

package com.isabella.calcu;Aquí se están importando las clases que utilizaremosimport com.isabella.calcu.R;import android.os.Bundle;import android.app.Activity;import android.util.FloatMath;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.*;public class MainMinicalcu extends Activity implements OnClickListener{

TextView display,anterior;Aquí se les esta dando un valor a las variables del resultado y de los text view que se utilizan para que los dos números que se utilizaran se puedan utilizar

float resultado=0,num1=0,num2=0;int o=0;boolean p=false, igual=false;

En esta parte se están declarando los signos de los botones que se están declarando en el xml

Button mas,menos,por,entre,raiz,factorial,pi,xy,unoentre,modulo; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_minicalcu); display=(TextView)findViewById(R.id.num); anterior=(TextView)findViewById(R.id.anterior);

Page 98: Manual en equipo

En esta parte nuevamente están ubicando los botones pero esta ves de los números que se pueden utilizar Button uno=(Button)findViewById(R.id.uno); Button dos=(Button)findViewById(R.id.dos); Button tres=(Button)findViewById(R.id.tres); Button cuatro=(Button)findViewById(R.id.cuatro); Button cinco=(Button)findViewById(R.id.cinco); Button seis=(Button)findViewById(R.id.seis); Button siete=(Button)findViewById(R.id.siete); Button ocho=(Button)findViewById(R.id.ocho); Button nueve=(Button)findViewById(R.id.nueve); Button cero=(Button)findViewById(R.id.cero); Button punto=(Button)findViewById(R.id.punto);Y aqui estamos posicionando los botones pero esta ves de los signos de las operaciones que se utilizaran mas=(Button)findViewById(R.id.mas); menos=(Button)findViewById(R.id.menos); por=(Button)findViewById(R.id.por); entre=(Button)findViewById(R.id.entre); raiz=(Button)findViewById(R.id.raiz); factorial=(Button)findViewById(R.id.factorial); Button borrar=(Button)findViewById(R.id.borrar); Button igual=(Button)findViewById(R.id.igual); Button back=(Button)findViewById(R.id.back); pi=(Button)findViewById(R.id.pi); xy=(Button)findViewById(R.id.xy); unoentre=(Button)findViewById(R.id.unoentre); modulo=(Button)findViewById(R.id.modulo); uno.setOnClickListener(this); dos.setOnClickListener(this); tres.setOnClickListener(this); cuatro.setOnClickListener(this); cinco.setOnClickListener(this); seis.setOnClickListener(this); siete.setOnClickListener(this); ocho.setOnClickListener(this); nueve.setOnClickListener(this); mas.setOnClickListener(this); menos.setOnClickListener(this); por.setOnClickListener(this); entre.setOnClickListener(this); cero.setOnClickListener(this); igual.setOnClickListener(this); punto.setOnClickListener(this); raiz.setOnClickListener(this); factorial.setOnClickListener(this); borrar.setOnClickListener(this);

Page 99: Manual en equipo

public boolean validar(){En esta parte utilizamos un if para que se identifique si se esta introduciendo números de lo contrario nos saldrá un mensaje de que faltan valores

if(display.getText().equals("")){Toast m=Toast.makeText(this, "Falta intruducir valores",

Toast.LENGTH_SHORT);m.show();return false;

}else{En este if lo que esta haciendo es que nos reconosca los números que el usuario pueda introducir

if(o==0){num1=Float.parseFloat(display.getText().toString());

}else{num2=Float.parseFloat(display.getText().toString());}

return true;}

}public void borrar(){En esta actividad lo que nos permitirá realizar será que el usuario pueda utilizar el botón de borrar y esto se pueda ejecutar

display.setText("");anterior.setText("");num1=0;num2=0;

}@Overridepublic void onClick(View v) {

switch (v.getId()){En esta parete lo que estamos declarando es un switch el cual nos

esta dando la opción de que nos de varias opciones en este caso de varias operaciones

case R.id.mas:La primera que estamos declarando es la suma en la cual estamos utilizando en if para que este pueda identificar si se han introducuido números y si el numero ingresado realmente existe

if(igual==true){resultado=num1;igual=false;

}else{resultado=0;}

En esta párte se esta sumando ya los números ya que los haya reconocido y nos pueda dar el resultado

if(validar()==true){anterior.setText(num1+"+");

Page 100: Manual en equipo

display.setText("");o=3;p=false;deshabilitar();

}break;

case R.id.menos:En este case ya estamos ahora declarando la operación de la resta en la cual de igual forma se esta utilizando el if para reconocer los números y nos pueda dar el resultado

if(igual==true){resultado=num1;igual=false;

}else{O si el resultado es igual a cero

resultado=0;}

En esta parte ya se esta declarando bien como se tendrá que realizar la operación en este caso se le restara el primero al segundo

if(validar()==true){anterior.setText(num1+"-");display.setText("");o=4;p=false;deshabilitar();

}break;

En esta parte se esta realizando el case de la multiplicación y se estab usando de igual mane ra el if para reconocer los numeros

case R.id.por:if(igual==true){

resultado=num1;igual=false;

}else{resultado=0;}

if(validar()==true){Y en esta parte ya se esta declarando como se estará realizando la operación en este caso se multiplica el segundo numero por el primero

anterior.setText(num1+"*");display.setText("");o=5;

Y si no las reconoce solo se detendrá y se tendrán que realizar de nueva cuentap=false;deshabilitar();

}break;

Page 101: Manual en equipo

En este case se esta declarando la operación de la división en la cual de igual manera estamos utilizando un if para reconocer los números si existen o si hay un valor

case R.id.entre:if(igual==true){

resultado=num1;igual=false;

}else{resultado=0;}

if(validar()==true){En esta parte se esta declarando como estará la operación que es la repartición del primero hacia el segundo

anterior.setText(num1+"/");display.setText("");o=6;p=false;deshabilitar();

}break;

Apartir de aquí se estarán poniendo los case para que los números se puedan utilizar en la aplicacion

case R.id.uno:if(igual==true){

borrar();igual=false;

}display.append("1");break;

case R.id.dos:if(igual==true){

borrar();igual=false;

}display.append("2");break;

case R.id.tres:if(igual==true){

borrar();igual=false;

}display.append("3");break;

case R.id.cuatro:if(igual==true){

borrar();

Page 102: Manual en equipo

igual=false;}display.append("4");break;

case R.id.cinco:if(igual==true){

borrar();igual=false;

}display.append("5");break;case R.id.seis:

if(igual==true){borrar();igual=false;

}display.append("6");break;

case R.id.siete:if(igual==true){

borrar();igual=false;

}display.append("7");break;

case R.id.ocho:if(igual==true){

borrar();igual=false;

}display.append("8");break;

case R.id.nueve:if(igual==true){

borrar();igual=false;

}display.append("9");break;

case R.id.cero:En esta parte se esta utilizando el if para que este se pueda utilizar para borrar cualquier valor que ya se hayan puestoif(igual==true){

borrar();igual=false;

}display.append("0");

Page 103: Manual en equipo

break;case R.id.punto:

if(p==false && igual==false){display.append(".");p=true;

}else{borrar();display.append(".");p=false;igual=false;

}break;

case R.id.borrar:borrar();habilitar();break;

En esta parte se esta utilizando el back para que solo se pueda borrar un numero en especifico

case R.id.back:

String cad=display.getText().toString();if(!cad.equals("")){

char []cadena=cad.toCharArray();String f="";for(int i=0;1<=cadena.length-2;i++){

f=f+cadena[i];}display.setText(f);

}else{En esta parte se esta verificando si el usuario estará utilizando algún valor o no de lo contrario saldrá un mensaje especificando que no hay valores

Toast m=Toast.makeText(this, "No hay valores", Toast.LENGTH_SHORT);

m.show();resultado=0;habilitar();

}break;

break;case 3:

resultado=num1+num2;break;

case 4:resultado=num1-num2;break;

case 5:

Page 104: Manual en equipo

resultado=num1*num2;break;

case 6:resultado=num1/num2;

break;} } }

Y esta es la manera como se visualizara en la aplicación instalada en un teléfono celular o en el emulador de la computadora

Radio Button

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

Page 105: Manual en equipo

android:background="@drawable/apple" android:orientation="vertical" >

<TextViewEsto solo nos esta sirviendo para que el usuario visualice un titulo android: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="#FFFFBB33" />

<RadioGroupEn este se colocaran los radio button para que estos se puedan visualizar android:id="@+id/rg" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView1" android:layout_below="@+id/textView1" android:layout_marginTop="22dp" >

<RadioButtonEste es nuestra primera opcion android:id="@+id/mex" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Death note" android:textColor="#FFFFBB33" />

<RadioButtonEste es nuestra segunda opci android:id="@+id/china" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" android:text="Hellsing" android:textColor="#FFFFBB33" />

<RadioButtonEste es nuestra tercera opcion android:id="@+id/eu" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Totoro" android:textColor="#FFFFBB33" />

Page 106: Manual en equipo

</RadioGroup>

<Button

Este es el boton al que al darle click nos mostrara una imagen claro dependiendo de la imagen que se alla elegido 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="#FFFFBB33" />

<ImageView

Y finalmente este nos servira para que el se visualicen las imagenes que se esten eligiendo android:id="@+id/image" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1.07" />

</LinearLayout>

Codigo java

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{

Page 107: Manual en equipo

En esta parte se estan declarando los view, el radio button, el boton de aceptar, y el image view donde se visualizan las imagenes

View boton;

RadioGroup rg;

int checa;

ImageView a;

@Override

protected void onCreate(Bundle savedInstanceState) {

En esta parte se estan declarando como estarán funcionando cada uno de los elementos que se estarán utilizando

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

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

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

boton.setOnClickListener(this);

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

}

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

checa=rg.getCheckedRadioButtonId();

En esta aplicación utilizaremos un switch para que nos de las opciones que necesitamos puesto que el radio button son opciones multiples

switch(checa){

case R.id.mex:

Page 108: Manual en equipo

en este case se esta defclarando el primer radio button junto con su imagen que se allan escogido

a.setImageResource(R.drawable.a);

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

break;

en este el Segundo radio button es el que se esta declarando junto con su imagen que le tocara

case R.id.china:

a.setImageResource(R.drawable.b);

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

break;

y finalmente en este se declara el tercer radio button igualmente con su imagen correspondiente

case R.id.eu:

a.setImageResource(R.drawable.c);

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

break;

} } }

Page 109: Manual en equipo

Y asi es como se visualizara en un celular bien instalad y en la parte que se ve seleccionado todo un recuadro es donde se visualizaran las imágenes.

Nota importante:

Las imágenes que se empleen en esta aplicación tendrán que ser pegadas en la carpeta de res en la parte de mdpi y se le dara resource en la carpeta res.

Page 110: Manual en equipo

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

<TextViewEste solo nos esta funcionando para que se visualice un titulo hasta arriba de nuestra pagina android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Galeria de fotos" android:layout_gravity="center" android:textAppearance="?android:attr/textAppearanceLarge" android:textColor="#FFFFFF" />

<GalleryEste nos servira para que se visualice una barra donde se visualicen todas las imagenes android:id="@+id/gallery1" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="3dp"/>

<ImageViewY este nos servirá para que se al momento de elegir una imagen de la barra esta se visualice pero mas grande. android:id="@+id/imageView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:src="@drawable/foto1" />

</LinearLayout>En esta aplicacion necesitaremos dos codigos java

Primer código java:

Solo se da un tipo permiso para que la barra de las imágenes se puedan visualizar correctamente y la posición en la que se visualizaran

package com.isabella.galery;

en esta parate solo se estan importando las clases que se estan utilizando

Page 111: Manual en equipo

import com.isabella.galery.R;

import android.content.Context;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.Gallery;

import android.widget.ImageView;

import android.widget.SpinnerAdapter;

public class ImageAdapter extends BaseAdapter implements SpinnerAdapter {

private Context context;

public ImageAdapter (Context context){

this.context=context;

}

@Override

public int getCount() {

// TODO Auto-generated method stub

return ThumbsId.length;

}

@Override

public Object getItem(int position) {

// TODO Auto-generated method stub

return null;

}

Page 112: Manual en equipo

@Override

Como se habia pre dicho se le esta dando una posicion ala barra en este caso spinner

public long getItemId(int position) {

// TODO Auto-generated method stub

return 0;

}

@Override

public View getView(int position, View convertView, ViewGroup parent) {

ImageView imagen=null;

if(convertView==null){

imagen=new ImageView(context);

imagen.setLayoutParams(new Gallery.LayoutParams(115, 100));

imagen.setPadding(8, 8, 8,8);

}

else{

imagen=(ImageView)convertView;

}

imagen.setImageResource(ThumbsId[position]);

return imagen;

}

En esta parte se estan declarando las imagenes que se estan utilizando y que de igual forma se encuentran en la carpeta de res.

Page 113: Manual en equipo

public static Integer [] ThumbsId={

R.drawable.foto1,

R.drawable.foto2,

R.drawable.foto3,

R.drawable.foto4,

R.drawable.foto5,

R.drawable.foto6,

R.drawable.foto7,

R.drawable.foto8,

R.drawable.foto9,

};

}

Segundo código java:

package com.isabella.galery;

aqui nuevamente se estan importando las clases

import com.isabella.galery.R;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.Gallery;

import android.widget.ImageView;

import android.widget.Toast;

public class MainActivity extends Activity {

Page 114: Manual en equipo

en esta parte se estan declarando los objetos que utilizaremos

Gallery galeria;

ImageView imagen;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Y en esta parte se les esta ddeclarando el modo de uso que se les estara dando y sus clases

galeria = (Gallery)findViewById(R.id.gallery1);

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

galeria.setAdapter(new ImageAdapter (this));

galeria.setOnItemClickListener(new OnItemClickListener(){

@Override

Aqui se le esta declarando la adaptacion que tendra que ocupar cada imagen

public void onItemClick(AdapterView<?> adapter, View arg1, int position,

long arg3) {

Toast.makeText(getApplicationContext(), position+"", Toast.LENGTH_SHORT).show();

imagen.setImageResource(ImageAdapter.ThumbsId[position]);

}

});

}

}

Page 115: Manual en equipo

Y asi es como se podrá visualizar en el celular o en el emulador

Nota importante:

Las imágenes empleadas en esta aplicación tendrán que estar guardadas en la carpeta de res y en el ADT a la carpeta res se le dará resource para que estas se guarden bien.

Page 116: Manual en equipo

List 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" ><LinearLayout android:layout_width="match_parent" android:layout_height="50sp" android:orientation="horizontal"> <EditTextEn esta parte nos servira para que nos de como una instruccion en este caso sera que escribamos algo android:id="@+id/elemento" android:layout_width="211dp" android:layout_height="50sp" android:layout_margin="10sp" android:hint="Ingresa algo..." > </EditText>

<ButtonEl boton nos ayudara para que al momento de ya haber escribido este nos dege ingresarlo y se visualice android:id="@+id/agregar" android:layout_width="wrap_content" android:layout_height="fill_parent" android:text="Agregar"/>

</LinearLayout><ListView

Y este nos servira para que se vayan visualizando todas las cosas que se vallan ingresando

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

</LinearLayout>

Código java:

package com.isabella.listview;

Page 117: Manual en equipo

import java.util.ArrayList;

import com.isabella.listview.R;

import android.os.Bundle;

import android.app.Activity;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.*;

public class Ya extends Activity implements OnClickListener {

EditText elemento;

En esta parte se estan declarando los objetos que se estaran empleando

ArrayList<String> elementos;

Button btn;

ListView lista;

ArrayAdapter<String> adaptador;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_ya);

y en esta parte se les esta dando un uso para que los reconosca por el id.

lista = (ListView)findViewById(R.id.lista);

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

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

en esta parte se esta utilizando para que se identifique donde se iran posicionando la lista de cosas que se iran agregando.

elementos = new ArrayList<String>();

Page 118: Manual en equipo

adaptador = new ArrayAdapter(this, android.R.layout.simple_list_item_1, elementos);

lista.setAdapter(adaptador);

btn.setOnClickListener(this);

}

public void onClick(View v){

en esta parte se esta utilizando el if para el boton se pueda utilizar y asi agrege las cosas que vallas escribiendo

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

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

elemento.setText("");

adaptador.notifyDataSetChanged ();

}

}

Page 119: Manual en equipo

Y asi es como se vsualizara instalado en un celular correctamente

Page 120: Manual en equipo

Notificación:

Primer 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" > <ButtonEn este se declara un boton el cual hara que nos mande a otra pagina para que nos muestre un mensage android:id="@+id/boton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Iniciar" android:background="#00ccff"/></RelativeLayout>

Segundo 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" > <TextViewEn este nos mostrara el mensaje que nos mostrara con el cual nos saldrá gracias al botón que ya se declaro anteriormente android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hola que hace?" /></RelativeLayout>

Primer código java:

Page 121: Manual en equipo

package com.isabella.notify;

aquí como anterirmente se están importando las clases

import com.isabella.notify.R;

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 Notify extends Activity {

en esta parte se estan declarando la notificacion una variable

NotificationManager nm;

private static final int ID_NOTIFICACION_PERSONAL= 1;

@Override

protected void onCreate(Bundle savedInstanceState) {

en esta parte se les esta declarando una funcion junto con una variable

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_notify);

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

nm = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);

boton.setOnClickListener(new View.OnClickListener() {

@SuppressWarnings("deprecation")

Page 122: Manual en equipo

@Override

public void onClick(View view) {

en esta parte se le esta dando un tipo permiso para que utilice algunos dispositivos del celular

Notification notification = new Notification(R.drawable.ic_launcher,"ya salio", System.currentTimeMillis());

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

notification.setLatestEventInfo(getApplicationContext(), "Notificacion", "notifiqueshion", intencionpendiente);

nm.notify(ID_NOTIFICACION_PERSONAL, notification);

}

});

}

Segundo código java:

package com.isabella.notify;

aqui de igual manera se estan importando las clases que se estan utilizando

import com.isabella.notify.R;

import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

public class Notify_dos extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

Page 123: Manual en equipo

y en esta parte sele esta dando permiso a la primera pagina que pueda enviar el mensage

setContentView(R.layout.activity_notify_dos);

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

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

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

return true; } }

Y asi es como se visualizara en un celular ya instalado

Page 124: Manual en equipo

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:background="#000000" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal">

<Button android:id="@+id/button1" android:layout_margin="10dp" android:layout_width="75sp" android:layout_height="75sp" android:background="@drawable/burro" /> <ButtonEn estos objetos cado uno tendra una imagen diferente y un sonido diferente android:id="@+id/button2" android:layout_margin="10dp" android:layout_width="100sp" android:layout_height="100sp" android:background="@drawable/caballo" /> <Button android:id="@+id/button3" android:layout_margin="10dp" android:layout_width="75sp" android:layout_height="75sp" android:background="@drawable/puerco" /> </LinearLayout>

<LinearLayout android:layout_width="match_parent"

Page 125: Manual en equipo

android:layout_height="wrap_content" android:orientation="horizontal"> <Button android:id="@+id/button4" android:layout_margin="10dp" android:layout_width="75sp" android:layout_height="75sp" android:background="@drawable/vaca" /> <Button android:id="@+id/button5" android:layout_margin="10dp" android:layout_width="75sp" android:layout_height="75sp" android:background="@drawable/gato" /> <Button android:id="@+id/button6" android:layout_margin="10dp" android:layout_width="20sp" android:layout_height="20sp" android:background="@drawable/vaca" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <Button android:id="@+id/button7" android:layout_margin="10dp" android:layout_width="75sp" android:layout_height="75sp" android:background="@drawable/oveja" /> <Button android:id="@+id/button8" android:layout_margin="10dp" android:layout_width="75sp" android:layout_height="75sp" android:background="@drawable/oso" /> <Button android:id="@+id/button9" android:layout_margin="10dp" android:layout_width="75sp" android:layout_height="75sp" android:background="@drawable/pato"

Page 126: Manual en equipo

/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <Button android:id="@+id/button10" android:layout_margin="10dp" android:layout_width="75sp" android:layout_height="75sp" android:background="@drawable/perro" /> <Button android:id="@+id/button11" android:layout_margin="10dp" android:layout_width="75sp" android:layout_height="75sp" android:background="@drawable/pajaro" /> </LinearLayout></LinearLayout>Codigo java:

package com.isabella.soundanimal;

import com.isabella.soundanimal.R;

*se estan inportando las clases que se estan utilizando

import android.media.*;

import android.os.Bundle;

import android.app.Activity;

import android.view.*;

import android.view.View.OnClickListener;

Page 127: Manual en equipo

import android.widget.Button;

public class Sound extends Activity implements OnClickListener{

y aqui se estan declarando los sonidos de cada boton

SoundPool aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak;

En este se estaan declarando las variables de los botones

Button ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk;

int a,b,c,d,e,f,g,h,i,j,k;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_sound);

en este se estan declarando los botones con su variable

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

bb = (Button) findViewById(R.id.button2);

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

bd = (Button) findViewById(R.id.button4);

be = (Button) findViewById(R.id.button5);

bf = (Button) findViewById(R.id.button6);

bg = (Button) findViewById(R.id.button7);

bh = (Button) findViewById(R.id.button8);

bi = (Button) findViewById(R.id.button9);

bj = (Button) findViewById(R.id.button10);

bk = (Button) findViewById(R.id.button11);

y en este se estan declarando los sonidos con sus variables

Page 128: Manual en equipo

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

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

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

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

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

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

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

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

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

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

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

y aqui se estan declarando las imagenes con su variable

a=aa.load(this, R.raw.burro,1);

b=ab.load(this, R.raw.caballo,1);

c=ac.load(this, R.raw.cerdaco,1);

d=ad.load(this, R.raw.cow,1);

e=ae.load(this, R.raw.gato,1);

f=af.load(this, R.raw.muu,1);

g=ag.load(this, R.raw.obeja,1);

h=ah.load(this, R.raw.pardo,1);

i=ai.load(this, R.raw.pato,1);

j=aj.load(this, R.raw.perro,1);

k=ak.load(this, R.raw.twitter,1);

ba.setOnClickListener(this);

Page 129: Manual en equipo

bb.setOnClickListener(this);

bc.setOnClickListener(this);

bd.setOnClickListener(this);

be.setOnClickListener(this);

bf.setOnClickListener(this);

bg.setOnClickListener(this);

bh.setOnClickListener(this);

bh.setOnClickListener(this);

bi.setOnClickListener(this);

bj.setOnClickListener(this);

bk.setOnClickListener(this);

}

@Override

public void onClick(View v) {

en esta aplicacion estaremos utilizando un switch para que nos de las varias opciones y cada botn con su sonido e imagen se acomoden segun el boton correspondiente

switch(v.getId()){

case R.id.button1:

aa.play(a, 1, 1, 1, 0, 1);

break;

case R.id.button2:

Page 130: Manual en equipo

ab.play(a, 1, 1, 1, 0, 1);

break;

case R.id.button3:

ac.play(a, 1, 1, 1, 0, 1);

break;

case R.id.button4:

ad.play(a, 1, 1, 1, 0, 1);

break;

case R.id.button5:

ae.play(a, 1, 1, 1, 0, 1);

break;

case R.id.button6:

af.play(a, 1, 1, 1, 0, 1);

break;

case R.id.button7:

ag.play(a, 1, 1, 1, 0, 1);

break;

case R.id.button8:

ah.play(a, 1, 1, 1, 0, 1);

break;

case R.id.button9:

ai.play(a, 1, 1, 1, 0, 1);

break;

case R.id.button10:

aj.play(a, 1, 1, 1, 0, 1);

Page 131: Manual en equipo

break;

cada case esta definiendoun boton diferente al igual que una imagen y un son idocase R.id.button11:

ak.play(a, 1, 1, 1, 0, 1);

break;

} } }

Y asi sera como se visualice la aplicación una vez instalada al abrirla se escuchara un sonido de animal dependiendo de la imagen

Nota importante:

Todas las imágenes empleadas en esta aplicación se tienen que guardar en la carpeta de res

Y los sonidos empleados en esta aplicación se guardaran en la carpeta raw

A las dos se les dará resourse al abrir la aplicación en adt.

Page 132: Manual en equipo

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"

Page 133: Manual en equipo

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

Page 134: Manual en equipo

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

Page 135: Manual en equipo

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

Page 136: Manual en equipo

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

}

}

Page 137: Manual en equipo

Y asi es como se podrá visualizar ya instalada en un celular instalada apropiadamente