SlideShare una empresa de Scribd logo
1 de 60
1
CECYTEM
Nombre: Lorna Valeria Lerate Gutiérrez
Materia: Aplicaciones Móviles
Manual de Aplicaciones Móviles
Profesor: René Domínguez Escalona
Grupo: 403
2
Índice
Hola mundo……………………………………………………………………………04
Operaciones……………………………………………………………………………05
IMC
Factorial
Asteriscos
Album…………………………………………………………………………………..08
All App
ColorHEX………………………………………………………………………………12
RebosoDroid
Calcular Edad………………………………………………………………………….17
Phonegap………………………………………………………………………………
BD insertarm eliminar, modificar y consultar……………………………………….
ListaView……………………………………………………………………………….27
Menú……………………………………………………………………………………29
TabHost…………………………………………………………………………………31
Acelerometro……………………………………………………………………………34
Canvas
Gato
Calculadora
Sonidos Animales
VideoView……………………………………………………………………………….37
Giroscopio
Notificaciones…………………………………………………………………………… 38
3
ToggleButton…………………………………………………………………………39
CheckBox…………………………………………………………………………….42
RadioButton…………………………………………………………………………..44
ProgressBar…………………………………………………………………………..47
Spinner……………………………………………………………………………….50
WebView……………………………………………………………………………..55
TimePicker……………………………………………………………………………56
DatePicker……………………………………………………………………………
4
Hola mundo
Aquí empieza nuestra app que es la de HolaMundo en esta parte simplemente vamos a crear la interfaz ,
empezando con lo que ya sabemos,el diseño que nosotros le queramos dar,le podemos poder color o
imagen de fondo con esta parte.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="#7fc9d2"
tools:context=".MainActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</RelativeLayout>
Este es nuestro código java.
package valeria.holamundoo;
Aqui tenemos nuestras librerias.
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
Aqui declaramos la clase.
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
5
Operaciones:
Esta es nuestra interfaz de nuestra apliacion,que en este caso va a calcular el resultado de dos números,
aquí vamos a preparar el diseño de la aplicación.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000000"
android:orientation="vertical" >
Aqui vamos a poner un EditText, que nor sirve para poder poner los numeros que
queremos calcular,
<EditText
android:id="@+id/num"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_margin="10dp"
android:background="#FFFFFF"
android:hint="numero 1"
android:maxLength="10"
android:numeric="decimal"
android:textColor="#00CC00"
android:textStyle="bold" />
<EditText
android:id="@+id/numd"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_margin="10dp"
android:background="#FFFFFF"
android:hint="numero 2"
android:maxLength="10"
android:numeric="decimal"
android:textColor="#00CC00"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
Aqui vamos a poner las partes de los botones, el cual va a ser el que dira “calcular” y el otro nos ayudara a
borrar los datos puestos anteriormente.
<Button
android:id="@+id/cal"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_margin="10dp"
android:layout_weight="1"
android:background="#00CC00"
android:text="calcular"
6
android:textStyle="bold" />
<Button
android:id="@+id/bor"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_margin="10dp"
android:layout_weight="1"
android:background="#00CC00"
android:text="borrar"
android:textStyle="bold" />
</LinearLayout>
En esta parte vamos a imprimir el resultado de la operacion que queremos calcular,este nos lo mostrara.
<TextView
android:id="@+id/res"
android:layout_width="match_parent"
android:layout_height="102dp"
android:layout_margin="10dp"
android:layout_weight="0.37"
android:background="#FFFFFF"
android:text="resultado"
android:textStyle="bold" />
</LinearLayout>
Este es nuestro código en java.
package valeria.operaciones;
Estas son nuestras librerias que vamos a utilizar para las siguientes funciones.
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.*;
import android.app.Activity;
Aqui vamos declarar nuestra clase.
public class ActivityMain extends Activity implements OnClickListener{
En esta parte vamos a declarar nuestras variables, de tal manera como las
pusimos en nuestro codigo xml, como podremos notar usamos EditText, TextView y
Button, que son los que usamos para nuestra interfaz grafica.
EditText edtnumerouno, edtnumerodos;
TextView txtresultado;
Button btncalcular, btnborrar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
7
setContentView(R.layout.activity_main);
Aqui vamos a ligar nuestras variables,es decir nuestras variables con las del codigo xml el cual deben ser las
mismas,vamos a poner su function.
edtnumerouno=(EditText) findViewById(R.id.num);
edtnumerodos=(EditText) findViewById(R.id.numd);
txtresultado=(TextView) findViewById(R.id.res);
btncalcular=(Button) findViewById(R.id.cal);
btnborrar=(Button) findViewById(R.id.bor);
btncalcular.setOnClickListener(this);
btnborrar.setOnClickListener(this);
}
@Override
Esta parte se podria decir que es la más importante,ya que aqui vamos a poner lo que queremos que nuestra
aplicación haga,en este caso vamos a calcular dos números, para esto usamos un switch.
public void onClick(View v) {
switch(v.getId()){
case R.id.cal:
String u=edtnumerouno.getText().toString();
String g=edtnumerodos.getText().toString();
Aqui vamos a poner a poner para que se haga la operacion que queramos dependiendo lo que querramos
que haga.
if(!u.equals("") && !g.equals("")){
double uno=Double.parseDouble(edtnumerouno.getText().toString());
double dos=Double.parseDouble(edtnumerodos.getText().toString());
if(uno<dos){
Aquí vamos a poner la función que hara que se imprima nuestro resultado de la operación.
txtresultado.setText("la suma es: "+(dos+uno)+"n la resta es: "+(dos-uno)+"n
la multiplicacion es:"+(dos*uno)+"n La division es: "+(dos/uno));
break;
}
}
case R.id.bor:
8
edtnumerouno.setText("");
edtnumerodos.setText("");
txtresultado.setText("");
break;
Con el break es con el que vamos a cerrar nuestro switch para terminar con las
condiciones.
}
}
}
Álbum:
Aquí empieza nuestro código xml que prácticamente viene siendo nuestra interfazgrafica, osea,el diseño que
nosotros se queremos dar a nuestra aplicacion
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
Aqui vamos a meter las imagenes que queramos que aparezcan, las vamos a meter en
la carpeta que está en res, luego drawable-mdpi y en esa carpeta las meteremos y
las vamos a declarar de la siguiente manera.
<ImageView
android:id="@+id/imagen1"
android:layout_width="match_parent"
android:layout_height="200dp"
android:src="@drawable/a" />
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="100sp" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" />
9
<ImageView
android:id="@+id/imagen2"
android:layout_width="100sp"
android:layout_height="100sp"
android:src="@drawable/b" />
<ImageView
android:id="@+id/imagen3"
android:layout_width="100sp"
android:layout_height="100sp"
android:src="@drawable/c" />
<ImageView
android:id="@+id/imagen4"
android:layout_width="100sp"
android:layout_height="100sp"
android:src="@drawable/d" />
<ImageView
android:id="@+id/imagen5"
android:layout_width="100sp"
android:layout_height="100sp"
android:src="@drawable/e" />
<ImageView
android:id="@+id/imagen6"
android:layout_width="100sp"
android:layout_height="100sp"
android:src="@drawable/f" />
<ImageView
android:id="@+id/imagen7"
android:layout_width="100sp"
android:layout_height="100sp"
android:src="@drawable/g" />
<ImageView
android:id="@+id/imagen8"
android:layout_width="100sp"
android:layout_height="100sp"
android:src="@drawable/h" />
<ImageView
android:id="@+id/imagen9"
android:layout_width="100sp"
android:layout_height="100sp"
android:src="@drawable/i" />
<ImageView
android:id="@+id/imagen10"
android:layout_width="100sp"
android:layout_height="100sp"
android:src="@drawable/j" />
10
</HorizontalScrollView>
Aqui solo vamos a poner un boton para mostrar el texto cada que cambiemos el wallpaper,y es el siguiente.
<Button
android:id="@+id/cambiar"
android:layout_width="match_parent"
android:layout_height="70sp"
android:text="Cambiar wallpaper" />
</LinearLayout>
Este es nuestro código de java.
package valeria.album;
Aquí están nuestras librerías que utilizaremos.
import android.os.Bundle;
import android.app.Activity;
import android.app.WallpaperManager;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.*;
Aqui vamos a declarar la clase.
public class MainActivity extends Activity implements OnClickListener{
En esta parte vamos adeclarar nuestra variables de las imagenes que metimos en nuesto codigo xml, asi
como el botón que incorporamos.
ImageView image,image1, image2, image3, image4, image5, image6, image7,
image8, image9,image10;
Button btn;
int fondo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Aqui vamos a declarar la función que tendrán nuestras variables,asi como se ve a continuación:
image1=(ImageView) findViewById (R.id.imagen1);
image2=(ImageView) findViewById (R.id.imagen2);
image3=(ImageView) findViewById (R.id.imagen3);
image4=(ImageView) findViewById (R.id.imagen4);
image5=(ImageView) findViewById (R.id.imagen5);
image6=(ImageView) findViewById (R.id.imagen6);
image7=(ImageView) findViewById (R.id.imagen7);
image8=(ImageView) findViewById (R.id.imagen8);
image9=(ImageView) findViewById (R.id.imagen9);
image10=(ImageView) findViewById (R.id.imagen10);
btn=(Button) findViewById (R.id.cambiar);
Esta parte es importante, en esta nos ayuda a cambiar el wallpaper, es decir
cuando nosotros tocamos la imagen, esa imagen es la que se pondrá de wallpapel.
11
image1.setOnClickListener(this);
image2.setOnClickListener(this);
image3.setOnClickListener(this);
image4.setOnClickListener(this);
image5.setOnClickListener(this);
image6.setOnClickListener(this);
image7.setOnClickListener(this);
image8.setOnClickListener(this);
image9.setOnClickListener(this);
image10.setOnClickListener(this);
btn.setOnClickListener(this);
}
@Override
public void onClick(View v) {
En esta usamos un switch para los casos diferentes,es decir cada imagen es un caso diferente y aqui le
damos su funcion,
switch (v.getId()){
case R.id.imagen1:
image1.setImageResource(R.drawable.a);
fondo = R.drawable.a;
break;
case R.id.imagen2:
image2.setImageResource(R.drawable.b);
fondo = R.drawable.b;
break;
case R.id.imagen3:
image3.setImageResource(R.drawable.c);
fondo = R.drawable.c;
break;
case R.id.imagen4:
image4.setImageResource(R.drawable.d);
fondo = R.drawable.d;
break;
case R.id.imagen5:
image5.setImageResource(R.drawable.e);
fondo = R.drawable.e;
break;
case R.id.imagen6:
image6.setImageResource(R.drawable.f);
fondo = R.drawable.f;
break;
case R.id.imagen7:
image7.setImageResource(R.drawable.g);
fondo = R.drawable.g;
break;
case R.id.imagen8:
image8.setImageResource(R.drawable.h);
fondo = R.drawable.h;
break;
case R.id.imagen9:
image9.setImageResource(R.drawable.i);
fondo = R.drawable.i;
break;
case R.id.imagen10:
12
image10.setImageResource(R.drawable.j);
fondo = R.drawable.j;
break;
case R.id.cambiar:
WallpaperManager
mywp=WallpaperManager.getInstance(getApplicationContext());
try{
mywp.setResource(fondo);
}catch(Exception e){
e.printStackTrace();
}
En esta parte solo vamos a incorporar un mensaje para que cada que nosotros cambiemos el wallpaper este
mensaje se muestre en pantalla,aqui lo pusimos con un “Toast.LENGTH_LONG” que nos sirve para que
visualización del mensaje sea corto.
Toast.makeText(this, "Se a Cambiado el Wallpaper",
Toast.LENGTH_LONG).show();
break;
}
}
}
ColorHEX:
Aqui empieza nuestro codigo para el ColorHEX en xml, como ya sabemos aquícreamos nuestra interfaz
grafica que es el diseño se nuestra aplicación,
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
En esta parte vamos a poner lo que queremos que aparezca en nuestros TextView asi como aparece:
<TextView
android:id="@+id/red"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5sp"
android:layout_weight="1"
android:fontFamily="Arial"
android:gravity="center"
android:text="Rojo"
android:textSize="25sp" />
13
<TextView
android:id="@+id/vrojo "
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5sp"
android:layout_weight="1"
android:fontFamily="Arial"
android:gravity="center"
android:text="R:"
android:textSize="25sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
Esta funcion es para poder encontrar el codigo del color que estamos buscando,le podemos aumentar o
disminuir segun el color, se declara como se muestra a continuación:
<SeekBar
android:id="@+id/rojo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5sp"
android:layout_weight="1"
android:gravity="center"
android:indeterminate="false"
android:max="255"
android:progress="1" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
En esta parte vamos a poner lo que queremos que aparezca en nuestros TextView asi como aparece:
<TextView
android:id="@+id/green"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5sp"
android:layout_weight="1"
android:fontFamily="Arial"
android:gravity="center"
android:text="Verde"
android:textSize="25sp" />
<TextView
android:id="@+id/vverde"
android:layout_width="match_parent"
14
android:layout_height="wrap_content"
android:layout_margin="5sp"
android:layout_weight="1"
android:fontFamily="Arial"
android:gravity="center"
android:text="V:"
android:textSize="25sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
Esta funcion es para poder encontrar el codigo del color que estamos buscando,le podemos aumentar o
disminuir segun el color, se declara como se muestra a continuación:
<SeekBar
android:id="@+id/verde"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5sp"
android:layout_weight="1"
android:gravity="center"
android:indeterminate="false"
android:max="255"
android:progress="1" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
En esta parte vamos a poner lo que queremos que aparezca en nuestros TextView asi como aparece:
<TextView
android:id="@+id/blue"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5sp"
android:layout_weight="1"
android:fontFamily="Arial"
android:gravity="center"
android:text="Azul"
android:textSize="25sp" />
<TextView
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"
15
android:text="A:"
android:textSize="25sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
Esta funcion es para poder encontrar el codigo del color que estamos buscando,le podemos aumentar o
disminuir segun el color, se declara como se muestra a continuación:
<SeekBar
android:id="@+id/azul"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5sp"
android:layout_weight="1"
android:gravity="center"
android:indeterminate="false"
android:max="255"
android:progress="1" />
</LinearLayout>
En esta parte vamos a poner lo que queremos que aparezca en nuestros TextView asi como aparece:
<TextView
android:id="@+id/hex"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5sp"
android:fontFamily="Arial"
android:gravity="center"
android:text="Hexadecimal:"
android:textSize="25sp" />
<TextView
android:id="@+id/color"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="10sp"
android:layout_weight="1"
android:background="#cccccc"
android:fontFamily="Arial"
android:gravity="center"
android:text="Color"
android:textSize="65sp" />
</LinearLayout>
Este es nuestro código en java:
package valeria.colorhex;
16
Estas son nuestras librerias.
import android.os.Bundle;
import android.widget.*;
import android.app.Activity;
Vamos a declarar la clase.
public class MainActivity extends Activity implements
SeekBar.OnSeekBarChangeListener {
Aquí vamos a declarar nuestras variables que utilizamos en el código xml, asi como todo lo que utilizamos.
SeekBar rojo, verde, azul;
TextView vrojo, vverde, vazul, hex, color;
int r = 0, v = 0, a = 0;
Aquí enlazamos nuestras variables con las de nuestro código xml,las mandamos a llamar de esta manera:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
rojo = (SeekBar) findViewById(R.id.rojo);
verde = (SeekBar) findViewById(R.id.verde);
azul = (SeekBar) findViewById(R.id.azul);
hex = (TextView) findViewById(R.id.hex);
vrojo = (TextView) findViewById(R.id.vrojo);
vverde = (TextView) findViewById(R.id.vverde);
vazul = (TextView) findViewById(R.id.vazul);
color = (TextView) findViewById(R.id.color);
rojo.setOnSeekBarChangeListener(this);
verde.setOnSeekBarChangeListener(this);
azul.setOnSeekBarChangeListener(this);
}
En toda esta parte ponemos lo que queremos que haga nuestra aplicacion,le damos funcion a nuestras
variables y los codigos que hemos puesto.Para esto usamos un switch para cada caso diferente que
tenemos,y después imprimimos lo que queremos que nos salga según el color que queramos.
@Override
public 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;
17
}
String c = ColorHex(r, v, a);
hex.setText("HEX:" + c);
color.setBackgroundColor(android.graphics.Color.rgb(r, v, a));
}
public String ColorHex(int r, int v, int a) {
String color = "";
color = "#";
color += Integer.toHexString(r);
color += Integer.toHexString(v);
color += Integer.toHexString(a);
return color;
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
vrojo.setText("R: " + r);
vazul.setText("R: " + a);
vverde.setText("R: " + v);
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
vrojo.setText("R: " + r);
vazul.setText("R: " + a);
vverde.setText("R: " + v);
}
}
Calcular edad:
Este es nuestro codigo xml, que es nuestra interfaz grafica y el diseño de nuestra aplicacion.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
18
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/pasto">
Aquí vamos a usar un EditText para poner lo que nosotros queramos que el usuario
ingrese, en este caso será su fecha de nacimiento en día, mes y año.
<EditText
android:id="@+id/dia"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_margin="10dp"
android:hint="Día"
android:maxLength="2"
android:numeric="integer"
android:textColor="#000000"
android:textStyle="italic" />
<EditText
android:id="@+id/mes"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_margin="10dp"
android:hint="Mes"
android:maxLength="2"
android:numeric="integer"
android:textColor="#000000"
android:textStyle="italic" />
<EditText
android:id="@+id/year"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_margin="10dp"
android:hint="Año"
android:maxLength="4"
android:numeric="integer"
android:textColor="#000000"
android:textStyle="italic" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
En esta parte vamos a poner un boton que le pondremos el nombre de Calcular, y
el otro botón le pondremos borrar para que nos borre los datos que ya ha
ingresado el usuario.
<Button
android:id="@+id/calcular"
android:layout_width="match_parent"
android:layout_height="50dp"
19
android:layout_margin="10dp"
android:layout_weight="1"
android:text="Calcular"
android:textStyle="italic" />
<Button
android:id="@+id/borrar"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_margin="10dp"
android:layout_weight="1"
android:text="Borrar"
android:textStyle="italic" />
</LinearLayout>
Aqui vamos a imprimir el resultado de nuestra edad segun la fecha que ingresemos
hasta el dia de hoy.
<TextView
android:id="@+id/Res"
android:layout_width="208dp"
android:layout_height="76dp"
android:layout_marginLeft="10dp"
android:textColor="#000000"
android:text="Resultado"
android:hint="Resultado"/>
</LinearLayout>
Este es nuestro código en java.
package valeria.edad;
Aqui tenemos las librerias para que podamos utilizar lo necesario.
import android.os.Bundle;
import android.view.View.OnClickListener;
import android.app.Activity;
import android.view.View;
import android.widget.*;
Declaramos la clase.
public class MainActivity extends Activity implements OnClickListener{
Aqui declaramos las variables que utilizamos en nuestro codigo xml.
EditText edtNumeroUno, edtNumeroDos, edtNumeroTres;
TextView txtResultado;
Button btnCalcular, btnBorrar;
Aquí enlazamos nuestras variables del código xml con el java y ponemos la
función que hara.
@Override
protected void onCreate(Bundle savedInstanceState) {
20
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
edtNumeroUno=(EditText) findViewById(R.id.dia);
edtNumeroDos=(EditText) findViewById(R.id.mes);
edtNumeroTres=(EditText) findViewById(R.id.year);
txtResultado=(TextView) findViewById(R.id.Res);
btnCalcular=(Button) findViewById(R.id.calcular);
btnBorrar=(Button) findViewById(R.id.borrar);
btnCalcular.setOnClickListener(this);
btnBorrar.setOnClickListener(this);
}
Aqui ponemos lo que hara nuestra aplicacion, utilizamos switch para cada uno de
nuestros casos.
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.calcular:
String u=edtNumeroUno.getText().toString();
String g=edtNumeroDos.getText().toString();
String d=edtNumeroTres.getText().toString();
if(!u.equals("") && !g.equals("") && !d.equals("")){
int
dia=Integer.parseInt(edtNumeroUno.getText().toString());
int
mes=Integer.parseInt(edtNumeroDos.getText().toString());
int
ano=Integer.parseInt(edtNumeroTres.getText().toString());
int diah=22;
int mesh=4;
int anoh=2015;
int dias=0;
int meses=0;
int anos=0;
Aqui ponemos condiciones segun el caso o la fecha que nosotros vallamos a
ingresar y el codigo no sea tan largo.
if (dia < diah && mes < mesh) {
dias=diah-dia;
meses=mesh-mes;
anos=anoh-ano;
}
if (dia == diah && mes < mesh) {
dias=diah-dia;
meses=mesh-mes;
anos=anoh-ano;
}
if (dia > diah && mes < mesh) {
dias=(30-dia)+diah;
meses=mesh-mesh;
anos=anoh-ano;
}
21
if (dia < diah && mes == mesh) {
dias=diah-dia;
meses=mesh-mes;
anos=anoh-ano;
}
if (dia == diah && mes == mesh) {
dias=diah-dia;
meses=mesh-mes;
anos=anoh-ano;
}
if (dia > diah && mes == mesh) {
dias=(30-dia)+diah;
meses=(12-mesh)+(mes-1);
anos=(anoh-ano)-1;
}
if (dia < diah && mes > mesh) {
dias=diah-dia;
meses=(12-mes)+mesh;
anos=(anoh-ano)-1;
}
if (dia == diah && mes > mesh) {
dias=diah-dia;
meses=(12-mes)+mesh;
anos=(anoh-ano)-1;
}
if (dia > diah && mes > mesh) {
dias=(30-dia)+diah;
meses=((12-mes)+mesh)-1;
anos=(anoh-ano)-1;
}
txtResultado.setText("Edad: "+anos+" años
n"+meses+" meses n"+dias+" dias n");
}else{
Aquí vamos a poner un mensaje por si el usuario ingresa valores no validos,
utilizamos Toast.LENGTH_SHORT para que nuestro mensaje sea de poca duración en
pantalla.
Toast.makeText(this, "Valores incorrectos",
Toast.LENGTH_SHORT).show();
}
break;
Aquí vamos a imprimir el resultado de nuestra edad.
case R.id.borrar:
edtNumeroUno.setText("");
edtNumeroDos.setText("");
edtNumeroTres.setText("");
txtResultado.setText("");
break;
22
}
}
}
Base de Datos:
Aquí empieza nuestro código xml, en que hacemos el diseño de nuestra aplicación.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000000"
android:orientation="vertical" >
Aqui vamos a poner lo que queramos que los EditText queramos que digan.
<EditText
android:id="@+id/nombre"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10sp"
android:background="#00CCFF"
android:gravity="center"
android:hint="Marca"
android:maxLength="20"
android:textSize="20sp" />
<EditText
android:id="@+id/apellido"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10sp"
android:background="#00CCFF"
android:gravity="center"
android:hint="RAM"
android:maxLength="20"
android:textSize="20sp" />
<EditText
android:id="@+id/edad"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10sp"
android:background="#00CCFF"
android:gravity="center"
android:hint="Procesador"
android:maxLength="20"
android:textSize="20sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:orientation="horizontal" >
23
Aqui vamos a utilizar botones para poner el inserter, ver, borrar…
<Button
android:id="@+id/insertar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10sp"
android:layout_weight="1"
android:background="#FFFFFF"
android:gravity="center"
android:maxLength="20"
android:onClick="Insertar"
android:text="Insertar"
android:textSize="20sp" />
<Button
android:id="@+id/ver"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10sp"
android:layout_weight="1"
android:background="#FFFFFF"
android:onClick="Ver"
android:text="Ver"
android:textSize="20sp" />
<Button
android:id="@+id/borrar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10sp"
android:layout_weight="1"
android:background="#FFFFFF"
android:onClick="Borrar"
android:text="Borrar"
android:textSize="20sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:orientation="horizontal" >
<EditText
android:id="@+id/id"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_margin="10sp"
android:background="#00CCFF"
android:gravity="center"
android:hint="ID"
android:maxLength="20"
24
android:textSize="20sp" />
Este boton nos ayudara a buscar lo que queramos con la ayuda del Id que esta
arriba,
<Button
android:id="@+id/buscar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_margin="10sp"
android:background="#FFFFFF"
android:onClick="Buscar"
android:text="buscar"
android:textSize="20sp" />
<Button
android:id="@+id/modificar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10sp"
android:layout_weight="1"
android:background="#FFFFFF"
android:onClick="Modificar"
android:text="Modificar"
android:textSize="20sp" />
</LinearLayout>
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content" >
Este nos puede server para poner algun comentario, texto o lo que gusten.
<TextView
android:id="@+id/tver"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="TextView"
android:textColor="#FFFFFF"
/>
</ScrollView>
</LinearLayout>
Esta es nuestro código en java.
package com.Sparda.modificar;
Estas son nuestras librerias.
import android.content.ContentValues;
import android.content.Context;
25
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.widget.Toast;
Declaramos la clase.
public class Compus {
Declaramos nuestras variables segun como este nuestro codigo xml.
String marca, ram , procesador;
int idn;
Context contextoEjecucion;
BaseDatos creador;
SQLiteDatabase mDatos;
Aquí ponemos todo lo que queremos que nuestra aplicación con base
de datos nos muestre.
public Compus (Context c){
contextoEjecucion = c;
}
public Compus abrirSqlite(){
creador = new BaseDatos (contextoEjecucion);
mDatos = creador.getWritableDatabase();
return this;
}
public void elimina(int id){
creador = new BaseDatos (contextoEjecucion);
mDatos = creador.getReadableDatabase();
String sql = ("delete from compus where id="+id);
mDatos.execSQL(sql);
}
public void insertar(String marca, String ram, String procesador){
creador = new BaseDatos (contextoEjecucion);
mDatos = creador.getReadableDatabase();
String sql = ("insert into compus(marca,ram,procesador)
values('"+marca+"','"+ram+"','"+procesador+"')");
mDatos.execSQL(sql);
}
public void modificar(int id,String marca, String ram, String
procesador){
creador = new BaseDatos (contextoEjecucion);
mDatos = creador.getReadableDatabase();
String sql = ("update compus set marca='"+marca+"',
ram='"+ram+"', procesador='"+procesador+"' where id="+id);
mDatos.execSQL(sql);
}
26
public boolean consultar(int id){
creador = new BaseDatos (contextoEjecucion);
mDatos = creador.getReadableDatabase();
String sql = ("Select * from compus where id="+id);
Cursor cur = mDatos.rawQuery(sql, null);
if(cur.getCount()==0){
return false;
}else{
cur.moveToFirst();
idn=cur.getInt(0);
marca=cur.getString(1);
ram=cur.getString(2);
procesador=cur.getString(3);
return true;
}
}
public String getMarca(){
return marca;
}
public String getRam(){
return ram;
}
public String getProcesador(){
return procesador;
}
public int getId(){
return idn;
}
public String ver(){
String datos="";
creador = new BaseDatos (contextoEjecucion);
mDatos = creador.getReadableDatabase();
String sql = ("Select * from compus");
Cursor cur = mDatos.rawQuery(sql, null);
cur.moveToFirst();
do{
datos+= cur.getString(0) + "t " + cur.getString(1) +
"t " + cur.getString(2) + " t" + cur.getString(3) + "n";
}while (cur.moveToNext());
return datos;
}
public void cerrarSqlite(){
creador.close();
}
}
27
ListView:
Esta sera nuestra interfaz grafica de la aplicacion,sera el diseño que escogeremos para ella,
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#f03">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
En el EditText vamos a poner el texto que señalara lo que nosotros queremos que
el usuario ingrese.
<EditText
android:id="@+id/elemento"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:layout_weight="0.3"
android:hint="Agregar Elemento"
android:background="#FFFFFF"
android:marqueeRepeatLimit="marquee_forever"
android:textSize="25sp"
android:textColor="#000000"
android:textStyle="bold" />
Este es el boton que nos agregara el elemento que el usuario ingresara.
<Button
android:id="@+id/agregar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#3f3"
android:text="Enter"/>
</LinearLayout>
Aqui nos hara nuestra lista de lo que hemos agregado.
<ListView
android:id="@+id/lista"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
28
Este es nuestro código en java.
package valeria.listview;
Estas son nuestras librerias.
import java.util.ArrayList;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.*;
Declaramos la clase.
public class MainActivity extends Activity implements OnClickListener {
Declaramos las variables que utilizamos en nuestro codigo xml.
EditText elemento;
ArrayList<String> elementos;
Button btn;
ListView lista;
ArrayAdapter<String> adaptador;
Ponemos lo que queremos que nuestras funciones hagan, ligamos variables con las
de xml.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lista = (ListView) findViewById(R.id.lista);
elemento = (EditText) findViewById(R.id.elemento);
btn = (Button) findViewById(R.id.agregar);
elementos = new ArrayList<String>();
adaptador = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, elementos);
lista.setAdapter(adaptador);
btn.setOnClickListener(this);
}
Aqui con el if ponemos la condicion para imprimir nuestra lista dependiendo los
elementos que agreguemos.
@Override
public void onClick(View v) {
if (v.getId() == R.id.agregar) {
elementos.add(elemento.getText().toString());
elemento.setText("");
adaptador.notifyDataSetChanged();
}
}
}
29
Menú:
Esta es nuestra interfaz grafica.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</LinearLayout>
Este es nuestro código en java.
package valeria.menu;
Estas son nuestras librerias
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
Nuestra clase
public class MainActivity extends Activity {
Declaramos el TextView que utilizamos.
TextView tv;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv=(TextView) findViewById(R.id.textView);
}
Enlazamos nuestras variables.
@Override
public boolean onCreateOptionsMenu(Menu menu){
30
super.onCreateOptionsMenu(menu);
MenuItem item1= menu.add(0,1,1,"Opcion 1");
MenuItem item2= menu.add(0,2,2,"Opcion 2");
MenuItem item3= menu.add(0,3,3,"Opcion 3");
MenuItem item4= menu.add(0,4,4,"Opcion 4");
MenuItem item5= menu.add(0,5,5,"Opcion 5");
MenuItem item6= menu.add(0,6,6,"Opcion 6");
MenuItem item7= menu.add(0,7,7,"Opcion 7");
MenuItem item8= menu.add(0,8,8,"Opcion 8");
item1.setIcon(R.drawable.ic_launcher);
item2.setIcon(R.drawable.ic_launcher);
item3.setIcon(R.drawable.ic_launcher);
return true;
}
Damos funcion a nuestra variables con un switch, y poniendo su caso de cada una
de las opciones segun la que vallamos a escoger, ya que como sabemos es un menu.
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.menu_configuracion:
menuConfiguracion();
return true;
case R.id.menu_linterna_encender:
encenderLinternaAndroid();
return true;
case R.id.menu_linterna_apagar:
apagarLinternaAndroid();
return true;
case R.id.menu_visitar_web:
visitarURL("http://www.ajpdsoft.com");
return true;
default:
return super.onOptionsItemSelected(item);
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
Solo declarammos un mensaje para que aparesca en pantalla a la hora de elegir
una opcion.
int id= item.getItemId();
tv.append("n Ha pulsado la opcion "+id);
return true;
}
}
31
TabHost:
Aquí empieza nuestra aplicación del TabHost,ya sabemos que aquívamos a poner el diseño y lo que vamos
a utilizar.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Tabhost" >
Aqui declaramos nuestro TabHost.
<TabHost
android:id="@+id/th"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</TabWidget>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="@+id/tab1"
android:layout_width="match_parent"
android:layout_height="108dp" >
Aqui vamos a declara nuestro boton, y lo declaramos de esta form a:
<Button
android:id="@+id/cancion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/uno"
android:gravity="center" />
</LinearLayout>
<LinearLayout
android:id="@+id/tab2"
32
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/dos"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/uno"
android:gravity="center" />
</LinearLayout>
<LinearLayout
android:id="@+id/tab3"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/tres"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/uno" />
</LinearLayout>
</FrameLayout>
</LinearLayout>
</TabHost>
</RelativeLayout>
Aquí esta nuestro código en java:
package valeria.tabhost;
Estas son nuestras librerias
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View.OnClickListener;
import android.view.View;
import android.widget.Button;
import android.widget.TabHost;
import android.media.AudioManager;
import android.media.SoundPool;
import android.widget.TabHost.TabSpec;
Nuestra clase:
public class MainActivity extends Activity implements OnClickListener {
Declaramos lo que utilizamos en el codigo xml.
TabHost th;
SoundPool sp;
Button b1t;
int a;
33
Aqui vamos a juntar nuestras variables de esta manera:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
th = (TabHost) findViewById(R.id.th);
b1t = (Button) findViewById(R.id.cancion);
b1t.setOnClickListener(this);
th.setup();
TabSpec ts1 = th.newTabSpec("tab1");
ts1.setIndicator("Uno");
ts1.setContent(R.id.tab1);
th.addTab(ts1);
th.setup();
TabSpec ts2 = th.newTabSpec("tab2");
ts2.setIndicator("Dos");
ts2.setContent(R.id.tab2);
th.addTab(ts2);
th.setup();
TabSpec ts3 = th.new TabSpec("tab3");
ts3.setIndicator("Tres");
ts3.setContent(R.id.tab3);
th.addTab(ts3);
sp = new SoundPool(8, AudioManager.STREAM_MUSIC, 0);
a = sp.load(this, R.raw.ca, a);
}
Aqui vamos a poner lo que queremos que nuestras funciones hagan, con la ayuda
del switch vamos a poner que hacer en case, y lo vamos a cerrar con el break.
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.cancion:
sp.play(a, 1, 1, 1, 0, 1);
break;
}
}
}
34
Acelerometro:
Empezamos con nuestra aplicacion del acelerometro,ya sabemos que esta es nuestra interfaz grafica,osea
nuestro diseño.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#D56376"
android:orientation="vertical" >
Aqui vamos a poner una imagenes, vamos a colocarles sus nombres, osea sus
variables, y lo vamos a hacer de esta forma.
<ImageView
android:id="@+id/posisionx"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="10dp"
android:layout_weight="1"
android:background="@drawable/a" />
<ImageView
android:id="@+id/posisiony"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="10dp"
android:layout_weight="1"
android:background="@drawable/b" />
<ImageView
android:id="@+id/posisionz"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="10dp"
android:layout_weight="1"
android:background="@drawable/c" />
</LinearLayout>
Este es nuestro código en java:
package valeria.acelerometroo;
Estas son nuestras librerias:
import java.util.List;
import android.app.Activity;
import android.content.pm.ActivityInfo;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
35
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
Aqui esta nuestra clase:
public class MainActivity extends Activity implements SensorEventListener {
Declaramos lo que utilizamos en el codigo xml:
ImageView image,image1, image2;
TextView x, y, z;
Esta es la parte del sensor, esta es importante ya que si el celular no tiene
sensor no podra funcionar esta aplicación.
private Sensor acelerometro;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Aqui vamos a enlazar nuestras variables con las que pusimos en el xml y con las
que estamos poniendo aqui en java.
image=(ImageView) findViewById(R.id.posisionx) ;
image1=(ImageView) findViewById(R.id.posisiony) ;
image2=(ImageView) findViewById(R.id.posisiony) ;
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
Esta es la parte mas importante, ya que es la nos dará lo que queremos, en esta
parte se manejan las funciones para que el acelerómetro cambie según para donde
movamos el celular.
protected void onResume() {
super.onResume();
SensorManager sm = (SensorManager)
getSystemService(SENSOR_SERVICE);
List<Sensor> sensors = sm.getSensorList(Sensor.TYPE_ACCELEROMETER);
if (sensors.size() > 0)
{
sm.registerListener(this,
sensors.get(0),SensorManager.SENSOR_DELAY_GAME);
}
36
}
protected void onPause() {
SensorManager mSensorManager = (SensorManager)
getSystemService(SENSOR_SERVICE);
mSensorManager.unregisterListener(this, acelerometro);
super.onPause();
}
protected void onStop() {
SensorManager mSensorManager = (SensorManager)
getSystemService(SENSOR_SERVICE);
mSensorManager.unregisterListener(this, acelerometro);
super.onStop();
}
@Override
public void onSensorChanged(SensorEvent event) {
x.setText("X = " + event.values[SensorManager.DATA_X]);
if(event.values[SensorManager.DATA_X]>=-0.0){
image.setImageResource(R.drawable.a);
}
this.y.setText("Y = " + event.values[SensorManager.DATA_Y]);
if(event.values[SensorManager.DATA_Y]>=-0.0){
image1.setImageResource(R.drawable.b);
}
this.z.setText("Z = " + event.values[SensorManager.DATA_Z]);
if(event.values[SensorManager.DATA_Z]>=10.100000){
image2.setImageResource(R.drawable.c);
}
}
@Override
public void onAccuracyChanged(Sensor arg0, int arg1) {
// TODO Auto-generated method stub
}
}
37
VideoView:
Este es nuestro código xml, y en esta ocasión solo llevara esto,lo que es un diseño sencillo porque no mas.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".VideoView" >
<VideoView
android:id="@+id/videoView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</LinearLayout>
Este es nuestro código java:
package valeria.videoview;
Estas son las librerias:
import android.os.Bundle;
import android.net.Uri;
import android.widget.MediaController;
import android.widget.VideoView;
import android.app.Activity;
public class MainActivity extends Activity {
En esta parte solo vamos a incorporar el video que se reproducira, pero vamos a
crear otra carpeta en “res”.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
VideoView video = (VideoView) findViewById(R.id.videoView1);
Uri path = Uri.parse("android.resource://hola.videoView1/" +
R.raw.galactus);
video.setVideoURI(path);
video.setMediaController(new MediaController(this));
video.start();
video.requestFocus();
}
}
38
Notificación:
Aquí empezamos con la aplicación de notificación,la interfaz es corta y la que se muestra aquí abajo:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/botonNotificacion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
/>
</RelativeLayout>
Este es el código en java:
package valeria.notificaciones;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Aqui declaramos variables del codigo xml con las de java:
Button boton = (Button) findViewById(R.id.botonNotificacion);
boton.setOnClickListener( new OnClickListener() {
Aqui ya nos esta dando la funcion que haremos, que es la que nos informe cada
que haya un cambio en algo o cosas asi y cuando eso pase llegara la
notificación.
public void onClick(View v) {
39
NotificationManager manager = (NotificationManager)
getSystemService(Context.NOTIFICATION_SERVICE);
Notification notificacion = new
Notification(android.R.drawable.stat_notify_more,"Notificación",
System.currentTimeMillis());
Intent intent = new Intent(MainActivity.this,
MainActivity.class);
PendingIntent pIntent =
PendingIntent.getActivity(MainActivity.this, 0, intent, 0);
notificacion.setLatestEventInfo(MainActivity.this,
"Titulo", "Detalles", pIntent);
manager.notify(0,notificacion);
}
});
}
}
ToggleButton:
Aquí empezamos nuestra aplicación de ToggleButton,esta es la interfaz grafica:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".ToogleButton" >
<LinearLayout
android:id="@+id/fondo"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="horizontal" >
En esta parte declaramos los ToggleButton, los cuales son como si fueran botones
de encendido y apagado.
<ToggleButton
android:id="@+id/togglebutton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5sp"
android:textOn="Rojo On"
android:textOff="Rojo Off"
android:text="ToggleButton" />
<ToggleButton
android:id="@+id/togglebutton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5sp"
40
android:textOn="Verde On"
android:textOff="Verde Off"
android:text="ToggleButton" />
<ToggleButton
android:id="@+id/togglebutton3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5sp"
android:textOn="Azul On"
android:textOff="Azul Off"
android:text="ToggleButton" />
</LinearLayout>
</LinearLayout>
Este es nuestro código en java:
package valeria.togglebutton;
Estas son nuestras librerias:
import android.os.Bundle;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.LinearLayout;
import android.widget.ToggleButton;
import android.view.Menu;
import android.app.Activity;
import android.graphics.Color;
public class MainActivity extends Activity implements OnCheckedChangeListener {
Declaramos nuestras variables que utilizamos en el codigo xml:
ToggleButton r,v,a;
LinearLayout cont;
String color="",rj="00",vr="00",az="00";
Aqui vamos a poner la funcion del ToggleButton:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cont=(LinearLayout)findViewById(R.id.fondo);
r=(ToggleButton)findViewById(R.id.togglebutton1);
v=(ToggleButton)findViewById(R.id.togglebutton2);
a=(ToggleButton)findViewById(R.id.togglebutton3);
r.setOnCheckedChangeListener(this);
41
v.setOnCheckedChangeListener(this);
a.setOnCheckedChangeListener(this);
}
Aqui vamos a poner lo que cada caso va a hacer con ayuda del switch
public void onCheckedChanged(CompoundButton v, boolean isChecked){
switch(v.getId()){
case R.id.togglebutton1:
if(isChecked){
rj="FF";
color="#"+rj+vr+az;
cont.setBackgroundColor(Color.parseColor(color));
}
else{
rj="00";
color="#"+rj+vr+az;
cont.setBackgroundColor(Color.parseColor(color));
}
break;
case R.id.togglebutton2:
if(isChecked){
vr="FF";
color="#"+rj+vr+az;
cont.setBackgroundColor(Color.parseColor(color));
}
else{
vr="00";
color="#"+rj+vr+az;
cont.setBackgroundColor(Color.parseColor(color));
}
break;
case R.id.togglebutton3:
if(isChecked){
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 stub
return null;
}
}
42
CheckBox:
Aquí empezamos nuestra aplicación de CheckBox, esta es nuestra interfaz grafica:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#00FFCC"
tools:context=".MainActivity" >
En esta parte solo ponemos la parte que queremos que el usuario lea:
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="Recursos Forestales"
android:textColor="#FF0063"
android:textSize="50sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10sp"
android:hint="1.¿Que es un Recurso Forestal?"
android:textColor="#FFFFFF"
android:textSize="15sp" />
Aqui pones nuestras opciones los cuales son los CheckBox, en esta funcion
podemos elegir mas de una opcion.
<CheckBox
android:id="@+id/cereala"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15sp"
android:hint="Es una parte del los arboles"
android:textSize="10sp" />
<CheckBox
android:id="@+id/cerealb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15sp"
android:hint="Forma parte del ecosistema"
android:textSize="10sp" />
<CheckBox
android:id="@+id/cerealc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15sp"
android:hint="Es aquello que se obtiene de los bosques"
43
android:textSize="10sp" />
</LinearLayout>
Codigo en java:
package valeria.checkbox;
Estan son las librerias:
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.CheckBox;
import android.widget.Toast;
Nuestra clase:
public class MainActivity extends Activity implements OnClickListener{
String message = "";
Declaramos variables:
private CheckBox a, b, c;
Ponemos las variables de xml con las de java:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
a = (CheckBox) findViewById(R.id.cereala);
b = (CheckBox) findViewById(R.id.cerealb);
c = (CheckBox) findViewById(R.id.cerealc);
a.setOnClickListener(this);
b.setOnClickListener(this);
c.setOnClickListener(this);
}
Aqui ponemos un switch para poner las respues correctas que pusimos para los
CheckBox con un mensaje par aver si la respuesta correcta o no:
@Override
public void onClick(View arg0) {
switch (arg0.getId()) {
case R.id.cereala:
message = "Tu respuesta es incorrecta";
Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
break;
case R.id.cerealb:
44
message = "Tu respuesta es incorrecta";
Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
break;
case R.id.cerealc:
message = "Tu respuesta es correcta";
Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
break;
}
}
RadioButton:
Aqui empezamos nuestra aplicacion de RadioButton,ya sabemos que aqui hacemos la interfaz grafica:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:id="@+id/text"
android:text="ChooseText" />
Esta parte es muy importante porque es la que nos agrupa los RadioButton, es
decir, pueden ponerte cualquier pregunta y tu como usuario solamente puedes
escoger una respuesta.
<RadioGroup
android:id="@+id/myRadioGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:background="#fff035"
android:checkedButton="@+id/sound" >
<RadioButton
android:id="@+id/sound"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sound" />
<RadioButton
android:id="@+id/vibration"
45
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="vibration" />
<RadioButton
android:id="@+id/silent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="silent" />
</RadioGroup>
<Button
android:id="@+id/chooseBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/myRadioGroup"
android:layout_alignParentTop="true"
android:text="Choose" />
</LinearLayout>
Este es nuestro codigo en java:
package valeria.radiobutton;
Estas son las librerias:
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
Declaramos lo que pusimos en el codigo xml.
private RadioGroup radioGroup;
private RadioButton sound,vibration,silent;
private Button button;
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
46
setContentView(R.layout.activity_main);
radioGroup=(RadioGroup)findViewById(R.id.myRadioGroup);
radioGroup.setOnCheckedChangeListener(new
OnCheckedChangeListener(){
@Override
public void onCheckedChanged(RadioGroup group, int
checkedId){
if(checkedId == R.id.silent){
Toast.makeText(getApplicationContext(),
"choice: silent",
Toast.LENGTH_SHORT).show();
}else if(checkedId== R.id.sound){
Toast.makeText(getApplicationContext(),
"choice: sound",
Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(getApplicationContext(),
"choise: vibration",
Toast.LENGTH_SHORT).show();
}
}
});
sound =(RadioButton)findViewById(R.id.sound);
vibration =(RadioButton)findViewById(R.id.vibration);
silent =(RadioButton)findViewById(R.id.silent);
textView =(TextView)findViewById(R.id.text);
button=(Button)findViewById(R.id.chooseBtn);
button.setOnClickListener(new OnClickListener(){
Aqui ponemos en mensaje segun la opcion que escogamos:
@Override
public void onClick(View v){
int selectedId=radioGroup.getCheckedRadioButtonId();
if(selectedId== sound.getId()){
textView.setText("You Chose 'sound' option");
}else if(selectedId ==vibration.getId()){
textView.setText("You Chose 'Vibration'
option");
}else{
textView.setText("You chose 'silent' option");
}
}
});
}
}
47
ProgressBar:
Este es nuestro código de progressbar,el cual se utiliza para descargar cosas:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/sa"
android:orientation="vertical" >
Este boton es el que va a dar funcion al ProgressBar, es decir, cuando el
usuario le haga click o lo toque, inmediatamente empezara la descarga.
<Button
android:id="@+id/btnStartProgress"
android:layout_width="match_parent"
android:layout_height="81dp"
android:text="Descargar Imagen" />
Este es el texto que te aparecera cuando termine la descarga:
<TextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="19dp"
android:layout_marginBottom="10dp"
android:text="Imagen Guardando" />
<ImageView
android:id="@+id/imghh"
android:layout_width="match_parent"
android:layout_height="19dp" />
</LinearLayout>
Este es nuestro código en java:
package valeria.progressbar;
Estas son las librerias:
import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.os.Handler;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
public class MainActivity extends Activity {
48
Aqui declaramos variables:
TextView Texto;
ImageView imghh;
Button btnStartProgress;
ProgressDialog progressBar;
private int progressBarStatus = 0;
private Handler progressBarHandler = new Handler();
private long fileSize = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imghh=(ImageView)findViewById(R.id.text);
addListenerOnButton();
}
Aqui le ponemos la funcion del progressbar
public void addListenerOnButton() {
btnStartProgress = (Button) findViewById(R.id.btnStartProgress);
btnStartProgress.setOnClickListener(
new OnClickListener() {
@Override
public void onClick(View v) {
// prepare for a progress bar dialog
progressBar = new ProgressDialog(v.getContext());
progressBar.setCancelable(true);
progressBar.setMessage("Imagen Descargando ...");
progressBar.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressBar.setProgress(0);
progressBar.setMax(100);
progressBar.show();
progressBarStatus = 0;
fileSize = 0;
new Thread(new Runnable() {
public void run() {
while (progressBarStatus < 100) {
progressBarStatus = doSomeTasks();
try {
49
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
progressBarHandler.post(new Runnable() {
public void run() {
progressBar.setProgress(progressBarStatus);
}
});
}
if (progressBarStatus >= 100) {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
progressBar.dismiss();
}
}
}).start();
}
});
}
public int doSomeTasks() {
while (fileSize <= 1000000) {
fileSize++;
if (fileSize == 100000) {
return 10;
} else if (fileSize == 200000) {
return 20;
} else if (fileSize == 300000) {
return 30;
}
if(fileSize==1000000){
imghh.setImageResource(R.drawable.historia);
}
50
}
return 100;
}
}
Spinner:
Aquí empieza nuestra aplicación con Spinner,el Spinner en si es una lista desplegable:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ccc"
android:orientation="vertical"
tools:context=".MainActivity" >
Aqui vamos a poner la pregunta o texto que le queramos hacer al usuario:
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="Selecciona una opcion"
android:textColor="#000"
android:textSize="15sp" />
Aqui vamos a poner los Spinner que vamos a utilizar:
<Spinner
android:id="@+id/sp1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="10sp"
android:layout_weight="1"
android:textSize="15sp" />
<Spinner
android:id="@+id/sp2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="10sp"
android:layout_weight="1"
android:textSize="15sp" />
51
Aqui nos va a imprimir la opcion que en este caso son imagenes segun las que queramos ver:
<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="10sp"
android:layout_weight=".7"
android:background="#333" />
</LinearLayout>
Este es el código en java:
package valeria.spinnerr;
Estas son las librerias:
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.Spinner;
public class MainActivity extends Activity implements OnItemSelectedListener {
Declaramos los Spinner que utilizaremos y las demas funciones:
Spinner sp1, sp2;
ImageView img;
ArrayAdapter<String> a, a1, a2, a3, a4, a5;
int sel2 = 0;
Ponemos las opciones que tendra cada Spinner:
String[] opcMarca = new String[] { "VolksWagen", "Ford", "Nissan",
"Honda",
"BMW" };
String[] opcVW = new String[] { "Caribe", "Atlantic", "Golf", "Jetta",
"Bora" };
String[] opcFord = new String[] { "Mustang", "Fusion", "Fiesta", "Lobo",
"Ikon" };
String[] opcNissan = new String[] { "NP300", "Sentra", "Altima", "X-
Terra",
"Frontier" };
String[] opcHonda = new String[] { "Civic", "Accord", "CRV", "Odyssey",
"Pilot" };
String[] opcBMW = new String[] { "Sedan", "Coupe", "Roadster", "i3", "i8"
};
@Override
52
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sp1 = (Spinner) findViewById(R.id.sp1);
sp2 = (Spinner) findViewById(R.id.sp2);
img = (ImageView) findViewById(R.id.image);
sp1.setOnItemSelectedListener(this);
sp2.setOnItemSelectedListener(this);
a = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, opcMarca);
a1 = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, opcVW);
a2 = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, opcFord);
a3 = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, opcNissan);
a4 = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, opcHonda);
a5 = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, opcBMW);
sp1.setAdapter(a);
sp2.setAdapter(a1);
}
Aqui imprimimos la imagen, segun la opcion que escogamos, usamos un switch y
imprimimos las imágenes con las case:
@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) {
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:
53
img.setImageResource(R.drawable.jetta);
break;
case 4:
img.setImageResource(R.drawable.bora);
break;
}
break;
case 1:
sp2.setAdapter(a2);
sel2 = sp2.getSelectedItemPosition();
switch (sel2) {
case 0:
img.setImageResource(R.drawable.mustang);
break;
case 1:
img.setImageResource(R.drawable.fusion);
break;
case 2:
img.setImageResource(R.drawable.fiesta);
break;
case 3:
img.setImageResource(R.drawable.lobo);
break;
case 4:
img.setImageResource(R.drawable.ikon);
break;
}
break;
case 2:
sp2.setAdapter(a3);
sel2 = sp2.getSelectedItemPosition();
switch (sel2) {
case 0:
img.setImageResource(R.drawable.np300);
break;
case 1:
img.setImageResource(R.drawable.sentra);
break;
case 2:
img.setImageResource(R.drawable.altima);
break;
case 3:
img.setImageResource(R.drawable.xterra);
break;
case 4:
img.setImageResource(R.drawable.frontier);
break;
}
break;
case 3:
sp2.setAdapter(a4);
sel2 = sp2.getSelectedItemPosition();
switch (sel2) {
case 0:
img.setImageResource(R.drawable.crv);
54
break;
case 1:
img.setImageResource(R.drawable.accord);
break;
case 2:
img.setImageResource(R.drawable.crv);
break;
case 3:
img.setImageResource(R.drawable.odysey);
break;
case 4:
img.setImageResource(R.drawable.pilot);
break;
}
break;
case 4:
sp2.setAdapter(a5);
sel2 = sp2.getSelectedItemPosition();
switch (sel2) {
case 0:
img.setImageResource(R.drawable.sedan);
break;
case 1:
img.setImageResource(R.drawable.coupe);
break;
case 2:
img.setImageResource(R.drawable.roadster);
break;
case 3:
img.setImageResource(R.drawable.i3);
break;
case 4:
img.setImageResource(R.drawable.i8);
break;
}
break;
}
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}
55
WebView:
Esta es la aplicación del WebView, esta te manda a la dirección de internetque este en el código:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
Codigo en java:
package valeria.webview;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView myWebView = (WebView) this.findViewById(R.id.webView);
Aqui lo unico que vamos a hacer es declara la pagina de internet a la cual nos
van a mandar:
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
myWebView.setWebViewClient(new WebViewClient());
myWebView.loadUrl("https://www.youtube.com/watch?v=u_0E5Tm5KhU");
}
}
56
TimePicker:
Esta es nuestra interfaz grafica del TimePicker, este lo que hace es que te permite cambiar la hora;
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="#F26068"
tools:context=".MainActivity" >
<Chronometer
android:id="@+id/chronometer1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="136dp"
android:text="Chronometer" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/chronometer1"
android:layout_centerHorizontal="true"
android:layout_marginTop="22dp"
android:text="Start"
android:background="#FFFFFF"/>
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/button1"
android:layout_below="@+id/button1"
android:layout_marginTop="26dp"
android:text="Pause"
android:background="#FFFFFF"/>
</RelativeLayout>
Codigo en java:
package valeria.timepicker;
Estas son nuestras librerias:
import android.os.Bundle;
57
import android.os.SystemClock;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Chronometer;
public class MainActivity extends Activity implements OnClickListener {
Aqui declaramos las funciones que pusimos en en codigo xml:
Button startChrono;
Button pauseChrono;
Chronometer chrono;
long time = 0;
Aqui enlazamos variables:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
startChrono = (Button)findViewById(R.id.button1);
pauseChrono = (Button)findViewById(R.id.button2);
chrono = (Chronometer)findViewById(R.id.chronometer1);
startChrono.setOnClickListener(this);
pauseChrono.setOnClickListener(this);
}
@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;
}
Aqui ponemos lo que ara cada una con el switch y poniendo los case:
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
switch(arg0.getId()){
case R.id.button1:
chrono.setBase(SystemClock.elapsedRealtime()+time);
chrono.start();
break;
case R.id.button2:
time =chrono.getBase()-SystemClock.elapsedRealtime();
chrono.stop();
break;
}}}
58
DatePicker:
Aqui empieza nuestro codigo xml, el DatePicker lo que nos va a hacer una tipo agenda:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#FF8754"
tools:context=".MainActivity"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Presione para modificar" />
<TextView
android:id="@+id/estaciones"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
Aqui declaramos un DatePicker de esta manera:
<DatePicker
android:id="@+id/dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:id="@+id/set"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="set" />
</LinearLayout>
Codigo en java:
package valeria.datepicker;
Estas son las librerías:
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener {
TextView estaciones;
59
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
estaciones = (TextView) findViewById(R.id.estaciones);
estaciones.setOnClickListener(this);
final DatePicker dp = (DatePicker) findViewById(R.id.dp);
final Button setBtn = (Button) findViewById(R.id.set);
setBtn.setOnClickListener(new OnClickListener() {
Aqui declaramos un mensaje segun la fecha que hayas presionado,
sera de corta duracion.
@Override
public void onClick(View v) {
Toast.makeText(
MainActivity.this,
dp.getDayOfMonth() + "" + dp.getMonth() +
""
+ dp.getYear(),
Toast.LENGTH_SHORT).show();
int dia = dp.getDayOfMonth();
int mes=dp.getMonth();
Aqui declaramos con las condiciones lo que pasara en esos
dias, segun lo que nosotros pongamos en nuestra agende:
if(mes>=11 && dia>=25 ){
estaciones.setText(" Es navidad ");
}
if(mes>=10 && dia>=2){
estaciones.setText(" Es Halloween ");
}
if(mes>=8 && dia>=16 ){
estaciones.setText(" Dia de la independencia de
Mexico");
}
if(mes>=0 && dia>=6 ){
estaciones.setText("Dia de Reyes Magos ");
}
}
60
});
}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
}
}

