Este documento presenta el código para una aplicación móvil que permite seleccionar colores mediante códigos hexadecimales. Incluye la interfaz gráfica con TextViews y SeekBars para mostrar y seleccionar los valores del rojo, verde y azul. El código Java obtiene los valores de los componentes de color y genera el código hexadecimal correspondiente.
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" />
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.
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" />
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"
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" >
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"
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);
}
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"
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 {
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 ");
}
}