SlideShare una empresa de Scribd logo
1 de 136
Descargar para leer sin conexión
MANUAL
DE
APLICACINES
AMDROID
Martin Martinez Santillan
CECYTEM TECAMAC
INDICE
INTRODUCCION…………………………………………….3
HOLA MUNDO…………………………………………….4
OPERACIONES…………………………………………….10
IMC……………………...........................................18
COLORHEX………………………………………………….24
PHONEGAP…………………………………………………32
BD INSERTAR, ELIMINAR,
MODIFICAR, CONSULTAR…………………………36
LISTVIEW………………………………………………….49
MENU………………………………………………………53
TABHOST…………………………………………………..58
CANVAS……………………………………………………..64
SONIDOS DE ANIMALES………………………………71
VIDEOVIEW…………………………………………………80
NOTIFICACIONES-RADIOBUTTON…………………87
CHECKBOX………………………………………………......95
PROGRESSBAR………………………………………………102
SPINNER……………………………………………………….110
Webview……………………………………………………….117
Timepicker…………………………………………………….124
TOGGLEBUTTON……………………………………………..130
INTRODUCCION:
CON ESTE MANUAL APRENDERAS DESDE NADA HASTA LO MAS BASICO DE
ANDROID ASI PODRAS CREAR APLICACIONES QUE TE PUEDAN HACER DE
MUCHA AYUDA Y LO MAS IMPORTANTE APRENDER A PROGRAMAR CON
ANDROID.
ANDROID: ANDROID: ES LO QUE LE UN TIPO DE TELEFONO MINTELIGUENTE
QUE SACO ANDROID PARA HACERLE COMPETENCIA AL IPHON ESTOS TIENE
DIFERENTES APIS LAS CUALES LLEVAN NOBRES DE DULCES.
AQUÍ TENDREMOS UN PEQUEÑO CURSO DE ANDROID QUE NOS SIRVE
PARA MUCHO AQUÍ APRENDERAS A PROGAMAR CON ADT ECLIPSE CON
ANDROID LA FORMA DE PROGRAMACION CON JAVA.
HOLA MUNDO
LO PRIMERO QUE DEBE MOS HACER ES CREAR EL PROYECTO
DANDOLE EN FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT
DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMPLE POR
EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA
SIGUIENTE VENTANA
DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE
ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y
CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA
O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI
ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL
FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA
Y DARLE FINISH.
LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD
DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS
UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA
Lo que haremos será irnos a activity_main.xml o como lo hayas nombrado
pero XML Y LO TENDRAS QUE DEJAR ASI
LO QUE HICIMOS FUE CAMBIAR LOS RELATIVE POR UN LINEAR A LO CUAL
OBLIGATORIAMENTE LE TENEMOS QUE DAR UNA ORIENTACION AUNQUE
EN ESTA OCACION NO LA OCUPEMOS PERO ASI DE VE SER LE PUSE UN
FONDO DENTRO DEL LINEAR ASI PARA QUE LO HAGA EN TODA LA
PANTALLA DESPUES EL TEXTVIEW LE DIMOS UN WIDTH Y UN HEIGHT PARA
QUE OCUPRA TODA LA PANTALLA OCUPE UN GRAVITY PARA CENTRARLO
BIENY EL TEXT PARA DAR EL MENSAJE Y EL TEXTSIZE PARA EL TAMAÑO Y
QUEDARA ASI.
Y EL JAVA NO LO MOVEREMOS NADA SE QUEDARA ASI
EL CODIGO XML SERIA ESTE:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/fondi" >
<TextView
android:id="@+id/text1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Hola Mundo"
android:textSize="45sp"
android:gravity="center"/>
</LinearLayout>
Y SU CODIGO JAVA SERIA:
package com.rare.holamundo;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class Holamundo extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_holamundo);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it
is present.
getMenuInflater().inflate(R.menu.holamundo, menu);
return true;
}
}
PRUEBA DE LA APLICACIÓN EN UN CELULAR CO CAPTURA DE PANTALLA:
CONCLUCION:
ES MUY IMPORTANTE EMPEZAR DE CERO Y COMPRENDER DESDE CERO
HASTA LO MAS BASICO ASI COMO USAR LINEAR PONER FONDOS E
IMPRIMIR ALGO.
OPERACIONES:
LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN
FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT
DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR
EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA
SIGUIENTE VENTANA
DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE
ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y
CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA
O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI
ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL
FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA
Y DARLE FINISH.
LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD
DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS
UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA
LA PANTALLA DEBERIA
QUEDAR ASI:
EL CODIGO CONTIENE DOS EDITTEXT QUE SON PARA QUE EL USUSARIO
INTRODUSCA LOS NUMEROS PARA HACER LAS OPERACIONES Y UN BOTON
AL CUAL LE IMPLEMENTE UN METODO ON CLICK PARA QUE EN EL JAVA NO
OCUPEMOS EL METODO ONCLICKLISTENENER Y D LE DEMOS UN PROCESO
A ACADA UNO DE ESTOS.
EL CODIGO XML SERIA ESTE:
<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" >
<EditText
android:id="@+id/edt1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="numero 1"
android:numeric="decimal"/>
<EditText
android:id="@+id/edt2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="numero 2"
android:numeric="decimal"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/sum"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="suma"
android:text="suma" />
<Button
android:id="@+id/res"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="resta"
android:text="resta" />
<Button
android:id="@+id/mul"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="multiplicar"
android:text="multiplicar" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/divicion"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="dividir"
android:text="dividir" />
<Button
android:id="@+id/bor"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="borrar"
android:text="borrar" />
</LinearLayout>
<EditText
android:id="@+id/resul"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Resultado"/>
</LinearLayout>
EL JAVA SERIA ESTE :
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
ESTAS SON LAS LIBRERIAS QUE VAMOS A OCUPARA PARA
HACER LA APPLICACION.
public class MainActivity extends Activity {
EditText num1, num2;
Button suma, resta, multiplicar, dividir, borrar;
TextView resultado;
AQUÍ DECLARAMOS LO QUE VAMOS A USAR EDITTEXT LOS
BOTONES Y EL TEXT VIEW QUE NOS DARA EL RESULTADO.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
num1=(EditText) findViewById(R.id.edt1);
num2=(EditText) findViewById(R.id.edt2);
suma=(Button) findViewById(R.id.sum);
resta=(Button) findViewById(R.id.res);
multiplicar=(Button) findViewById(R.id.mul);
dividir=(Button) findViewById(R.id.divicion);
borrar=(Button) findViewById(R.id.bor);
resultado=(TextView) findViewById(R.id.resul);
AQUÍ ES DONDE ENLASAMOS EL CODIGO XML JUNTO CON EL
JAVA.
}
LOS PUBLIC QUE TENEMOS LO DEL METODO ON CLICK Y SI
LE DAMOS UN PROCESO A CADA BOTON.
public void suma(View v){
float a=Float.parseFloat(num1.getText().toString());
float b=Float.parseFloat(num2.getText().toString());
float c=a+b;
resultado.setText("la suma es: "+c );
}
public void resta(View v){
float a=Float.parseFloat(num1.getText().toString());
float b=Float.parseFloat(num2.getText().toString());
float c=a-b;
resultado.setText("la resta es: "+c );
}
public void multiplicar(View v){
float a=Float.parseFloat(num1.getText().toString());
float b=Float.parseFloat(num2.getText().toString());
float c=a*b;
resultado.setText("la multiplicacion es: "+c );
}
public void dividir(View v){
float a=Float.parseFloat(num1.getText().toString());
float b=Float.parseFloat(num2.getText().toString());
float c=a/b;
resultado.setText("la divicion es: "+c );
}
LO QUE HICIMOS EN LOS METODOS FUE JALAR LOS VALORES
QUE HAY EN LA CAJA DE TEXTO Y COVERTIRLOS A NUMERO
PARA PODER HACER LA OPERACIÓN Y EN TODOS SOLO
CAMBIAMOS EL SIMBOLO SEGÚN LA CUENTA E IMPRIMIMOS EL
RESULTADO EN EL TEXTVIEW.
public void borrar(View v){
num1.setText("");
num2.setText("");
resultado.setText("");
}
EN EL DE BORRARLO QUE HICIMOS SIMPLEMENTE BORRAR
TODO LO QUE HAYA EN LOS TEXTVIEW PARA PONER NUEVOS
VALORES.
}
PRUEBAS DE LA APPLICACION EN FUNCIONAMIENTOCON CAPTURAS DE
PANTALLA:
CONCLUCION: EN CONCLUCIO APRENDIMOS A USAR EL METODO ONCLICK
EN INTERFAST PARA NO HACERLO CON OTRO EN EL JAVA A JALAR LO QUE
HAY EN LOS EDITTEXT E IMPRIMIR RESULTADO.
IMC:
LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN
FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT
DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMPLE POR
EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA
SIGUIENTE VENTANA
DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE
ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y
CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA
O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI
ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL
FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA
Y DARLE FINISH.
LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD
DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS
UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA
Asi es como debería quedar la pantalla:
EL CODIGO XML DEBERIA QUEDAR ASI:
<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" >
UTILIZAMOS EL LINEAR LA YOUT PARA ALINEAR LO QUE
UTILIZARIAMOS.
<EditText
android:id="@+id/peso"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="peso en kg"
android:numeric="decimal"/>
<EditText
android:id="@+id/estatura"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="estatura en m"
android:numeric="decimal"/>
LOS EDITTEXT SON PARA QUE EL USUARIO INTRODUSCA LOS
VALORES QUE SE NECESITAN Y COMO USAMOS PUROS NUMEROS
POR ESO UTILIZAMOS EL NUMERICY EL HINT ES PARA DECIR
LO QUE LLEVA AHÍ PERO NO ALTERARA NADA.
<Button
android:id="@+id/calcula"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="calcular"
android:onClick="cal" />
EL BOTON TIENE UN METODO LLAMADO ONCLICK PARA QUE EN
EL CODIGO JAVA NO UTILICEMOS EL ONCLICLISTENER Y ASI
UTILIZAR UN VOID PARA EL PROPIO BOTON.
<TextView
android:id="@+id/resultado"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Resultado"/>
</LinearLayout>
EL TEXTVIEW ES PARA IMPRIMIR EL RESULTADO DEL IMC
ESTE ES EL CODIGO JAVA:
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
AQUÍ ES DONDE COLOCAMOS LAS LIBRERIAS QUE OCUPAREMOS
PARA REALIZAR NUESTRAS APPLICACION.
public class MainActivity extends Activity {
EditText pes, alt;
Button cal;
TextView res;
AQUÍ DECLARAMOS LO QUE VAMOS A UTILIZAR.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pes=(EditText) findViewById(R.id.peso);
alt=(EditText) findViewById(R.id.estatura);
cal=(Button) findViewById(R.id.calcula);
res=(TextView) findViewById(R.id.resultado);
AQUÍ ES DONDE CONECTAMOS EL XML CON LAS VARIABLES
DECLARADAS EN EL JAVA.
}
EL PUBLIC LOS HACEMOS CON EL CAL POR EL METODO YA
DADO EN EL ONCLICK DECLARADO EN EL XML.
public void cal(View v){
float a=Float.parseFloat(pes.getText().toString());
float b=Float.parseFloat(alt.getText().toString());
float c=b*b;
float d=a/c;
res.setText("tu imc es de:"+d);
}
EL PRECESO CONSISTE EN JALAR LOS VALORES QUE HAY EN
LA CAJA DE TEXTO Y CONVERTIRLA A LA UNIDAD NUMERICA
DE FLOAT REALIZAR LAS OPERACIONES COORESPONDIENTES E
IMPRIMIR EL REULTADO.
}
PRUEBAS DE LA APPLICACION EN FUNCIONAMIENTOCON CAPTURAS DE
PANTALLA:
CONCLUCION:
PZ APRENDIMOS A USAR AHORA SI EL METODO ONCLICKLISTENER PARA
PODE HACERLO CON LOS CASE EL SWTCH Y HACER UNA OPERACIÓN E
IMPRIMI.
RGBtoHex:
LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN
FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT
DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR
EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA
SIGUIENTE VENTANA
DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE
ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y
CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA
O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI
ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL
FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA
Y DARLE FINISH.
LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD
DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS
UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA
Asi es como se debería ver la pantalla:
EL CODIGO XML ES:
<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" >
<EditText
android:id="@+id/trojo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5sp"
android:layout_weight="1"
android:text="Rojo"
android:textSize="25sp"/>
<EditText
android:id="@+id/vrojo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5sp"
android:layout_weight="1"
android:text="R:"
android:textSize="25sp"/>
ESTE EDITTEXT NOS DA EL VALOR QUE CONYEVARA EL
SEEKBAR DEL ROJO.
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<SeekBar
android:id="@+id/rojo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5sp"
android:layout_weight="1"
android:max="255"
android:progress="1"
android:indeterminate="false"/>
EL SEEKBAR ES UNA BARRA QUE DA UN VALOR AQUÍ ES EL
COLOR ROJO.
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<EditText
android:id="@+id/tverde"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5sp"
android:layout_weight="1"
android:text="Verde "
android:textSize="25sp"/>
<EditText
android:id="@+id/vverde"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5sp"
android:layout_weight="1"
android:text="G:"
android:textSize="25sp"/>
ESTE EDITTEXT NOS DA EL VALOR QUE CONYEVARA EL
SEEKBAR DEL VERDE.
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<SeekBar
android:id="@+id/verde"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5sp"
android:layout_weight="1"
android:max="255"
android:progress="1"
android:indeterminate="false"/>
EL SEEKBAR ES UNA BARRA QUE DA UN VALOR AQUÍ ES EL
COLOR VERDE.
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<EditText
android:id="@+id/tazul"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5sp"
android:layout_weight="1"
android:text="Azul"
android:textSize="25sp"/>
<EditText
android:id="@+id/vazul"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5sp"
android:layout_weight="1"
android:text="B:"
android:textSize="25sp"/>
ESTE EDITTEXT NOS DA EL VALOR QUE CONYEVARA EL
SEEKBAR DEL AZUL.
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<SeekBar
android:id="@+id/azul"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5sp"
android:layout_weight="1"
android:max="255"
android:progress="1"
android:indeterminate="false"/>
EL SEEKBAR ES UNA BARRA QUE DA UN VALOR AQUÍ ES EL
COLOR AZUL.
</LinearLayout>
<TextView
android:id="@+id/hex"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5sp"
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="5sp"
android:gravity="center"
android:text="Color"
android:background="#CCCCCC"
android:textSize="65sp"/>
</LinearLayout>
ESTE ES EL CODIGO JAVA:
import com.rare.hexadecimal.R.id;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.SeekBar;
import android.widget.TextView;
AQUÍ PONEMOS LIBRERIAS QUE OCUPAREMOS PARA REALIZAR
NUESTRA APLICACIÓN.TAMBIEN IMPLEMENTAMOS EL SEEKBAR
PARA VER LOS PROCESOS.
public class MainActivity extends Activity implements
SeekBar.OnSeekBarChangeListener{
SeekBar rojo, verde, azul;
TextView vrojo, vverde, vazul,color,hex;
int r=0, v=0, a=0;
AQUÍ DECLARAMOS LAS VARIABLE QUE VAMOS A UTILIZAR.
@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);
vrojo=(TextView) findViewById(R.id.vrojo);
vverde=(TextView) findViewById(R.id.vverde);
vazul=(TextView) findViewById(R.id.vazul);
color=(TextView) findViewById(R.id.color);
hex=(TextView) findViewById(R.id.hex);
rojo.setOnSeekBarChangeListener(this);
verde.setOnSeekBarChangeListener(this);
azul.setOnSeekBarChangeListener(this);
AQUÍ ENLASAMOS NUESTRO CODIGO JAVACON NUESTRO XML.
}
ESTOS SON LOS METODOS QUE DEBEMOS IMPLEMENTAR PARA
EL SEEKBAR. EL PROGRESS ES PARA EL PROGRESO DE LOS
SEEKBAR.
@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;
}
AQUÍ CONSEGUIMOS EL CODIGO HEXADECIMAL Y NOS LO
IMPRIME EN EL TEXTVIEW Y CAMBIA DE COLOR EL TEXTVIEW
SEGÚN SU COLOR.
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+=Integer.toHexString(r);
color+=Integer.toHexString(v);
color+=Integer.toHexString(a);
return color;
AQUÍ NOS AYUDA A PODER CONVERTIR EL CODIGO
HEXADECIMAL.
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
vrojo.setText("R: "+r);
vverde.setText("G: "+v);
vazul.setText("B: "+a);
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
vrojo.setText("R: "+r);
vverde.setText("G: "+v);
vazul.setText("B: "+a);
}
EN ESTOS DOS METODOS NOS DS LOS RESULTADOS CUANDO
INICIA Y TERMINA EL FUNCIONAMIENTO DEL SEEKBAR.
}
PRUEBAS DE LA APPLICACION EN FUNCIONAMIENTOCON CAPTURAS DE
PANTALLA:
CONCLUCION:
APRENDIMOS A USAR LOS SEEKBAR Y A CONVERTIR VALORES A
HEXADECIMAL ADEMAS DE APRENDER A CAMBIAR FONDOS:
PHONEGAP:
LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN
FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT
DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR
EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA
SIGUIENTE VENTANA
DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE
ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y
CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA
O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI
ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL
FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA
Y DARLE FINISH.
LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD
DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS
UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA
DENTRO DE LA CARPETA ASSET HAY ALGUNOS ARCHIVOS EDITAS LAS
PAGUINAS HTML EDITALAS A TU GUSTO Y CREA UNA WEB PORTABLE:
CAPTURAS DE PANTALLA DE LA APLICACIÓN YA EN FUNCION CON LA
CAPTURA DE PANTALLA:
CONCLUCION:
APRENDIMOS A HACER PAGUINA PORTABLES EN APLICACIÓN CELULAR ESTO
SIRVE MAS O MENOS PARA LEER ALGO COMO UN LIBRO O NOSE LLEVAR
SIMPLE INFORMACION.
BD INSERTAR, CONSULTAR,
ELIMINAR, BUSCAR:
LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO
DANDOLE EN FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT
DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR
EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA
SIGUIENTE VENTANA
DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE
ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y
CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA
O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI
ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL
FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA
Y DARLE FINISH.
LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD
DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS
UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA
LA PANTALLA DEBE QUEDAR ASI:
EL CODIGO XML ES ESTE:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000000"
android:orientation="vertical" >
<EditText
android:id="@+id/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" />
LOS EDITTEXT SON PARA LLENAR LOS CAMPOS DE LA TABLA
DE LA BASE DE DATOS.
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:orientation="horizontal" >
<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" />
ESTE BOTON ES PARA LLENAR LOS CAMPOSDE LA TABLA DE
LA BASE DE DATOS.
<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" />
ESTE BOTON ES PARA IMPRIMIR TODOS LOS REGISTROS DE
LA TABLA EN UN TEXTVIEW.
<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" />
ESTE BOTON ERA PARA ELIMINAR UN REGISTRO QUE SE AYA
BUSCDO SEGÚN SU UID.
</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"
android:textSize="20sp" />
ESTE EDITTEXT ES PARA PODER BUSCAR UN REGUISTRO
AYUDA DE BOTON DE BUSCAR.
<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" >
<TextView
android:id="@+id/tver"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="TextView"
android:textColor="#FFFFFF"
/>
</ScrollView>
AQUÍ IMPRIMIMOS TODOS LOS REGUISTROS DE LA TABLA.
</LinearLayout>
ESTE ES EL CODIGO JAVA QUE ESTA DIVIDIDO EN TRES CLASES LA
PRIMERA:
EN ESTA CLASE VAMOS A CREAR LA BASE DE DATOS:
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
EL OPENHELPER NOS AYUDA A ABRIR EL MSQLITE PARA
PODER CREAR LA BASE DE DATOS
public class BaseDatos extends SQLiteOpenHelper {
public BaseDatos(Context context) {
super(context, "compu.db", null, 1);
AQUÍ LE CAMBIAMOS LO QUE LLEVA EN EL EN EL PUBLIC
BASEDATOS A CONTEXTO CONTEXTO Y EL SUPER POR EL
CONTEXTO DESPUES DE LA BASE DE DATOS
}
@Override
EL SQLITE DATABASE NOS CFREA LA TABLA COMPUS DENTRO
DE LA BASE DE DATOS CREAMOS LOS CAMPOS CON EL NOMBRE
DE LOS EDITEXT COMO VARIABLES EL ID ESTA COMO UN
AUTONUMERICO ES LA LLAVE PRIMARIA.
public void onCreate(SQLiteDatabase db) {
String sql="Create table compus(id integer primary key
autoincrement, marca text, ram text, procesador text);";
db.execSQL(sql);
}
@Override public void onUpgrade(SQLiteDatabase arg0, int arg1,
int arg2) {
}
}
DESPUES CREAMOS LOS METODOS DE ESTO CON DOS JAVAS
TE MOSTRARE COMO HACERLO EN CADA UNO PRIMERO EN
LASAMOS EN LA PRINCIPAL.
PRINCIPLA:
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class Pricipal extends Activity {
EditText eNombre, eApellido, eEdad,id;
TextView tVer;
Button insertar, ver,buscar,borrar;
int idm;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pricipal);
insertar = (Button)findViewById(R.id.insertar);
ver = (Button)findViewById(R.id.ver);
buscar = (Button)findViewById(R.id.buscar);
borrar = (Button)findViewById(R.id.borrar);
eNombre = (EditText)findViewById(R.id.nombre);
id = (EditText)findViewById(R.id.id);
eApellido = (EditText)findViewById(R.id.apellido);
eEdad = (EditText)findViewById(R.id.edad);
tVer = (TextView)findViewById(R.id.tver);
}
DESPUES DECLARAMOS LAS VARIABLES QUE UTILIZAREMOS
PARALLENAR LA BD
COMPUS:
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.widget.Toast;
public class Compus {
String marca, ram , procesador;
int idn;
Context contextoEjecucion;
BaseDatos creador;
SQLiteDatabase mDatos;
public Compus (Context c){
contextoEjecucion = c;
}
public Compus abrirSqlite(){
creador = new BaseDatos (contextoEjecucion);
mDatos = creador.getWritableDatabase();
return this;
}
DESPUES EMPEZAMOS CON INSERTAR EN LA PRINCIPAL JALA
LO QUE TIENEN LOS EDITEXT POR Y LOS CONVIERTE EN UN
VALOR PARA LOS CAMPOS Y EN COMPUS LLENAMOS LOS
CAMPOS DE LA TABAL.
PRINCIPAL:
public void Insertar(View v){
String marca = eNombre.getText().toString();
String ram = eApellido.getText().toString();
String procesador = eEdad.getText().toString();
Compus p = new Compus(Pricipal.this);
p.abrirSqlite();
p.insertar(marca, ram, procesador);
p.cerrarSqlite();
}
COMPUS:
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);
}
DESPUES CONTINUAMOS CON VER EN LA PRINCIPAL ABRIMOS
LA BASE Y LA CONECTAMOS CON COMPUS Y EN COMPUS CON
EL CURSOR GENERAMOS LA CONSULTA IMPRIMIENDO TODO LO
QUE CONYEVA LA TABLA.
PRINCIPAL:
public void Ver(View v){
Compus p = new Compus(Pricipal.this);
p.abrirSqlite();
String datos=p.ver();
p.cerrarSqlite();
tVer.setText(datos);
}
COMPUS:
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;
}
DESPUES CONTINUAMOS CON BUSCAR CON AYUDA DEL ID
PODEMOS BUSCAR Y QUE NOS IMPRIMA LA INFORMACION DE
ESE ID.
PRINCIPAL:
public void Buscar(View v){
if(id.length()==0){
Toast.makeText(this,"Introduce ID",
Toast.LENGTH_LONG).show();
}else{
Compus p = new Compus(Pricipal.this);
int i=Integer.parseInt(id.getText().toString());
p.abrirSqlite();
if(p.consultar(i)==false){
Toast.makeText(this,"Registro no encontrado",
Toast.LENGTH_LONG).show();
}
idm=p.getId();
eNombre.setText(""+p.getMarca());
eApellido.setText(""+p.getRam());
eEdad.setText(""+p.getProcesador());
p.cerrarSqlite();
}
}
COMPUS:
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;
}
DESPUES CONTINUAMOS CON ELIMINAR CO EN EL ID
ELIMINAMOS LA INFORMACION DE ESTE
PRINCIPAL:
public void Borrar(View v){
Compus p = new Compus(Pricipal.this);
p.abrirSqlite();
p.elimina(idm);
p.cerrarSqlite();
Toast.makeText(this,"Registro eliminado id="+idm,
Toast.LENGTH_LONG).show();
limpiar();
}
COMPUS:
public void elimina(int id){
creador = new BaseDatos (contextoEjecucion);
mDatos = creador.getReadableDatabase();
String sql = ("delete from compus where id="+id);
mDatos.execSQL(sql);
}
DESPUES DE ESTE MODIFICAMOS SEGÚN EL ID BUSCAMOS LOS
EL REGISTRO Y CON EL UPDATE SI MODIFICAMOS ALGO LO
GUARDARA.
PRINCIPAL:
public void Modificar(View v){
String marca = eNombre.getText().toString();
String ram = eApellido.getText().toString();
String procesador = eEdad.getText().toString();
Compus p = new Compus(Pricipal.this);
p.abrirSqlite();
p.modificar(idm, marca, ram, procesador);
limpiar();
p.cerrarSqlite();
}
COMPUS:
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);
}
POR ULTIMO CERRAMOS LA BASE DE DATOS:
COMPUS:
public void cerrarSqlite(){
creador.close();
}
}
CAPTURAS DE PANTALLA DE LA APLICACIÓN YA EN FUNCION CON LA
CAPTURA DE PANTALLA:
CONCLUCION:
NOS SIRVE PARA EL MANEJO DE INFORMACION EN UNA BASE DE DATOS
QUE PODEMOS TENER EN EL CELULAR AQUÍ CON UN MANEJO DE
INFORMACION.
LISTAVIEW:
LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN
FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT
DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR
EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA
SIGUIENTE VENTANA
DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE
ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y
CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA
O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI
ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL
FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA
Y DARLE FINISH.
LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD
DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS
UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA
ASI DEBE QUEDAR LA PANTALLA:
EL CODIGO XML DEBE SER ASI:
<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">
<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:marqueeRepeatLimit="marquee_forever"
android:textSize="25sp"/>
<Button
android:id="@+id/agregar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="enter"/>
</LinearLayout>
<ListView
android:id="@+id/lista"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
EN EL CODIGO SOLO TENEMOS UN EDITTEXT DONDE VAMOS A ESCRIBIR
LOS ELEMENTOS Y UN BOTON PARA AGREGARLO Y EL LISTVIEW PARA
GUARDAR LOS ELEMENTOS.
Y ESTE ES EL CODIGO JAVA:
import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.*;
public class Lista extends Activity implements OnClickListener{
EditText elemento;
ArrayList<String> elementos;
Button btn;
ListView lista;
ArrayAdapter<String> adaptador;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lista);
lista = (ListView) findViewById(R.id.lista);
elemento = (EditText) findViewById(R.id.elemento);
btn = (Button) findViewById(R.id.agregar);
elementos = new ArrayList<String>();
adaptador = new ArrayAdapter(this,
android.R.layout.simple_list_item_1, elementos);
lista.setAdapter(adaptador);
btn.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if(v.getId()==R.id.agregar){
elementos.add(elemento.getText().toString());
elemento.setText("");
adaptador.notifyDataSetChanged ();
}
}
}
EL METODO ONCLICK VA A MANDAR LO QUE AHÍ EN EL EDITTEXT PARA
GUARDALO EN EL LISTVIEW COMO UN TIPO DE ARREGLO Y DE PASO LIMPIE
EL EDITEXT AQUÍ EN LA CAPTURA DE PANTAALLA VE LA FUNCION DE LA
APLICACIÓN:
CONCLUCION:
EN ESTE APRENDIMOS A HACER UN LISTADO DE LAGUNAS COSAS ASI Y
TENERLO ALA MANO ALGO ASI COMO UNA LISTA DE COMPRAS.
MENU:
LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN
FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT
DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR
EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA
SIGUIENTE VENTANA
DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE
ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y
CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA
O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI
ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL
FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA
Y DARLE FINISH.
LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD
DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS
UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA
ASI DEBE QUEDAR TU PANTALLA:
ASI DEBE QUEDAR EL CODIGO XML:
<?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:orientation="vertical"
android:background="#000000">
EL BACKGROUND ES OPCIONAL Y EL ORIENTATYION TAMBIEN
PUEDE SER HORIZONTAL
<TextView
android:id="@+id/img"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#FFFFFF"
android:text="presiona la tecla menu y eligue alguna
n opcion para que veas la funcion"/>
EL TEXTVIEW ES PARA DAR LA INSTRUCCIÓN DEL QUE
HACER.
</LinearLayout>
EL CODIGO JAVA DEBERUIA QUEDAR ASI:
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ImageView;
import android.widget.TextView;
AQUÍ PONEMOS LA LIBRERIAS QUE VAMOS A UTILIZAR EN LA
APLICACIÓN.
public class MenusActivity extends Activity {
TextView img;
AQUÍ DECLARAMOS LA VARIABLES QUE UTILIZAREMOS.
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
img=(TextView) findViewById(R.id.img);
AQUÍ ENLASAMOS EL CODIGO JAVA CON EL XML.
}
@Override
public boolean onCreateOptionsMenu(Menu menu){
super.onCreateOptionsMenu(menu);
MenuItem item1= menu.add(0,1,1,"Opción 1");
MenuItem item2= menu.add(0,2,2,"Opción 2");
MenuItem item3= menu.add(0,3,3,"Opción 3");
MenuItem item4= menu.add(0,4,4,"Opción 4");
CREAMOS LOS MENUSUTEMS QUE VAYAMOS A UTILIZAR EN
ESTA APP.
item1.setIcon(R.drawable.deli);
item2.setIcon(R.drawable.exe1);
item3.setIcon(R.drawable.exe2);
item4.setIcon(R.drawable.exe3);
AQUÍ SIMPLEMENTE LES ASIGNAMOS UN ICONITO.
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
int id= item.getItemId();
img.setText("n eliguiste la opcion:"+id);
return true;
AQUÍ NOS IMPRIMIRA EL MENU ELEGUIDO.
}
}
PRUEBAS DE QUE LA APLICACIÓN FUNCINE BIEN CON CAPTURAS DE
PANTALLA:
CONCLUCION:
PUES ESTOS SON DE MUCHA AYUDA YA QUE CON ELLOS PODEMOS
EJECUTAR ACCIONES QUE NO SON DE MUCHA UTILIDAD PARA NUESTRA
APLICACIÓN.
TABHOST:
LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN
FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT
DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR
EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA
SIGUIENTE VENTANA
DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE
ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y
CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA
O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI
ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL
FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA
Y DARLE FINISH.
LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD
DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS
UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA
LA PANTALLA DEBE QUEDAR ASI:
EL CODIGO XML DEBERIA QUEDAR ASI:
<?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" >
<TabHost
android:id="@android:id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent" >
EL TABSHOST ES PARA COLOCAR LAS PESTAÑAS QUE SE VAYAN A UTILIZAR.
<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" >
AQUÍ NOS DA LAS TABLAS QUE SE VAN A DAR DENTRO DEL TABHOST.
</TabWidget>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="match_parent" >
AQUÍ VA EL CONTENIDO DEL TABHOST OSEA DE CADA TABLA.
<LinearLayout
android:id="@+id/tab1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<EditText
android:id="@+id/et1"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
EN ESTE LINEAR VA EL CONTEBIDO DEL PRIMERA PESTAÑA.
</LinearLayout>
<LinearLayou
android:id="@+id/tab2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Muestra" />
EN ESTE LINEAR VA EL CONTEBIDO DEL SEGUNDA PESTAÑA.
</LinearLayout>
<LinearLayout
android:id="@+id/tab3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tercer pestana" />
EN ESTE LINEAR VA EL CONTEBIDO DEL TERCERA PESTAÑA.
</LinearLayout>
</FrameLayout>
</LinearLayout>
</TabHost>
</LinearLayout>
EL CODIGO JAVA DEBERIA QUEDAR ASI:
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.TabHost;
import android.widget.TabHost.TabSpec;
AQUÍ PONEMOS LAS LIBRERIAS QUE VAMOS A UTILIZAR PARA LA
APLICACIÓN.
public class MainActivity extends Activity {
TabHost tabHost;
AQUÍ VAMOS A DECLARAR SOLO EL TABHOST PORQUE ES LO QUE
CONTIENE TODO.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tabHost=(TabHost) findViewById(android.R.id.tabhost);
JUNTAMOS EL TABHOST DEL XML PARA PODER OCUPARLO.
tabHost.setup();
TabSpec ts1=tabHost.newTabSpec("tab1");
ts1.setIndicator("edt");
ts1.setContent(R.id.tab1);
tabHost.addTab(ts1);
Y AQUÍ OCUPAMOS TODO LO QUE CONLLEVA CADA TABLA SEGÚN SU
LINEAR Y EL FRAME.
tabHost.setup();
TabSpec ts2=tabHost.newTabSpec("tab2");
ts2.setIndicator("btn");
ts2.setContent(R.id.tab2);
tabHost.addTab(ts2);
Y AQUÍ OCUPAMOS TODO LO QUE CONLLEVA CADA TABLA SEGÚN SU
LINEAR Y EL FRAME.
tabHost.setup();
TabSpec ts3=tabHost.newTabSpec("tab3");
ts3.setIndicator("texv");
ts3.setContent(R.id.tab3);
tabHost.addTab(ts3);
Y AQUÍ OCUPAMOS TODO LO QUE CONLLEVA CADA TABLA SEGÚN SU
LINEAR Y EL FRAME.
}
}
SI DESEAS OCUPAR ALGUN METODO LO HACES NORMALMENTE YA QUE
PARA ESO SON LOS LINEAR Y EL FRAME.
AQUÍ PRUEBAS DE QUE LA APLICACIÓN ESTE FUNCIONANDO BIEN
CON MUESTRAS COMO CAPTURAS DE PANTALLA:
CONCLUCION:
ESTA HERRAMIENTA ES MUY UTIL PARA PODER METER MAS DE UNA
PANTALLA EN UN SOLO ACTIVITY.
CANVAS:
LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN
FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT
DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR
EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA
SIGUIENTE VENTANA
DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE
ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y
CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA
O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI
ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL
FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA
Y DARLE FINISH.
LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD
DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS
UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA
En el activity no vas hacer absolutamente nada ni en el java crearas un
nuevo java con el mismo nombre que será igual al otro solo le aumentaras
view:
Y te aparecesera el nuevo java que lucirá vacio:
El código será el siguiente:
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;
primero aumentas todas las librerías ya que no taniamos ninguna.
Después le aumentas el extends view lo cual pedirá un constructo y se lo
daras.
public class DrawingView extends View{
Paint paint = new Paint();
public DrawingView(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public DrawingView(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
public DrawingView(Context context, AttributeSet attrs, int
defStyleAttr) {
super(context, attrs, defStyleAttr);
// TODO Auto-generated constructor stub
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
//unefecto
Cada figura que se vaya a realizarse primero abriremos con un Paint para
darle un color para es después de eso abajo con el canvas dara la figura que
quiere hacer y dara ealgo asi como los bordes del circulo y lo cerrara con el
paint.
paint.setColor(Color.GREEN);
canvas.drawCircle(150, 150, 100, paint);
// otro efecto
Aquí ahí un nuevo efecto para darle un espacio de altura de espacios ala
derecha y al de la izquierda un ancho y una altura.
paint.setColor(Color.GREEN);
for (int stripe = 0; stripe < 13; ++stripe) {
int stripeHeight = 15;
float flagWidth = 500;
float stripeTop = stripe = stripeHeight * 2;
float stripeBottom = stripeTop + stripeHeight;
canvas.drawRect(0, stripeTop, flagWidth, stripeBottom,
paint);
aquí usaremos los efectos puestos antes para ahora formar una recta.
}
paint.setColor(Color.YELLOW);
canvas.drawRect(0,0,200,200,paint);
aquí porlo que podemos ver podemos usar el recto para hacer un cuadro
utilizando los bordes.
}
}
Todo te lo generara por defecto solo tiene que trabajar en el ultimo public
onDraw.
Y enlazaremos el java con este nuevo java para darle el fondo que hicimos
con el cambas.
Java:
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class Drawing extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new DrawingView(this));
solo cambiamos el enlace del content por el nuevo fondo canvas que
hicimos.
}
}
ESTAS SON LAS CAPTURAS DE LA PANTALLA COMO MUESTRA DE QUE LA
APLICACIÓN FUNCIONA CORRECTAMENTE:
CONCLUCION:
EN CONCLUCION PODEMOS OCUPAR CANVAS PARA PODER HACER UN
FONDO MUY PADRE PARA NUESTRA APLICACIÓN.
SONIDOS DE ANIMALES:
LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN
FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT
DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR
EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA
SIGUIENTE VENTANA
DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE
ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y
CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA
O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI
ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL
FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA
Y DARLE FINISH.
LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD
DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS
UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA
ASI ES COMO DEBE QUEDAR LA PANTALLA:
EL CODIGO XML DEBE SER ASI:
<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:layout_weight="1"
android:orientation="horizontal" >
<Button
android:id="@+id/burro1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/burro"/>
<Button
android:id="@+id/caballo1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/caballo"/>
<Button
android:id="@+id/cerdo1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/cerdaco"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal" >
<Button
android:id="@+id/gato1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/gato"/>
<Button
android:id="@+id/oveja1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/oveja"/>
<Button
android:id="@+id/pajaro1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/pajaro"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal" >
<Button
android:id="@+id/pardo1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/pardo"/>
<Button
android:id="@+id/perro1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/perro"/>
<Button
android:id="@+id/vaca1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/vaca"/>
</LinearLayout>
</LinearLayout>
EN EL CODIGO XML PUSIMOS UN LINEAR CADA 3 BOTTONES Y LOS BOTON
CON UN FONDO CON LA IMAGUEN DE CADA SONIDO DE ANIMAL SEGÚN Y
TAMBIEN LE AUMENTAMOS UN LAYOUT_WEIGHT AL LINEAR PARA PODER
HACER QUE SE VISUALICEN TODOS LOS BOTONES.
EL CODIGO JAVA DEBE QUEDAR ASI:
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.*;
EN STA UTILIZAREMOS LOS UNAS LIBRERIAS COMO SOUNDPOOL Y EL
AUDIOMAGGER PARA PODER REPRODUCI EL SONIDO.
public class Animals extends Activity implements OnClickListener{
SoundPool b1,b2,b3,b4,b5,b6,b7,b8,b9;
Button burro, caballo, cerdo, gato, oveja, pajaro, pardo, perro,
vaca;
int a, b, c, d, e, f, g, h, i;
AQUÍ DECLARAMOS LA VARIABLES QUE UTILIZAREMOS EL SOUNDPOOLES
PARA REPRODUCIR Y EL INT ESPARA SELECCIONAR LA PISTA.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_animals);
burro=(Button)findViewById(R.id.burro1);
burro.setOnClickListener(this);
caballo=(Button)findViewById(R.id.caballo1);
caballo.setOnClickListener(this);
cerdo=(Button)findViewById(R.id.cerdo1);
cerdo.setOnClickListener(this);
gato=(Button)findViewById(R.id.gato1);
gato.setOnClickListener(this);
oveja=(Button)findViewById(R.id.oveja1);
oveja.setOnClickListener(this);
pajaro=(Button)findViewById(R.id.pajaro1);
pajaro.setOnClickListener(this);
pardo=(Button)findViewById(R.id.pardo1);
pardo.setOnClickListener(this);
perro=(Button)findViewById(R.id.perro1);
perro.setOnClickListener(this);
vaca=(Button)findViewById(R.id.vaca1);
vaca.setOnClickListener(this);
b1=new SoundPool(8, AudioManager.STREAM_MUSIC, 0);
a=b1.load(this,R.raw.burro,1);
b2=new SoundPool(8, AudioManager.STREAM_MUSIC, 0);
b=b2.load(this,R.raw.caballo,1);
b3=new SoundPool(8, AudioManager.STREAM_MUSIC, 0);
c=b3.load(this,R.raw.cerdaco,1);
b4=new SoundPool(8, AudioManager.STREAM_MUSIC, 0);
d=b4.load(this,R.raw.gato,1);
b5=new SoundPool(8, AudioManager.STREAM_MUSIC, 0);
e=b5.load(this,R.raw.obeja,1);
b6=new SoundPool(8, AudioManager.STREAM_MUSIC, 0);
f=b6.load(this,R.raw.twitter,1);
b7=new SoundPool(8, AudioManager.STREAM_MUSIC, 0);
g=b7.load(this,R.raw.pardo,1);
b8=new SoundPool(8, AudioManager.STREAM_MUSIC, 0);
h=b8.load(this,R.raw.perro,1);
b9=new SoundPool(8, AudioManager.STREAM_MUSIC, 0);
i=b9.load(this,R.raw.muu,1);
AQUÍ ENLAZAMOS LOS BOTTONES DE LA INTERFAST CON NUESTRO CODIGO
JAVA TAMBIEN DECLARAMOS LOS SOUNDPOOL Y Y UN AUDIOMANAGGER.
LA MUSICA VA EN UNA CARPETA LLAMADA RAW QUE PEGAREMOS
DENTRO DE LA CARPETA RES.
}
@Override
EL METODO ONCLICK CON EL SWTCH DEPENDIENDO DEL ID DEL BOTON
EJECUTARA A REPRODUCIR EL SONIDO.
public void onClick(View v) {
switch(v.getId()){
case R.id.burro1:
b1.play(a, 1, 1, 1, 0, 1);
break;
case R.id.caballo1:
b2.play(b, 1, 1, 1, 0, 1);
break;
case R.id.cerdo1:
b3.play(c, 1, 1, 1, 0, 1);
break;
case R.id.gato1:
b4.play(d, 1, 1, 1, 0, 1);
break;
case R.id.oveja1:
b5.play(e, 1, 1, 1, 0, 1);
break;
case R.id.pajaro1:
b6.play(f, 1, 1, 1, 0, 1);
break;
case R.id.pardo1:
b7.play(g, 1, 1, 1, 0, 1);
break;
case R.id.perro1:
b8.play(h, 1, 1, 1, 0, 1);
break;
case R.id.vaca1:
b9.play(i, 1, 1, 1, 0, 1);
break;
}
}
}
DONDE DEBE IR LA CARPETA RAW CON LA MUSICA:
LAS IMAGUENES UTILIZADAS DEBEN IR DENTRO DE LA CARPETA RES EN LA
QUE DICE DRAWABLE-MDPI:
AQUÍ ESTA LA CAPTURA DE PANTALLA QUE COMPRUEBA QUE LA
APLICACIÓN FUNCIONA PERFECTAMENTE:
CONCLUCION:
ES COMO UN JUEGUITO SONIDOS DE ANIMALES DE GRANGA Y TAMBIEN
APRENDIMOS A REPRODUCIR UN SONIDO Y COMO AÑADIRLO EN LA
APLICACIÓN.
VIDEOVIEW:
LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN
FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT
DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR
EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA
SIGUIENTE VENTANA
DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE
ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y
CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA
O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI
ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL
FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA
Y DARLE FINISH.
LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD
DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS
UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA
LA PANTALLA DEBE QUEDAR ASI:
EL CODIGO XML DEBE QUEDAR ASI:
<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" >
<VideoView
android:id="@+id/videoView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</LinearLayout>
EL CODIGO ES MUY SIMPLE YA QUE SOLO LLEVA UN VIDEO VIEW QUE
ABARCA TODA LA PANTALLA.
EL CODIGO JAVA:
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.widget.MediaController;
import android.widget.VideoView;
AQUÍ PONEMOS LAS LIBRERIAS QUE VAMOS A UTILIZAREMOS.
public class MainActivity extends Activity {
@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://rare.video/"+
R.raw.videos);
video.setVideoURI(path);
video.setMediaController(new MediaController(this));
video.start();
video.requestFocus();
}
}
EN ESTE VEZ SOLO ENLAZAMOS EL VIDEOVIEW DEL XML Y CON URI JALAR
EL VIDEO QUE ESTA EN LA NUEVA CARPETA RES QUE SERIA
ANDROID.RESOURCE QUE ES PARA PODER PONER SU URL QUE SERIA EL
PAQUETE R. QUE ES EL RES .RAW LA CARPETA Y EL NOMBRE DEL VIDEO.
Y EL MEDIACONTROLLER ES PARA PAUSAR ADELANTAR Y ESO.
AQUÍ LA APLICACIÓN EJECUTADA CON CAPTURAS DE PANTALLA:
CONCLUCION:
APRENDIMOS A REPRODUCIR UN VIDEO EN UNA APLICACIÓN QUE PUEDE
SER COMO ALGUNO DE ENTRADA EN NUESTRA APLICACIÓN.
NOTIFFICACION-
RADIOBUTTON:
LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN
FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT
DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR
EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA
SIGUIENTE VENTANA
DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE
ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y
CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA
O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI
ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL
FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA
Y DARLE FINISH.
LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD
DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS
UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA
LA PANTALLA DEBE QUEDAR ASI:
EL CODIGO XML DEBERIA VERSE ASI:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:android1="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#A464FA"
android:orientation="vertical" >
<TextView
android:id="@+id/preg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Que musica deseas escuchar?"
android:textAppearance="?android:attr/textAppearanceLarge" />
<RadioGroup
android1:id="@+id/radio"
android1:layout_width="wrap_content"
android1:layout_height="wrap_content" >
<RadioButton
android1:id="@+id/bar"
android1:layout_width="wrap_content"
android1:layout_height="wrap_content"
android1:checked="true"
android1:text="reggae" />
<RadioButton
android1:id="@+id/mad"
android1:layout_width="wrap_content"
android1:layout_height="wrap_content"
android1:text="Rap" />
<RadioButton
android1:id="@+id/bor"
android1:layout_width="wrap_content"
android1:layout_height="wrap_content"
android1:text="Rock" />
</RadioGroup>
<Button
android1:id="@+id/ok"
android1:layout_width="wrap_content"
android1:layout_height="wrap_content"
android1:text="escuchar" />
</LinearLayout>
AQUÍ UTILIZE UN TEXTVIEW PARA HACER LA PREGUNTA Y EL RADIOGROUP
QUE CONTIENE EN CADA RADDIOBUTTON UNA RESPUESTA Y EL BOTON
PARA QUE VERIFIQUE.
EL CODIGO JAVA ES EL SIG:
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.media.AudioManager;
import android.media.SoundPool;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.RadioGroup;
import android.widget.Toast;
public class Radiobutton extends Activity implements OnClickListener {
SoundPool b1;
View boton;
RadioGroup rg;
int Ok;
int a, b, c;
EL ONCLICKLISTENER LO UTILIZAMOS PARA EL BOTON Y AQUÍ LO
ENVIAREMOS COMO UN VIEW EL SOUNDPOOL ESPRA QUE NOS
REPRODUSCA LA PISTA CUANDO SELECCIONE PERO PARA SABER MASDE
ESTO VE A SONIDO DE ANIMALES PARA INVESTIGAR SOBRE EL
SOUNDPOOL. Y SOLO DEFINIREMOS EL RADIOGROUP QUE ES EL QUE
CONTIENE LOS RADIOBUTTON.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_radiobutton);
rg=(RadioGroup)findViewById(R.id.radio);
boton=(View)findViewById(R.id.ok);
boton.setOnClickListener(this);
b1=new SoundPool(8, AudioManager.STREAM_MUSIC, 0);
a=b1.load(this,R.raw.reggae,1);
b=b1.load(this,R.raw.rap,1);
c=b1.load(this,R.raw.rock,1);
AQUÍ ENLAZAMOS EL BOTON Y EL RADIOGROUP Y TAMBIEN LE DAMOS EL
METODO ONCLICKLISTENER AL BOTON Y EN LAZAMOS LAS PISTAS PARA
REPRODUCIRLAS.
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it
is present.
getMenuInflater().inflate(R.menu.radiobutton, menu);
return true;
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Ok=rg.getCheckedRadioButtonId();
switch (Ok){
case R.id.bar: Toast.makeText(this, "decidiste escuchar
reggae", Toast.LENGTH_SHORT).show();
b1.play(a, 1, 1, 1, 0, 1);
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(Radiobutton.this,
Radiobutton.class);
PendingIntent pIntent =
PendingIntent.getActivity(Radiobutton.this, 0, intent, 0);
notificacion.setLatestEventInfo(Radiobutton.this, "Reggae",
"damian marley-Gunmman world", pIntent);
manager.notify(0,notificacion);
break;
case R.id.mad: Toast.makeText(this, "decidiste escuchar rap",
Toast.LENGTH_SHORT).show();
b1.play(b, 1, 1, 1, 0, 1);
NotificationManager manager1 = (NotificationManager)
getSystemService(Context.NOTIFICATION_SERVICE);
Notification notificacion1 = new
Notification(android.R.drawable.stat_notify_more,"Notificación",
System.currentTimeMillis());
Intent intent1 = new Intent(Radiobutton.this,
Radiobutton.class);
PendingIntent pIntent1 =
PendingIntent.getActivity(Radiobutton.this, 0, intent1, 0);
notificacion1.setLatestEventInfo(Radiobutton.this, "Rap",
"DCartel de santa-dale fuego", pIntent1);
manager1.notify(0,notificacion1);
break;
case R.id.bor: Toast.makeText(this, "decidiste escuchar
rock", Toast.LENGTH_SHORT).show();
b1.play(c, 1, 1, 1, 0, 1);
NotificationManager manager2 = (NotificationManager)
getSystemService(Context.NOTIFICATION_SERVICE);
Notification notificacion2 = new
Notification(android.R.drawable.stat_notify_more,"Notificación",
System.currentTimeMillis());
Intent intent2 = new Intent(Radiobutton.this,
Radiobutton.class);
PendingIntent pIntent2 =
PendingIntent.getActivity(Radiobutton.this, 0, intent2, 0);
notificacion2.setLatestEventInfo(Radiobutton.this, "Rock",
"The Strokes-juicebox", pIntent2);
manager2.notify(0,notificacion2);
break;
}
}
}
EL CASE TOMA EL ID DE LOS RADIOBUTTON JUNTO CON SU RADIOGROUP
PUESTO AL PRINCIPIO REPRODUCE LA MUSICA PEDIDA Y EL TOAST NOS
MANDA U MENSAJE.
CODIGO DE LA NOTIFICACION:
Notification notificacion = new
Notification(android.R.drawable.stat_notify_more,"Notificación",
System.currentTimeMillis());
Intent intent = new Intent(Radiobutton.this,
Radiobutton.class);
PendingIntent pIntent =
PendingIntent.getActivity(Radiobutton.this, 0, intent, 0);
notificacion.setLatestEventInfo(Radiobutton.this, "TITULO",
"INFORMACION", pIntent);
manager.notify(0,notificacion2);
LO UNICO QUE SE DEBE MODIFICAR SON LAS VARIABLES Y EL TITULO Y LA
INFORMACION DE LA NOTIFICACIONACA LES MOSTRARRE LA APLICACIÓN
FUNCIONANDO CON UNA CAOTURA DE PANTALLA:
CONCLUCION:
APRENDIMOS A UTILIZAR EL RADIOBUTTON EN UNA APLICACIÓN Y
TAMBIEN APRENDIMOS A MANDAR NOTIFICACION DE LA APLICACIÓN.
CHECKBOX:
LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN
FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT
DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR
EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA
SIGUIENTE VENTANA
DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE
ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y
CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA
O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI
ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL
FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA
Y DARLE FINISH.
LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD
DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS
UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA
LA PANTALLA DEBE QUEDAR ASI:
EL CODIGO XML DEBE SER ASI:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="Nutrición"
android:textColor="#000000"
android:textSize="50sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="72dp"
android:layout_marginLeft="15sp"
android:hint="1.¿Cuántos cereales debemos comer al día?"
android:textColor="#000000"
android:textSize="25sp" />
<CheckBox
android:id="@+id/cereala"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15sp"
android:layout_marginTop="30sp"
android:hint="15 celeales"
android:textSize="20sp" />
<CheckBox
android:id="@+id/cerealb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15sp"
android:hint="5 celeales"
android:textSize="20sp" />
<CheckBox
android:id="@+id/cerealc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15sp"
android:hint="10 celeales"
android:textSize="20sp" />
</LinearLayout>
LOS EDEITEXT QUE UTILIZAMOS FUERON PARA UNA CATEGORIA Y UN LOS
CHECKBOX CADA UNO ES UNA PROBABLE RESPUESTA ESTOS SON ALGO ASI
COMO BOTONES.
ASI DEBES SER EL CODIGO JAVA:
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.CheckBox;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener{
String message = "";
CheckBox a, b, c;
@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);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.cereala:
message="Tu respuesta es incorrecta";
Toast.makeText(this, message,
Toast.LENGTH_SHORT).show();
break;
case R.id.cerealb:
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;
}
}
}
UTILIZAREMOS EL METODO ONCLICKLISTENER PERO ESTA VES LOS
UTILIZAREMOS EN LOS CHECKBOX. LOS USAREMOS COMO BOTONES
TAMBIEN EN EL METODO ONCLICK Y SOLO MANDAMOS EL MENSAJE DE SI
ES CORRECTO O NO.
LA APLICACIÓN FUNCIONA BIEN AQUÍ LO COMPROBAMOS CON UNA
CAPTURA DE PANTALLA:
CONCLUCION:
APRENDIMOS A USAR EL CHECKBOX EN NUESTRA APLICACIÓN QUE ES
COMO UN BOTON Y USAR CON EL ONCLICKLISTENER QUE NOS SIRVE
MUCHO EN NUESTRA APLICACIÓN.
PROGRESSBAR:
LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN
FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT
DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR
EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA
SIGUIENTE VENTANA
DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE
ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y
CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA
O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI
ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL
FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA
Y DARLE FINISH.
LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD
DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS
UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA
LA PANTALLA DEBE QUEDAR ASI:
SON DOS ACTIVITY UNA PARA EL PROGRESS Y UNA PARA FINALIZAR EL
ULTIMO PROGRESSBAR:
XML DEL PROGRESSBAR:
<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:gravity="center">
<TextView android:text="Descarga esta imaguen gratis"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textview"
android:textSize="35dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Descarga:"
android:id="@+id/textView"
android:textColor="#ff7aff24"
android:textSize="35dp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:src="@drawable/abc"
/>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="download" />
</LinearLayout>
REALIZAMOS UNA INTERFAZ CON UN TEXTVIEW QUE DECIA QUE PASARA
UNA IMAGUEN Y EL BOTTON QUE ACTIVARA NUESTRO PROGRESSBAR.
ESTE DEBE SER EL CODIGO JAVA:
import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity implements OnClickListener{
Button b1;
private ProgressDialog progressBar;
private int progressBarStatus = 0;
private Handler progressBarbHandler = new Handler();
private long fileSize = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1=(Button)findViewById(R.id.button);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
progressBar = new ProgressDialog(v.getContext());
progressBar.setCancelable(true);
progressBar.setMessage("Descargando Archivo...");
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 = downloadFile();
try {
Thread.sleep(1000);
}
catch (InterruptedException e) {
e.printStackTrace();
}
progressBarbHandler.post(new Runnable() {
public void run() {
progressBar.setProgress(progressBarStatus);
}
});
}
if (progressBarStatus >= 100) {
try {
Thread.sleep(2000);
Intent m=new Intent(MainActivity.this,
video.class);
startActivity(m);
}
catch (InterruptedException e) {
e.printStackTrace();
}
progressBar.dismiss();
}
}
}).start();
}
});
}
public int downloadFile() {
while (fileSize <= 1000000) {
fileSize++;
if (fileSize == 100000) {
return 10;
}
else if (fileSize == 200000) {
return 20;
}
else if (fileSize == 300000) {
return 30;
}
else if (fileSize == 400000) {
return 40;
}
else if (fileSize == 500000) {
return 50;
}
else if (fileSize == 600000) {
return 60;
}
else if (fileSize == 700000) {
return 70;
}
else if (fileSize == 800000) {
return 80;
}
else if (fileSize == 900000) {
return 90;
}
}
return 100;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
}
}
TODO LO QUE CONLLEVA EL CODIGO JAVA ES PARA QUE NOS HAGA UNA
CARGA PARA PODER PASAR DESPUES AL SIGUIENTE ACTIVITY DONDE YA
ESTARA DESCARGADA LA IMAGUEN O EL VIDEO.
AQUÍ MIRA EL RESULTADO DE LA APLICACIÓN CON LAS CAPTURAS DE
PANTALLA:
CONCLUCION:
LE APRENDI A DAR UN PROCESO PARA UNA EJECUCION ALA APLICACIÓN Y
ASI MANDARNOS UN ACTIVITY O DESCARGAR ALGO.
SPINNER:
LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN
FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT
DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR
EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA
SIGUIENTE VENTANA
DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE
ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y
CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA
O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI
ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL
FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA
Y DARLE FINISH.
LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD
DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS
UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA
LA PANTALLA DEBE QUEDAR ASI:
EL CODIGO XMLES ESTE:
<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="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Escoge un Estado"
android:textSize="25dp" />
<Spinner
android:id="@+id/estado"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<Spinner
android:id="@+id/municipio"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
EL CODIGO XML ES MUY SENCILLO YA QUE SOLO PUSIMOS UN EDITTEXT
PARA QUE LIGA LO QUE DESEA Y DOS SPINNER QUE VAN A CONTENER
INFORMACION:
EL CODIGO JAVA QUEDA ASI:
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
public class Otros extends Activity implements OnItemSelectedListener {
Spinner spestado, spmunicipo;
ArrayAdapter<String> aaEstado,aaMunicipio1,aaMunicipio2,
aaMunicipio3, Clear;
String[] opcEstado = new String[] { "Mexico", "Distrito
Federal","Nuevo Leon" };
String[] opcMunicipio1 = new String[] { "Tecamac", "Ecatepec", "San
Martin" };
String[] opcMunicipio2 = new String[] { "Gustavo A. Madero
","Álvaro Obregón", "Cuauhtémoc " };
String[] opcMunicipio3 = new String[] { "Salinas Victoria
","Montemorelos ", "El Carmen " };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_spinner);
spestado = (Spinner) findViewById(R.id.estado);
spmunicipo = (Spinner) findViewById(R.id.municipio);
spestado.setOnItemSelectedListener(this);
spmunicipo.setOnItemSelectedListener(this);
aaEstado = new
ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,
opcEstado);
aaMunicipio1 = new
ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,
opcMunicipio1);
aaMunicipio2 = new
ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,
opcMunicipio2);
aaMunicipio3 = new
ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,
opcMunicipio3);
spestado.setAdapter(aaEstado);
}
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int
arg2,
long arg3) {
switch(arg0.getId()){
case R.id.estado:
int seleccionado=spestado.getSelectedItemPosition();
if(seleccionado==0){
spmunicipo.setAdapter(aaMunicipio1);
}
if(seleccionado==1){
spmunicipo.setAdapter(aaMunicipio2);
}
if(seleccionado==2){
spmunicipo.setAdapter(aaMunicipio3);
}
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}
COMO PODEMOS VER ACUPAMOS UN ARRAYADAPTER QUE ES UN
ARREGLO QUE DESPUES DIRA SEUN LA OPCION QUE HAYA EN EL PRIMERO
NOS VA ADAR UNA LISTA DE OPCION DIFERENTE A CADA UNO ASI
DEPENDIENDO DEL ESTADO NOS DARA LOS MUNICIPIOS AQUÍ LO TENEMOS
EN CAPTURA DE PANTALLA:
CONCLUCION:
APRENDIMOS A DARLE UNA ACCION ALA LISTA QUE NOS DE EL SPINNER Y
DONDE DEBE IR POSESIONADO EL SPINNER.
WEBVIEW:
LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN
FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT
DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR
EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA
SIGUIENTE VENTANA
DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE
ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y
CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA
O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI
ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL
FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA
Y DARLE FINISH.
LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD
DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS
UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA
LA PANTALLA DEBE QUEDAR ASI:
EL CODIGO XML DEBE IR ASI:
<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="#ff550f"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="5sp"
android:layout_weight="3"
android:orientation="horizontal" >
<EditText
android:id="@+id/Buscador"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:hint="introduce url" />
<Button
android:id="@+id/buscar"
style="@android:style/Animation.Toast"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="4"
android:background="@drawable/buscare" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="10sp"
android:layout_weight="3"
android:orientation="horizontal" >
<Button
android:id="@+id/atras"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="4"
android:background="@drawable/atras" />
<Button
android:id="@+id/actualizar"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:layout_weight="4"
android:background="@drawable/update" />
<Button
android:id="@+id/Siguiente"
android:layout_width="match_parent"
android:layout_height="50sp"
android:layout_weight="4"
android:background="@drawable/adelante" />
<Button
android:id="@+id/historial"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:layout_weight="4"
android:background="@drawable/historial" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="10sp"
android:layout_weight="1"
android:orientation="horizontal" >
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
</LinearLayout>
EN LA INTERFAST PUSIMOS UN EDITTEXT PARA QUE AHÍ COLOQUEN EL URL
A DONDE QUIERAN IR CON EL NAVEGADOR LOS BOTONES CON UNA
IMAGUEN DE FONDO QUE INDIQUEN BUSCAR ADELANTE ATRÁS Y CARGAR
Y WEBVIEW PARA MOSTRARNOS EL CONTENIDO DE DICHOA PAGUINA.
ESTE ES EL CODIGO JAVA:
import android.app.Activity;
import android.app.SearchManager.OnCancelListener;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class Navega extends Activity implements OnCancelListener,
OnClickListener{
WebView mibuscador;
EditText sitio;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_navega);
mibuscador = (WebView) findViewById(R.id.webview);
String defecto =
"https://mx.plugger.com/profile/5393610/inbox";
mibuscador.loadUrl(defecto);
Button buscar = (Button) findViewById(R.id.buscar);
Button atras = (Button) findViewById(R.id.atras);
Button sig = (Button) findViewById(R.id.Siguiente);
Button act = (Button) findViewById(R.id.actualizar);
Button delete = (Button) findViewById(R.id.historial);
sitio = (EditText) findViewById(R.id.Buscador);
buscar.setOnClickListener(this);
atras.setOnClickListener(this);
sig.setOnClickListener(this);
act.setOnClickListener(this);
delete.setOnClickListener(this);
}
public void onClick(View v) {
switch (v.getId()) {
case R.id.buscar:
String sitioWeb = sitio.getText().toString();
if (!sitioWeb.equals("")) {
mibuscador.loadUrl("https://" + sitioWeb);
} else {
Toast.makeText(Navega.this, "No hay URL",
Toast.LENGTH_LONG).show();
}
break;
case R.id.atras:
if (mibuscador.canGoBack()) {
mibuscador.goBack();
}
break;
case R.id.Siguiente:
if (mibuscador.canGoForward()) {
mibuscador.goForward();
}
break;
case R.id.actualizar:
mibuscador.reload();
break;
case R.id.historial:
mibuscador.clearHistory();
Toast.makeText(Navega.this, "Historial Borrado",
Toast.LENGTH_LONG).show();
break;
}
}
@Override
public void onCancel() {
// TODO Auto-generated method stub
}
}
EN ESTE PRIMERO MANDAMOS POR DEFECTO LE DAMOS UN URL Y
DESPUES LE DIMOS UN ONCLICKLISTENER PARA DARLE UN VALOR A CADA
BOTON.
AQUÍ LA APLICACIÓN FUNCIONANDO TENEMOS COMO PRUEBA LA
CAPTURA DE PANTALLA:
CONCLUCION:
AQUÍ APRENDIMOS A USAR EL EL WEBVIEW PARA PODER CREAR UN
NAVEGADOR Y ASI USARLO CON UN HISTORIAL DE VISITAS.
TIMEPICKER:
LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN
FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT
DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR
EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA
SIGUIENTE VENTANA
DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE
ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y
CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA
O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI
ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL
FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA
Y DARLE FINISH.
LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD
DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS
UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA
AL CODIGO XML NO SE LE HACE ABSOLUTAMENTE NADA:
SOLO EN EL JAVA:
import android.os.Bundle;
import android.app.Activity;
import android.app.Dialog;
import android.app.TimePickerDialog;
import android.view.Menu;
import android.widget.TimePicker;
import android.widget.Toast;
public class MainActivity extends Activity {
static final int dialog_id =0;
int hour, minute;
@SuppressWarnings("deprecation")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
showDialog(dialog_id);
}
protected Dialog onCreateDialog(int id){
switch(id){
case dialog_id:
return new TimePickerDialog(this, mTimeSetListener,
hour, minute, false);
}
return null;
}
private TimePickerDialog.OnTimeSetListener mTimeSetListener= new
TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int
hour_minute) {
hour=hourOfDay;
minute=hour_minute;
Toast.makeText(getBaseContext(), "setted time:
"+hour+":"+minute, Toast.LENGTH_LONG).show();
}
};
}
LO UNICO QUE HICIMOS FUE MANDARLO A LLAMAR Y CREAR UNA DOS
VARIABLES PARA HORA Y MINUTOS Y DEPUES DE HABER DEFINIDO NOS
MANDE UN MENSAJE CON LA HORA. AQUÍ ESTA FUNCIONANDO CON UNA
CAPTURA DE PANTALLA:
CONCLUCION:
PZ ESTE MAS QUE NADA ES COMO PARA DARLE UN HORARIO AL NUESTRA
APLICACIÓN UTILIZANDO FORMATOS DE TARDE MAÑANA MINUTOS Y
HORAS.
TOOGLEBUTTON:
LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN
FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT
DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR
EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA
SIGUIENTE VENTANA
DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE
ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y
CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA
O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI
ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL
FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA
Y DARLE FINISH.
LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD
DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS
UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA
ASI DEBE QUEDAR LA PANTALLA:
EL CODIGO XML DEBE SER ASI:
<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:id="@+id/fondo"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="horizontal">
<ToggleButton
android:id="@+id/tgl1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5sp"
android:textOn="Rojo On"
android:textOff="Rojo off"
android:text="ToggleBotton"/>
<ToggleButton
android:id="@+id/tgl2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5sp"
android:textOn="Verde On"
android:textOff="Verde off"
android:text="ToggleBotton"/>
<ToggleButton
android:id="@+id/tgl3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5sp"
android:textOn="Azul On"
android:textOff="Azul off"
android:text="ToggleBotton"/>
</LinearLayout>
</LinearLayout>
EN ESTE VAMOS A VER COMO EN LOS TOGGLE BOTTON TIENE DOS IPOS DE
TEXTOS QUE ES PARA APAGADO Y ENCENDIDO.
EL CODIGO JAVA ES ASI:
import android.os.Bundle;
import android.app.Activity;
import android.graphics.Color;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.LinearLayout;
import android.widget.ToggleButton;
import android.view.Menu;
public class MainActivity extends Activity implements
OnCheckedChangeListener{
ToggleButton r, v, a;
LinearLayout cont;
String color="", rj="00", vr="00", az="00";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cont=(LinearLayout) findViewById(R.id.fondo);
Manual
Manual

Más contenido relacionado

La actualidad más candente (20)

Proteus
ProteusProteus
Proteus
 
Animación básica en Flash
Animación básica en FlashAnimación básica en Flash
Animación básica en Flash
 
22627686 manual-practico-de-datamine
22627686 manual-practico-de-datamine22627686 manual-practico-de-datamine
22627686 manual-practico-de-datamine
 
A inicio-autocad-5
A inicio-autocad-5A inicio-autocad-5
A inicio-autocad-5
 
Aprender código vba
Aprender código vbaAprender código vba
Aprender código vba
 
Manual de ares proteus
Manual de ares proteus Manual de ares proteus
Manual de ares proteus
 
Manual3 d studiomax
Manual3 d studiomaxManual3 d studiomax
Manual3 d studiomax
 
Capítulo 1
Capítulo 1Capítulo 1
Capítulo 1
 
3d Max Interfaz 01
3d Max Interfaz 013d Max Interfaz 01
3d Max Interfaz 01
 
Cuadernillo de lógica y Algoritmos para niños de primaria.
Cuadernillo de lógica y Algoritmos para niños de primaria.Cuadernillo de lógica y Algoritmos para niños de primaria.
Cuadernillo de lógica y Algoritmos para niños de primaria.
 
Erdas image 2014, Clasificación Supervisada
Erdas image 2014, Clasificación Supervisada Erdas image 2014, Clasificación Supervisada
Erdas image 2014, Clasificación Supervisada
 
Teorico Power Point Nº 6
Teorico Power Point Nº 6Teorico Power Point Nº 6
Teorico Power Point Nº 6
 
Leccion B Tutorial 2
Leccion B Tutorial 2Leccion B Tutorial 2
Leccion B Tutorial 2
 
Manual 3 d studio max
Manual 3 d studio maxManual 3 d studio max
Manual 3 d studio max
 
4 manipular botones
4 manipular botones4 manipular botones
4 manipular botones
 
Diseño web interactivo
Diseño web interactivoDiseño web interactivo
Diseño web interactivo
 
Como hacer Mosaicos fotograficos en ERDAS
Como hacer Mosaicos fotograficos en ERDAS Como hacer Mosaicos fotograficos en ERDAS
Como hacer Mosaicos fotograficos en ERDAS
 
Primeros pasos con 3d max
Primeros pasos con 3d maxPrimeros pasos con 3d max
Primeros pasos con 3d max
 
Taller de macros
Taller de macrosTaller de macros
Taller de macros
 
Proteus
ProteusProteus
Proteus
 

Destacado

VAPE BOX V2 by Stephen Parker
VAPE BOX V2 by Stephen ParkerVAPE BOX V2 by Stephen Parker
VAPE BOX V2 by Stephen ParkerStephen Parker
 
The variable voltage sub ohm vape box
The variable voltage sub ohm vape boxThe variable voltage sub ohm vape box
The variable voltage sub ohm vape boxStephen Parker
 
Test 1 semana 1 nivel 1
Test 1 semana 1 nivel 1Test 1 semana 1 nivel 1
Test 1 semana 1 nivel 1riverarley
 
Henson - FSE 200 - MRI Hidden Dangers - Wk 8
Henson - FSE 200 - MRI Hidden Dangers - Wk 8Henson - FSE 200 - MRI Hidden Dangers - Wk 8
Henson - FSE 200 - MRI Hidden Dangers - Wk 8Anita Henson
 
Báo cáo kiến tập tại cty tnhh chè hoài trung
Báo cáo kiến tập tại cty tnhh chè hoài trungBáo cáo kiến tập tại cty tnhh chè hoài trung
Báo cáo kiến tập tại cty tnhh chè hoài trungVan Doan
 
"Мертвенно жив" новый сборник поэзии в духе Бодлера
"Мертвенно жив" новый сборник поэзии в духе Бодлера"Мертвенно жив" новый сборник поэзии в духе Бодлера
"Мертвенно жив" новый сборник поэзии в духе Бодлераneformat
 
Save the Children and Good Game Productions Launch Charity Game
Save the Children and Good Game Productions Launch Charity GameSave the Children and Good Game Productions Launch Charity Game
Save the Children and Good Game Productions Launch Charity GameHilt Tatum IV
 
20050518 FVS præsentation
20050518 FVS præsentation20050518 FVS præsentation
20050518 FVS præsentationKim Holm
 
ANALYSIS OF ASYMMETRICAL FAULTS IN 220/400 KV LINES USING FFT
ANALYSIS OF ASYMMETRICAL FAULTS IN 220/400 KV LINES USING FFTANALYSIS OF ASYMMETRICAL FAULTS IN 220/400 KV LINES USING FFT
ANALYSIS OF ASYMMETRICAL FAULTS IN 220/400 KV LINES USING FFTAM Publications
 
Managing farmland and wildlife By Allah Dad Khan
Managing farmland and wildlife By Allah Dad Khan Managing farmland and wildlife By Allah Dad Khan
Managing farmland and wildlife By Allah Dad Khan Mr.Allah Dad Khan
 
BART vs. General Reinsurance
BART vs. General ReinsuranceBART vs. General Reinsurance
BART vs. General ReinsuranceBill Armstrong
 
A gdyby Airbnb zaprojektowało budżet partycypacyjny? - 20.02.2016
A gdyby Airbnb zaprojektowało budżet partycypacyjny? - 20.02.2016A gdyby Airbnb zaprojektowało budżet partycypacyjny? - 20.02.2016
A gdyby Airbnb zaprojektowało budżet partycypacyjny? - 20.02.2016Lukasz Alwast
 
Lessons learnt from Wall Street
Lessons learnt from Wall StreetLessons learnt from Wall Street
Lessons learnt from Wall StreetRaul Haynes
 

Destacado (20)

VAPE BOX V2 by Stephen Parker
VAPE BOX V2 by Stephen ParkerVAPE BOX V2 by Stephen Parker
VAPE BOX V2 by Stephen Parker
 
SeeMyBuild
SeeMyBuildSeeMyBuild
SeeMyBuild
 
The variable voltage sub ohm vape box
The variable voltage sub ohm vape boxThe variable voltage sub ohm vape box
The variable voltage sub ohm vape box
 
Android basics v3
Android basics v3Android basics v3
Android basics v3
 
Test 1 semana 1 nivel 1
Test 1 semana 1 nivel 1Test 1 semana 1 nivel 1
Test 1 semana 1 nivel 1
 
Henson - FSE 200 - MRI Hidden Dangers - Wk 8
Henson - FSE 200 - MRI Hidden Dangers - Wk 8Henson - FSE 200 - MRI Hidden Dangers - Wk 8
Henson - FSE 200 - MRI Hidden Dangers - Wk 8
 
PWHCVv34.S15
PWHCVv34.S15PWHCVv34.S15
PWHCVv34.S15
 
Báo cáo kiến tập tại cty tnhh chè hoài trung
Báo cáo kiến tập tại cty tnhh chè hoài trungBáo cáo kiến tập tại cty tnhh chè hoài trung
Báo cáo kiến tập tại cty tnhh chè hoài trung
 
"Мертвенно жив" новый сборник поэзии в духе Бодлера
"Мертвенно жив" новый сборник поэзии в духе Бодлера"Мертвенно жив" новый сборник поэзии в духе Бодлера
"Мертвенно жив" новый сборник поэзии в духе Бодлера
 
Save the Children and Good Game Productions Launch Charity Game
Save the Children and Good Game Productions Launch Charity GameSave the Children and Good Game Productions Launch Charity Game
Save the Children and Good Game Productions Launch Charity Game
 
Жывотные
ЖывотныеЖывотные
Жывотные
 
Typhoon in the philippines
Typhoon in the philippinesTyphoon in the philippines
Typhoon in the philippines
 
20050518 FVS præsentation
20050518 FVS præsentation20050518 FVS præsentation
20050518 FVS præsentation
 
Publicación1
Publicación1Publicación1
Publicación1
 
ANALYSIS OF ASYMMETRICAL FAULTS IN 220/400 KV LINES USING FFT
ANALYSIS OF ASYMMETRICAL FAULTS IN 220/400 KV LINES USING FFTANALYSIS OF ASYMMETRICAL FAULTS IN 220/400 KV LINES USING FFT
ANALYSIS OF ASYMMETRICAL FAULTS IN 220/400 KV LINES USING FFT
 
Managing farmland and wildlife By Allah Dad Khan
Managing farmland and wildlife By Allah Dad Khan Managing farmland and wildlife By Allah Dad Khan
Managing farmland and wildlife By Allah Dad Khan
 
BART vs. General Reinsurance
BART vs. General ReinsuranceBART vs. General Reinsurance
BART vs. General Reinsurance
 
Group interview tips
Group interview tipsGroup interview tips
Group interview tips
 
A gdyby Airbnb zaprojektowało budżet partycypacyjny? - 20.02.2016
A gdyby Airbnb zaprojektowało budżet partycypacyjny? - 20.02.2016A gdyby Airbnb zaprojektowało budżet partycypacyjny? - 20.02.2016
A gdyby Airbnb zaprojektowało budżet partycypacyjny? - 20.02.2016
 
Lessons learnt from Wall Street
Lessons learnt from Wall StreetLessons learnt from Wall Street
Lessons learnt from Wall Street
 

Similar a Manual

Practica 2 multiplicacion
Practica 2 multiplicacionPractica 2 multiplicacion
Practica 2 multiplicacionCarlos Fernando
 
Aplicaciones ANDROID
Aplicaciones ANDROIDAplicaciones ANDROID
Aplicaciones ANDROIDJuanKSP
 
Manual aplicaciones mobiles
Manual aplicaciones mobilesManual aplicaciones mobiles
Manual aplicaciones mobilesJuan Strongman
 
Integrando React.js en aplicaciones Symfony (deSymfony 2016)
Integrando React.js en aplicaciones Symfony (deSymfony 2016)Integrando React.js en aplicaciones Symfony (deSymfony 2016)
Integrando React.js en aplicaciones Symfony (deSymfony 2016)Ignacio Martín
 
Manual(mario alberto rosales lara)
Manual(mario alberto rosales lara)Manual(mario alberto rosales lara)
Manual(mario alberto rosales lara)MariOo Rosales
 
Modulo 1 - Proteus
Modulo 1 - ProteusModulo 1 - Proteus
Modulo 1 - ProteusRaniellys
 
Informatica
InformaticaInformatica
Informaticasergio
 
Informatica
InformaticaInformatica
Informaticasergio
 
Troston lulu
Troston luluTroston lulu
Troston lulutriss0706
 
Trabajo escrito grupal de pseint
Trabajo escrito grupal de pseint Trabajo escrito grupal de pseint
Trabajo escrito grupal de pseint Annymuoz6
 
Trabajo escrito grupal de pseint
Trabajo escrito grupal de pseint Trabajo escrito grupal de pseint
Trabajo escrito grupal de pseint AngelicaAguado2
 
Trabajo escrito grupal de pseint
Trabajo escrito grupal de pseint Trabajo escrito grupal de pseint
Trabajo escrito grupal de pseint michellbermudez3
 

Similar a Manual (20)

Manual de aplicaciones Android
Manual de aplicaciones Android Manual de aplicaciones Android
Manual de aplicaciones Android
 
Practica 2 multiplicacion
Practica 2 multiplicacionPractica 2 multiplicacion
Practica 2 multiplicacion
 
Aplicaciones ANDROID
Aplicaciones ANDROIDAplicaciones ANDROID
Aplicaciones ANDROID
 
Manual aplicaciones mobiles
Manual aplicaciones mobilesManual aplicaciones mobiles
Manual aplicaciones mobiles
 
Reportes de practicas
Reportes de practicasReportes de practicas
Reportes de practicas
 
Integrando React.js en aplicaciones Symfony (deSymfony 2016)
Integrando React.js en aplicaciones Symfony (deSymfony 2016)Integrando React.js en aplicaciones Symfony (deSymfony 2016)
Integrando React.js en aplicaciones Symfony (deSymfony 2016)
 
Manual(mario alberto rosales lara)
Manual(mario alberto rosales lara)Manual(mario alberto rosales lara)
Manual(mario alberto rosales lara)
 
Modulo 1 - Proteus
Modulo 1 - ProteusModulo 1 - Proteus
Modulo 1 - Proteus
 
Informatica
InformaticaInformatica
Informatica
 
Informatica
InformaticaInformatica
Informatica
 
manual
manualmanual
manual
 
manual
manualmanual
manual
 
manual
manualmanual
manual
 
Mobilessss
MobilessssMobilessss
Mobilessss
 
Troston lulu
Troston luluTroston lulu
Troston lulu
 
Macros y taller de macros
Macros y taller de macrosMacros y taller de macros
Macros y taller de macros
 
Trabajo escrito grupal de pseint
Trabajo escrito grupal de pseint Trabajo escrito grupal de pseint
Trabajo escrito grupal de pseint
 
Trabajo escrito grupal de pseint
Trabajo escrito grupal de pseint Trabajo escrito grupal de pseint
Trabajo escrito grupal de pseint
 
Trabajo escrito grupal de pseint
Trabajo escrito grupal de pseint Trabajo escrito grupal de pseint
Trabajo escrito grupal de pseint
 
Trabajo escrito grupal de pseint
Trabajo escrito grupal de pseint Trabajo escrito grupal de pseint
Trabajo escrito grupal de pseint
 

Último

Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 

Último (20)

Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 

Manual

  • 2. INDICE INTRODUCCION…………………………………………….3 HOLA MUNDO…………………………………………….4 OPERACIONES…………………………………………….10 IMC……………………...........................................18 COLORHEX………………………………………………….24 PHONEGAP…………………………………………………32 BD INSERTAR, ELIMINAR, MODIFICAR, CONSULTAR…………………………36 LISTVIEW………………………………………………….49 MENU………………………………………………………53 TABHOST…………………………………………………..58 CANVAS……………………………………………………..64 SONIDOS DE ANIMALES………………………………71 VIDEOVIEW…………………………………………………80 NOTIFICACIONES-RADIOBUTTON…………………87 CHECKBOX………………………………………………......95 PROGRESSBAR………………………………………………102 SPINNER……………………………………………………….110 Webview……………………………………………………….117 Timepicker…………………………………………………….124 TOGGLEBUTTON……………………………………………..130
  • 3. INTRODUCCION: CON ESTE MANUAL APRENDERAS DESDE NADA HASTA LO MAS BASICO DE ANDROID ASI PODRAS CREAR APLICACIONES QUE TE PUEDAN HACER DE MUCHA AYUDA Y LO MAS IMPORTANTE APRENDER A PROGRAMAR CON ANDROID. ANDROID: ANDROID: ES LO QUE LE UN TIPO DE TELEFONO MINTELIGUENTE QUE SACO ANDROID PARA HACERLE COMPETENCIA AL IPHON ESTOS TIENE DIFERENTES APIS LAS CUALES LLEVAN NOBRES DE DULCES. AQUÍ TENDREMOS UN PEQUEÑO CURSO DE ANDROID QUE NOS SIRVE PARA MUCHO AQUÍ APRENDERAS A PROGAMAR CON ADT ECLIPSE CON ANDROID LA FORMA DE PROGRAMACION CON JAVA.
  • 4. HOLA MUNDO LO PRIMERO QUE DEBE MOS HACER ES CREAR EL PROYECTO DANDOLE EN FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMPLE POR EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
  • 5. DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA SIGUIENTE VENTANA DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA Y DARLE FINISH.
  • 6. LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA Lo que haremos será irnos a activity_main.xml o como lo hayas nombrado pero XML Y LO TENDRAS QUE DEJAR ASI LO QUE HICIMOS FUE CAMBIAR LOS RELATIVE POR UN LINEAR A LO CUAL OBLIGATORIAMENTE LE TENEMOS QUE DAR UNA ORIENTACION AUNQUE EN ESTA OCACION NO LA OCUPEMOS PERO ASI DE VE SER LE PUSE UN
  • 7. FONDO DENTRO DEL LINEAR ASI PARA QUE LO HAGA EN TODA LA PANTALLA DESPUES EL TEXTVIEW LE DIMOS UN WIDTH Y UN HEIGHT PARA QUE OCUPRA TODA LA PANTALLA OCUPE UN GRAVITY PARA CENTRARLO BIENY EL TEXT PARA DAR EL MENSAJE Y EL TEXTSIZE PARA EL TAMAÑO Y QUEDARA ASI. Y EL JAVA NO LO MOVEREMOS NADA SE QUEDARA ASI
  • 8. EL CODIGO XML SERIA ESTE: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="@drawable/fondi" > <TextView android:id="@+id/text1" android:layout_width="match_parent" android:layout_height="match_parent" android:text="Hola Mundo" android:textSize="45sp" android:gravity="center"/> </LinearLayout> Y SU CODIGO JAVA SERIA: package com.rare.holamundo; import android.os.Bundle; import android.app.Activity; import android.view.Menu; public class Holamundo extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_holamundo); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.holamundo, menu); return true; } }
  • 9. PRUEBA DE LA APLICACIÓN EN UN CELULAR CO CAPTURA DE PANTALLA: CONCLUCION: ES MUY IMPORTANTE EMPEZAR DE CERO Y COMPRENDER DESDE CERO HASTA LO MAS BASICO ASI COMO USAR LINEAR PONER FONDOS E IMPRIMIR ALGO.
  • 10. OPERACIONES: LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
  • 11. DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA SIGUIENTE VENTANA DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA Y DARLE FINISH.
  • 12. LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA LA PANTALLA DEBERIA QUEDAR ASI:
  • 13. EL CODIGO CONTIENE DOS EDITTEXT QUE SON PARA QUE EL USUSARIO INTRODUSCA LOS NUMEROS PARA HACER LAS OPERACIONES Y UN BOTON AL CUAL LE IMPLEMENTE UN METODO ON CLICK PARA QUE EN EL JAVA NO OCUPEMOS EL METODO ONCLICKLISTENENER Y D LE DEMOS UN PROCESO A ACADA UNO DE ESTOS. EL CODIGO XML SERIA ESTE: <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" > <EditText android:id="@+id/edt1" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="numero 1" android:numeric="decimal"/> <EditText android:id="@+id/edt2" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="numero 2" android:numeric="decimal"/> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <Button android:id="@+id/sum" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:onClick="suma" android:text="suma" />
  • 14. <Button android:id="@+id/res" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:onClick="resta" android:text="resta" /> <Button android:id="@+id/mul" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:onClick="multiplicar" android:text="multiplicar" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <Button android:id="@+id/divicion" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:onClick="dividir" android:text="dividir" /> <Button android:id="@+id/bor" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:onClick="borrar" android:text="borrar" /> </LinearLayout> <EditText android:id="@+id/resul" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Resultado"/> </LinearLayout> EL JAVA SERIA ESTE : import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView;
  • 15. ESTAS SON LAS LIBRERIAS QUE VAMOS A OCUPARA PARA HACER LA APPLICACION. public class MainActivity extends Activity { EditText num1, num2; Button suma, resta, multiplicar, dividir, borrar; TextView resultado; AQUÍ DECLARAMOS LO QUE VAMOS A USAR EDITTEXT LOS BOTONES Y EL TEXT VIEW QUE NOS DARA EL RESULTADO. @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); num1=(EditText) findViewById(R.id.edt1); num2=(EditText) findViewById(R.id.edt2); suma=(Button) findViewById(R.id.sum); resta=(Button) findViewById(R.id.res); multiplicar=(Button) findViewById(R.id.mul); dividir=(Button) findViewById(R.id.divicion); borrar=(Button) findViewById(R.id.bor); resultado=(TextView) findViewById(R.id.resul); AQUÍ ES DONDE ENLASAMOS EL CODIGO XML JUNTO CON EL JAVA. } LOS PUBLIC QUE TENEMOS LO DEL METODO ON CLICK Y SI LE DAMOS UN PROCESO A CADA BOTON. public void suma(View v){ float a=Float.parseFloat(num1.getText().toString()); float b=Float.parseFloat(num2.getText().toString()); float c=a+b; resultado.setText("la suma es: "+c ); } public void resta(View v){ float a=Float.parseFloat(num1.getText().toString()); float b=Float.parseFloat(num2.getText().toString()); float c=a-b; resultado.setText("la resta es: "+c ); } public void multiplicar(View v){ float a=Float.parseFloat(num1.getText().toString()); float b=Float.parseFloat(num2.getText().toString()); float c=a*b; resultado.setText("la multiplicacion es: "+c ); } public void dividir(View v){ float a=Float.parseFloat(num1.getText().toString()); float b=Float.parseFloat(num2.getText().toString()); float c=a/b; resultado.setText("la divicion es: "+c ); } LO QUE HICIMOS EN LOS METODOS FUE JALAR LOS VALORES QUE HAY EN LA CAJA DE TEXTO Y COVERTIRLOS A NUMERO
  • 16. PARA PODER HACER LA OPERACIÓN Y EN TODOS SOLO CAMBIAMOS EL SIMBOLO SEGÚN LA CUENTA E IMPRIMIMOS EL RESULTADO EN EL TEXTVIEW. public void borrar(View v){ num1.setText(""); num2.setText(""); resultado.setText(""); } EN EL DE BORRARLO QUE HICIMOS SIMPLEMENTE BORRAR TODO LO QUE HAYA EN LOS TEXTVIEW PARA PONER NUEVOS VALORES. } PRUEBAS DE LA APPLICACION EN FUNCIONAMIENTOCON CAPTURAS DE PANTALLA:
  • 17. CONCLUCION: EN CONCLUCIO APRENDIMOS A USAR EL METODO ONCLICK EN INTERFAST PARA NO HACERLO CON OTRO EN EL JAVA A JALAR LO QUE HAY EN LOS EDITTEXT E IMPRIMIR RESULTADO.
  • 18. IMC: LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMPLE POR EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
  • 19. DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA SIGUIENTE VENTANA DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA Y DARLE FINISH.
  • 20. LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA Asi es como debería quedar la pantalla: EL CODIGO XML DEBERIA QUEDAR ASI: <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" > UTILIZAMOS EL LINEAR LA YOUT PARA ALINEAR LO QUE UTILIZARIAMOS. <EditText android:id="@+id/peso" android:layout_width="match_parent"
  • 21. android:layout_height="wrap_content" android:hint="peso en kg" android:numeric="decimal"/> <EditText android:id="@+id/estatura" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="estatura en m" android:numeric="decimal"/> LOS EDITTEXT SON PARA QUE EL USUARIO INTRODUSCA LOS VALORES QUE SE NECESITAN Y COMO USAMOS PUROS NUMEROS POR ESO UTILIZAMOS EL NUMERICY EL HINT ES PARA DECIR LO QUE LLEVA AHÍ PERO NO ALTERARA NADA. <Button android:id="@+id/calcula" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="calcular" android:onClick="cal" /> EL BOTON TIENE UN METODO LLAMADO ONCLICK PARA QUE EN EL CODIGO JAVA NO UTILICEMOS EL ONCLICLISTENER Y ASI UTILIZAR UN VOID PARA EL PROPIO BOTON. <TextView android:id="@+id/resultado" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Resultado"/> </LinearLayout> EL TEXTVIEW ES PARA IMPRIMIR EL RESULTADO DEL IMC ESTE ES EL CODIGO JAVA: import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; AQUÍ ES DONDE COLOCAMOS LAS LIBRERIAS QUE OCUPAREMOS PARA REALIZAR NUESTRAS APPLICACION. public class MainActivity extends Activity { EditText pes, alt; Button cal; TextView res; AQUÍ DECLARAMOS LO QUE VAMOS A UTILIZAR. @Override
  • 22. protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); pes=(EditText) findViewById(R.id.peso); alt=(EditText) findViewById(R.id.estatura); cal=(Button) findViewById(R.id.calcula); res=(TextView) findViewById(R.id.resultado); AQUÍ ES DONDE CONECTAMOS EL XML CON LAS VARIABLES DECLARADAS EN EL JAVA. } EL PUBLIC LOS HACEMOS CON EL CAL POR EL METODO YA DADO EN EL ONCLICK DECLARADO EN EL XML. public void cal(View v){ float a=Float.parseFloat(pes.getText().toString()); float b=Float.parseFloat(alt.getText().toString()); float c=b*b; float d=a/c; res.setText("tu imc es de:"+d); } EL PRECESO CONSISTE EN JALAR LOS VALORES QUE HAY EN LA CAJA DE TEXTO Y CONVERTIRLA A LA UNIDAD NUMERICA DE FLOAT REALIZAR LAS OPERACIONES COORESPONDIENTES E IMPRIMIR EL REULTADO. } PRUEBAS DE LA APPLICACION EN FUNCIONAMIENTOCON CAPTURAS DE PANTALLA:
  • 23. CONCLUCION: PZ APRENDIMOS A USAR AHORA SI EL METODO ONCLICKLISTENER PARA PODE HACERLO CON LOS CASE EL SWTCH Y HACER UNA OPERACIÓN E IMPRIMI.
  • 24. RGBtoHex: LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
  • 25. DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA SIGUIENTE VENTANA DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA Y DARLE FINISH.
  • 26. LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA Asi es como se debería ver la pantalla:
  • 27. EL CODIGO XML ES: <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" > <EditText android:id="@+id/trojo" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5sp" android:layout_weight="1" android:text="Rojo" android:textSize="25sp"/> <EditText android:id="@+id/vrojo" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5sp" android:layout_weight="1" android:text="R:" android:textSize="25sp"/> ESTE EDITTEXT NOS DA EL VALOR QUE CONYEVARA EL SEEKBAR DEL ROJO. </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <SeekBar android:id="@+id/rojo" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5sp" android:layout_weight="1" android:max="255" android:progress="1" android:indeterminate="false"/> EL SEEKBAR ES UNA BARRA QUE DA UN VALOR AQUÍ ES EL COLOR ROJO. </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <EditText android:id="@+id/tverde" android:layout_width="match_parent" android:layout_height="wrap_content"
  • 28. android:layout_margin="5sp" android:layout_weight="1" android:text="Verde " android:textSize="25sp"/> <EditText android:id="@+id/vverde" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5sp" android:layout_weight="1" android:text="G:" android:textSize="25sp"/> ESTE EDITTEXT NOS DA EL VALOR QUE CONYEVARA EL SEEKBAR DEL VERDE. </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <SeekBar android:id="@+id/verde" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5sp" android:layout_weight="1" android:max="255" android:progress="1" android:indeterminate="false"/> EL SEEKBAR ES UNA BARRA QUE DA UN VALOR AQUÍ ES EL COLOR VERDE. </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <EditText android:id="@+id/tazul" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5sp" android:layout_weight="1" android:text="Azul" android:textSize="25sp"/> <EditText android:id="@+id/vazul" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5sp" android:layout_weight="1" android:text="B:" android:textSize="25sp"/> ESTE EDITTEXT NOS DA EL VALOR QUE CONYEVARA EL SEEKBAR DEL AZUL.
  • 29. </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <SeekBar android:id="@+id/azul" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5sp" android:layout_weight="1" android:max="255" android:progress="1" android:indeterminate="false"/> EL SEEKBAR ES UNA BARRA QUE DA UN VALOR AQUÍ ES EL COLOR AZUL. </LinearLayout> <TextView android:id="@+id/hex" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5sp" 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="5sp" android:gravity="center" android:text="Color" android:background="#CCCCCC" android:textSize="65sp"/> </LinearLayout> ESTE ES EL CODIGO JAVA: import com.rare.hexadecimal.R.id; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.widget.SeekBar; import android.widget.TextView; AQUÍ PONEMOS LIBRERIAS QUE OCUPAREMOS PARA REALIZAR NUESTRA APLICACIÓN.TAMBIEN IMPLEMENTAMOS EL SEEKBAR PARA VER LOS PROCESOS. public class MainActivity extends Activity implements SeekBar.OnSeekBarChangeListener{ SeekBar rojo, verde, azul; TextView vrojo, vverde, vazul,color,hex;
  • 30. int r=0, v=0, a=0; AQUÍ DECLARAMOS LAS VARIABLE QUE VAMOS A UTILIZAR. @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); vrojo=(TextView) findViewById(R.id.vrojo); vverde=(TextView) findViewById(R.id.vverde); vazul=(TextView) findViewById(R.id.vazul); color=(TextView) findViewById(R.id.color); hex=(TextView) findViewById(R.id.hex); rojo.setOnSeekBarChangeListener(this); verde.setOnSeekBarChangeListener(this); azul.setOnSeekBarChangeListener(this); AQUÍ ENLASAMOS NUESTRO CODIGO JAVACON NUESTRO XML. } ESTOS SON LOS METODOS QUE DEBEMOS IMPLEMENTAR PARA EL SEEKBAR. EL PROGRESS ES PARA EL PROGRESO DE LOS SEEKBAR. @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; } AQUÍ CONSEGUIMOS EL CODIGO HEXADECIMAL Y NOS LO IMPRIME EN EL TEXTVIEW Y CAMBIA DE COLOR EL TEXTVIEW SEGÚN SU COLOR. 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+=Integer.toHexString(r); color+=Integer.toHexString(v); color+=Integer.toHexString(a); return color; AQUÍ NOS AYUDA A PODER CONVERTIR EL CODIGO HEXADECIMAL. }
  • 31. @Override public void onStartTrackingTouch(SeekBar seekBar) { vrojo.setText("R: "+r); vverde.setText("G: "+v); vazul.setText("B: "+a); } @Override public void onStopTrackingTouch(SeekBar seekBar) { vrojo.setText("R: "+r); vverde.setText("G: "+v); vazul.setText("B: "+a); } EN ESTOS DOS METODOS NOS DS LOS RESULTADOS CUANDO INICIA Y TERMINA EL FUNCIONAMIENTO DEL SEEKBAR. } PRUEBAS DE LA APPLICACION EN FUNCIONAMIENTOCON CAPTURAS DE PANTALLA: CONCLUCION: APRENDIMOS A USAR LOS SEEKBAR Y A CONVERTIR VALORES A HEXADECIMAL ADEMAS DE APRENDER A CAMBIAR FONDOS:
  • 32. PHONEGAP: LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
  • 33. DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA SIGUIENTE VENTANA DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA Y DARLE FINISH.
  • 34. LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA DENTRO DE LA CARPETA ASSET HAY ALGUNOS ARCHIVOS EDITAS LAS PAGUINAS HTML EDITALAS A TU GUSTO Y CREA UNA WEB PORTABLE:
  • 35. CAPTURAS DE PANTALLA DE LA APLICACIÓN YA EN FUNCION CON LA CAPTURA DE PANTALLA: CONCLUCION: APRENDIMOS A HACER PAGUINA PORTABLES EN APLICACIÓN CELULAR ESTO SIRVE MAS O MENOS PARA LEER ALGO COMO UN LIBRO O NOSE LLEVAR SIMPLE INFORMACION.
  • 36. BD INSERTAR, CONSULTAR, ELIMINAR, BUSCAR: LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
  • 37. DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA SIGUIENTE VENTANA DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA Y DARLE FINISH.
  • 38. LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA
  • 39. LA PANTALLA DEBE QUEDAR ASI: EL CODIGO XML ES ESTE: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#000000" android:orientation="vertical" > <EditText android:id="@+id/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"
  • 40. android:gravity="center" android:hint="Procesador" android:maxLength="20" android:textSize="20sp" /> LOS EDITTEXT SON PARA LLENAR LOS CAMPOS DE LA TABLA DE LA BASE DE DATOS. <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="0" android:orientation="horizontal" > <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" /> ESTE BOTON ES PARA LLENAR LOS CAMPOSDE LA TABLA DE LA BASE DE DATOS. <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" /> ESTE BOTON ES PARA IMPRIMIR TODOS LOS REGISTROS DE LA TABLA EN UN TEXTVIEW. <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" /> ESTE BOTON ERA PARA ELIMINAR UN REGISTRO QUE SE AYA BUSCDO SEGÚN SU UID. </LinearLayout>
  • 41. <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" android:textSize="20sp" /> ESTE EDITTEXT ES PARA PODER BUSCAR UN REGUISTRO AYUDA DE BOTON DE BUSCAR. <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" > <TextView android:id="@+id/tver" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="TextView" android:textColor="#FFFFFF" /> </ScrollView> AQUÍ IMPRIMIMOS TODOS LOS REGUISTROS DE LA TABLA.
  • 42. </LinearLayout> ESTE ES EL CODIGO JAVA QUE ESTA DIVIDIDO EN TRES CLASES LA PRIMERA: EN ESTA CLASE VAMOS A CREAR LA BASE DE DATOS: import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; EL OPENHELPER NOS AYUDA A ABRIR EL MSQLITE PARA PODER CREAR LA BASE DE DATOS public class BaseDatos extends SQLiteOpenHelper { public BaseDatos(Context context) { super(context, "compu.db", null, 1); AQUÍ LE CAMBIAMOS LO QUE LLEVA EN EL EN EL PUBLIC BASEDATOS A CONTEXTO CONTEXTO Y EL SUPER POR EL CONTEXTO DESPUES DE LA BASE DE DATOS } @Override EL SQLITE DATABASE NOS CFREA LA TABLA COMPUS DENTRO DE LA BASE DE DATOS CREAMOS LOS CAMPOS CON EL NOMBRE DE LOS EDITEXT COMO VARIABLES EL ID ESTA COMO UN AUTONUMERICO ES LA LLAVE PRIMARIA. public void onCreate(SQLiteDatabase db) { String sql="Create table compus(id integer primary key autoincrement, marca text, ram text, procesador text);"; db.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) { } }
  • 43. DESPUES CREAMOS LOS METODOS DE ESTO CON DOS JAVAS TE MOSTRARE COMO HACERLO EN CADA UNO PRIMERO EN LASAMOS EN LA PRINCIPAL. PRINCIPLA: import android.os.Bundle; import android.app.Activity; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; public class Pricipal extends Activity { EditText eNombre, eApellido, eEdad,id; TextView tVer; Button insertar, ver,buscar,borrar; int idm; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_pricipal); insertar = (Button)findViewById(R.id.insertar); ver = (Button)findViewById(R.id.ver); buscar = (Button)findViewById(R.id.buscar); borrar = (Button)findViewById(R.id.borrar); eNombre = (EditText)findViewById(R.id.nombre); id = (EditText)findViewById(R.id.id); eApellido = (EditText)findViewById(R.id.apellido); eEdad = (EditText)findViewById(R.id.edad); tVer = (TextView)findViewById(R.id.tver); } DESPUES DECLARAMOS LAS VARIABLES QUE UTILIZAREMOS PARALLENAR LA BD COMPUS: import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.widget.Toast; public class Compus { String marca, ram , procesador; int idn; Context contextoEjecucion; BaseDatos creador; SQLiteDatabase mDatos; public Compus (Context c){
  • 44. contextoEjecucion = c; } public Compus abrirSqlite(){ creador = new BaseDatos (contextoEjecucion); mDatos = creador.getWritableDatabase(); return this; } DESPUES EMPEZAMOS CON INSERTAR EN LA PRINCIPAL JALA LO QUE TIENEN LOS EDITEXT POR Y LOS CONVIERTE EN UN VALOR PARA LOS CAMPOS Y EN COMPUS LLENAMOS LOS CAMPOS DE LA TABAL. PRINCIPAL: public void Insertar(View v){ String marca = eNombre.getText().toString(); String ram = eApellido.getText().toString(); String procesador = eEdad.getText().toString(); Compus p = new Compus(Pricipal.this); p.abrirSqlite(); p.insertar(marca, ram, procesador); p.cerrarSqlite(); } COMPUS: 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); } DESPUES CONTINUAMOS CON VER EN LA PRINCIPAL ABRIMOS LA BASE Y LA CONECTAMOS CON COMPUS Y EN COMPUS CON EL CURSOR GENERAMOS LA CONSULTA IMPRIMIENDO TODO LO QUE CONYEVA LA TABLA. PRINCIPAL: public void Ver(View v){ Compus p = new Compus(Pricipal.this); p.abrirSqlite(); String datos=p.ver(); p.cerrarSqlite(); tVer.setText(datos); } COMPUS:
  • 45. 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; } DESPUES CONTINUAMOS CON BUSCAR CON AYUDA DEL ID PODEMOS BUSCAR Y QUE NOS IMPRIMA LA INFORMACION DE ESE ID. PRINCIPAL: public void Buscar(View v){ if(id.length()==0){ Toast.makeText(this,"Introduce ID", Toast.LENGTH_LONG).show(); }else{ Compus p = new Compus(Pricipal.this); int i=Integer.parseInt(id.getText().toString()); p.abrirSqlite(); if(p.consultar(i)==false){ Toast.makeText(this,"Registro no encontrado", Toast.LENGTH_LONG).show(); } idm=p.getId(); eNombre.setText(""+p.getMarca()); eApellido.setText(""+p.getRam()); eEdad.setText(""+p.getProcesador()); p.cerrarSqlite(); } } COMPUS: 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);
  • 46. return true; } } public String getMarca(){ return marca; } public String getRam(){ return ram; } public String getProcesador(){ return procesador; } public int getId(){ return idn; } DESPUES CONTINUAMOS CON ELIMINAR CO EN EL ID ELIMINAMOS LA INFORMACION DE ESTE PRINCIPAL: public void Borrar(View v){ Compus p = new Compus(Pricipal.this); p.abrirSqlite(); p.elimina(idm); p.cerrarSqlite(); Toast.makeText(this,"Registro eliminado id="+idm, Toast.LENGTH_LONG).show(); limpiar(); } COMPUS: public void elimina(int id){ creador = new BaseDatos (contextoEjecucion); mDatos = creador.getReadableDatabase(); String sql = ("delete from compus where id="+id); mDatos.execSQL(sql); } DESPUES DE ESTE MODIFICAMOS SEGÚN EL ID BUSCAMOS LOS EL REGISTRO Y CON EL UPDATE SI MODIFICAMOS ALGO LO GUARDARA. PRINCIPAL: public void Modificar(View v){ String marca = eNombre.getText().toString(); String ram = eApellido.getText().toString(); String procesador = eEdad.getText().toString(); Compus p = new Compus(Pricipal.this); p.abrirSqlite(); p.modificar(idm, marca, ram, procesador);
  • 47. limpiar(); p.cerrarSqlite(); } COMPUS: 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); } POR ULTIMO CERRAMOS LA BASE DE DATOS: COMPUS: public void cerrarSqlite(){ creador.close(); } } CAPTURAS DE PANTALLA DE LA APLICACIÓN YA EN FUNCION CON LA CAPTURA DE PANTALLA: CONCLUCION: NOS SIRVE PARA EL MANEJO DE INFORMACION EN UNA BASE DE DATOS QUE PODEMOS TENER EN EL CELULAR AQUÍ CON UN MANEJO DE INFORMACION.
  • 48. LISTAVIEW: LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
  • 49. DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA SIGUIENTE VENTANA DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA Y DARLE FINISH.
  • 50. LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA ASI DEBE QUEDAR LA PANTALLA: EL CODIGO XML DEBE SER ASI: <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"> <EditText android:id="@+id/elemento" android:layout_width="match_parent" android:layout_height="fill_parent" android:layout_weight="0.3" android:hint="agregar elemento"
  • 51. android:marqueeRepeatLimit="marquee_forever" android:textSize="25sp"/> <Button android:id="@+id/agregar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="enter"/> </LinearLayout> <ListView android:id="@+id/lista" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout> EN EL CODIGO SOLO TENEMOS UN EDITTEXT DONDE VAMOS A ESCRIBIR LOS ELEMENTOS Y UN BOTON PARA AGREGARLO Y EL LISTVIEW PARA GUARDAR LOS ELEMENTOS. Y ESTE ES EL CODIGO JAVA: import java.util.ArrayList; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.*; public class Lista extends Activity implements OnClickListener{ EditText elemento; ArrayList<String> elementos; Button btn; ListView lista; ArrayAdapter<String> adaptador; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_lista); lista = (ListView) findViewById(R.id.lista); elemento = (EditText) findViewById(R.id.elemento); btn = (Button) findViewById(R.id.agregar); elementos = new ArrayList<String>(); adaptador = new ArrayAdapter(this, android.R.layout.simple_list_item_1, elementos); lista.setAdapter(adaptador); btn.setOnClickListener(this); }
  • 52. @Override public void onClick(View v) { if(v.getId()==R.id.agregar){ elementos.add(elemento.getText().toString()); elemento.setText(""); adaptador.notifyDataSetChanged (); } } } EL METODO ONCLICK VA A MANDAR LO QUE AHÍ EN EL EDITTEXT PARA GUARDALO EN EL LISTVIEW COMO UN TIPO DE ARREGLO Y DE PASO LIMPIE EL EDITEXT AQUÍ EN LA CAPTURA DE PANTAALLA VE LA FUNCION DE LA APLICACIÓN: CONCLUCION: EN ESTE APRENDIMOS A HACER UN LISTADO DE LAGUNAS COSAS ASI Y TENERLO ALA MANO ALGO ASI COMO UNA LISTA DE COMPRAS.
  • 53. MENU: LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
  • 54. DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA SIGUIENTE VENTANA DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA Y DARLE FINISH.
  • 55. LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA ASI DEBE QUEDAR TU PANTALLA: ASI DEBE QUEDAR EL CODIGO XML: <?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:orientation="vertical" android:background="#000000"> EL BACKGROUND ES OPCIONAL Y EL ORIENTATYION TAMBIEN PUEDE SER HORIZONTAL
  • 56. <TextView android:id="@+id/img" android:layout_width="match_parent" android:layout_height="match_parent" android:textColor="#FFFFFF" android:text="presiona la tecla menu y eligue alguna n opcion para que veas la funcion"/> EL TEXTVIEW ES PARA DAR LA INSTRUCCIÓN DEL QUE HACER. </LinearLayout> EL CODIGO JAVA DEBERUIA QUEDAR ASI: import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.ImageView; import android.widget.TextView; AQUÍ PONEMOS LA LIBRERIAS QUE VAMOS A UTILIZAR EN LA APLICACIÓN. public class MenusActivity extends Activity { TextView img; AQUÍ DECLARAMOS LA VARIABLES QUE UTILIZAREMOS. /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); img=(TextView) findViewById(R.id.img); AQUÍ ENLASAMOS EL CODIGO JAVA CON EL XML. } @Override public boolean onCreateOptionsMenu(Menu menu){ super.onCreateOptionsMenu(menu); MenuItem item1= menu.add(0,1,1,"Opción 1"); MenuItem item2= menu.add(0,2,2,"Opción 2"); MenuItem item3= menu.add(0,3,3,"Opción 3"); MenuItem item4= menu.add(0,4,4,"Opción 4"); CREAMOS LOS MENUSUTEMS QUE VAYAMOS A UTILIZAR EN ESTA APP. item1.setIcon(R.drawable.deli); item2.setIcon(R.drawable.exe1); item3.setIcon(R.drawable.exe2); item4.setIcon(R.drawable.exe3); AQUÍ SIMPLEMENTE LES ASIGNAMOS UN ICONITO.
  • 57. return true; } @Override public boolean onOptionsItemSelected(MenuItem item){ int id= item.getItemId(); img.setText("n eliguiste la opcion:"+id); return true; AQUÍ NOS IMPRIMIRA EL MENU ELEGUIDO. } } PRUEBAS DE QUE LA APLICACIÓN FUNCINE BIEN CON CAPTURAS DE PANTALLA: CONCLUCION: PUES ESTOS SON DE MUCHA AYUDA YA QUE CON ELLOS PODEMOS EJECUTAR ACCIONES QUE NO SON DE MUCHA UTILIDAD PARA NUESTRA APLICACIÓN.
  • 58. TABHOST: LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
  • 59. DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA SIGUIENTE VENTANA DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA Y DARLE FINISH.
  • 60. LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA LA PANTALLA DEBE QUEDAR ASI: EL CODIGO XML DEBERIA QUEDAR ASI: <?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" > <TabHost android:id="@android:id/tabhost" android:layout_width="match_parent" android:layout_height="match_parent" > EL TABSHOST ES PARA COLOCAR LAS PESTAÑAS QUE SE VAYAN A UTILIZAR. <LinearLayout
  • 61. 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" > AQUÍ NOS DA LAS TABLAS QUE SE VAN A DAR DENTRO DEL TABHOST. </TabWidget> <FrameLayout android:id="@android:id/tabcontent" android:layout_width="match_parent" android:layout_height="match_parent" > AQUÍ VA EL CONTENIDO DEL TABHOST OSEA DE CADA TABLA. <LinearLayout android:id="@+id/tab1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <EditText android:id="@+id/et1" android:layout_width="fill_parent" android:layout_height="wrap_content" /> EN ESTE LINEAR VA EL CONTEBIDO DEL PRIMERA PESTAÑA. </LinearLayout> <LinearLayou android:id="@+id/tab2" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <Button android:id="@+id/btn1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Muestra" /> EN ESTE LINEAR VA EL CONTEBIDO DEL SEGUNDA PESTAÑA. </LinearLayout> <LinearLayout android:id="@+id/tab3" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <TextView android:id="@+id/tv1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Tercer pestana" />
  • 62. EN ESTE LINEAR VA EL CONTEBIDO DEL TERCERA PESTAÑA. </LinearLayout> </FrameLayout> </LinearLayout> </TabHost> </LinearLayout> EL CODIGO JAVA DEBERIA QUEDAR ASI: import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.widget.TabHost; import android.widget.TabHost.TabSpec; AQUÍ PONEMOS LAS LIBRERIAS QUE VAMOS A UTILIZAR PARA LA APLICACIÓN. public class MainActivity extends Activity { TabHost tabHost; AQUÍ VAMOS A DECLARAR SOLO EL TABHOST PORQUE ES LO QUE CONTIENE TODO. @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tabHost=(TabHost) findViewById(android.R.id.tabhost); JUNTAMOS EL TABHOST DEL XML PARA PODER OCUPARLO. tabHost.setup(); TabSpec ts1=tabHost.newTabSpec("tab1"); ts1.setIndicator("edt"); ts1.setContent(R.id.tab1); tabHost.addTab(ts1); Y AQUÍ OCUPAMOS TODO LO QUE CONLLEVA CADA TABLA SEGÚN SU LINEAR Y EL FRAME. tabHost.setup(); TabSpec ts2=tabHost.newTabSpec("tab2"); ts2.setIndicator("btn"); ts2.setContent(R.id.tab2); tabHost.addTab(ts2); Y AQUÍ OCUPAMOS TODO LO QUE CONLLEVA CADA TABLA SEGÚN SU LINEAR Y EL FRAME. tabHost.setup(); TabSpec ts3=tabHost.newTabSpec("tab3"); ts3.setIndicator("texv"); ts3.setContent(R.id.tab3);
  • 63. tabHost.addTab(ts3); Y AQUÍ OCUPAMOS TODO LO QUE CONLLEVA CADA TABLA SEGÚN SU LINEAR Y EL FRAME. } } SI DESEAS OCUPAR ALGUN METODO LO HACES NORMALMENTE YA QUE PARA ESO SON LOS LINEAR Y EL FRAME. AQUÍ PRUEBAS DE QUE LA APLICACIÓN ESTE FUNCIONANDO BIEN CON MUESTRAS COMO CAPTURAS DE PANTALLA: CONCLUCION: ESTA HERRAMIENTA ES MUY UTIL PARA PODER METER MAS DE UNA PANTALLA EN UN SOLO ACTIVITY.
  • 64. CANVAS: LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
  • 65. DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA SIGUIENTE VENTANA DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA Y DARLE FINISH.
  • 66. LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA En el activity no vas hacer absolutamente nada ni en el java crearas un nuevo java con el mismo nombre que será igual al otro solo le aumentaras view:
  • 67. Y te aparecesera el nuevo java que lucirá vacio:
  • 68. El código será el siguiente: import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.util.AttributeSet; import android.view.View; primero aumentas todas las librerías ya que no taniamos ninguna. Después le aumentas el extends view lo cual pedirá un constructo y se lo daras. public class DrawingView extends View{ Paint paint = new Paint(); public DrawingView(Context context) { super(context); // TODO Auto-generated constructor stub } public DrawingView(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub } public DrawingView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); // TODO Auto-generated constructor stub } @Override protected void onDraw(Canvas canvas) {
  • 69. super.onDraw(canvas); //unefecto Cada figura que se vaya a realizarse primero abriremos con un Paint para darle un color para es después de eso abajo con el canvas dara la figura que quiere hacer y dara ealgo asi como los bordes del circulo y lo cerrara con el paint. paint.setColor(Color.GREEN); canvas.drawCircle(150, 150, 100, paint); // otro efecto Aquí ahí un nuevo efecto para darle un espacio de altura de espacios ala derecha y al de la izquierda un ancho y una altura. paint.setColor(Color.GREEN); for (int stripe = 0; stripe < 13; ++stripe) { int stripeHeight = 15; float flagWidth = 500; float stripeTop = stripe = stripeHeight * 2; float stripeBottom = stripeTop + stripeHeight; canvas.drawRect(0, stripeTop, flagWidth, stripeBottom, paint); aquí usaremos los efectos puestos antes para ahora formar una recta. } paint.setColor(Color.YELLOW); canvas.drawRect(0,0,200,200,paint); aquí porlo que podemos ver podemos usar el recto para hacer un cuadro utilizando los bordes. } } Todo te lo generara por defecto solo tiene que trabajar en el ultimo public onDraw. Y enlazaremos el java con este nuevo java para darle el fondo que hicimos con el cambas. Java: import android.os.Bundle; import android.app.Activity; import android.view.Menu; public class Drawing extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(new DrawingView(this));
  • 70. solo cambiamos el enlace del content por el nuevo fondo canvas que hicimos. } } ESTAS SON LAS CAPTURAS DE LA PANTALLA COMO MUESTRA DE QUE LA APLICACIÓN FUNCIONA CORRECTAMENTE: CONCLUCION: EN CONCLUCION PODEMOS OCUPAR CANVAS PARA PODER HACER UN FONDO MUY PADRE PARA NUESTRA APLICACIÓN.
  • 71. SONIDOS DE ANIMALES: LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
  • 72. DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA SIGUIENTE VENTANA
  • 73. DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA Y DARLE FINISH. LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA
  • 74. ASI ES COMO DEBE QUEDAR LA PANTALLA: EL CODIGO XML DEBE SER ASI: <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:layout_weight="1" android:orientation="horizontal" > <Button android:id="@+id/burro1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/burro"/> <Button android:id="@+id/caballo1" android:layout_width="match_parent"
  • 75. android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/caballo"/> <Button android:id="@+id/cerdo1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/cerdaco"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:orientation="horizontal" > <Button android:id="@+id/gato1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/gato"/> <Button android:id="@+id/oveja1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/oveja"/> <Button android:id="@+id/pajaro1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/pajaro"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:orientation="horizontal" > <Button android:id="@+id/pardo1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/pardo"/> <Button android:id="@+id/perro1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/perro"/> <Button android:id="@+id/vaca1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/vaca"/>
  • 76. </LinearLayout> </LinearLayout> EN EL CODIGO XML PUSIMOS UN LINEAR CADA 3 BOTTONES Y LOS BOTON CON UN FONDO CON LA IMAGUEN DE CADA SONIDO DE ANIMAL SEGÚN Y TAMBIEN LE AUMENTAMOS UN LAYOUT_WEIGHT AL LINEAR PARA PODER HACER QUE SE VISUALICEN TODOS LOS BOTONES. EL CODIGO JAVA DEBE QUEDAR ASI: import android.media.AudioManager; import android.media.SoundPool; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.*; EN STA UTILIZAREMOS LOS UNAS LIBRERIAS COMO SOUNDPOOL Y EL AUDIOMAGGER PARA PODER REPRODUCI EL SONIDO. public class Animals extends Activity implements OnClickListener{ SoundPool b1,b2,b3,b4,b5,b6,b7,b8,b9; Button burro, caballo, cerdo, gato, oveja, pajaro, pardo, perro, vaca; int a, b, c, d, e, f, g, h, i; AQUÍ DECLARAMOS LA VARIABLES QUE UTILIZAREMOS EL SOUNDPOOLES PARA REPRODUCIR Y EL INT ESPARA SELECCIONAR LA PISTA. @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_animals); burro=(Button)findViewById(R.id.burro1); burro.setOnClickListener(this); caballo=(Button)findViewById(R.id.caballo1); caballo.setOnClickListener(this); cerdo=(Button)findViewById(R.id.cerdo1); cerdo.setOnClickListener(this); gato=(Button)findViewById(R.id.gato1); gato.setOnClickListener(this); oveja=(Button)findViewById(R.id.oveja1); oveja.setOnClickListener(this); pajaro=(Button)findViewById(R.id.pajaro1); pajaro.setOnClickListener(this); pardo=(Button)findViewById(R.id.pardo1); pardo.setOnClickListener(this); perro=(Button)findViewById(R.id.perro1); perro.setOnClickListener(this); vaca=(Button)findViewById(R.id.vaca1); vaca.setOnClickListener(this); b1=new SoundPool(8, AudioManager.STREAM_MUSIC, 0);
  • 77. a=b1.load(this,R.raw.burro,1); b2=new SoundPool(8, AudioManager.STREAM_MUSIC, 0); b=b2.load(this,R.raw.caballo,1); b3=new SoundPool(8, AudioManager.STREAM_MUSIC, 0); c=b3.load(this,R.raw.cerdaco,1); b4=new SoundPool(8, AudioManager.STREAM_MUSIC, 0); d=b4.load(this,R.raw.gato,1); b5=new SoundPool(8, AudioManager.STREAM_MUSIC, 0); e=b5.load(this,R.raw.obeja,1); b6=new SoundPool(8, AudioManager.STREAM_MUSIC, 0); f=b6.load(this,R.raw.twitter,1); b7=new SoundPool(8, AudioManager.STREAM_MUSIC, 0); g=b7.load(this,R.raw.pardo,1); b8=new SoundPool(8, AudioManager.STREAM_MUSIC, 0); h=b8.load(this,R.raw.perro,1); b9=new SoundPool(8, AudioManager.STREAM_MUSIC, 0); i=b9.load(this,R.raw.muu,1); AQUÍ ENLAZAMOS LOS BOTTONES DE LA INTERFAST CON NUESTRO CODIGO JAVA TAMBIEN DECLARAMOS LOS SOUNDPOOL Y Y UN AUDIOMANAGGER. LA MUSICA VA EN UNA CARPETA LLAMADA RAW QUE PEGAREMOS DENTRO DE LA CARPETA RES. } @Override EL METODO ONCLICK CON EL SWTCH DEPENDIENDO DEL ID DEL BOTON EJECUTARA A REPRODUCIR EL SONIDO. public void onClick(View v) { switch(v.getId()){ case R.id.burro1: b1.play(a, 1, 1, 1, 0, 1); break; case R.id.caballo1: b2.play(b, 1, 1, 1, 0, 1); break; case R.id.cerdo1: b3.play(c, 1, 1, 1, 0, 1); break; case R.id.gato1: b4.play(d, 1, 1, 1, 0, 1); break; case R.id.oveja1: b5.play(e, 1, 1, 1, 0, 1); break; case R.id.pajaro1: b6.play(f, 1, 1, 1, 0, 1); break; case R.id.pardo1: b7.play(g, 1, 1, 1, 0, 1); break; case R.id.perro1: b8.play(h, 1, 1, 1, 0, 1); break; case R.id.vaca1: b9.play(i, 1, 1, 1, 0, 1);
  • 78. break; } } } DONDE DEBE IR LA CARPETA RAW CON LA MUSICA: LAS IMAGUENES UTILIZADAS DEBEN IR DENTRO DE LA CARPETA RES EN LA QUE DICE DRAWABLE-MDPI:
  • 79. AQUÍ ESTA LA CAPTURA DE PANTALLA QUE COMPRUEBA QUE LA APLICACIÓN FUNCIONA PERFECTAMENTE: CONCLUCION: ES COMO UN JUEGUITO SONIDOS DE ANIMALES DE GRANGA Y TAMBIEN APRENDIMOS A REPRODUCIR UN SONIDO Y COMO AÑADIRLO EN LA APLICACIÓN.
  • 80. VIDEOVIEW: LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
  • 81. DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA SIGUIENTE VENTANA
  • 82. DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA Y DARLE FINISH. LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA
  • 83. LA PANTALLA DEBE QUEDAR ASI: EL CODIGO XML DEBE QUEDAR ASI: <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" > <VideoView android:id="@+id/videoView1" android:layout_width="fill_parent" android:layout_height="fill_parent"/> </LinearLayout> EL CODIGO ES MUY SIMPLE YA QUE SOLO LLEVA UN VIDEO VIEW QUE ABARCA TODA LA PANTALLA.
  • 84. EL CODIGO JAVA: import android.net.Uri; import android.os.Bundle; import android.app.Activity; import android.widget.MediaController; import android.widget.VideoView; AQUÍ PONEMOS LAS LIBRERIAS QUE VAMOS A UTILIZAREMOS. public class MainActivity extends Activity { @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://rare.video/"+ R.raw.videos); video.setVideoURI(path); video.setMediaController(new MediaController(this)); video.start(); video.requestFocus(); } } EN ESTE VEZ SOLO ENLAZAMOS EL VIDEOVIEW DEL XML Y CON URI JALAR EL VIDEO QUE ESTA EN LA NUEVA CARPETA RES QUE SERIA ANDROID.RESOURCE QUE ES PARA PODER PONER SU URL QUE SERIA EL PAQUETE R. QUE ES EL RES .RAW LA CARPETA Y EL NOMBRE DEL VIDEO.
  • 85. Y EL MEDIACONTROLLER ES PARA PAUSAR ADELANTAR Y ESO. AQUÍ LA APLICACIÓN EJECUTADA CON CAPTURAS DE PANTALLA:
  • 86. CONCLUCION: APRENDIMOS A REPRODUCIR UN VIDEO EN UNA APLICACIÓN QUE PUEDE SER COMO ALGUNO DE ENTRADA EN NUESTRA APLICACIÓN.
  • 87. NOTIFFICACION- RADIOBUTTON: LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
  • 88. DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA SIGUIENTE VENTANA
  • 89. DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA Y DARLE FINISH. LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA
  • 90. LA PANTALLA DEBE QUEDAR ASI: EL CODIGO XML DEBERIA VERSE ASI: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:android1="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#A464FA" android:orientation="vertical" > <TextView android:id="@+id/preg" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Que musica deseas escuchar?" android:textAppearance="?android:attr/textAppearanceLarge" /> <RadioGroup android1:id="@+id/radio" android1:layout_width="wrap_content"
  • 91. android1:layout_height="wrap_content" > <RadioButton android1:id="@+id/bar" android1:layout_width="wrap_content" android1:layout_height="wrap_content" android1:checked="true" android1:text="reggae" /> <RadioButton android1:id="@+id/mad" android1:layout_width="wrap_content" android1:layout_height="wrap_content" android1:text="Rap" /> <RadioButton android1:id="@+id/bor" android1:layout_width="wrap_content" android1:layout_height="wrap_content" android1:text="Rock" /> </RadioGroup> <Button android1:id="@+id/ok" android1:layout_width="wrap_content" android1:layout_height="wrap_content" android1:text="escuchar" /> </LinearLayout> AQUÍ UTILIZE UN TEXTVIEW PARA HACER LA PREGUNTA Y EL RADIOGROUP QUE CONTIENE EN CADA RADDIOBUTTON UNA RESPUESTA Y EL BOTON PARA QUE VERIFIQUE. EL CODIGO JAVA ES EL SIG: 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.media.AudioManager; import android.media.SoundPool; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.RadioGroup; import android.widget.Toast; public class Radiobutton extends Activity implements OnClickListener { SoundPool b1; View boton; RadioGroup rg;
  • 92. int Ok; int a, b, c; EL ONCLICKLISTENER LO UTILIZAMOS PARA EL BOTON Y AQUÍ LO ENVIAREMOS COMO UN VIEW EL SOUNDPOOL ESPRA QUE NOS REPRODUSCA LA PISTA CUANDO SELECCIONE PERO PARA SABER MASDE ESTO VE A SONIDO DE ANIMALES PARA INVESTIGAR SOBRE EL SOUNDPOOL. Y SOLO DEFINIREMOS EL RADIOGROUP QUE ES EL QUE CONTIENE LOS RADIOBUTTON. @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_radiobutton); rg=(RadioGroup)findViewById(R.id.radio); boton=(View)findViewById(R.id.ok); boton.setOnClickListener(this); b1=new SoundPool(8, AudioManager.STREAM_MUSIC, 0); a=b1.load(this,R.raw.reggae,1); b=b1.load(this,R.raw.rap,1); c=b1.load(this,R.raw.rock,1); AQUÍ ENLAZAMOS EL BOTON Y EL RADIOGROUP Y TAMBIEN LE DAMOS EL METODO ONCLICKLISTENER AL BOTON Y EN LAZAMOS LAS PISTAS PARA REPRODUCIRLAS. } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.radiobutton, menu); return true; } @Override public void onClick(View v) { // TODO Auto-generated method stub Ok=rg.getCheckedRadioButtonId(); switch (Ok){ case R.id.bar: Toast.makeText(this, "decidiste escuchar reggae", Toast.LENGTH_SHORT).show(); b1.play(a, 1, 1, 1, 0, 1); 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(Radiobutton.this, Radiobutton.class); PendingIntent pIntent = PendingIntent.getActivity(Radiobutton.this, 0, intent, 0);
  • 93. notificacion.setLatestEventInfo(Radiobutton.this, "Reggae", "damian marley-Gunmman world", pIntent); manager.notify(0,notificacion); break; case R.id.mad: Toast.makeText(this, "decidiste escuchar rap", Toast.LENGTH_SHORT).show(); b1.play(b, 1, 1, 1, 0, 1); NotificationManager manager1 = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); Notification notificacion1 = new Notification(android.R.drawable.stat_notify_more,"Notificación", System.currentTimeMillis()); Intent intent1 = new Intent(Radiobutton.this, Radiobutton.class); PendingIntent pIntent1 = PendingIntent.getActivity(Radiobutton.this, 0, intent1, 0); notificacion1.setLatestEventInfo(Radiobutton.this, "Rap", "DCartel de santa-dale fuego", pIntent1); manager1.notify(0,notificacion1); break; case R.id.bor: Toast.makeText(this, "decidiste escuchar rock", Toast.LENGTH_SHORT).show(); b1.play(c, 1, 1, 1, 0, 1); NotificationManager manager2 = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); Notification notificacion2 = new Notification(android.R.drawable.stat_notify_more,"Notificación", System.currentTimeMillis()); Intent intent2 = new Intent(Radiobutton.this, Radiobutton.class); PendingIntent pIntent2 = PendingIntent.getActivity(Radiobutton.this, 0, intent2, 0); notificacion2.setLatestEventInfo(Radiobutton.this, "Rock", "The Strokes-juicebox", pIntent2); manager2.notify(0,notificacion2); break; } } } EL CASE TOMA EL ID DE LOS RADIOBUTTON JUNTO CON SU RADIOGROUP PUESTO AL PRINCIPIO REPRODUCE LA MUSICA PEDIDA Y EL TOAST NOS MANDA U MENSAJE. CODIGO DE LA NOTIFICACION: Notification notificacion = new Notification(android.R.drawable.stat_notify_more,"Notificación", System.currentTimeMillis());
  • 94. Intent intent = new Intent(Radiobutton.this, Radiobutton.class); PendingIntent pIntent = PendingIntent.getActivity(Radiobutton.this, 0, intent, 0); notificacion.setLatestEventInfo(Radiobutton.this, "TITULO", "INFORMACION", pIntent); manager.notify(0,notificacion2); LO UNICO QUE SE DEBE MODIFICAR SON LAS VARIABLES Y EL TITULO Y LA INFORMACION DE LA NOTIFICACIONACA LES MOSTRARRE LA APLICACIÓN FUNCIONANDO CON UNA CAOTURA DE PANTALLA: CONCLUCION: APRENDIMOS A UTILIZAR EL RADIOBUTTON EN UNA APLICACIÓN Y TAMBIEN APRENDIMOS A MANDAR NOTIFICACION DE LA APLICACIÓN.
  • 95. CHECKBOX: LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
  • 96. DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA SIGUIENTE VENTANA
  • 97. DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA Y DARLE FINISH. LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA
  • 98. LA PANTALLA DEBE QUEDAR ASI: EL CODIGO XML DEBE SER ASI: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="Nutrición" android:textColor="#000000" android:textSize="50sp" /> <TextView
  • 99. android:layout_width="match_parent" android:layout_height="72dp" android:layout_marginLeft="15sp" android:hint="1.¿Cuántos cereales debemos comer al día?" android:textColor="#000000" android:textSize="25sp" /> <CheckBox android:id="@+id/cereala" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15sp" android:layout_marginTop="30sp" android:hint="15 celeales" android:textSize="20sp" /> <CheckBox android:id="@+id/cerealb" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15sp" android:hint="5 celeales" android:textSize="20sp" /> <CheckBox android:id="@+id/cerealc" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15sp" android:hint="10 celeales" android:textSize="20sp" /> </LinearLayout> LOS EDEITEXT QUE UTILIZAMOS FUERON PARA UNA CATEGORIA Y UN LOS CHECKBOX CADA UNO ES UNA PROBABLE RESPUESTA ESTOS SON ALGO ASI COMO BOTONES. ASI DEBES SER EL CODIGO JAVA: import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.CheckBox; import android.widget.Toast; public class MainActivity extends Activity implements OnClickListener{ String message = ""; CheckBox a, b, c; @Override
  • 100. 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); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.cereala: message="Tu respuesta es incorrecta"; Toast.makeText(this, message, Toast.LENGTH_SHORT).show(); break; case R.id.cerealb: 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; } } } UTILIZAREMOS EL METODO ONCLICKLISTENER PERO ESTA VES LOS UTILIZAREMOS EN LOS CHECKBOX. LOS USAREMOS COMO BOTONES TAMBIEN EN EL METODO ONCLICK Y SOLO MANDAMOS EL MENSAJE DE SI ES CORRECTO O NO.
  • 101. LA APLICACIÓN FUNCIONA BIEN AQUÍ LO COMPROBAMOS CON UNA CAPTURA DE PANTALLA: CONCLUCION: APRENDIMOS A USAR EL CHECKBOX EN NUESTRA APLICACIÓN QUE ES COMO UN BOTON Y USAR CON EL ONCLICKLISTENER QUE NOS SIRVE MUCHO EN NUESTRA APLICACIÓN.
  • 102. PROGRESSBAR: LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
  • 103. DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA SIGUIENTE VENTANA
  • 104. DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA Y DARLE FINISH. LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA
  • 105. LA PANTALLA DEBE QUEDAR ASI: SON DOS ACTIVITY UNA PARA EL PROGRESS Y UNA PARA FINALIZAR EL ULTIMO PROGRESSBAR: XML DEL PROGRESSBAR: <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:gravity="center"> <TextView android:text="Descarga esta imaguen gratis" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textview" android:textSize="35dp" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" /> <TextView
  • 106. android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Descarga:" android:id="@+id/textView" android:textColor="#ff7aff24" android:textSize="35dp" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageView" android:src="@drawable/abc" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="download" /> </LinearLayout> REALIZAMOS UNA INTERFAZ CON UN TEXTVIEW QUE DECIA QUE PASARA UNA IMAGUEN Y EL BOTTON QUE ACTIVARA NUESTRO PROGRESSBAR. ESTE DEBE SER EL CODIGO JAVA: import android.os.Bundle; import android.os.Handler; import android.app.Activity; import android.app.ProgressDialog; import android.content.Intent; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity implements OnClickListener{ Button b1; private ProgressDialog progressBar; private int progressBarStatus = 0; private Handler progressBarbHandler = new Handler(); private long fileSize = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); b1=(Button)findViewById(R.id.button);
  • 107. b1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { progressBar = new ProgressDialog(v.getContext()); progressBar.setCancelable(true); progressBar.setMessage("Descargando Archivo..."); 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 = downloadFile(); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } progressBarbHandler.post(new Runnable() { public void run() { progressBar.setProgress(progressBarStatus); } }); } if (progressBarStatus >= 100) { try { Thread.sleep(2000); Intent m=new Intent(MainActivity.this, video.class); startActivity(m); } catch (InterruptedException e) { e.printStackTrace(); } progressBar.dismiss(); } } }).start(); } }); } public int downloadFile() { while (fileSize <= 1000000) { fileSize++;
  • 108. if (fileSize == 100000) { return 10; } else if (fileSize == 200000) { return 20; } else if (fileSize == 300000) { return 30; } else if (fileSize == 400000) { return 40; } else if (fileSize == 500000) { return 50; } else if (fileSize == 600000) { return 60; } else if (fileSize == 700000) { return 70; } else if (fileSize == 800000) { return 80; } else if (fileSize == 900000) { return 90; } } return 100; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } @Override public void onClick(View arg0) { // TODO Auto-generated method stub
  • 109. } } TODO LO QUE CONLLEVA EL CODIGO JAVA ES PARA QUE NOS HAGA UNA CARGA PARA PODER PASAR DESPUES AL SIGUIENTE ACTIVITY DONDE YA ESTARA DESCARGADA LA IMAGUEN O EL VIDEO. AQUÍ MIRA EL RESULTADO DE LA APLICACIÓN CON LAS CAPTURAS DE PANTALLA: CONCLUCION: LE APRENDI A DAR UN PROCESO PARA UNA EJECUCION ALA APLICACIÓN Y ASI MANDARNOS UN ACTIVITY O DESCARGAR ALGO.
  • 110. SPINNER: LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
  • 111. DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA SIGUIENTE VENTANA
  • 112. DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA Y DARLE FINISH. LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA
  • 113. LA PANTALLA DEBE QUEDAR ASI: EL CODIGO XMLES ESTE: <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="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:text="Escoge un Estado" android:textSize="25dp" /> <Spinner android:id="@+id/estado" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <Spinner
  • 114. android:id="@+id/municipio" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout> EL CODIGO XML ES MUY SENCILLO YA QUE SOLO PUSIMOS UN EDITTEXT PARA QUE LIGA LO QUE DESEA Y DOS SPINNER QUE VAN A CONTENER INFORMACION: EL CODIGO JAVA QUEDA ASI: import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ArrayAdapter; import android.widget.Spinner; public class Otros extends Activity implements OnItemSelectedListener { Spinner spestado, spmunicipo; ArrayAdapter<String> aaEstado,aaMunicipio1,aaMunicipio2, aaMunicipio3, Clear; String[] opcEstado = new String[] { "Mexico", "Distrito Federal","Nuevo Leon" }; String[] opcMunicipio1 = new String[] { "Tecamac", "Ecatepec", "San Martin" }; String[] opcMunicipio2 = new String[] { "Gustavo A. Madero ","Álvaro Obregón", "Cuauhtémoc " }; String[] opcMunicipio3 = new String[] { "Salinas Victoria ","Montemorelos ", "El Carmen " }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_spinner); spestado = (Spinner) findViewById(R.id.estado); spmunicipo = (Spinner) findViewById(R.id.municipio); spestado.setOnItemSelectedListener(this); spmunicipo.setOnItemSelectedListener(this); aaEstado = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, opcEstado); aaMunicipio1 = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, opcMunicipio1); aaMunicipio2 = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, opcMunicipio2);
  • 115. aaMunicipio3 = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, opcMunicipio3); spestado.setAdapter(aaEstado); } @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { switch(arg0.getId()){ case R.id.estado: int seleccionado=spestado.getSelectedItemPosition(); if(seleccionado==0){ spmunicipo.setAdapter(aaMunicipio1); } if(seleccionado==1){ spmunicipo.setAdapter(aaMunicipio2); } if(seleccionado==2){ spmunicipo.setAdapter(aaMunicipio3); } break; } } @Override public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub } } COMO PODEMOS VER ACUPAMOS UN ARRAYADAPTER QUE ES UN ARREGLO QUE DESPUES DIRA SEUN LA OPCION QUE HAYA EN EL PRIMERO NOS VA ADAR UNA LISTA DE OPCION DIFERENTE A CADA UNO ASI DEPENDIENDO DEL ESTADO NOS DARA LOS MUNICIPIOS AQUÍ LO TENEMOS EN CAPTURA DE PANTALLA:
  • 116. CONCLUCION: APRENDIMOS A DARLE UNA ACCION ALA LISTA QUE NOS DE EL SPINNER Y DONDE DEBE IR POSESIONADO EL SPINNER.
  • 117. WEBVIEW: LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
  • 118. DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA SIGUIENTE VENTANA
  • 119. DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA Y DARLE FINISH. LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA
  • 120. LA PANTALLA DEBE QUEDAR ASI: EL CODIGO XML DEBE IR ASI: <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="#ff550f" android:orientation="vertical" >
  • 121. <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="5sp" android:layout_weight="3" android:orientation="horizontal" > <EditText android:id="@+id/Buscador" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:hint="introduce url" /> <Button android:id="@+id/buscar" style="@android:style/Animation.Toast" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="4" android:background="@drawable/buscare" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="10sp" android:layout_weight="3" android:orientation="horizontal" > <Button android:id="@+id/atras" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="4" android:background="@drawable/atras" /> <Button android:id="@+id/actualizar" android:layout_width="match_parent" android:layout_height="fill_parent" android:layout_weight="4" android:background="@drawable/update" /> <Button android:id="@+id/Siguiente" android:layout_width="match_parent" android:layout_height="50sp" android:layout_weight="4" android:background="@drawable/adelante" /> <Button android:id="@+id/historial" android:layout_width="match_parent" android:layout_height="fill_parent" android:layout_weight="4"
  • 122. android:background="@drawable/historial" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="10sp" android:layout_weight="1" android:orientation="horizontal" > <WebView android:id="@+id/webview" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout> </LinearLayout> EN LA INTERFAST PUSIMOS UN EDITTEXT PARA QUE AHÍ COLOQUEN EL URL A DONDE QUIERAN IR CON EL NAVEGADOR LOS BOTONES CON UNA IMAGUEN DE FONDO QUE INDIQUEN BUSCAR ADELANTE ATRÁS Y CARGAR Y WEBVIEW PARA MOSTRARNOS EL CONTENIDO DE DICHOA PAGUINA. ESTE ES EL CODIGO JAVA: import android.app.Activity; import android.app.SearchManager.OnCancelListener; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.webkit.WebView; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class Navega extends Activity implements OnCancelListener, OnClickListener{ WebView mibuscador; EditText sitio; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_navega); mibuscador = (WebView) findViewById(R.id.webview); String defecto = "https://mx.plugger.com/profile/5393610/inbox"; mibuscador.loadUrl(defecto); Button buscar = (Button) findViewById(R.id.buscar); Button atras = (Button) findViewById(R.id.atras); Button sig = (Button) findViewById(R.id.Siguiente); Button act = (Button) findViewById(R.id.actualizar); Button delete = (Button) findViewById(R.id.historial); sitio = (EditText) findViewById(R.id.Buscador); buscar.setOnClickListener(this);
  • 123. atras.setOnClickListener(this); sig.setOnClickListener(this); act.setOnClickListener(this); delete.setOnClickListener(this); } public void onClick(View v) { switch (v.getId()) { case R.id.buscar: String sitioWeb = sitio.getText().toString(); if (!sitioWeb.equals("")) { mibuscador.loadUrl("https://" + sitioWeb); } else { Toast.makeText(Navega.this, "No hay URL", Toast.LENGTH_LONG).show(); } break; case R.id.atras: if (mibuscador.canGoBack()) { mibuscador.goBack(); } break; case R.id.Siguiente: if (mibuscador.canGoForward()) { mibuscador.goForward(); } break; case R.id.actualizar: mibuscador.reload(); break; case R.id.historial: mibuscador.clearHistory(); Toast.makeText(Navega.this, "Historial Borrado", Toast.LENGTH_LONG).show(); break; } } @Override public void onCancel() { // TODO Auto-generated method stub } } EN ESTE PRIMERO MANDAMOS POR DEFECTO LE DAMOS UN URL Y DESPUES LE DIMOS UN ONCLICKLISTENER PARA DARLE UN VALOR A CADA BOTON.
  • 124. AQUÍ LA APLICACIÓN FUNCIONANDO TENEMOS COMO PRUEBA LA CAPTURA DE PANTALLA: CONCLUCION: AQUÍ APRENDIMOS A USAR EL EL WEBVIEW PARA PODER CREAR UN NAVEGADOR Y ASI USARLO CON UN HISTORIAL DE VISITAS.
  • 125. TIMEPICKER: LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
  • 126. DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA SIGUIENTE VENTANA
  • 127. DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA Y DARLE FINISH. LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA
  • 128. AL CODIGO XML NO SE LE HACE ABSOLUTAMENTE NADA: SOLO EN EL JAVA: import android.os.Bundle; import android.app.Activity; import android.app.Dialog; import android.app.TimePickerDialog; import android.view.Menu; import android.widget.TimePicker; import android.widget.Toast; public class MainActivity extends Activity { static final int dialog_id =0; int hour, minute; @SuppressWarnings("deprecation") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); showDialog(dialog_id); } protected Dialog onCreateDialog(int id){ switch(id){ case dialog_id: return new TimePickerDialog(this, mTimeSetListener, hour, minute, false); } return null; } private TimePickerDialog.OnTimeSetListener mTimeSetListener= new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int hour_minute) {
  • 129. hour=hourOfDay; minute=hour_minute; Toast.makeText(getBaseContext(), "setted time: "+hour+":"+minute, Toast.LENGTH_LONG).show(); } }; } LO UNICO QUE HICIMOS FUE MANDARLO A LLAMAR Y CREAR UNA DOS VARIABLES PARA HORA Y MINUTOS Y DEPUES DE HABER DEFINIDO NOS MANDE UN MENSAJE CON LA HORA. AQUÍ ESTA FUNCIONANDO CON UNA CAPTURA DE PANTALLA: CONCLUCION: PZ ESTE MAS QUE NADA ES COMO PARA DARLE UN HORARIO AL NUESTRA APLICACIÓN UTILIZANDO FORMATOS DE TARDE MAÑANA MINUTOS Y HORAS.
  • 130. TOOGLEBUTTON: LO PRIMERO QUE DEBEMOS HACER ES CREAR EL PROYECTO DANDOLE EN FILE DESPUES EN NEW Y EN ANDROID APPLICATION PROJECT DESPUES LE DAS UN NOBRE AL PROJECTO Y LA CAMBIAS EL EXAMP´LE POR EL NOMBRE QUE SE TE OCURRRA ALGO ASI COMO UNA FIRMA PERSONAL
  • 131. DESPUES LE DAS EN SIGUIENTE Y LE VOLVERAS A DAR EN SIGUIENTE A LA SIGUIENTE VENTANA
  • 132. DESPUES ELEGUIRAS UN ICONO PARA TU APLICACIÓN O PUEDES DEJARLE ESE LOGOTIPO TAMBIEN PUEDES PONER UNA IMAGUEN SIEMPRE Y CUANDO ESTA SEA .PNG EN SHAPE NOS DA LA OPCION DE ENCUADRARLA O HACERLA CIRCULO Y EN BACKGROUND COLOR NOS DA LAS OPCIONES SI ES QUE ENCUADRAMOS O CIRCULAMOS EL COLOR DEL LOGO Y EL DEL FONDO Y POR ULTIMO SERIA DARLE UN NOMBRE ALA ACYVITI Y ALA JAVA Y DARLE FINISH. LO CUAL TE ARROJARA A UNA PANTALLA EN BLANCO Y UNA AVTIVIDAD DONDE PUEDES PROGAMAR CON JAVA EN LA PANTALLA HAY DOS TIPOS UNA PARA AARASTRAS LO QUE OCUPARAS Y OTRA PARA
  • 133. ASI DEBE QUEDAR LA PANTALLA: EL CODIGO XML DEBE SER ASI: <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:id="@+id/fondo" android:layout_width="match_parent" android:layout_height="match_parent"
  • 134. android:gravity="center_horizontal" android:orientation="horizontal"> <ToggleButton android:id="@+id/tgl1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5sp" android:textOn="Rojo On" android:textOff="Rojo off" android:text="ToggleBotton"/> <ToggleButton android:id="@+id/tgl2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5sp" android:textOn="Verde On" android:textOff="Verde off" android:text="ToggleBotton"/> <ToggleButton android:id="@+id/tgl3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5sp" android:textOn="Azul On" android:textOff="Azul off" android:text="ToggleBotton"/> </LinearLayout> </LinearLayout> EN ESTE VAMOS A VER COMO EN LOS TOGGLE BOTTON TIENE DOS IPOS DE TEXTOS QUE ES PARA APAGADO Y ENCENDIDO. EL CODIGO JAVA ES ASI: import android.os.Bundle; import android.app.Activity; import android.graphics.Color; import android.widget.CompoundButton; import android.widget.CompoundButton.OnCheckedChangeListener; import android.widget.LinearLayout; import android.widget.ToggleButton; import android.view.Menu; public class MainActivity extends Activity implements OnCheckedChangeListener{ ToggleButton r, v, a; LinearLayout cont; String color="", rj="00", vr="00", az="00"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); cont=(LinearLayout) findViewById(R.id.fondo);