Más contenido relacionado

Similar a Manual de App

Manual(mario alberto rosales lara)
Manual(mario alberto rosales lara)Manual(mario alberto rosales lara)
Manual(mario alberto rosales lara)MariOo Rosales
 
Biblia De Los Trucos Para Windows E Internet http://hack-proyect.blogspot.com
Biblia De Los Trucos Para Windows E Internet http://hack-proyect.blogspot.comBiblia De Los Trucos Para Windows E Internet http://hack-proyect.blogspot.com
Biblia De Los Trucos Para Windows E Internet http://hack-proyect.blogspot.combeatleblack
 
Biblia De Los Trucos Para Windows E Internet
Biblia De Los Trucos Para Windows E InternetBiblia De Los Trucos Para Windows E Internet
Biblia De Los Trucos Para Windows E Internetwellington
 
Biblia de los trucos para windows e internet
Biblia de los trucos para windows e internetBiblia de los trucos para windows e internet
Biblia de los trucos para windows e internetmarcus1720
 
Biblia De Los Trucos Para Windows E Internet
Biblia De Los Trucos Para Windows E InternetBiblia De Los Trucos Para Windows E Internet
Biblia De Los Trucos Para Windows E InternetFeluchon
 
Biblia de los trucos para windows e internet
Biblia de los trucos para windows e internetBiblia de los trucos para windows e internet
Biblia de los trucos para windows e internetmarcus1720
 
