Documentos de Académico
Documentos de Profesional
Documentos de Cultura
GUIA DE LABORATORIO N 1
PROGRAMACION BASICA SOBRE SMART PHONES
ANDROID
Objetivos:
*Conocer el entorno de programacin del IDE Android Studio para programacin bajo el
sistema Android.
*Hacer una nueva aplicacin en Android que utilice los controles: TextView, EditText y Button.
Interactuando con la interfaz grfica mediante mtodos y eventos. Adems de ejecutar un intent
de forma implcita.
Presionamos Next y definimos el nombre de la aplicacin del Proyecto y del Paquete (Como su
carnet on 01 al final), como se muestra a continuacin.
Presionamos Next
1
Seleccionamos el SDK(API8) mnimo al que correr nuestra aplicacin
Presionamos Next
2
Cambiamos el titulo por Hola Mundo
Y presionamos Finish
Con lo anterior se cargara el IDE con una ventana de tips como la siguiente
Si no deseamos ver tips cada vez que se cargue el entorno, desmarcamos el botn de chequeo que se
muestra y presionamos close.
3
Crear Dispositivo Mvil Virtualizado y dejarlo corriendo
(esto demora mucho tiempo, por eso se recomienda hacerlo en guas posteriores al inicio).
4
Ponerle por nombre su carnet y API_8(carnet_API_8)
5
Este proceso puede durar hasta 5 minutos dependiendo de su equipo
6
Al finalizar aparecer un dispositivo como el Con lo anterior aparecer la siguiente pantalla
que se muestra, arrastre el mouse como se
muestra para ver los otros apps
7
Presionar clic en OK ya que el dispositivo esta corriendo
Nota: Podemos chequear la opcin de Usar el mismo dispositivo para futuros lanzamientos
de aplicaciones
8
Creacin de una segunda aplicacin y reconocimiento del entorno del IDE
9
Otros elementos Descripcion
Se trabajara el diseo de las interfaces
graficas mediante el arrastre de
elementos de la paleta(1) hacia la
pantalla de diseo(2)
Para tener una mejor vista de la pantalla de diseo, podemos presionar el icono zoom in
10
Escoger emulador
11
Creacion de Interfaz Grafica
Indicaciones: Hacer una interfaz que contenga ademas del textview de hello world(etiqueta),
cuatro botones y editview como se muestran
Como se puede ver aparece un foco amarillo en los controles de botn de comando indicando
que hay una advertencia, esta es debido a que no existe una variable de recursos asociada a la
propiedad text de los objetos.
Si se desea que el primer botn diga intento, los tres editView digan sumando1, sumando2 y
sumando3 .
Tendremos que modificar el archivo de recursos string.xml y luego cambiar la propiedad text
para direccionar el contenido hacia esos recursos.
12
Agregar recursos(variables string)
Primera forma
Agregue los recursos, ir a carpeta res, values, string.xml(a la izquierda) luego presione open
editor.
13
En modo visual usted vera que le queda una lista como sigue:
Segunda Forma
Presione doble clic en la pestaa interior string.xml y digite lo que est en la imagen:
De cualquiera de las formas que la haya hecho, se recomienda que guarde su archivo en este
momento.
14
Asociar controles con los recursos
Seleccione el activiti_main.xml y Presione clic en button1(1) luego presione clic en los puntos
suspensivos de la propiedad text(2)
15
Vera como cambia la interfaz grafica y la propiedad text: @string/boton1
Repita lo anterior para las propiedades hint y text de los siguientes controles
Si no lo quiere hacer de manera visual, hgalo directamente digitando el nombre del recurso en
la propiedad requerida.
16
Al finalizar vera su interfaz grafica similar a esta:
Modificacin de Aplicacin
Entre a la aplicacin MainActivity.java y vera algo como lo siguiente:
17
Modifique el cdigo hasta que aparezca como el siguiente.
Nota:
Presione click en la opcin del foco rojo que sugiere que se implementen los mtodos.
18
Con esto el ide Eclipse debe de haber generado el mtodo onClic pada sobreescribirlo.
Preguntas:
Por qu tiene punto y coma la ltima lnea de comando?
Es un error?
Agregue la definicin del mtodo de ejecucin para todos los botones al click
19
Creacin de Cdigo para ejecutar desde los botones
Bajo el mismo paquete que esta el MainActivity, agregue una nueva clase(clic derecho en el
paquete, new , class ) que se llame Mtodos. Y digtele el cdigo siguiente:
20
A continuacin vuelva al MainActivity.java y digite el cdigo siguiente;
21
Corra su aplicacin en el Dispositivo Virtualizado que creamos al
inicio
Correrlo en su Dispositivo
Si desea correrlo en su dispositivo directamente, deber seguir las siguientes indicaciones:
a- Entre a opcin Run..
b- Edit Configurations
c- Conecte su dispositivo a la Pc
d- Seleccione El dispositivo destino(Target device) como USB
22
e- y Run
23
Anexo1:Teclas Rpidas para el emulador Android
Home HOME
Back ESC
Call/dial button F3
Search F5
Power button F7
24
DPad center click KEYPAD_5
import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
Button btnEjecutarActividad;
Button btnEjecutarMetodo1;
Button btnEjecutarMetodo2;
Button btnEjecutarMetodo3;
TextView lblEtiqueta;
EditText edtParametro1;
EditText edtParametro2;
EditText edtParametro3;
25
String sumastr;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lblEtiqueta=(TextView) findViewById(R.id.textView);
edtParametro1=(EditText) findViewById(R.id.editText);
edtParametro2=(EditText) findViewById(R.id.editText2);
edtParametro3=(EditText) findViewById(R.id.editText3);
@Override
int numint1,numint2,numint3;
float numfloat1,numfloat2,numfloat3;
switch(v.getId()){
case R.id.button1:
intent.setType("text/plain");
26
startActivity(intent);
break;
case R.id.button2:
numfloat1=(float)Float.valueOf(edtParametro1.getText().toString());
numfloat2=(float)Float.valueOf(edtParametro2.getText().toString());
sumastr=Metodos.suma(numfloat1,numfloat2);
lblEtiqueta.setText(sumastr);
break;
case R.id.button3:
numfloat1=(float)Float.valueOf(edtParametro1.getText().toString());
numfloat2=(float)Float.valueOf(edtParametro2.getText().toString());
numfloat3=(float)Float.valueOf(edtParametro3.getText().toString());
sumastr=Metodos.suma(numfloat1,numfloat2,numfloat3);
lblEtiqueta.setText(sumastr);
break;
case R.id.button4:
numint1=(int)Integer.valueOf(edtParametro1.getText().toString());
numint2=(int)Integer.valueOf(edtParametro2.getText().toString());
numint3=(int)Integer.valueOf(edtParametro3.getText().toString());
sumastr=Metodos.suma(numint1,numint2,numint3);
27
lblEtiqueta.setText(sumastr);
break;
};
btnEjecutarActividad.setOnClickListener(onclick);
btnEjecutarMetodo1.setOnClickListener(onclick);
btnEjecutarMetodo2.setOnClickListener(onclick);
btnEjecutarMetodo3.setOnClickListener(onclick);
@Override
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
@Override
// Handle action bar item clicks here. The action bar will
int id = item.getItemId();
28
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
return super.onOptionsItemSelected(item);
}
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
android:layout_height="wrap_content"
android:id="@+id/textView" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
29
android:inputType="number"
android:ems="10"
android:id="@+id/editText"
android:layout_marginTop="88dp"
android:layout_below="@+id/textView"
android:layout_alignLeft="@+id/editText2"
android:layout_alignStart="@+id/editText2"
android:hint="@string/parametro1" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number"
android:ems="10"
android:id="@+id/editText2"
android:layout_below="@+id/editText"
android:layout_toRightOf="@+id/textView"
android:layout_toEndOf="@+id/textView"
android:hint="@string/parametro2" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
30
android:inputType="number"
android:ems="10"
android:id="@+id/editText3"
android:layout_below="@+id/editText2"
android:layout_alignLeft="@+id/editText2"
android:layout_alignStart="@+id/editText2"
android:hint="@string/parametro3" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/boton1"
android:id="@+id/button1"
android:layout_marginTop="19dp"
android:layout_below="@+id/textView"
android:layout_centerHorizontal="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/boton2"
android:id="@+id/button2"
android:layout_below="@+id/editText3"
31
android:layout_toLeftOf="@+id/button3"
android:layout_toStartOf="@+id/button3"
android:layout_marginTop="43dp" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/boton3"
android:id="@+id/button3"
android:layout_alignTop="@+id/button2"
android:layout_alignLeft="@+id/button1"
android:layout_alignStart="@+id/button1" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/boton4"
android:id="@+id/button4"
android:layout_alignTop="@+id/button3"
android:layout_toRightOf="@+id/button3"
android:layout_toEndOf="@+id/button3" />
</RelativeLayout>
32
Anexo 4 cdigo fuente del archivo de recursos string.xml
<resources>
<string name="app_name">Carnet02</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
<string name="boton1">Intent</string>
<string name="boton2">Sum1</string>
<string name="boton4">Sum3</string>
<string name="boton3">Sum2</string>
<string name="parametro1">Sumando 1</string>
<string name="parametro2">Sumando 2</string>
<string name="parametro3">Sumando 1</string>
</resources>
33