SlideShare a Scribd company logo
1 of 46
Uriel Ávila Cruz
Desarrollo de Aplicaciones
Móviles
CECyTEM Plantel Tecámac
Manual De Aplicaciones de
Android
Índice…
1. Hola Mundo
2. CheckBox
3. Factorial
4. Operaciones Básicas
5. Tablas De Multiplicar
6. Calculo De IMC
7. Comunicación entre Acitivities
8. ImageView
9. Intent Enviando Y Recibiendo Datos
10. Calcular Edad
11. Tomar Foto
12. Giroscopio
13. SoundPool
14. Options
15. ProgressBar
16. VideoView
17. RadioButton
18. Acelerometro
19. Spinner
20.Notificaciones
El Objetivo De Esta Aplicación Fue Conocer El Entorno de ADT y Saber El
Nombre De Cada Uno De Los Componentes, Así como analizar el contexto de
Java.
2
Primeramente Creamos Un Nuevo Proyecto En Eclipse En La Parte Superior
Izquierda Damos Clic En File, New, Android Aplication Project. Colocamos
Nombre a la Aplicación En La Primera Caja De Texto Así Como El Nombre de
Paquete o Package Y Damos Clic En Siguiente o Next, Posteriormente
Configuramos el Icono de Nuestra Aplicación Desde Una Imagen Externa, Una
Imagen Prediseñada De Eclipse O Un Texto. Damos El Nombre A Nuestra
Pantalla o Layout Y al Proceso O al Java. Y Finalizamos El Wizard Nos Vamos
Al Xml Y Observamos Un TextView Con Un HelloWord Lo Podemos Cambiar
Desde El android:text=”” ó Ir a res, values, strings y definir nuestra variable y
el valor.
3
3
3
Esta Aplicación Se Utiliza Para Seleccionar Las Opciones Introducidas Por
Medio De Casillas Y Al Tocarlas Se Marca Una Palomita √ Al Crear El Proyecto
Vamos A La Paleta Y Buscamos Form Widgets.
Arrastramos A la Pantalla El CheckBox
Quedarían Así:
Asi Que En El activity_main.xml El CodigoSeria:
<?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"
android:gravity="center"
android:background="#990000"
tools:context=".Checkbox" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="Nutrición"
android:text="Deportes"
android:textColor="#FFFFFF"
android:textSize="50sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10sp"
android:hint="1.¿Cuántos cereales debemos comer al día?"
android:text="¿Que Deporte Te Gusta Mas?"
4
android:textColor="#FFFFFF"
android:textSize="15sp" />
<CheckBox
android:id="@+id/cereala"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15sp"
android:text="Futbol"
android:textSize="10sp" />
<CheckBox
android:id="@+id/cerealb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15sp"
android:text="BasquetBol"
android:textSize="10sp" />
<CheckBox
android:id="@+id/cerealc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15sp"
android:text="Voleibol"
android:textSize="10sp" />
</LinearLayout>
Los TextViewQue MuestrenSoloTextoYLosCheckBox Para SeleccionarLasOpciones.YEnEl
CodigoJavaQuedaria:
package skriom.checkbox;
importandroid.app.Activity;
importandroid.app.Notification;
importandroid.app.NotificationManager;
importandroid.app.PendingIntent;
importandroid.content.Context;
importandroid.content.Intent;
importandroid.os.Bundle;
importandroid.view.View;
importandroid.view.View.OnClickListener;
importandroid.widget.CheckBox;
5
importandroid.widget.Toast;
publicclassMainActivity extendsActivityimplementsOnClickListener{
Stringmessage = "";
private CheckBox a,b,c, d, e,f, g, h,i;
@Override
publicvoidonCreate(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
publicvoid onClick(Viewarg0) {
switch(arg0.getId()) {
case R.id.cereala:
6
message = "Tu respuestaBasquetbol EsSuper";
Toast.makeText(this,message,Toast.LENGTH_SHORT).show();
break;
case R.id.cerealb:
message = "Tu respuestaBasquetbol EsSuper";
Toast.makeText(this,message,Toast.LENGTH_SHORT).show();
break;
case R.id.cerealc:
message = "Tu respuestaesVoleibolEsHermoso";
Toast.makeText(this,message,Toast.LENGTH_SHORT).show();
break;
}
}
Asi Que Ese Es ProcesoPara Que PuedaEjecutarse EnUn TelefonoEl CheckBox.
7
Con Esta Aplicación Calculamos El Factorial De Cada Numero Basándonos en El
Factorial Matemático Por Ejemplo. Factorial de 3 3*2=6 3*1=3
Entonces 6+3=9 Factorial De 3=9. El activity_main.xml quedó de la siguiente
manera
<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"
android:background="@drawable/ic_launcher">
<EditText
android:id="@+id/Txt1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numeric="integer"
android:hint="Numero" >
</EditText>
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Calcular Factorial" />
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button1"
/>
</LinearLayout>
Asi Que El MainActivity.java quedaría:
package meridane.factorial;
importandroid.widget.*;
importandroid.os.Bundle;
importandroid.app.Activity;
importandroid.view.Menu;
importandroid.view.View;
importandroid.view.View.OnClickListener; 8
publicclassMainActivityextendsActivityimplementsOnClickListener{
EditTextt;
Buttonb;
TextView v;
@Override
protectedvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
t=(EditText) findViewById(R.id.Txt1);
b=(Button) findViewById(R.id.btn1);
v=(TextView)findViewById(R.id.text1);
b.setOnClickListener(this);
}
@Override
publicbooleanonCreateOptionsMenu(Menumenu) {
//Inflate the menu;thisaddsitemstothe actionbar if itis present.
getMenuInflater().inflate(R.menu.main,menu);
returntrue;
}
@Override
publicvoidonClick(View arg0) {
if(arg0.getId()==R.id.btn1){
inti=1;
intres=0;
9
int
num=Integer.parseInt(t.getText().toString());
v.setText(null);
v.append("n"+num);
intfax=num-1;
intin;
while(fax>=i){
v.append("*"+fax);
in=num*fax;
res=res+in;
fax=fax-1;
}
v.append("nFactorial de:"+num+"="+res);
}
}
}
Esta app sirvió para observar el proceso del Método OnclickListener, además el
funcionamiento de las cajas y la impresión de lo resultados, utilizamos dos EditText, Un
Botón Y Un TextView Pues El activity_main.xml quedó de la siguiente manera para que
obtuviera los dos números de tipo decimal y mostrara suma, resta, multiplicación y
división.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center">
<EditText
android:id="@+id/Txt1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Numero 1"
android:numeric="decimal"
android:gravity="center" >
</EditText>
<EditText
android:id="@+eid/Txt2"
android:numeric="decimal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Numero 2"
android:gravity="center"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/boton1"
android:layout_width="wrap_content"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="Calcular" />
<Button
10
11
android:id="@+id/boton2"
android:layout_width="wrap_content"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="Borrar" />
</LinearLayout>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="--------" />
</LinearLayout>
Si Esto Es Mucho Código Para Solo Mostrar Esto:
EditText
Botones
TextView
Layout Principal
(Vertical)
Layout Secundario
(Horizontal)
12
Entonces se dice que el MainActivity.java quedaría asi para dar el proceso:
package meridane.basico;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.*;
public class MainActivity extends Activity implements OnClickListener {
Button cal, bor;
EditText n1,n2;
TextView res;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cal=(Button) findViewById(R.id.boton1);
bor=(Button) findViewById(R.id.boton2);
n1=(EditText) findViewById(R.id.Txt1);
n2=(EditText) findViewById(R.id.Txt2);
res=(TextView) findViewById(R.id.textView1);
cal.setOnClickListener(this);
bor.setOnClickListener(this);
}
@Override
13
public void onClick(View arg0) {
switch(arg0.getId()){
case R.id.boton1:
double
num1=Integer.parseInt(n1.getText().toString());
double
num2=Integer.parseInt(n2.getText().toString());
double suma =num1+num2;
double resta =num1-num2;
double m =num1*num2;
double div=num1/num2;
res.setText("La suma Es: "+suma+"n La Resta Es:
"+resta+"n La Division Es: "+div+"n La Multiplicacion es: "+m );
break;
case R.id.boton2:
n1.setText("");
n2.setText("");
res.setText("");
}
}
}
En donde primero se mencionó el paquete que lo contenia, la clase, asi como declaramos
nuestros objetos como son Botones, TextView, EditText, etc, Con El Metodo OnCreate
Enlazamos El Java Con El Layout, y relacionamos los objetos para tener datos, por último
en el Metodo OnClick Se Hizo El Proceso a realizar y quedaría de la siguiente manera:
14
15
Esta app sirvió Para agudizar la habilidad lógica por medio de un método corto para
realizar las tablas de multiplicar. Utilizamos Un EditText, Dos Botones y Un Text View Para
Mostrar Las Tablas De Multiplicar. Así Que El Layout Quedó de la sig. Manera:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:layout_margin="15pt"
android:orientation="vertical" >
<EditText
android:id="@+id/edtTxt1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:numeric="integer" >
<requestFocus />
</EditText>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/btncalc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Calcular" />
<Button
android:id="@+id/btnlimp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Limpiar"
android:layout_weight="1"
/>
</LinearLayout>
<TextView
android:id="@+id/txt1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
</LinearLayout>
16
Utilizamos como ya se había dicho un EdiText, Dos Botones Y Un TextView Para Mostrar
Las Tablas. Todos Con Las Mismas Características que Son Match_parent, wrap_content y
Los id. Todo Para Mostrar El Siguiente Layout:
Y El MainActivity.java También Quedaría así:
package meridane.operaciones;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.*; 17
public class MainActivity extends Activity implements OnClickListener {
Button calc,limpiar;
TextView txt1;
EditText mu;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
calc=(Button)findViewById(R.id.btncalc);
limpiar=(Button)findViewById(R.id.btnlimp);
txt1=(TextView)findViewById(R.id.txt1);
mu=(EditText)findViewById(R.id.edtTxt1);
calc.setOnClickListener(this);
limpiar.setOnClickListener(this);
}
@Override
public void onClick(View arg0) {
switch(arg0.getId()){
case R.id.btncalc:
int
num=Integer.parseInt(mu.getText().toString());
for(int cont=1;cont<=10;cont++){
int multip=cont*num;
18
txt1.append(num+"*"+cont+"="+multip+"n");
}
break;
case R.id.btnlimp:
mu.setText("");
txt1.setText("");
}
}
}
Donde El Botón Limpiar También Juega Un Papel Muy Importante Por Que Cuando se
Llene EL TextView Éste Lo Limpia:
19
Como todos sabemos el IMC es el Indice De Masa Corporal Y se Calcula dividiendo el peso
entre la altura al cuadrado. La app aparte de decirte tu IMC también te da una pequeña
recomendación.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:background="#F0000D"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical" >
<EditText
android:id="@+id/altura"
android:layout_width="match_parent"
android:gravity="center"
android:numeric="decimal"
android:layout_height="wrap_content"
android:hint="Altura (Mts)" >
</EditText>
<EditText
android:id="@+id/peso"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:numeric="decimal"
android:gravity="center"
android:hint="Peso (Kg)" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/calc"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Calcular IMC" />
<Button
android:id="@+id/borrar" 20
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Limpiar"
android:gravity="center"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/res"
android:gravity="center"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/rec"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
/>
</LinearLayout>
</LinearLayout>
+
21
package meridane.imc;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.*;
public class MainActivity extends Activity implements OnClickListener {
Button calc, limpiar;
EditText altura,peso;
TextView res, rec;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
calc=(Button)findViewById(R.id.calc);
limpiar=(Button)findViewById(R.id.borrar);
altura=(EditText) findViewById(R.id.altura);
peso=(EditText) findViewById(R.id.peso);
res=(TextView) findViewById(R.id.res);
rec=(TextView) findViewById(R.id.rec);
calc.setOnClickListener(this);
limpiar.setOnClickListener(this);
}
@Override
22
public void onClick(View arg0) {
switch(arg0.getId()){
case R.id.calc:
double
altu=Double.parseDouble(altura.getText().toString());
double
pes=Double.parseDouble(peso.getText().toString());
double imc=pes/(Math.pow(altu, 2));
res.setText(""+ imc);
if(imc<18){
rec.setText("Come Más,n Lo
Necesitas");
}
if(imc>=18 && imc<=24.9){
rec.setText ("Sigue Asi,n Haga
Ejercicio");
}
if(imc>=25 && imc<=26.9){
rec.setText("Reduce Tus n
FRITURAS,n Haga Ejercicio");
}
if(imc>=27){
rec.setText("Tienes un n IMC Alto,n
Haga Ejercicio");
}
break;
case R.id.borrar:
altura.setText("");
peso.setText("");
23
res.setText("");
rec.setText("");
break;
}
}
}
1er activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="clicka aqui" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="eNVIAR" />
</LinearLayout>
24
2do Activity Se Insertaron Los Objetos para diferenciarlo del primero
<?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" >
<ProgressBar
android:id="@+id/progressBar1"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<SeekBar
android:id="@+id/seekBar1"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<RatingBar
android:id="@+id/ratingBar1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<ToggleButton
android:id="@+id/toggleButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ToggleButton" />
</LinearLayout>
1er MainActivity.java
package meridane.intent;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity implements OnClickListener {
Button b;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b=(Button) findViewById(R.id.button1);
b.setOnClickListener(this);
}
@Override
public void onClick(View arg0) {
if(arg0.getId()==R.id.button1){
String m="Holis";
Intent v=new Intent(this, segundo.class);
startActivity(v);
}
}
}
package meridane.intent;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;
public class segundo extends Activity{
String m="";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_segundo);
Toast.makeText(this, “Hola Mundo”, Toast.LENGTH_LONG).show();
}
}
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="meridane.intent"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="meridane.intent.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
<activity
android:name="meridane.intent.segundo"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
</application>
</manifest>
Se añadió el segundo Activity( La Clase Java) Como DEFAULT Ya Que La Vamos A Conectar
<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="#DF012D"
android:gravity="center"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Escoge Una Seccion"
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>
package gears.spinner;
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;
import android.widget.Toast;
public class Otros extends Activity implements OnItemSelectedListener {
Spinner spestado, spmunicipo;
ArrayAdapter<String> aaEstado,aaMunicipio1,aaMunicipio2,
aaMunicipio3, Clear;
String[] opcEstado = new String[] { "Mujeres", "Hombres","Bebes" };
String[] opcMunicipio1 = new String[] { "Vestido", "Pantalones", "Pijamas"
};
String[] opcMunicipio2 = new String[] { "Camisa","Gorritos", "Pañales" };
String[] opcMunicipio3 = new String[] { "Zapatilla","Botas ", "Biberon" };
@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();
int s=spmunicipo.getSelectedItemPosition();
int sp=spmunicipo.getSelectedItemPosition();
if(seleccionado==0){
spmunicipo.setAdapter(aaMunicipio1);
Toast.makeText(this, "Usted Eligio :"+"Mujeres",
Toast.LENGTH_SHORT).show();
if(sp==0){
Toast.makeText(this, "Vale $1000",
Toast.LENGTH_SHORT).show();
}
if(sp==1){
Toast.makeText(this, "Vale $2300",
Toast.LENGTH_SHORT).show();
}
if(sp==2){
Toast.makeText(this, "Vale $700",
Toast.LENGTH_SHORT).show();
}
}
if(seleccionado==1){
spmunicipo.setAdapter(aaMunicipio2);
Toast.makeText(this, "Usted Eligio "+"Hombres",
Toast.LENGTH_SHORT).show();
if(sp==0){
Toast.makeText(this, "Vale $1000",
Toast.LENGTH_SHORT).show();
}
if(sp==1){
Toast.makeText(this, "Vale $2300",
Toast.LENGTH_SHORT).show();
}
if(sp==2){
Toast.makeText(this, "Vale $700",
Toast.LENGTH_SHORT).show();
}
}
if(seleccionado==2){
spmunicipo.setAdapter(aaMunicipio3);
Toast.makeText(this, "Usted Eligio "+"Bebes",
Toast.LENGTH_SHORT).show();
if(sp==0){
Toast.makeText(this, "Vale $500",
Toast.LENGTH_SHORT).show();
}
if(sp==1){
Toast.makeText(this, "Vale $700",
Toast.LENGTH_SHORT).show();
}
if(sp==2){
Toast.makeText(this, "Vale $100",
Toast.LENGTH_SHORT).show();
}
}
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:background="@drawable/ic_launcher"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="Arial"
android:gravity="center"
android:text="App Realizada Por 403 n n n Descargar Archivo.."
/>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Descargar" />
</LinearLayout>
package meridame.progresbar;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.MediaController;
import android.widget.VideoView;
import android.widget.MediaController;
public class MainActivity extends Activity {
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.button1);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
progressBar = new ProgressDialog(v.getContext());
progressBar.setCancelable(true);
progressBar.setMessage("Descargando...");
progressBar.setProgressStyle(ProgressDialog.STYLE_SPINNER);
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);
}
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;
}
}
<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="#DD0F00"
android:orientation="vertical">
<ImageView
android:id="@+id/imageView1"
android:layout_width= "fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:textColor="#FFFFFF"
android:gravity="center"
android:text="Elige una Opcion en el n boton de la izquierda-
abajo" />
</LinearLayout>
package meridame.optionsmenu;
importandroid.os.Bundle;
importandroid.app.Activity;
importandroid.content.Intent;
importandroid.view.Menu;
importandroid.view.MenuItem;
importandroid.widget.TextView;
publicclassMainActivityextendsActivity{
/** Calledwhenthe activityisfirstcreated.*/
@Override
publicvoidonCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
publicboolean onCreateOptionsMenu(Menumenu){
super.onCreateOptionsMenu(menu);
MenuItemitem1=menu.add(0,1,1,"Videos");
MenuItemitem2=menu.add(0,2,2,"AcercaDe");
MenuItemitem3=menu.add(0,3,3,"Salir");
item1.setIcon(R.drawable.ic_launcher);
item2.setIcon(R.drawable.ic_launcher);
item3.setIcon(R.drawable.ic_launcher);
returntrue;
}
@Override
publicbooleanonOptionsItemSelected(MenuItemitem){
intid= item.getItemId();
switch(id){
case 1:
Intentgo=new Intent(MainActivity.this,
Videos.class);
startActivity(go);
break;
case 2:
Intentir=new Intent(MainActivity.this,acercade.class);
startActivity(ir);
break;
case 3:
finish();
}
returntrue;
}
}