Biblia de los_trucos_para_windows_e_internet
Biblia de los_trucos_para_windows_e_internetBiblia de los_trucos_para_windows_e_internet
Biblia de los_trucos_para_windows_e_internetAlcedir Cigognini
 
Porqué Cervantes programaba mejor que tú
Porqué Cervantes programaba mejor que túPorqué Cervantes programaba mejor que tú
Porqué Cervantes programaba mejor que túAgile Spain
 
Por qué Cervantes programaba mejor que tú
Por qué Cervantes programaba mejor que túPor qué Cervantes programaba mejor que tú
Por qué Cervantes programaba mejor que túJavier Acero
 
REPORTES DE PRACTICAS
REPORTES DE PRACTICASREPORTES DE PRACTICAS
REPORTES DE PRACTICASneliro3
 
[Lm]10 consejos-para-empezar-con-r-sin-morir-en-el-intento
[Lm]10 consejos-para-empezar-con-r-sin-morir-en-el-intento[Lm]10 consejos-para-empezar-con-r-sin-morir-en-el-intento
[Lm]10 consejos-para-empezar-con-r-sin-morir-en-el-intentoedwincarlos11
 
Trucos windows
Trucos windowsTrucos windows
Trucos windowsfransis790
 
Instalando Circuit Y Trax Maker
Instalando Circuit Y Trax MakerInstalando Circuit Y Trax Maker
Instalando Circuit Y Trax MakerGamaliel Springer
 

