Está en la página 1de 35

UNIVERSIDAD DE EL SALVADOR

FACULTAD DE INGENIERIA Y ARQUITECTURA


ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION PARA DISPOSITIVOS MOVILES
PDM115
Ciclo I-2015

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.

*Ejecutar la aplicacin mediante un Dispositivo Virtualizado(AVD) o con un dispositivo


activo(Smartphone que tenga Sistema operativo android)

.Datos de Sesin en la Asignatura:

Entre a la Sesin de PDM115


Busque en el icono de inicio Android Studio y entre.
Contenido
Crear el primer proyecto en Android Studio ........................................................................................ 1
Crear Dispositivo Mvil Virtualizado y dejarlo corriendo .............................................................. 4
Creacin de una segunda aplicacin y reconocimiento del entorno del IDE ....................................... 9
Escoger emulador ........................................................................................................................... 11
Creacion de Interfaz Grafica .......................................................................................................... 12
Agregar recursos(variables string) ................................................................................................. 13
Asociar controles con los recursos ................................................................................................. 15
Modificacin de Aplicacin ........................................................................................................... 17
Corra su aplicacin en el Dispositivo Virtualizado que creamos al inicio .................................. 22
Correrlo en su Dispositivo.............................................................................................................. 22
Anexo1:Teclas Rpidas para el emulador Android........................................................................ 24
Anexo 2 cdigo fuente del MainActivity.java ............................................................................... 25
Anexo 3 Cdigo del archivo layout activity_main.xml ................................................................. 29
Anexo 4 cdigo fuente del archivo de recursos string.xml ............................................................ 33
Crear el primer proyecto en Android Studio
Entre al Entorno Integrado de Desarrollo(IDE) Android Studio(Boton de inicio, Android Studio)
y presione clic en Start a new Android Studio Project

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

Seleccionamos Blank Activity(Activity en Blanco)

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).

Requisitos: 3.7pulgadas, resolucin 480 X 800

Presionar clic en el AVD Manager

4
Ponerle por nombre su carnet y API_8(carnet_API_8)

Presionar el botn de play para ejecutar el dispositivo

5
Este proceso puede durar hasta 5 minutos dependiendo de su equipo

Si le aparece esta imagen, arrastre el candado Luego presione clic en ok


hacia arriba

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

Mantenga esta ventana abierta y pase al IDE Android Studio

Correr la aplicacin Hola mundo en el dispositivo emulado


Presione clic en Run app

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

Aparecer como se muestra

8
Creacin de una segunda aplicacin y reconocimiento del entorno del IDE

Cree otro proyecto con el nombre carnet02


Con ttulo del activity: Primera app

Luego de crear la app, vamos a tener los siguientes objetos en el IDE

Reconocimiento del Entorno

Arbol de objetos de proyecto en Android Descripcion


Se trabajara en esta guia tres elementos,
Programa(archivo con extension java)
en MainActivity.java(1), Interfaz
grafica activity_main.xml(2) y un
archivo de configuracion de algunos
permisos(de ser necesario) llamado
AndroidManifest.xml(3)
Se utilizara ademas un archivo de
recursos llamado string.xml(4) para
definir variables utiles para su interfaz
grafica.

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

Nota: use la paleta para arrastrar los widgets(controles)

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.

Utilizando el signo + agregue las variables que se le muestran

Pngale en name boton1 y en default value Intent


Repita lo anterior para los siguientes valores
name Value
boton1 Intent
boton2 Sum1
boton3 Sum2
boton4 Sum3
parametro1 Sumando 1
parametro2 Sumando 2
parametro3 Sumando 3

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)

Seleccione el recurso boton1(button1) y clic en OK

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

Objeto(interfaz) propiedad Valor


button2 text @string/boton2
button3 text @string/boton3
button4 text @string/boton4
TextField1 hint @string/parametro1
TextField2 hint @string/parametro2
TextField3 hint @string/parametro3

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

Emulated Device Key Keyboard Key

Home HOME

Menu (left softkey) F2 or Page-up button

Star (right softkey) Shift-F2 or Page Down

Back ESC

Call/dial button F3

Hangup/end call button F4

Search F5

Power button F7

Audio volume up button KEYPAD_PLUS, Ctrl-F5

Audio volume down button KEYPAD_MINUS, Ctrl-F6

Camera button Ctrl-KEYPAD_5, Ctrl-F3

Switch to previous layout orientation (for KEYPAD_7, Ctrl-F11


example, portrait, landscape)

Switch to next layout orientation (for example, KEYPAD_9, Ctrl-F12


portrait, landscape)

Toggle cell networking on/off F8

Toggle code profiling F9 (only with -trace startup option)

Toggle fullscreen mode Alt-Enter

Toggle trackball mode F6

Enter trackball mode temporarily (while key is Delete


pressed)

DPad left/up/right/down KEYPAD_4/8/6/2

24
DPad center click KEYPAD_5

Onion alpha increase/decrease KEYPAD_MULTIPLY(*) /


KEYPAD_DIVIDE(/)

Anexo 2 cdigo fuente del MainActivity.java

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;

public class MainActivity extends ActionBarActivity {

Button btnEjecutarActividad;

Button btnEjecutarMetodo1;

Button btnEjecutarMetodo2;

Button btnEjecutarMetodo3;

TextView lblEtiqueta;

EditText edtParametro1;

EditText edtParametro2;

EditText edtParametro3;
25
String sumastr;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

btnEjecutarActividad= (Button) findViewById(R.id.button1);

btnEjecutarMetodo1= (Button) findViewById(R.id.button2);

btnEjecutarMetodo2= (Button) findViewById(R.id.button3);

btnEjecutarMetodo3= (Button) findViewById(R.id.button4);

lblEtiqueta=(TextView) findViewById(R.id.textView);

edtParametro1=(EditText) findViewById(R.id.editText);

edtParametro2=(EditText) findViewById(R.id.editText2);

edtParametro3=(EditText) findViewById(R.id.editText3);

View.OnClickListener onclick = new View.OnClickListener() {

@Override

public void onClick(View v) {

int numint1,numint2,numint3;

float numfloat1,numfloat2,numfloat3;

switch(v.getId()){

case R.id.button1:

Intent intent=new Intent(Intent.ACTION_SEND);

intent.putExtra(Intent.EXTRA_TEXT,"This is my text to send.");

intent.setType("text/plain");

26
startActivity(intent);

break;

case R.id.button2:

//dos parametros flotantes

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:

//tres parametros flotantes

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:

//tres parametros enteros

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

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.menu_main, menu);

return true;

@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();

28
//noinspection SimplifiableIfStatement

if (id == R.id.action_settings) {

return true;

return super.onOptionsItemSelected(item);

}
}

Anexo 3 Cdigo del archivo layout activity_main.xml

<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">

<TextView android:text="@string/hello_world" android:layout_width="wrap_content"

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