More Related Content

Featured

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 

Featured (20)

Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 

Manual de aplicaciones de android

  • 1. Uriel Ávila Cruz Desarrollo de Aplicaciones Móviles CECyTEM Plantel Tecámac Manual De Aplicaciones de Android
  • 2. Índice… 1. Hola Mundo 2. CheckBox 3. Factorial 4. Operaciones Básicas 5. Tablas De Multiplicar 6. Calculo De IMC 7. Comunicación entre Acitivities 8. ImageView 9. Intent Enviando Y Recibiendo Datos 10. Calcular Edad 11. Tomar Foto 12. Giroscopio 13. SoundPool 14. Options 15. ProgressBar 16. VideoView 17. RadioButton 18. Acelerometro 19. Spinner 20.Notificaciones
  • 3. El Objetivo De Esta Aplicación Fue Conocer El Entorno de ADT y Saber El Nombre De Cada Uno De Los Componentes, Así como analizar el contexto de Java. 2
  • 4. Primeramente Creamos Un Nuevo Proyecto En Eclipse En La Parte Superior Izquierda Damos Clic En File, New, Android Aplication Project. Colocamos Nombre a la Aplicación En La Primera Caja De Texto Así Como El Nombre de Paquete o Package Y Damos Clic En Siguiente o Next, Posteriormente Configuramos el Icono de Nuestra Aplicación Desde Una Imagen Externa, Una Imagen Prediseñada De Eclipse O Un Texto. Damos El Nombre A Nuestra Pantalla o Layout Y al Proceso O al Java. Y Finalizamos El Wizard Nos Vamos Al Xml Y Observamos Un TextView Con Un HelloWord Lo Podemos Cambiar Desde El android:text=”” ó Ir a res, values, strings y definir nuestra variable y el valor. 3 3 3
  • 5. Esta Aplicación Se Utiliza Para Seleccionar Las Opciones Introducidas Por Medio De Casillas Y Al Tocarlas Se Marca Una Palomita √ Al Crear El Proyecto Vamos A La Paleta Y Buscamos Form Widgets. Arrastramos A la Pantalla El CheckBox Quedarían Así: Asi Que En El activity_main.xml El CodigoSeria: <?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" android:gravity="center" android:background="#990000" tools:context=".Checkbox" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="Nutrición" android:text="Deportes" android:textColor="#FFFFFF" android:textSize="50sp" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="10sp" android:hint="1.¿Cuántos cereales debemos comer al día?" android:text="¿Que Deporte Te Gusta Mas?" 4
  • 6. android:textColor="#FFFFFF" android:textSize="15sp" /> <CheckBox android:id="@+id/cereala" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15sp" android:text="Futbol" android:textSize="10sp" /> <CheckBox android:id="@+id/cerealb" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15sp" android:text="BasquetBol" android:textSize="10sp" /> <CheckBox android:id="@+id/cerealc" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15sp" android:text="Voleibol" android:textSize="10sp" /> </LinearLayout> Los TextViewQue MuestrenSoloTextoYLosCheckBox Para SeleccionarLasOpciones.YEnEl CodigoJavaQuedaria: package skriom.checkbox; importandroid.app.Activity; importandroid.app.Notification; importandroid.app.NotificationManager; importandroid.app.PendingIntent; importandroid.content.Context; importandroid.content.Intent; importandroid.os.Bundle; importandroid.view.View; importandroid.view.View.OnClickListener; importandroid.widget.CheckBox; 5
  • 7. importandroid.widget.Toast; publicclassMainActivity extendsActivityimplementsOnClickListener{ Stringmessage = ""; private CheckBox a,b,c, d, e,f, g, h,i; @Override publicvoidonCreate(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 publicvoid onClick(Viewarg0) { switch(arg0.getId()) { case R.id.cereala: 6
  • 8. message = "Tu respuestaBasquetbol EsSuper"; Toast.makeText(this,message,Toast.LENGTH_SHORT).show(); break; case R.id.cerealb: message = "Tu respuestaBasquetbol EsSuper"; Toast.makeText(this,message,Toast.LENGTH_SHORT).show(); break; case R.id.cerealc: message = "Tu respuestaesVoleibolEsHermoso"; Toast.makeText(this,message,Toast.LENGTH_SHORT).show(); break; } } Asi Que Ese Es ProcesoPara Que PuedaEjecutarse EnUn TelefonoEl CheckBox. 7
  • 9. Con Esta Aplicación Calculamos El Factorial De Cada Numero Basándonos en El Factorial Matemático Por Ejemplo. Factorial de 3 3*2=6 3*1=3 Entonces 6+3=9 Factorial De 3=9. El activity_main.xml quedó de la siguiente manera <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" android:background="@drawable/ic_launcher"> <EditText android:id="@+id/Txt1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:numeric="integer" android:hint="Numero" > </EditText> <Button android:id="@+id/btn1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Calcular Factorial" /> <TextView android:id="@+id/text1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button1" /> </LinearLayout> Asi Que El MainActivity.java quedaría: package meridane.factorial; importandroid.widget.*; importandroid.os.Bundle; importandroid.app.Activity; importandroid.view.Menu; importandroid.view.View; importandroid.view.View.OnClickListener; 8
  • 10. publicclassMainActivityextendsActivityimplementsOnClickListener{ EditTextt; Buttonb; TextView v; @Override protectedvoidonCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); t=(EditText) findViewById(R.id.Txt1); b=(Button) findViewById(R.id.btn1); v=(TextView)findViewById(R.id.text1); b.setOnClickListener(this); } @Override publicbooleanonCreateOptionsMenu(Menumenu) { //Inflate the menu;thisaddsitemstothe actionbar if itis present. getMenuInflater().inflate(R.menu.main,menu); returntrue; } @Override publicvoidonClick(View arg0) { if(arg0.getId()==R.id.btn1){ inti=1; intres=0; 9
  • 12. Esta app sirvió para observar el proceso del Método OnclickListener, además el funcionamiento de las cajas y la impresión de lo resultados, utilizamos dos EditText, Un Botón Y Un TextView Pues El activity_main.xml quedó de la siguiente manera para que obtuviera los dos números de tipo decimal y mostrara suma, resta, multiplicación y división. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center"> <EditText android:id="@+id/Txt1" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Numero 1" android:numeric="decimal" android:gravity="center" > </EditText> <EditText android:id="@+eid/Txt2" android:numeric="decimal" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Numero 2" android:gravity="center" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" > <Button android:id="@+id/boton1" android:layout_width="wrap_content" android:layout_weight="1" android:layout_height="wrap_content" android:text="Calcular" /> <Button 10 11
  • 14. Entonces se dice que el MainActivity.java quedaría asi para dar el proceso: package meridane.basico; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.*; public class MainActivity extends Activity implements OnClickListener { Button cal, bor; EditText n1,n2; TextView res; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); cal=(Button) findViewById(R.id.boton1); bor=(Button) findViewById(R.id.boton2); n1=(EditText) findViewById(R.id.Txt1); n2=(EditText) findViewById(R.id.Txt2); res=(TextView) findViewById(R.id.textView1); cal.setOnClickListener(this); bor.setOnClickListener(this); } @Override 13
  • 15. public void onClick(View arg0) { switch(arg0.getId()){ case R.id.boton1: double num1=Integer.parseInt(n1.getText().toString()); double num2=Integer.parseInt(n2.getText().toString()); double suma =num1+num2; double resta =num1-num2; double m =num1*num2; double div=num1/num2; res.setText("La suma Es: "+suma+"n La Resta Es: "+resta+"n La Division Es: "+div+"n La Multiplicacion es: "+m ); break; case R.id.boton2: n1.setText(""); n2.setText(""); res.setText(""); } } } En donde primero se mencionó el paquete que lo contenia, la clase, asi como declaramos nuestros objetos como son Botones, TextView, EditText, etc, Con El Metodo OnCreate Enlazamos El Java Con El Layout, y relacionamos los objetos para tener datos, por último en el Metodo OnClick Se Hizo El Proceso a realizar y quedaría de la siguiente manera: 14
  • 16. 15
  • 17. Esta app sirvió Para agudizar la habilidad lógica por medio de un método corto para realizar las tablas de multiplicar. Utilizamos Un EditText, Dos Botones y Un Text View Para Mostrar Las Tablas De Multiplicar. Así Que El Layout Quedó de la sig. Manera: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:layout_margin="15pt" android:orientation="vertical" > <EditText android:id="@+id/edtTxt1" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:numeric="integer" > <requestFocus /> </EditText> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" > <Button android:id="@+id/btncalc" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="Calcular" /> <Button android:id="@+id/btnlimp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Limpiar" android:layout_weight="1" /> </LinearLayout> <TextView android:id="@+id/txt1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView" /> </LinearLayout> 16
  • 18. Utilizamos como ya se había dicho un EdiText, Dos Botones Y Un TextView Para Mostrar Las Tablas. Todos Con Las Mismas Características que Son Match_parent, wrap_content y Los id. Todo Para Mostrar El Siguiente Layout: Y El MainActivity.java También Quedaría así: package meridane.operaciones; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.*; 17
  • 19. public class MainActivity extends Activity implements OnClickListener { Button calc,limpiar; TextView txt1; EditText mu; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); calc=(Button)findViewById(R.id.btncalc); limpiar=(Button)findViewById(R.id.btnlimp); txt1=(TextView)findViewById(R.id.txt1); mu=(EditText)findViewById(R.id.edtTxt1); calc.setOnClickListener(this); limpiar.setOnClickListener(this); } @Override public void onClick(View arg0) { switch(arg0.getId()){ case R.id.btncalc: int num=Integer.parseInt(mu.getText().toString()); for(int cont=1;cont<=10;cont++){ int multip=cont*num; 18
  • 20. txt1.append(num+"*"+cont+"="+multip+"n"); } break; case R.id.btnlimp: mu.setText(""); txt1.setText(""); } } } Donde El Botón Limpiar También Juega Un Papel Muy Importante Por Que Cuando se Llene EL TextView Éste Lo Limpia: 19
  • 21. Como todos sabemos el IMC es el Indice De Masa Corporal Y se Calcula dividiendo el peso entre la altura al cuadrado. La app aparte de decirte tu IMC también te da una pequeña recomendación. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:background="#F0000D" android:layout_height="match_parent" android:gravity="center" android:orientation="vertical" > <EditText android:id="@+id/altura" android:layout_width="match_parent" android:gravity="center" android:numeric="decimal" android:layout_height="wrap_content" android:hint="Altura (Mts)" > </EditText> <EditText android:id="@+id/peso" android:layout_width="match_parent" android:layout_height="wrap_content" android:numeric="decimal" android:gravity="center" android:hint="Peso (Kg)" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" > <Button android:id="@+id/calc" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="Calcular IMC" /> <Button android:id="@+id/borrar" 20
  • 23. package meridane.imc; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.*; public class MainActivity extends Activity implements OnClickListener { Button calc, limpiar; EditText altura,peso; TextView res, rec; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); calc=(Button)findViewById(R.id.calc); limpiar=(Button)findViewById(R.id.borrar); altura=(EditText) findViewById(R.id.altura); peso=(EditText) findViewById(R.id.peso); res=(TextView) findViewById(R.id.res); rec=(TextView) findViewById(R.id.rec); calc.setOnClickListener(this); limpiar.setOnClickListener(this); } @Override 22
  • 24. public void onClick(View arg0) { switch(arg0.getId()){ case R.id.calc: double altu=Double.parseDouble(altura.getText().toString()); double pes=Double.parseDouble(peso.getText().toString()); double imc=pes/(Math.pow(altu, 2)); res.setText(""+ imc); if(imc<18){ rec.setText("Come Más,n Lo Necesitas"); } if(imc>=18 && imc<=24.9){ rec.setText ("Sigue Asi,n Haga Ejercicio"); } if(imc>=25 && imc<=26.9){ rec.setText("Reduce Tus n FRITURAS,n Haga Ejercicio"); } if(imc>=27){ rec.setText("Tienes un n IMC Alto,n Haga Ejercicio"); } break; case R.id.borrar: altura.setText(""); peso.setText(""); 23
  • 27. 2do Activity Se Insertaron Los Objetos para diferenciarlo del primero <?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" > <ProgressBar android:id="@+id/progressBar1" style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <SeekBar android:id="@+id/seekBar1" android:layout_width="match_parent" android:layout_height="wrap_content" /> <RatingBar android:id="@+id/ratingBar1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ToggleButton android:id="@+id/toggleButton1" android:layout_width="wrap_content" android:layout_height="wrap_content"
  • 28. android:text="ToggleButton" /> </LinearLayout> 1er MainActivity.java package meridane.intent; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button;
  • 29. public class MainActivity extends Activity implements OnClickListener { Button b; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); b=(Button) findViewById(R.id.button1); b.setOnClickListener(this); } @Override public void onClick(View arg0) { if(arg0.getId()==R.id.button1){ String m="Holis"; Intent v=new Intent(this, segundo.class); startActivity(v); } } } package meridane.intent; import android.app.Activity; import android.os.Bundle; import android.widget.Toast;
  • 30. public class segundo extends Activity{ String m=""; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_segundo); Toast.makeText(this, “Hola Mundo”, Toast.LENGTH_LONG).show(); } } AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="meridane.intent" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="meridane.intent.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="meridane.intent.segundo" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.DEFAULT" />
  • 32. <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="#DF012D" android:gravity="center" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:text="Escoge Una Seccion" 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> package gears.spinner; 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;
  • 33. import android.widget.Spinner; import android.widget.Toast; public class Otros extends Activity implements OnItemSelectedListener { Spinner spestado, spmunicipo; ArrayAdapter<String> aaEstado,aaMunicipio1,aaMunicipio2, aaMunicipio3, Clear; String[] opcEstado = new String[] { "Mujeres", "Hombres","Bebes" }; String[] opcMunicipio1 = new String[] { "Vestido", "Pantalones", "Pijamas" }; String[] opcMunicipio2 = new String[] { "Camisa","Gorritos", "Pañales" }; String[] opcMunicipio3 = new String[] { "Zapatilla","Botas ", "Biberon" }; @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);
  • 34. 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(); int s=spmunicipo.getSelectedItemPosition(); int sp=spmunicipo.getSelectedItemPosition(); if(seleccionado==0){ spmunicipo.setAdapter(aaMunicipio1); Toast.makeText(this, "Usted Eligio :"+"Mujeres", Toast.LENGTH_SHORT).show(); if(sp==0){ Toast.makeText(this, "Vale $1000", Toast.LENGTH_SHORT).show();
  • 35. } if(sp==1){ Toast.makeText(this, "Vale $2300", Toast.LENGTH_SHORT).show(); } if(sp==2){ Toast.makeText(this, "Vale $700", Toast.LENGTH_SHORT).show(); } } if(seleccionado==1){ spmunicipo.setAdapter(aaMunicipio2); Toast.makeText(this, "Usted Eligio "+"Hombres", Toast.LENGTH_SHORT).show(); if(sp==0){ Toast.makeText(this, "Vale $1000", Toast.LENGTH_SHORT).show(); } if(sp==1){ Toast.makeText(this, "Vale $2300", Toast.LENGTH_SHORT).show(); } if(sp==2){
  • 36. Toast.makeText(this, "Vale $700", Toast.LENGTH_SHORT).show(); } } if(seleccionado==2){ spmunicipo.setAdapter(aaMunicipio3); Toast.makeText(this, "Usted Eligio "+"Bebes", Toast.LENGTH_SHORT).show(); if(sp==0){ Toast.makeText(this, "Vale $500", Toast.LENGTH_SHORT).show(); } if(sp==1){ Toast.makeText(this, "Vale $700", Toast.LENGTH_SHORT).show(); } if(sp==2){ Toast.makeText(this, "Vale $100", Toast.LENGTH_SHORT).show(); } } break; } }
  • 37. @Override public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub } }
  • 38. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:background="@drawable/ic_launcher" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:fontFamily="Arial" android:gravity="center" android:text="App Realizada Por 403 n n n Descargar Archivo.." /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Descargar" /> </LinearLayout> package meridame.progresbar; import android.app.Activity; import android.app.ProgressDialog; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.MediaController;
  • 39. import android.widget.VideoView; import android.widget.MediaController; public class MainActivity extends Activity { 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.button1); b1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { progressBar = new ProgressDialog(v.getContext()); progressBar.setCancelable(true); progressBar.setMessage("Descargando..."); progressBar.setProgressStyle(ProgressDialog.STYLE_SPINNER); progressBar.setProgress(0); progressBar.setMax(100); progressBar.show();
  • 40. 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 {
  • 41. Thread.sleep(2000); } 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;
  • 42. } 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) {
  • 44. <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="#DD0F00" android:orientation="vertical"> <ImageView android:id="@+id/imageView1" android:layout_width= "fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:src="@drawable/ic_launcher" /> <TextView android:id="@+id/textView1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:textColor="#FFFFFF" android:gravity="center" android:text="Elige una Opcion en el n boton de la izquierda- abajo" /> </LinearLayout> package meridame.optionsmenu; importandroid.os.Bundle; importandroid.app.Activity; importandroid.content.Intent;
  • 45. importandroid.view.Menu; importandroid.view.MenuItem; importandroid.widget.TextView; publicclassMainActivityextendsActivity{ /** Calledwhenthe activityisfirstcreated.*/ @Override publicvoidonCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override publicboolean onCreateOptionsMenu(Menumenu){ super.onCreateOptionsMenu(menu); MenuItemitem1=menu.add(0,1,1,"Videos"); MenuItemitem2=menu.add(0,2,2,"AcercaDe"); MenuItemitem3=menu.add(0,3,3,"Salir"); item1.setIcon(R.drawable.ic_launcher); item2.setIcon(R.drawable.ic_launcher); item3.setIcon(R.drawable.ic_launcher); returntrue; }
  • 46. @Override publicbooleanonOptionsItemSelected(MenuItemitem){ intid= item.getItemId(); switch(id){ case 1: Intentgo=new Intent(MainActivity.this, Videos.class); startActivity(go); break; case 2: Intentir=new Intent(MainActivity.this,acercade.class); startActivity(ir); break; case 3: finish(); } returntrue; } }