Similar a Manual de App (20)

Manual(mario alberto rosales lara)
Manual(mario alberto rosales lara)Manual(mario alberto rosales lara)
Manual(mario alberto rosales lara)
 
manual
manualmanual
manual
 
manual
manualmanual
manual
 
manual
manualmanual
manual
 
Biblia De Los Trucos Para Windows E Internet http://hack-proyect.blogspot.com
Biblia De Los Trucos Para Windows E Internet http://hack-proyect.blogspot.comBiblia De Los Trucos Para Windows E Internet http://hack-proyect.blogspot.com
Biblia De Los Trucos Para Windows E Internet http://hack-proyect.blogspot.com
 
Biblia De Los Trucos Para Windows E Internet
Biblia De Los Trucos Para Windows E InternetBiblia De Los Trucos Para Windows E Internet
Biblia De Los Trucos Para Windows E Internet
 
Biblia de los trucos para windows e internet
Biblia de los trucos para windows e internetBiblia de los trucos para windows e internet
Biblia de los trucos para windows e internet
 
Biblia d windows
Biblia d  windowsBiblia d  windows
Biblia d windows
 
Biblia De Los Trucos Para Windows E Internet
Biblia De Los Trucos Para Windows E InternetBiblia De Los Trucos Para Windows E Internet
Biblia De Los Trucos Para Windows E Internet
 
