laboratorio android
TRANSCRIPT
-
7/30/2019 Laboratorio Android
1/6
Curso Taller Android Nivel I
Laboratorio 03 Android Nivel I
Android: Proyecto Calculadora
I. Competencia General:
Comprender el entorno de desarrollo de unaaplicacin en Android, utilizando el lenguaje deprogramacin Java..
II. Requerimientos
- IDE Eclipse (Indigo)http://developer.android.com/sdk/eclipse-adt.html
- Android SDK (Cualquier versin)http://developer.android.com/sdk/index.html
- Dalvik Virtual Machine (Tiene que crearlo)
Debe configurar Eclipse para que supiera la rutahasta el SDK de Android y tendramos todopreparado para trabajar. Lo podemos hacer desde elmen Window -> Preferences y dentro de la ventanaen la pestaa Android tenemos la opcin SDKLocation
III. Crear el workspace
Para empezar con un nuevo proyecto debe crear unespacio de trabajo en eclipse:
a) Crear el espacio de trabajo
Figura 01
b) Crear el proyecto Android
Figura 02
c) Asignando el nombre de Calculadora aproyecto
Figura 03
d) Seleccionando el SDK versin y APIDebe indicar alguna versin de Android, por ejemplo4.0.3 cuyo API es versin 15
Figura 04
e) Asignando el nombre del paquetemi.paquete.android
Debe colocar 2 o 3 palabras con . que estnrelacionados con el proyecto
Figura 05
MSc. Daniel A. Yucra Sotomayor / Ing. Ricardo Inquilla Pag. - 1 -
-
7/30/2019 Laboratorio Android
2/6
Curso Taller Android Nivel I
f) Estructura del Proyecto
Figura 06
IV. Diseo del proyecto
Antes de empezar es importante discutir cmo serla interfaz de usuario del programa.
Elementos que participan:
- TextView (objeto para mostrar texto),- EditText (caja de entrada de texto)- Button (botn de comando).
Figura 07
Evolus Pencil:
http://pencil.evolus.vn/en-US/Home.aspx
IV. Generando el Proyecto) Editando el mail.xml
Para iniciar con el proyecto debe insertar loscontroles al layout (area de diseo de la aplicacin)
Figura 08
Importante debe colocar cada control en el layoutb) Insertando controles en el layout
1.1 Detalles del primer Control
Adicionar:android:id="@+id/label_a"
Y modificar:android:text="@string/Operando A" />
El primer control debe quedar como:
1.2 Detalles del segundo control
Complete insertando el resto de controles deacuerdo al diseo
MSc. Daniel A. Yucra Sotomayor / Ing. Ricardo Inquilla Pag. - 2 -
-
7/30/2019 Laboratorio Android
3/6
Curso Taller Android Nivel I
Figura 09
Figura 10
Para el boton
Figura 11
Cdigo final en XML
-
7/30/2019 Laboratorio Android
4/6
Curso Taller Android Nivel I
android:onClick="cRestar"android:text="-"/>
Variables utilizadas:- op_a- op_b
- sumar- restar - multiplicar
- dividir - texto_resultado- resultado
Eventos:- cSumar - cRestar - cMultiplicar - cDividir
Los atributos relevantes para este ejemplo de cadaelemento son:
android:id identificador de cada objeto
android:layout_width y android:layout_height ,anchura y altura respectivamente
android:layout_below: indica si el objeto estdebajo de otro
android:layout_toRightOf yandroid:layout_alignTop : indican si estn varioselementos en la misma fila sobre qu objeto secoloca a su derecha y su posicionamiento en altura
android:text es el texto por defecto en cadaelemento
android:onClick es el nombre del mtodo pblico aejecutar al pulsar ese botn. Este mtodo debe serobligatoriamente pblico y tener como parmetro deentrada la vista, ejemplo public void functioncSumar(View view) { ... }.
d) El diseo del layout queda al final de lasiguiente manera
Figura 09
e) Cdigo para la Actividad
Primero:Para empezar a programar se debe importar lossiguiente paquetes a la clase:
import android.widget.*;import android.view.*;
Segundo:Instanciar los objetos que va utilizar:
private double valor_a, valor_b;private EditText op_a, op_b;private TextView resultado;
Donde:op_a y op_b son las variables del formulariovalor_a y valor_b, son las variables convertidas a
tipo de datos Double que participaran en la claseCalculadora.
Tercero:Asignamos Objetos:
this.op_a = (EditText) findViewById(R.id.op_a);this.op_b = (EditText) findViewById(R.id.op_b);this.resultado = (TextView) findViewById(R.id.resultado);
MSc. Daniel A. Yucra Sotomayor / Ing. Ricardo Inquilla Pag. - 4 -
-
7/30/2019 Laboratorio Android
5/6
Curso Taller Android Nivel I
Cuarto:Creamos cdigo para los mtodos:
publicvoid cSumar(View view) {
if(this.op_a.getText().toString().length() > 0&& this.op_b.getText().toString().length() > 0) {
this.valor_a =Double.parseDouble(this.op_a.getText().toString());
this.valor_b =Double.parseDouble(this.op_b.getText().toString());
this.resultado.setText(Double.toString((this.valor_a +
this.valor_b)));}
}
Finalmente el cdigo queda de la siguiente manera:
package mi.paquete.android;
import android.app.Activity;import android.os.Bundle;import android.widget.*;import android.view.*;
publicclass CalculadoraActivity extends Activity { /** Called when the activity is first created. */
// Instancias de objetos a usarprivatedoublevalor_a, valor_b;private EditText op_a, op_b;private TextView resultado;
publicvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Asignamos los objetos this.op_a = (EditText) findViewById(R.id.op_a); this.op_b = (EditText) findViewById(R.id.op_b); this.resultado = (TextView)
findViewById(R.id.resultado);}
publicvoid cSumar(View view) { if(this.op_a.getText().toString().length() > 0 &&
this.op_b.getText().toString().length() > 0) { this.valor_a =
Double.parseDouble(this.op_a.getText().toString());
this.valor_b =Double.parseDouble(this.op_b.getText().toString());
this.resultado.setText(Double.toString((this.valor_a +this.valor_b)));
}}
publicvoid cRestar(View view) { if(this.op_a.getText().toString().length() > 0 &&
this.op_b.getText().toString().length() > 0) { this.valor_a =
Double.parseDouble(this.op_a.getText().toString()); this.valor_b =
Double.parseDouble(this.op_b.getText().toString());
this.resultado.setText(Double.toString((this.valor_a -this.valor_b)));
}}
publicvoid cMultiplicar(View view) {
if(this.op_a.getText().toString().length() > 0 &&this.op_b.getText().toString().length() > 0) {
this.valor_a =Double.parseDouble(this.op_a.getText().toString());
this.valor_b =Double.parseDouble(this.op_b.getText().toString());
this.resultado.setText(Double.toString((this.valor_a *this.valor_b)));
}}
publicvoid cDividir(View view) {
if(this.op_a.getText().toString().length() > 0 &&this.op_b.getText().toString().length() > 0) {
this.valor_a =Double.parseDouble(this.op_a.getText().toString());
this.valor_b =Double.parseDouble(this.op_b.getText().toString());
if(this.valor_b != 0) {
this.resultado.setText(Double.toString((this.valor_a /this.valor_b)));
} else { this.resultado.setText("Infinito");
}}
}}
El mtodo onCreate se ejecuta al crear la aplicaciny es donde asignamos los objetos declarados en elXML a objetos Java. Tras ello declaramos las
funciones definidas en los atributos onClick de cadabotn.
publicvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.main);
f) Ejecutando el programa
MSc. Daniel A. Yucra Sotomayor / Ing. Ricardo Inquilla Pag. - 5 -
-
7/30/2019 Laboratorio Android
6/6
Curso Taller Android Nivel I
Figura 10
Debe elegir el APP Calculadora para ejecutar elprograma
Figura 11
g) Optimizando el cdigo
Figura 12
Seleccione Ignore type para eliminar las precauciones
Figura 12
Docente: MSc. Daniel Alejandro Yucra SotomayorLima, Enero del 2012
Consultas: [email protected]
MSc. Daniel A. Yucra Sotomayor / Ing. Ricardo Inquilla Pag. - 6 -