Top Banner
UNIVERSIDAD SAN JOSE FACULTAD DE INGENIERIA PROGRAMACION PARA DISPOSITIVOS MOVILES GUIA DE LABORATORIO N° 1 PROGRAMACION BASICA SOBRE SMART PHONES ANDROID Objetivos: *Conocer el entorno de programación del IDE Android Studio para programación bajo el sistema Android. *Hacer una nueva aplicación en Android que utilice los controles: TextView, EditText y Button. Interactuando con la interfaz gráfica mediante métodos y eventos. Además de ejecutar un intent de forma implícita. *Ejecutar la aplicación mediante un Dispositivo Virtualizado(AVD) o con un dispositivo activo(Smartphone que tenga Sistema operativo android)
37
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

UNIVERSIDAD SAN JOSEFACULTAD DE INGENIERIA

PROGRAMACION PARA DISPOSITIVOS MOVILES 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)

Contenido Crear el primer proyecto en Android Studio1 Crear Dispositivo Mvil Virtualizado y dejarlo corriendo4 Creacin de una segunda aplicacin y reconocimiento del entorno del IDE9 Escoger emulador11 Creacion de Interfaz Grafica12 Agregar recursos(variables string)13 Asociar controles con los recursos15 Modificacin de Aplicacin17 Corra su aplicacin en el Dispositivo Virtualizado que creamos al inicio22 Correrlo en su Dispositivo22 Anexo1:Teclas Rpidas para el emulador Android24 Anexo 2 cdigo fuente del MainActivity.java25 Anexo 3 Cdigo del archivo layout activity_main.xml29 Anexo 4 cdigo fuente del archivo de recursos string.xml33

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 Seleccionamos el SDK(API8) mnimo al que correr nuestra aplicacin Presionamos Next Seleccionamos Blank Activity(Activity en Blanco) 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. 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 Ponerle por nombre su carnet y API_8(carnet_API_8) Presionar el botn de play para ejecutar el dispositivo Este proceso puede durar hasta 5 minutos dependiendo de su equipo Si le aparece esta imagen, arrastre el candado hacia arriba Luego presione clic en ok

Al finalizar aparecer un dispositivo como el que se muestra, arrastre el mouse como se muestra para ver los otros apps Con lo anterior aparecer la siguiente pantalla

Mantenga esta ventana abierta y pase al IDE Android Studio Correr la aplicacin Hola mundo en el dispositivo emulado Presione clic en Run app 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 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.

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 Escoger emulador 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. 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

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. 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 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. Al finalizar vera su interfaz grafica similar a esta: . Modificacin de Aplicacin Entre a la aplicacin MainActivity.java y vera algo como lo siguiente: 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. 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 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: A continuacin vuelva al MainActivity.java y digite el cdigo siguiente;

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 e- y Run

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 example, portrait, landscape) KEYPAD_7, Ctrl-F11

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

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 pressed) Delete

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

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;

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"); 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); 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(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } } Anexo 3 Cdigo del archivo layout activity_main.xml Anexo 4 cdigo fuente del archivo de recursos string.xml Carnet02 Hello world! Settings Intent Sum1 Sum3 Sum2 Sumando 1 Sumando 2 Sumando 1 1 1 19