Biblia de los trucos para windows e internet
Biblia de los trucos para windows e internetBiblia de los trucos para windows e internet
Biblia de los trucos para windows e internet
 
Trucos Y Mas
Trucos Y MasTrucos Y Mas
Trucos Y Mas
 
Biblia de los_trucos_para_windows_e_internet
Biblia de los_trucos_para_windows_e_internetBiblia de los_trucos_para_windows_e_internet
Biblia de los_trucos_para_windows_e_internet
 
Porqué Cervantes programaba mejor que tú
Porqué Cervantes programaba mejor que túPorqué Cervantes programaba mejor que tú
Porqué Cervantes programaba mejor que tú
 
Por qué Cervantes programaba mejor que tú
Por qué Cervantes programaba mejor que túPor qué Cervantes programaba mejor que tú
Por qué Cervantes programaba mejor que tú
 
REPORTES DE PRACTICAS
REPORTES DE PRACTICASREPORTES DE PRACTICAS
REPORTES DE PRACTICAS
 
[Lm]10 consejos-para-empezar-con-r-sin-morir-en-el-intento
[Lm]10 consejos-para-empezar-con-r-sin-morir-en-el-intento[Lm]10 consejos-para-empezar-con-r-sin-morir-en-el-intento
[Lm]10 consejos-para-empezar-con-r-sin-morir-en-el-intento
 
Dfd
DfdDfd
Dfd
 
Diagrama de Flujo de Datos
Diagrama de Flujo de DatosDiagrama de Flujo de Datos
Diagrama de Flujo de Datos
 
Trucos windows
Trucos windowsTrucos windows
Trucos windows
 
Instalando Circuit Y Trax Maker
Instalando Circuit Y Trax MakerInstalando Circuit Y Trax Maker
Instalando Circuit Y Trax Maker
 

Último

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxlosdiosesmanzaneros
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilJuanGallardo438714
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 

Último (15)

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 

Manual de App

  • 1. 1 CECYTEM Nombre: Lorna Valeria Lerate Gutiérrez Materia: Aplicaciones Móviles Manual de Aplicaciones Móviles Profesor: René Domínguez Escalona Grupo: 403
  • 2. 2 Índice Hola mundo……………………………………………………………………………04 Operaciones……………………………………………………………………………05 IMC Factorial Asteriscos Album…………………………………………………………………………………..08 All App ColorHEX………………………………………………………………………………12 RebosoDroid Calcular Edad………………………………………………………………………….17 Phonegap……………………………………………………………………………… BD insertarm eliminar, modificar y consultar………………………………………. ListaView……………………………………………………………………………….27 Menú……………………………………………………………………………………29 TabHost…………………………………………………………………………………31 Acelerometro……………………………………………………………………………34 Canvas Gato Calculadora Sonidos Animales VideoView……………………………………………………………………………….37 Giroscopio Notificaciones…………………………………………………………………………… 38
  • 3. 3 ToggleButton…………………………………………………………………………39 CheckBox…………………………………………………………………………….42 RadioButton…………………………………………………………………………..44 ProgressBar…………………………………………………………………………..47 Spinner……………………………………………………………………………….50 WebView……………………………………………………………………………..55 TimePicker……………………………………………………………………………56 DatePicker……………………………………………………………………………
  • 4. 4 Hola mundo Aquí empieza nuestra app que es la de HolaMundo en esta parte simplemente vamos a crear la interfaz , empezando con lo que ya sabemos,el diseño que nosotros le queramos dar,le podemos poder color o imagen de fondo con esta parte. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:background="#7fc9d2" tools:context=".MainActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> </RelativeLayout> Este es nuestro código java. package valeria.holamundoo; Aqui tenemos nuestras librerias. import android.os.Bundle; import android.app.Activity; import android.view.Menu; Aqui declaramos la clase. public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
  • 5. 5 Operaciones: Esta es nuestra interfaz de nuestra apliacion,que en este caso va a calcular el resultado de dos números, aquí vamos a preparar el diseño de la aplicación. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#000000" android:orientation="vertical" > Aqui vamos a poner un EditText, que nor sirve para poder poner los numeros que queremos calcular, <EditText android:id="@+id/num" android:layout_width="match_parent" android:layout_height="50dp" android:layout_margin="10dp" android:background="#FFFFFF" android:hint="numero 1" android:maxLength="10" android:numeric="decimal" android:textColor="#00CC00" android:textStyle="bold" /> <EditText android:id="@+id/numd" android:layout_width="match_parent" android:layout_height="50dp" android:layout_margin="10dp" android:background="#FFFFFF" android:hint="numero 2" android:maxLength="10" android:numeric="decimal" android:textColor="#00CC00" android:textStyle="bold" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > Aqui vamos a poner las partes de los botones, el cual va a ser el que dira “calcular” y el otro nos ayudara a borrar los datos puestos anteriormente. <Button android:id="@+id/cal" android:layout_width="match_parent" android:layout_height="50dp" android:layout_margin="10dp" android:layout_weight="1" android:background="#00CC00" android:text="calcular"
  • 6. 6 android:textStyle="bold" /> <Button android:id="@+id/bor" android:layout_width="match_parent" android:layout_height="50dp" android:layout_margin="10dp" android:layout_weight="1" android:background="#00CC00" android:text="borrar" android:textStyle="bold" /> </LinearLayout> En esta parte vamos a imprimir el resultado de la operacion que queremos calcular,este nos lo mostrara. <TextView android:id="@+id/res" android:layout_width="match_parent" android:layout_height="102dp" android:layout_margin="10dp" android:layout_weight="0.37" android:background="#FFFFFF" android:text="resultado" android:textStyle="bold" /> </LinearLayout> Este es nuestro código en java. package valeria.operaciones; Estas son nuestras librerias que vamos a utilizar para las siguientes funciones. import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.*; import android.app.Activity; Aqui vamos declarar nuestra clase. public class ActivityMain extends Activity implements OnClickListener{ En esta parte vamos a declarar nuestras variables, de tal manera como las pusimos en nuestro codigo xml, como podremos notar usamos EditText, TextView y Button, que son los que usamos para nuestra interfaz grafica. EditText edtnumerouno, edtnumerodos; TextView txtresultado; Button btncalcular, btnborrar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
  • 7. 7 setContentView(R.layout.activity_main); Aqui vamos a ligar nuestras variables,es decir nuestras variables con las del codigo xml el cual deben ser las mismas,vamos a poner su function. edtnumerouno=(EditText) findViewById(R.id.num); edtnumerodos=(EditText) findViewById(R.id.numd); txtresultado=(TextView) findViewById(R.id.res); btncalcular=(Button) findViewById(R.id.cal); btnborrar=(Button) findViewById(R.id.bor); btncalcular.setOnClickListener(this); btnborrar.setOnClickListener(this); } @Override Esta parte se podria decir que es la más importante,ya que aqui vamos a poner lo que queremos que nuestra aplicación haga,en este caso vamos a calcular dos números, para esto usamos un switch. public void onClick(View v) { switch(v.getId()){ case R.id.cal: String u=edtnumerouno.getText().toString(); String g=edtnumerodos.getText().toString(); Aqui vamos a poner a poner para que se haga la operacion que queramos dependiendo lo que querramos que haga. if(!u.equals("") && !g.equals("")){ double uno=Double.parseDouble(edtnumerouno.getText().toString()); double dos=Double.parseDouble(edtnumerodos.getText().toString()); if(uno<dos){ Aquí vamos a poner la función que hara que se imprima nuestro resultado de la operación. txtresultado.setText("la suma es: "+(dos+uno)+"n la resta es: "+(dos-uno)+"n la multiplicacion es:"+(dos*uno)+"n La division es: "+(dos/uno)); break; } } case R.id.bor:
  • 8. 8 edtnumerouno.setText(""); edtnumerodos.setText(""); txtresultado.setText(""); break; Con el break es con el que vamos a cerrar nuestro switch para terminar con las condiciones. } } } Álbum: Aquí empieza nuestro código xml que prácticamente viene siendo nuestra interfazgrafica, osea,el diseño que nosotros se queremos dar a nuestra aplicacion <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > Aqui vamos a meter las imagenes que queramos que aparezcan, las vamos a meter en la carpeta que está en res, luego drawable-mdpi y en esa carpeta las meteremos y las vamos a declarar de la siguiente manera. <ImageView android:id="@+id/imagen1" android:layout_width="match_parent" android:layout_height="200dp" android:src="@drawable/a" /> <HorizontalScrollView android:layout_width="match_parent" android:layout_height="100sp" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" />
  • 9. 9 <ImageView android:id="@+id/imagen2" android:layout_width="100sp" android:layout_height="100sp" android:src="@drawable/b" /> <ImageView android:id="@+id/imagen3" android:layout_width="100sp" android:layout_height="100sp" android:src="@drawable/c" /> <ImageView android:id="@+id/imagen4" android:layout_width="100sp" android:layout_height="100sp" android:src="@drawable/d" /> <ImageView android:id="@+id/imagen5" android:layout_width="100sp" android:layout_height="100sp" android:src="@drawable/e" /> <ImageView android:id="@+id/imagen6" android:layout_width="100sp" android:layout_height="100sp" android:src="@drawable/f" /> <ImageView android:id="@+id/imagen7" android:layout_width="100sp" android:layout_height="100sp" android:src="@drawable/g" /> <ImageView android:id="@+id/imagen8" android:layout_width="100sp" android:layout_height="100sp" android:src="@drawable/h" /> <ImageView android:id="@+id/imagen9" android:layout_width="100sp" android:layout_height="100sp" android:src="@drawable/i" /> <ImageView android:id="@+id/imagen10" android:layout_width="100sp" android:layout_height="100sp" android:src="@drawable/j" />
  • 10. 10 </HorizontalScrollView> Aqui solo vamos a poner un boton para mostrar el texto cada que cambiemos el wallpaper,y es el siguiente. <Button android:id="@+id/cambiar" android:layout_width="match_parent" android:layout_height="70sp" android:text="Cambiar wallpaper" /> </LinearLayout> Este es nuestro código de java. package valeria.album; Aquí están nuestras librerías que utilizaremos. import android.os.Bundle; import android.app.Activity; import android.app.WallpaperManager; import android.view.View; import android.view.View.OnClickListener; import android.widget.*; Aqui vamos a declarar la clase. public class MainActivity extends Activity implements OnClickListener{ En esta parte vamos adeclarar nuestra variables de las imagenes que metimos en nuesto codigo xml, asi como el botón que incorporamos. ImageView image,image1, image2, image3, image4, image5, image6, image7, image8, image9,image10; Button btn; int fondo; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Aqui vamos a declarar la función que tendrán nuestras variables,asi como se ve a continuación: image1=(ImageView) findViewById (R.id.imagen1); image2=(ImageView) findViewById (R.id.imagen2); image3=(ImageView) findViewById (R.id.imagen3); image4=(ImageView) findViewById (R.id.imagen4); image5=(ImageView) findViewById (R.id.imagen5); image6=(ImageView) findViewById (R.id.imagen6); image7=(ImageView) findViewById (R.id.imagen7); image8=(ImageView) findViewById (R.id.imagen8); image9=(ImageView) findViewById (R.id.imagen9); image10=(ImageView) findViewById (R.id.imagen10); btn=(Button) findViewById (R.id.cambiar); Esta parte es importante, en esta nos ayuda a cambiar el wallpaper, es decir cuando nosotros tocamos la imagen, esa imagen es la que se pondrá de wallpapel.
  • 11. 11 image1.setOnClickListener(this); image2.setOnClickListener(this); image3.setOnClickListener(this); image4.setOnClickListener(this); image5.setOnClickListener(this); image6.setOnClickListener(this); image7.setOnClickListener(this); image8.setOnClickListener(this); image9.setOnClickListener(this); image10.setOnClickListener(this); btn.setOnClickListener(this); } @Override public void onClick(View v) { En esta usamos un switch para los casos diferentes,es decir cada imagen es un caso diferente y aqui le damos su funcion, switch (v.getId()){ case R.id.imagen1: image1.setImageResource(R.drawable.a); fondo = R.drawable.a; break; case R.id.imagen2: image2.setImageResource(R.drawable.b); fondo = R.drawable.b; break; case R.id.imagen3: image3.setImageResource(R.drawable.c); fondo = R.drawable.c; break; case R.id.imagen4: image4.setImageResource(R.drawable.d); fondo = R.drawable.d; break; case R.id.imagen5: image5.setImageResource(R.drawable.e); fondo = R.drawable.e; break; case R.id.imagen6: image6.setImageResource(R.drawable.f); fondo = R.drawable.f; break; case R.id.imagen7: image7.setImageResource(R.drawable.g); fondo = R.drawable.g; break; case R.id.imagen8: image8.setImageResource(R.drawable.h); fondo = R.drawable.h; break; case R.id.imagen9: image9.setImageResource(R.drawable.i); fondo = R.drawable.i; break; case R.id.imagen10:
  • 12. 12 image10.setImageResource(R.drawable.j); fondo = R.drawable.j; break; case R.id.cambiar: WallpaperManager mywp=WallpaperManager.getInstance(getApplicationContext()); try{ mywp.setResource(fondo); }catch(Exception e){ e.printStackTrace(); } En esta parte solo vamos a incorporar un mensaje para que cada que nosotros cambiemos el wallpaper este mensaje se muestre en pantalla,aqui lo pusimos con un “Toast.LENGTH_LONG” que nos sirve para que visualización del mensaje sea corto. Toast.makeText(this, "Se a Cambiado el Wallpaper", Toast.LENGTH_LONG).show(); break; } } } ColorHEX: Aqui empieza nuestro codigo para el ColorHEX en xml, como ya sabemos aquícreamos nuestra interfaz grafica que es el diseño se nuestra aplicación, <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > En esta parte vamos a poner lo que queremos que aparezca en nuestros TextView asi como aparece: <TextView android:id="@+id/red" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5sp" android:layout_weight="1" android:fontFamily="Arial" android:gravity="center" android:text="Rojo" android:textSize="25sp" />
  • 13. 13 <TextView android:id="@+id/vrojo " android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5sp" android:layout_weight="1" android:fontFamily="Arial" android:gravity="center" android:text="R:" android:textSize="25sp" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > Esta funcion es para poder encontrar el codigo del color que estamos buscando,le podemos aumentar o disminuir segun el color, se declara como se muestra a continuación: <SeekBar android:id="@+id/rojo" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5sp" android:layout_weight="1" android:gravity="center" android:indeterminate="false" android:max="255" android:progress="1" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > En esta parte vamos a poner lo que queremos que aparezca en nuestros TextView asi como aparece: <TextView android:id="@+id/green" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5sp" android:layout_weight="1" android:fontFamily="Arial" android:gravity="center" android:text="Verde" android:textSize="25sp" /> <TextView android:id="@+id/vverde" android:layout_width="match_parent"
  • 14. 14 android:layout_height="wrap_content" android:layout_margin="5sp" android:layout_weight="1" android:fontFamily="Arial" android:gravity="center" android:text="V:" android:textSize="25sp" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > Esta funcion es para poder encontrar el codigo del color que estamos buscando,le podemos aumentar o disminuir segun el color, se declara como se muestra a continuación: <SeekBar android:id="@+id/verde" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5sp" android:layout_weight="1" android:gravity="center" android:indeterminate="false" android:max="255" android:progress="1" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > En esta parte vamos a poner lo que queremos que aparezca en nuestros TextView asi como aparece: <TextView android:id="@+id/blue" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5sp" android:layout_weight="1" android:fontFamily="Arial" android:gravity="center" android:text="Azul" android:textSize="25sp" /> <TextView 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"
  • 15. 15 android:text="A:" android:textSize="25sp" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > Esta funcion es para poder encontrar el codigo del color que estamos buscando,le podemos aumentar o disminuir segun el color, se declara como se muestra a continuación: <SeekBar android:id="@+id/azul" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5sp" android:layout_weight="1" android:gravity="center" android:indeterminate="false" android:max="255" android:progress="1" /> </LinearLayout> En esta parte vamos a poner lo que queremos que aparezca en nuestros TextView asi como aparece: <TextView android:id="@+id/hex" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5sp" android:fontFamily="Arial" android:gravity="center" android:text="Hexadecimal:" android:textSize="25sp" /> <TextView android:id="@+id/color" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="10sp" android:layout_weight="1" android:background="#cccccc" android:fontFamily="Arial" android:gravity="center" android:text="Color" android:textSize="65sp" /> </LinearLayout> Este es nuestro código en java: package valeria.colorhex;
  • 16. 16 Estas son nuestras librerias. import android.os.Bundle; import android.widget.*; import android.app.Activity; Vamos a declarar la clase. public class MainActivity extends Activity implements SeekBar.OnSeekBarChangeListener { Aquí vamos a declarar nuestras variables que utilizamos en el código xml, asi como todo lo que utilizamos. SeekBar rojo, verde, azul; TextView vrojo, vverde, vazul, hex, color; int r = 0, v = 0, a = 0; Aquí enlazamos nuestras variables con las de nuestro código xml,las mandamos a llamar de esta manera: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); rojo = (SeekBar) findViewById(R.id.rojo); verde = (SeekBar) findViewById(R.id.verde); azul = (SeekBar) findViewById(R.id.azul); hex = (TextView) findViewById(R.id.hex); vrojo = (TextView) findViewById(R.id.vrojo); vverde = (TextView) findViewById(R.id.vverde); vazul = (TextView) findViewById(R.id.vazul); color = (TextView) findViewById(R.id.color); rojo.setOnSeekBarChangeListener(this); verde.setOnSeekBarChangeListener(this); azul.setOnSeekBarChangeListener(this); } En toda esta parte ponemos lo que queremos que haga nuestra aplicacion,le damos funcion a nuestras variables y los codigos que hemos puesto.Para esto usamos un switch para cada caso diferente que tenemos,y después imprimimos lo que queremos que nos salga según el color que queramos. @Override public 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;
  • 17. 17 } String c = ColorHex(r, v, a); hex.setText("HEX:" + c); color.setBackgroundColor(android.graphics.Color.rgb(r, v, a)); } public String ColorHex(int r, int v, int a) { String color = ""; color = "#"; color += Integer.toHexString(r); color += Integer.toHexString(v); color += Integer.toHexString(a); return color; } @Override public void onStartTrackingTouch(SeekBar seekBar) { vrojo.setText("R: " + r); vazul.setText("R: " + a); vverde.setText("R: " + v); } @Override public void onStopTrackingTouch(SeekBar seekBar) { vrojo.setText("R: " + r); vazul.setText("R: " + a); vverde.setText("R: " + v); } } Calcular edad: Este es nuestro codigo xml, que es nuestra interfaz grafica y el diseño de nuestra aplicacion. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  • 18. 18 xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="@drawable/pasto"> Aquí vamos a usar un EditText para poner lo que nosotros queramos que el usuario ingrese, en este caso será su fecha de nacimiento en día, mes y año. <EditText android:id="@+id/dia" android:layout_width="match_parent" android:layout_height="50dp" android:layout_margin="10dp" android:hint="Día" android:maxLength="2" android:numeric="integer" android:textColor="#000000" android:textStyle="italic" /> <EditText android:id="@+id/mes" android:layout_width="match_parent" android:layout_height="50dp" android:layout_margin="10dp" android:hint="Mes" android:maxLength="2" android:numeric="integer" android:textColor="#000000" android:textStyle="italic" /> <EditText android:id="@+id/year" android:layout_width="match_parent" android:layout_height="50dp" android:layout_margin="10dp" android:hint="Año" android:maxLength="4" android:numeric="integer" android:textColor="#000000" android:textStyle="italic" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > En esta parte vamos a poner un boton que le pondremos el nombre de Calcular, y el otro botón le pondremos borrar para que nos borre los datos que ya ha ingresado el usuario. <Button android:id="@+id/calcular" android:layout_width="match_parent" android:layout_height="50dp"
  • 19. 19 android:layout_margin="10dp" android:layout_weight="1" android:text="Calcular" android:textStyle="italic" /> <Button android:id="@+id/borrar" android:layout_width="match_parent" android:layout_height="50dp" android:layout_margin="10dp" android:layout_weight="1" android:text="Borrar" android:textStyle="italic" /> </LinearLayout> Aqui vamos a imprimir el resultado de nuestra edad segun la fecha que ingresemos hasta el dia de hoy. <TextView android:id="@+id/Res" android:layout_width="208dp" android:layout_height="76dp" android:layout_marginLeft="10dp" android:textColor="#000000" android:text="Resultado" android:hint="Resultado"/> </LinearLayout> Este es nuestro código en java. package valeria.edad; Aqui tenemos las librerias para que podamos utilizar lo necesario. import android.os.Bundle; import android.view.View.OnClickListener; import android.app.Activity; import android.view.View; import android.widget.*; Declaramos la clase. public class MainActivity extends Activity implements OnClickListener{ Aqui declaramos las variables que utilizamos en nuestro codigo xml. EditText edtNumeroUno, edtNumeroDos, edtNumeroTres; TextView txtResultado; Button btnCalcular, btnBorrar; Aquí enlazamos nuestras variables del código xml con el java y ponemos la función que hara. @Override protected void onCreate(Bundle savedInstanceState) {
  • 20. 20 super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); edtNumeroUno=(EditText) findViewById(R.id.dia); edtNumeroDos=(EditText) findViewById(R.id.mes); edtNumeroTres=(EditText) findViewById(R.id.year); txtResultado=(TextView) findViewById(R.id.Res); btnCalcular=(Button) findViewById(R.id.calcular); btnBorrar=(Button) findViewById(R.id.borrar); btnCalcular.setOnClickListener(this); btnBorrar.setOnClickListener(this); } Aqui ponemos lo que hara nuestra aplicacion, utilizamos switch para cada uno de nuestros casos. @Override public void onClick(View v) { switch(v.getId()){ case R.id.calcular: String u=edtNumeroUno.getText().toString(); String g=edtNumeroDos.getText().toString(); String d=edtNumeroTres.getText().toString(); if(!u.equals("") && !g.equals("") && !d.equals("")){ int dia=Integer.parseInt(edtNumeroUno.getText().toString()); int mes=Integer.parseInt(edtNumeroDos.getText().toString()); int ano=Integer.parseInt(edtNumeroTres.getText().toString()); int diah=22; int mesh=4; int anoh=2015; int dias=0; int meses=0; int anos=0; Aqui ponemos condiciones segun el caso o la fecha que nosotros vallamos a ingresar y el codigo no sea tan largo. if (dia < diah && mes < mesh) { dias=diah-dia; meses=mesh-mes; anos=anoh-ano; } if (dia == diah && mes < mesh) { dias=diah-dia; meses=mesh-mes; anos=anoh-ano; } if (dia > diah && mes < mesh) { dias=(30-dia)+diah; meses=mesh-mesh; anos=anoh-ano; }
  • 21. 21 if (dia < diah && mes == mesh) { dias=diah-dia; meses=mesh-mes; anos=anoh-ano; } if (dia == diah && mes == mesh) { dias=diah-dia; meses=mesh-mes; anos=anoh-ano; } if (dia > diah && mes == mesh) { dias=(30-dia)+diah; meses=(12-mesh)+(mes-1); anos=(anoh-ano)-1; } if (dia < diah && mes > mesh) { dias=diah-dia; meses=(12-mes)+mesh; anos=(anoh-ano)-1; } if (dia == diah && mes > mesh) { dias=diah-dia; meses=(12-mes)+mesh; anos=(anoh-ano)-1; } if (dia > diah && mes > mesh) { dias=(30-dia)+diah; meses=((12-mes)+mesh)-1; anos=(anoh-ano)-1; } txtResultado.setText("Edad: "+anos+" años n"+meses+" meses n"+dias+" dias n"); }else{ Aquí vamos a poner un mensaje por si el usuario ingresa valores no validos, utilizamos Toast.LENGTH_SHORT para que nuestro mensaje sea de poca duración en pantalla. Toast.makeText(this, "Valores incorrectos", Toast.LENGTH_SHORT).show(); } break; Aquí vamos a imprimir el resultado de nuestra edad. case R.id.borrar: edtNumeroUno.setText(""); edtNumeroDos.setText(""); edtNumeroTres.setText(""); txtResultado.setText(""); break;
  • 22. 22 } } } Base de Datos: Aquí empieza nuestro código xml, en que hacemos el diseño de nuestra aplicación. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#000000" android:orientation="vertical" > Aqui vamos a poner lo que queramos que los EditText queramos que digan. <EditText android:id="@+id/nombre" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10sp" android:background="#00CCFF" android:gravity="center" android:hint="Marca" android:maxLength="20" android:textSize="20sp" /> <EditText android:id="@+id/apellido" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10sp" android:background="#00CCFF" android:gravity="center" android:hint="RAM" android:maxLength="20" android:textSize="20sp" /> <EditText android:id="@+id/edad" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10sp" android:background="#00CCFF" android:gravity="center" android:hint="Procesador" android:maxLength="20" android:textSize="20sp" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="0" android:orientation="horizontal" >
  • 23. 23 Aqui vamos a utilizar botones para poner el inserter, ver, borrar… <Button android:id="@+id/insertar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10sp" android:layout_weight="1" android:background="#FFFFFF" android:gravity="center" android:maxLength="20" android:onClick="Insertar" android:text="Insertar" android:textSize="20sp" /> <Button android:id="@+id/ver" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10sp" android:layout_weight="1" android:background="#FFFFFF" android:onClick="Ver" android:text="Ver" android:textSize="20sp" /> <Button android:id="@+id/borrar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10sp" android:layout_weight="1" android:background="#FFFFFF" android:onClick="Borrar" android:text="Borrar" android:textSize="20sp" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="0" android:orientation="horizontal" > <EditText android:id="@+id/id" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:layout_margin="10sp" android:background="#00CCFF" android:gravity="center" android:hint="ID" android:maxLength="20"
  • 24. 24 android:textSize="20sp" /> Este boton nos ayudara a buscar lo que queramos con la ayuda del Id que esta arriba, <Button android:id="@+id/buscar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:layout_margin="10sp" android:background="#FFFFFF" android:onClick="Buscar" android:text="buscar" android:textSize="20sp" /> <Button android:id="@+id/modificar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10sp" android:layout_weight="1" android:background="#FFFFFF" android:onClick="Modificar" android:text="Modificar" android:textSize="20sp" /> </LinearLayout> <ScrollView android:layout_width="match_parent" android:layout_height="wrap_content" > Este nos puede server para poner algun comentario, texto o lo que gusten. <TextView android:id="@+id/tver" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="TextView" android:textColor="#FFFFFF" /> </ScrollView> </LinearLayout> Esta es nuestro código en java. package com.Sparda.modificar; Estas son nuestras librerias. import android.content.ContentValues; import android.content.Context;
  • 25. 25 import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.widget.Toast; Declaramos la clase. public class Compus { Declaramos nuestras variables segun como este nuestro codigo xml. String marca, ram , procesador; int idn; Context contextoEjecucion; BaseDatos creador; SQLiteDatabase mDatos; Aquí ponemos todo lo que queremos que nuestra aplicación con base de datos nos muestre. public Compus (Context c){ contextoEjecucion = c; } public Compus abrirSqlite(){ creador = new BaseDatos (contextoEjecucion); mDatos = creador.getWritableDatabase(); return this; } public void elimina(int id){ creador = new BaseDatos (contextoEjecucion); mDatos = creador.getReadableDatabase(); String sql = ("delete from compus where id="+id); mDatos.execSQL(sql); } public void insertar(String marca, String ram, String procesador){ creador = new BaseDatos (contextoEjecucion); mDatos = creador.getReadableDatabase(); String sql = ("insert into compus(marca,ram,procesador) values('"+marca+"','"+ram+"','"+procesador+"')"); mDatos.execSQL(sql); } public void modificar(int id,String marca, String ram, String procesador){ creador = new BaseDatos (contextoEjecucion); mDatos = creador.getReadableDatabase(); String sql = ("update compus set marca='"+marca+"', ram='"+ram+"', procesador='"+procesador+"' where id="+id); mDatos.execSQL(sql); }
  • 26. 26 public boolean consultar(int id){ creador = new BaseDatos (contextoEjecucion); mDatos = creador.getReadableDatabase(); String sql = ("Select * from compus where id="+id); Cursor cur = mDatos.rawQuery(sql, null); if(cur.getCount()==0){ return false; }else{ cur.moveToFirst(); idn=cur.getInt(0); marca=cur.getString(1); ram=cur.getString(2); procesador=cur.getString(3); return true; } } public String getMarca(){ return marca; } public String getRam(){ return ram; } public String getProcesador(){ return procesador; } public int getId(){ return idn; } public String ver(){ String datos=""; creador = new BaseDatos (contextoEjecucion); mDatos = creador.getReadableDatabase(); String sql = ("Select * from compus"); Cursor cur = mDatos.rawQuery(sql, null); cur.moveToFirst(); do{ datos+= cur.getString(0) + "t " + cur.getString(1) + "t " + cur.getString(2) + " t" + cur.getString(3) + "n"; }while (cur.moveToNext()); return datos; } public void cerrarSqlite(){ creador.close(); } }
  • 27. 27 ListView: Esta sera nuestra interfaz grafica de la aplicacion,sera el diseño que escogeremos para ella, <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="#f03"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> En el EditText vamos a poner el texto que señalara lo que nosotros queremos que el usuario ingrese. <EditText android:id="@+id/elemento" android:layout_width="match_parent" android:layout_height="fill_parent" android:layout_weight="0.3" android:hint="Agregar Elemento" android:background="#FFFFFF" android:marqueeRepeatLimit="marquee_forever" android:textSize="25sp" android:textColor="#000000" android:textStyle="bold" /> Este es el boton que nos agregara el elemento que el usuario ingresara. <Button android:id="@+id/agregar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:background="#3f3" android:text="Enter"/> </LinearLayout> Aqui nos hara nuestra lista de lo que hemos agregado. <ListView android:id="@+id/lista" android:layout_width="match_parent" android:layout_height="wrap_content"/> </LinearLayout>
  • 28. 28 Este es nuestro código en java. package valeria.listview; Estas son nuestras librerias. import java.util.ArrayList; import android.os.Bundle; import android.app.Activity; import android.view.View; import android.view.View.OnClickListener; import android.widget.*; Declaramos la clase. public class MainActivity extends Activity implements OnClickListener { Declaramos las variables que utilizamos en nuestro codigo xml. EditText elemento; ArrayList<String> elementos; Button btn; ListView lista; ArrayAdapter<String> adaptador; Ponemos lo que queremos que nuestras funciones hagan, ligamos variables con las de xml. @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lista = (ListView) findViewById(R.id.lista); elemento = (EditText) findViewById(R.id.elemento); btn = (Button) findViewById(R.id.agregar); elementos = new ArrayList<String>(); adaptador = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, elementos); lista.setAdapter(adaptador); btn.setOnClickListener(this); } Aqui con el if ponemos la condicion para imprimir nuestra lista dependiendo los elementos que agreguemos. @Override public void onClick(View v) { if (v.getId() == R.id.agregar) { elementos.add(elemento.getText().toString()); elemento.setText(""); adaptador.notifyDataSetChanged(); } } }
  • 29. 29 Menú: Esta es nuestra interfaz grafica. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> </LinearLayout> Este es nuestro código en java. package valeria.menu; Estas son nuestras librerias import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.TextView; Nuestra clase public class MainActivity extends Activity { Declaramos el TextView que utilizamos. TextView tv; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv=(TextView) findViewById(R.id.textView); } Enlazamos nuestras variables. @Override public boolean onCreateOptionsMenu(Menu menu){
  • 30. 30 super.onCreateOptionsMenu(menu); MenuItem item1= menu.add(0,1,1,"Opcion 1"); MenuItem item2= menu.add(0,2,2,"Opcion 2"); MenuItem item3= menu.add(0,3,3,"Opcion 3"); MenuItem item4= menu.add(0,4,4,"Opcion 4"); MenuItem item5= menu.add(0,5,5,"Opcion 5"); MenuItem item6= menu.add(0,6,6,"Opcion 6"); MenuItem item7= menu.add(0,7,7,"Opcion 7"); MenuItem item8= menu.add(0,8,8,"Opcion 8"); item1.setIcon(R.drawable.ic_launcher); item2.setIcon(R.drawable.ic_launcher); item3.setIcon(R.drawable.ic_launcher); return true; } Damos funcion a nuestra variables con un switch, y poniendo su caso de cada una de las opciones segun la que vallamos a escoger, ya que como sabemos es un menu. @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.menu_configuracion: menuConfiguracion(); return true; case R.id.menu_linterna_encender: encenderLinternaAndroid(); return true; case R.id.menu_linterna_apagar: apagarLinternaAndroid(); return true; case R.id.menu_visitar_web: visitarURL("http://www.ajpdsoft.com"); return true; default: return super.onOptionsItemSelected(item); } } @Override public boolean onOptionsItemSelected(MenuItem item){ Solo declarammos un mensaje para que aparesca en pantalla a la hora de elegir una opcion. int id= item.getItemId(); tv.append("n Ha pulsado la opcion "+id); return true; } }
  • 31. 31 TabHost: Aquí empieza nuestra aplicación del TabHost,ya sabemos que aquívamos a poner el diseño y lo que vamos a utilizar. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".Tabhost" > Aqui declaramos nuestro TabHost. <TabHost android:id="@+id/th" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" > <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TabWidget android:id="@android:id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content" > </TabWidget> <FrameLayout android:id="@android:id/tabcontent" android:layout_width="match_parent" android:layout_height="match_parent" > <LinearLayout android:id="@+id/tab1" android:layout_width="match_parent" android:layout_height="108dp" > Aqui vamos a declara nuestro boton, y lo declaramos de esta form a: <Button android:id="@+id/cancion" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/uno" android:gravity="center" /> </LinearLayout> <LinearLayout android:id="@+id/tab2"
  • 32. 32 android:layout_width="match_parent" android:layout_height="match_parent" > <Button android:id="@+id/dos" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/uno" android:gravity="center" /> </LinearLayout> <LinearLayout android:id="@+id/tab3" android:layout_width="match_parent" android:layout_height="match_parent" > <Button android:id="@+id/tres" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/uno" /> </LinearLayout> </FrameLayout> </LinearLayout> </TabHost> </RelativeLayout> Aquí esta nuestro código en java: package valeria.tabhost; Estas son nuestras librerias import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View.OnClickListener; import android.view.View; import android.widget.Button; import android.widget.TabHost; import android.media.AudioManager; import android.media.SoundPool; import android.widget.TabHost.TabSpec; Nuestra clase: public class MainActivity extends Activity implements OnClickListener { Declaramos lo que utilizamos en el codigo xml. TabHost th; SoundPool sp; Button b1t; int a;
  • 33. 33 Aqui vamos a juntar nuestras variables de esta manera: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); th = (TabHost) findViewById(R.id.th); b1t = (Button) findViewById(R.id.cancion); b1t.setOnClickListener(this); th.setup(); TabSpec ts1 = th.newTabSpec("tab1"); ts1.setIndicator("Uno"); ts1.setContent(R.id.tab1); th.addTab(ts1); th.setup(); TabSpec ts2 = th.newTabSpec("tab2"); ts2.setIndicator("Dos"); ts2.setContent(R.id.tab2); th.addTab(ts2); th.setup(); TabSpec ts3 = th.new TabSpec("tab3"); ts3.setIndicator("Tres"); ts3.setContent(R.id.tab3); th.addTab(ts3); sp = new SoundPool(8, AudioManager.STREAM_MUSIC, 0); a = sp.load(this, R.raw.ca, a); } Aqui vamos a poner lo que queremos que nuestras funciones hagan, con la ayuda del switch vamos a poner que hacer en case, y lo vamos a cerrar con el break. @Override public void onClick(View v) { switch (v.getId()) { case R.id.cancion: sp.play(a, 1, 1, 1, 0, 1); break; } } }
  • 34. 34 Acelerometro: Empezamos con nuestra aplicacion del acelerometro,ya sabemos que esta es nuestra interfaz grafica,osea nuestro diseño. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#D56376" android:orientation="vertical" > Aqui vamos a poner una imagenes, vamos a colocarles sus nombres, osea sus variables, y lo vamos a hacer de esta forma. <ImageView android:id="@+id/posisionx" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="10dp" android:layout_weight="1" android:background="@drawable/a" /> <ImageView android:id="@+id/posisiony" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="10dp" android:layout_weight="1" android:background="@drawable/b" /> <ImageView android:id="@+id/posisionz" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="10dp" android:layout_weight="1" android:background="@drawable/c" /> </LinearLayout> Este es nuestro código en java: package valeria.acelerometroo; Estas son nuestras librerias: import java.util.List; import android.app.Activity; import android.content.pm.ActivityInfo; import android.hardware.Sensor; import android.hardware.SensorEvent;
  • 35. 35 import android.hardware.SensorEventListener; import android.hardware.SensorManager; import android.media.AudioManager; import android.media.SoundPool; import android.os.Bundle; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; Aqui esta nuestra clase: public class MainActivity extends Activity implements SensorEventListener { Declaramos lo que utilizamos en el codigo xml: ImageView image,image1, image2; TextView x, y, z; Esta es la parte del sensor, esta es importante ya que si el celular no tiene sensor no podra funcionar esta aplicación. private Sensor acelerometro; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Aqui vamos a enlazar nuestras variables con las que pusimos en el xml y con las que estamos poniendo aqui en java. image=(ImageView) findViewById(R.id.posisionx) ; image1=(ImageView) findViewById(R.id.posisiony) ; image2=(ImageView) findViewById(R.id.posisiony) ; this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } Esta es la parte mas importante, ya que es la nos dará lo que queremos, en esta parte se manejan las funciones para que el acelerómetro cambie según para donde movamos el celular. protected void onResume() { super.onResume(); SensorManager sm = (SensorManager) getSystemService(SENSOR_SERVICE); List<Sensor> sensors = sm.getSensorList(Sensor.TYPE_ACCELEROMETER); if (sensors.size() > 0) { sm.registerListener(this, sensors.get(0),SensorManager.SENSOR_DELAY_GAME); }
  • 36. 36 } protected void onPause() { SensorManager mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); mSensorManager.unregisterListener(this, acelerometro); super.onPause(); } protected void onStop() { SensorManager mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); mSensorManager.unregisterListener(this, acelerometro); super.onStop(); } @Override public void onSensorChanged(SensorEvent event) { x.setText("X = " + event.values[SensorManager.DATA_X]); if(event.values[SensorManager.DATA_X]>=-0.0){ image.setImageResource(R.drawable.a); } this.y.setText("Y = " + event.values[SensorManager.DATA_Y]); if(event.values[SensorManager.DATA_Y]>=-0.0){ image1.setImageResource(R.drawable.b); } this.z.setText("Z = " + event.values[SensorManager.DATA_Z]); if(event.values[SensorManager.DATA_Z]>=10.100000){ image2.setImageResource(R.drawable.c); } } @Override public void onAccuracyChanged(Sensor arg0, int arg1) { // TODO Auto-generated method stub } }
  • 37. 37 VideoView: Este es nuestro código xml, y en esta ocasión solo llevara esto,lo que es un diseño sencillo porque no mas. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".VideoView" > <VideoView android:id="@+id/videoView1" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </LinearLayout> Este es nuestro código java: package valeria.videoview; Estas son las librerias: import android.os.Bundle; import android.net.Uri; import android.widget.MediaController; import android.widget.VideoView; import android.app.Activity; public class MainActivity extends Activity { En esta parte solo vamos a incorporar el video que se reproducira, pero vamos a crear otra carpeta en “res”. @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); VideoView video = (VideoView) findViewById(R.id.videoView1); Uri path = Uri.parse("android.resource://hola.videoView1/" + R.raw.galactus); video.setVideoURI(path); video.setMediaController(new MediaController(this)); video.start(); video.requestFocus(); } }
  • 38. 38 Notificación: Aquí empezamos con la aplicación de notificación,la interfaz es corta y la que se muestra aquí abajo: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <Button android:id="@+id/botonNotificacion" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" /> </RelativeLayout> Este es el código en java: package valeria.notificaciones; import android.app.Activity; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Aqui declaramos variables del codigo xml con las de java: Button boton = (Button) findViewById(R.id.botonNotificacion); boton.setOnClickListener( new OnClickListener() { Aqui ya nos esta dando la funcion que haremos, que es la que nos informe cada que haya un cambio en algo o cosas asi y cuando eso pase llegara la notificación. public void onClick(View v) {
  • 39. 39 NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); Notification notificacion = new Notification(android.R.drawable.stat_notify_more,"Notificación", System.currentTimeMillis()); Intent intent = new Intent(MainActivity.this, MainActivity.class); PendingIntent pIntent = PendingIntent.getActivity(MainActivity.this, 0, intent, 0); notificacion.setLatestEventInfo(MainActivity.this, "Titulo", "Detalles", pIntent); manager.notify(0,notificacion); } }); } } ToggleButton: Aquí empezamos nuestra aplicación de ToggleButton,esta es la interfaz grafica: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".ToogleButton" > <LinearLayout android:id="@+id/fondo" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_horizontal" android:orientation="horizontal" > En esta parte declaramos los ToggleButton, los cuales son como si fueran botones de encendido y apagado. <ToggleButton android:id="@+id/togglebutton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5sp" android:textOn="Rojo On" android:textOff="Rojo Off" android:text="ToggleButton" /> <ToggleButton android:id="@+id/togglebutton2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5sp"
  • 40. 40 android:textOn="Verde On" android:textOff="Verde Off" android:text="ToggleButton" /> <ToggleButton android:id="@+id/togglebutton3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5sp" android:textOn="Azul On" android:textOff="Azul Off" android:text="ToggleButton" /> </LinearLayout> </LinearLayout> Este es nuestro código en java: package valeria.togglebutton; Estas son nuestras librerias: import android.os.Bundle; import android.widget.CompoundButton; import android.widget.CompoundButton.OnCheckedChangeListener; import android.widget.LinearLayout; import android.widget.ToggleButton; import android.view.Menu; import android.app.Activity; import android.graphics.Color; public class MainActivity extends Activity implements OnCheckedChangeListener { Declaramos nuestras variables que utilizamos en el codigo xml: ToggleButton r,v,a; LinearLayout cont; String color="",rj="00",vr="00",az="00"; Aqui vamos a poner la funcion del ToggleButton: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); cont=(LinearLayout)findViewById(R.id.fondo); r=(ToggleButton)findViewById(R.id.togglebutton1); v=(ToggleButton)findViewById(R.id.togglebutton2); a=(ToggleButton)findViewById(R.id.togglebutton3); r.setOnCheckedChangeListener(this);
  • 41. 41 v.setOnCheckedChangeListener(this); a.setOnCheckedChangeListener(this); } Aqui vamos a poner lo que cada caso va a hacer con ayuda del switch public void onCheckedChanged(CompoundButton v, boolean isChecked){ switch(v.getId()){ case R.id.togglebutton1: if(isChecked){ rj="FF"; color="#"+rj+vr+az; cont.setBackgroundColor(Color.parseColor(color)); } else{ rj="00"; color="#"+rj+vr+az; cont.setBackgroundColor(Color.parseColor(color)); } break; case R.id.togglebutton2: if(isChecked){ vr="FF"; color="#"+rj+vr+az; cont.setBackgroundColor(Color.parseColor(color)); } else{ vr="00"; color="#"+rj+vr+az; cont.setBackgroundColor(Color.parseColor(color)); } break; case R.id.togglebutton3: if(isChecked){ 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 stub return null; } }
  • 42. 42 CheckBox: Aquí empezamos nuestra aplicación de CheckBox, esta es nuestra interfaz grafica: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="#00FFCC" tools:context=".MainActivity" > En esta parte solo ponemos la parte que queremos que el usuario lea: <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="Recursos Forestales" android:textColor="#FF0063" android:textSize="50sp" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="10sp" android:hint="1.¿Que es un Recurso Forestal?" android:textColor="#FFFFFF" android:textSize="15sp" /> Aqui pones nuestras opciones los cuales son los CheckBox, en esta funcion podemos elegir mas de una opcion. <CheckBox android:id="@+id/cereala" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15sp" android:hint="Es una parte del los arboles" android:textSize="10sp" /> <CheckBox android:id="@+id/cerealb" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15sp" android:hint="Forma parte del ecosistema" android:textSize="10sp" /> <CheckBox android:id="@+id/cerealc" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15sp" android:hint="Es aquello que se obtiene de los bosques"
  • 43. 43 android:textSize="10sp" /> </LinearLayout> Codigo en java: package valeria.checkbox; Estan son las librerias: import android.os.Bundle; import android.app.Activity; import android.view.View; import android.view.View.OnClickListener; import android.widget.CheckBox; import android.widget.Toast; Nuestra clase: public class MainActivity extends Activity implements OnClickListener{ String message = ""; Declaramos variables: private CheckBox a, b, c; Ponemos las variables de xml con las de java: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); a = (CheckBox) findViewById(R.id.cereala); b = (CheckBox) findViewById(R.id.cerealb); c = (CheckBox) findViewById(R.id.cerealc); a.setOnClickListener(this); b.setOnClickListener(this); c.setOnClickListener(this); } Aqui ponemos un switch para poner las respues correctas que pusimos para los CheckBox con un mensaje par aver si la respuesta correcta o no: @Override public void onClick(View arg0) { switch (arg0.getId()) { case R.id.cereala: message = "Tu respuesta es incorrecta"; Toast.makeText(this, message, Toast.LENGTH_SHORT).show(); break; case R.id.cerealb:
  • 44. 44 message = "Tu respuesta es incorrecta"; Toast.makeText(this, message, Toast.LENGTH_SHORT).show(); break; case R.id.cerealc: message = "Tu respuesta es correcta"; Toast.makeText(this, message, Toast.LENGTH_SHORT).show(); break; } } RadioButton: Aqui empezamos nuestra aplicacion de RadioButton,ya sabemos que aqui hacemos la interfaz grafica: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="20dp" android:id="@+id/text" android:text="ChooseText" /> Esta parte es muy importante porque es la que nos agrupa los RadioButton, es decir, pueden ponerte cualquier pregunta y tu como usuario solamente puedes escoger una respuesta. <RadioGroup android:id="@+id/myRadioGroup" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:background="#fff035" android:checkedButton="@+id/sound" > <RadioButton android:id="@+id/sound" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Sound" /> <RadioButton android:id="@+id/vibration"
  • 45. 45 android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="vibration" /> <RadioButton android:id="@+id/silent" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="silent" /> </RadioGroup> <Button android:id="@+id/chooseBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/myRadioGroup" android:layout_alignParentTop="true" android:text="Choose" /> </LinearLayout> Este es nuestro codigo en java: package valeria.radiobutton; Estas son las librerias: import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.RadioGroup.OnCheckedChangeListener; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends Activity { Declaramos lo que pusimos en el codigo xml. private RadioGroup radioGroup; private RadioButton sound,vibration,silent; private Button button; private TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
  • 46. 46 setContentView(R.layout.activity_main); radioGroup=(RadioGroup)findViewById(R.id.myRadioGroup); radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener(){ @Override public void onCheckedChanged(RadioGroup group, int checkedId){ if(checkedId == R.id.silent){ Toast.makeText(getApplicationContext(), "choice: silent", Toast.LENGTH_SHORT).show(); }else if(checkedId== R.id.sound){ Toast.makeText(getApplicationContext(), "choice: sound", Toast.LENGTH_SHORT).show(); }else{ Toast.makeText(getApplicationContext(), "choise: vibration", Toast.LENGTH_SHORT).show(); } } }); sound =(RadioButton)findViewById(R.id.sound); vibration =(RadioButton)findViewById(R.id.vibration); silent =(RadioButton)findViewById(R.id.silent); textView =(TextView)findViewById(R.id.text); button=(Button)findViewById(R.id.chooseBtn); button.setOnClickListener(new OnClickListener(){ Aqui ponemos en mensaje segun la opcion que escogamos: @Override public void onClick(View v){ int selectedId=radioGroup.getCheckedRadioButtonId(); if(selectedId== sound.getId()){ textView.setText("You Chose 'sound' option"); }else if(selectedId ==vibration.getId()){ textView.setText("You Chose 'Vibration' option"); }else{ textView.setText("You chose 'silent' option"); } } }); } }
  • 47. 47 ProgressBar: Este es nuestro código de progressbar,el cual se utiliza para descargar cosas: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/sa" android:orientation="vertical" > Este boton es el que va a dar funcion al ProgressBar, es decir, cuando el usuario le haga click o lo toque, inmediatamente empezara la descarga. <Button android:id="@+id/btnStartProgress" android:layout_width="match_parent" android:layout_height="81dp" android:text="Descargar Imagen" /> Este es el texto que te aparecera cuando termine la descarga: <TextView android:id="@+id/text" android:layout_width="match_parent" android:layout_height="19dp" android:layout_marginBottom="10dp" android:text="Imagen Guardando" /> <ImageView android:id="@+id/imghh" android:layout_width="match_parent" android:layout_height="19dp" /> </LinearLayout> Este es nuestro código en java: package valeria.progressbar; Estas son las librerias: import android.app.Activity; import android.app.ProgressDialog; import android.os.Bundle; import android.os.Handler; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; public class MainActivity extends Activity {
  • 48. 48 Aqui declaramos variables: TextView Texto; ImageView imghh; Button btnStartProgress; ProgressDialog progressBar; private int progressBarStatus = 0; private Handler progressBarHandler = new Handler(); private long fileSize = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imghh=(ImageView)findViewById(R.id.text); addListenerOnButton(); } Aqui le ponemos la funcion del progressbar public void addListenerOnButton() { btnStartProgress = (Button) findViewById(R.id.btnStartProgress); btnStartProgress.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { // prepare for a progress bar dialog progressBar = new ProgressDialog(v.getContext()); progressBar.setCancelable(true); progressBar.setMessage("Imagen Descargando ..."); progressBar.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); progressBar.setProgress(0); progressBar.setMax(100); progressBar.show(); progressBarStatus = 0; fileSize = 0; new Thread(new Runnable() { public void run() { while (progressBarStatus < 100) { progressBarStatus = doSomeTasks(); try {
  • 49. 49 Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } progressBarHandler.post(new Runnable() { public void run() { progressBar.setProgress(progressBarStatus); } }); } if (progressBarStatus >= 100) { try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } progressBar.dismiss(); } } }).start(); } }); } public int doSomeTasks() { while (fileSize <= 1000000) { fileSize++; if (fileSize == 100000) { return 10; } else if (fileSize == 200000) { return 20; } else if (fileSize == 300000) { return 30; } if(fileSize==1000000){ imghh.setImageResource(R.drawable.historia); }
  • 50. 50 } return 100; } } Spinner: Aquí empieza nuestra aplicación con Spinner,el Spinner en si es una lista desplegable: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#ccc" android:orientation="vertical" tools:context=".MainActivity" > Aqui vamos a poner la pregunta o texto que le queramos hacer al usuario: <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:gravity="center" android:text="Selecciona una opcion" android:textColor="#000" android:textSize="15sp" /> Aqui vamos a poner los Spinner que vamos a utilizar: <Spinner android:id="@+id/sp1" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="10sp" android:layout_weight="1" android:textSize="15sp" /> <Spinner android:id="@+id/sp2" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="10sp" android:layout_weight="1" android:textSize="15sp" />
  • 51. 51 Aqui nos va a imprimir la opcion que en este caso son imagenes segun las que queramos ver: <ImageView android:id="@+id/image" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="10sp" android:layout_weight=".7" android:background="#333" /> </LinearLayout> Este es el código en java: package valeria.spinnerr; Estas son las librerias: import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ArrayAdapter; import android.widget.ImageView; import android.widget.Spinner; public class MainActivity extends Activity implements OnItemSelectedListener { Declaramos los Spinner que utilizaremos y las demas funciones: Spinner sp1, sp2; ImageView img; ArrayAdapter<String> a, a1, a2, a3, a4, a5; int sel2 = 0; Ponemos las opciones que tendra cada Spinner: String[] opcMarca = new String[] { "VolksWagen", "Ford", "Nissan", "Honda", "BMW" }; String[] opcVW = new String[] { "Caribe", "Atlantic", "Golf", "Jetta", "Bora" }; String[] opcFord = new String[] { "Mustang", "Fusion", "Fiesta", "Lobo", "Ikon" }; String[] opcNissan = new String[] { "NP300", "Sentra", "Altima", "X- Terra", "Frontier" }; String[] opcHonda = new String[] { "Civic", "Accord", "CRV", "Odyssey", "Pilot" }; String[] opcBMW = new String[] { "Sedan", "Coupe", "Roadster", "i3", "i8" }; @Override
  • 52. 52 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); sp1 = (Spinner) findViewById(R.id.sp1); sp2 = (Spinner) findViewById(R.id.sp2); img = (ImageView) findViewById(R.id.image); sp1.setOnItemSelectedListener(this); sp2.setOnItemSelectedListener(this); a = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, opcMarca); a1 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, opcVW); a2 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, opcFord); a3 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, opcNissan); a4 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, opcHonda); a5 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, opcBMW); sp1.setAdapter(a); sp2.setAdapter(a1); } Aqui imprimimos la imagen, segun la opcion que escogamos, usamos un switch y imprimimos las imágenes con las case: @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) { 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:
  • 53. 53 img.setImageResource(R.drawable.jetta); break; case 4: img.setImageResource(R.drawable.bora); break; } break; case 1: sp2.setAdapter(a2); sel2 = sp2.getSelectedItemPosition(); switch (sel2) { case 0: img.setImageResource(R.drawable.mustang); break; case 1: img.setImageResource(R.drawable.fusion); break; case 2: img.setImageResource(R.drawable.fiesta); break; case 3: img.setImageResource(R.drawable.lobo); break; case 4: img.setImageResource(R.drawable.ikon); break; } break; case 2: sp2.setAdapter(a3); sel2 = sp2.getSelectedItemPosition(); switch (sel2) { case 0: img.setImageResource(R.drawable.np300); break; case 1: img.setImageResource(R.drawable.sentra); break; case 2: img.setImageResource(R.drawable.altima); break; case 3: img.setImageResource(R.drawable.xterra); break; case 4: img.setImageResource(R.drawable.frontier); break; } break; case 3: sp2.setAdapter(a4); sel2 = sp2.getSelectedItemPosition(); switch (sel2) { case 0: img.setImageResource(R.drawable.crv);
  • 54. 54 break; case 1: img.setImageResource(R.drawable.accord); break; case 2: img.setImageResource(R.drawable.crv); break; case 3: img.setImageResource(R.drawable.odysey); break; case 4: img.setImageResource(R.drawable.pilot); break; } break; case 4: sp2.setAdapter(a5); sel2 = sp2.getSelectedItemPosition(); switch (sel2) { case 0: img.setImageResource(R.drawable.sedan); break; case 1: img.setImageResource(R.drawable.coupe); break; case 2: img.setImageResource(R.drawable.roadster); break; case 3: img.setImageResource(R.drawable.i3); break; case 4: img.setImageResource(R.drawable.i8); break; } break; } break; } } @Override public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub } }
  • 55. 55 WebView: Esta es la aplicación del WebView, esta te manda a la dirección de internetque este en el código: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <WebView android:id="@+id/webView" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout> Codigo en java: package valeria.webview; import android.app.Activity; import android.os.Bundle; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); WebView myWebView = (WebView) this.findViewById(R.id.webView); Aqui lo unico que vamos a hacer es declara la pagina de internet a la cual nos van a mandar: WebSettings webSettings = myWebView.getSettings(); webSettings.setJavaScriptEnabled(true); myWebView.setWebViewClient(new WebViewClient()); myWebView.loadUrl("https://www.youtube.com/watch?v=u_0E5Tm5KhU"); } }
  • 56. 56 TimePicker: Esta es nuestra interfaz grafica del TimePicker, este lo que hace es que te permite cambiar la hora; <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:background="#F26068" tools:context=".MainActivity" > <Chronometer android:id="@+id/chronometer1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="136dp" android:text="Chronometer" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/chronometer1" android:layout_centerHorizontal="true" android:layout_marginTop="22dp" android:text="Start" android:background="#FFFFFF"/> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/button1" android:layout_below="@+id/button1" android:layout_marginTop="26dp" android:text="Pause" android:background="#FFFFFF"/> </RelativeLayout> Codigo en java: package valeria.timepicker; Estas son nuestras librerias: import android.os.Bundle;
  • 57. 57 import android.os.SystemClock; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Chronometer; public class MainActivity extends Activity implements OnClickListener { Aqui declaramos las funciones que pusimos en en codigo xml: Button startChrono; Button pauseChrono; Chronometer chrono; long time = 0; Aqui enlazamos variables: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); startChrono = (Button)findViewById(R.id.button1); pauseChrono = (Button)findViewById(R.id.button2); chrono = (Chronometer)findViewById(R.id.chronometer1); startChrono.setOnClickListener(this); pauseChrono.setOnClickListener(this); } @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; } Aqui ponemos lo que ara cada una con el switch y poniendo los case: @Override public void onClick(View arg0) { // TODO Auto-generated method stub switch(arg0.getId()){ case R.id.button1: chrono.setBase(SystemClock.elapsedRealtime()+time); chrono.start(); break; case R.id.button2: time =chrono.getBase()-SystemClock.elapsedRealtime(); chrono.stop(); break; }}}
  • 58. 58 DatePicker: Aqui empieza nuestro codigo xml, el DatePicker lo que nos va a hacer una tipo agenda: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="#FF8754" tools:context=".MainActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Presione para modificar" /> <TextView android:id="@+id/estaciones" android:layout_width="wrap_content" android:layout_height="wrap_content" /> Aqui declaramos un DatePicker de esta manera: <DatePicker android:id="@+id/dp" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button android:id="@+id/set" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="set" /> </LinearLayout> Codigo en java: package valeria.datepicker; Estas son las librerías: import android.os.Bundle; import android.app.Activity; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.DatePicker; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends Activity implements OnClickListener { TextView estaciones;
  • 59. 59 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); estaciones = (TextView) findViewById(R.id.estaciones); estaciones.setOnClickListener(this); final DatePicker dp = (DatePicker) findViewById(R.id.dp); final Button setBtn = (Button) findViewById(R.id.set); setBtn.setOnClickListener(new OnClickListener() { Aqui declaramos un mensaje segun la fecha que hayas presionado, sera de corta duracion. @Override public void onClick(View v) { Toast.makeText( MainActivity.this, dp.getDayOfMonth() + "" + dp.getMonth() + "" + dp.getYear(), Toast.LENGTH_SHORT).show(); int dia = dp.getDayOfMonth(); int mes=dp.getMonth(); Aqui declaramos con las condiciones lo que pasara en esos dias, segun lo que nosotros pongamos en nuestra agende: if(mes>=11 && dia>=25 ){ estaciones.setText(" Es navidad "); } if(mes>=10 && dia>=2){ estaciones.setText(" Es Halloween "); } if(mes>=8 && dia>=16 ){ estaciones.setText(" Dia de la independencia de Mexico"); } if(mes>=0 && dia>=6 ){ estaciones.setText("Dia de Reyes Magos "); } }
  • 60. 60 }); } @Override public void onClick(View arg0) { // TODO Auto-generated method stub } }