You are on page 1of 29

Manual de Java

Temas MANEJO DEL PURTO PARALELO.. 3 MANEJO DEL PURTO SERIAL..... 5 DESARROLLO DE INTERFACES..... 8 DESARROLLO E IMPLEMENTACION DE APPLETS..18 APLICACIONES EN ANDROID....... 22

Resumen
En las prcticas que se realizaran en este manual se vern varias cosas que se pueden hacer con el lenguaje java, como mandar datos por el puerto paralelo y serie, interfaces grficas, manejo de APPLETS e incluso a realizar aplicaciones para ANDROID una de las plataformas de dispositivos mviles ms usadas, utilizando el IDE Eclipse, cabe aclarar que el mismo programas fueron probados en otro IDE llamado NetBeans y los resultados obtenidos fueron los mismos.

Introduccin
Como se puede ver java est teniendo mucho xito en el mundo tecnolgico, debido a que es muy flexible, todo lo que nos rodea se est programando en este lenguaje, desde las lavadoras o chips telefnicos, hasta los mismos telfonos celulares, es por eso que nos introduciremos poco a poco en este maravilloso mundo. Como ya se sabe se puede programar en lenguaje java desde diferentes IDEs el que se utilizara en estas prcticas es Eclipse.

MANEJO DEL PURTO PARALELO

Materiales
Driver jnpout32pkg.dll Tarjeta con 8 leds IDE Eclipse

Marco terico
Lo primero que se debe hacer antes de empezar a programar es conseguir una herramienta llamada jnpout32pkg, esta herramienta nos facilita la transmisin paralela del PC. Para que nuestro IDE reconozca esta herramienta debemos meter el archivo .dll en la ruta: C:\Windows\System32

Ya teniendo el driver en esa ruta, abrimos el IDE de eclipse y creamos un nuevo proyecto java.

El siguiente paso es crear un paquete y dentro de este una clase la clase debe contener el siguiente cogido:
package jnpout32; publicclass ioPort { publicnativevoid Out32(short PortAddress, short data); publicnativeshort Inp32(short PortAddress); // AQUI SE CARGA EL ARCHIVO jnpout32pkg.dll static { System.loadLibrary("jnpout32pkg ");} }

El cdigo siguiente es para poder utilizar los mtodos out32 e inp32, de la .dll antes mencionada, esto paramanejar el puerto paralelo. Se debe crear otro paquete que llamaremos Programa, en el cual se creara una clase publica llamada portParalelo, debemos importar el paquete creado anterior mente.
import jnpout32.ioPort;

Despus se coloca el siguiente cdigo el cual nos servir para mandar datos por el puerto paralelo.
package Programa; import jnpout32.ioPort; publicclass PortParalelo { publicstaticvoid main(String args[]) { ioPort Puerto = new ioPort(); Puerto.Out32((short)0x378, (short)0xFF); System.out.println("Hola"); } }

El programa lo que hace es mandar un dato hexadecimal por el puerto paralelo.

MANEJO DEL PURTO SERIAL


Materiales
Drivers (RXTXcomm.jar, rxtxSerial.dll) libSerialPort.dll, libSOSerialPort.so) IDE Eclipse o NetBeans (GiovynetDriver.jar,

Marco terico
Lo primero que se debe hacer antes de empezar a programar es conseguir una herramienta llamada RXTXcomm.jar o GiovynetDriver.jar, estas herramientas nos permiten manipular el hardware de nuestra PC para poder trasmitir mediante un puerto serial. Estos archivos se deben colocar en unas rutas especficas ya sean RXTXcomm.jar o GiovynetDriver.jar, es la misma para cualquiera de los casos: C:\Program Files \Java\jre7\lib\ext

Despus se deben colocar las libreras que trae cada driver en la misma direccin para cualquiera de los casos ya sea rxtxSerial.dll o libSerialPort.dll, libSOSerialPort.so: C:\Program Files\Java\jre7\bin

Ya teniendo los drivers en esas rutas, abrimos el IDE de eclipse y creamos un nuevo proyecto java el cual vamos a llamar RS232. En este caso vamos a usar el driver (RXTXcomm.jar, rxtxSerial.dll) lo cual los comandos que se usaran en el cdigo son nicos para este driver, para el driver de GiovynetDriver.jar se usa de forma distinta la cual solo mostraremos la forma de hacerlo con RXTXcomm.jar. El siguiente paso es crear un paquete y dentro de este una clase que llamaremos Main la cual debemos importar la siguientes librerias:
import gnu.io.*; //estalibrera contiene todos los comandos que se usaran para la comunicacin serial import java.io.*; import java.util.*; import java.lang.*;

Despus se debe colocar el cdigo que servir para configurar toda la comunicacin y para transmitir que debe quedar as:
package paquete; import gnu.io.*; //esta librera contiene todos los comandos que se usaran para la comunicacin serial. import java.io.*; import java.util.*; import java.lang.*; class Main { publicstaticvoid main(String[] args) throws Exception{ // TODO Auto-generated method stub Enumeration commports = CommPortIdentifier.getPortIdentifiers(); CommPortIdentifier myCPI = null; Scanner mySC; PrintStream myPS; while(commports.hasMoreElements()) { myCPI = (CommPortIdentifier) commports.nextElement(); if(myCPI.getName().equals("COM9")) //aqu se colocara el nmero del puerto COM que se va a usar break; } CommPort puerto = myCPI.open("RS232", 2000); SerialPort mySP = (SerialPort) puerto; mySP.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); //aqu se configura la transmisin que es la velocidad, bits de datos, bit de stop y la paridad mySC = new Scanner(mySP.getInputStream()); myPS = new PrintStream(mySP.getOutputStream()); while(!mySC.hasNextInt()) { mySC.close(); mySC = null; mySC = new Scanner(mySP.getInputStream()); } myPS.println("hola"); //aqu se colocar lo que se quiere transmitir como una cadena de texto o nmeros enteros } }

Ya terminado el programa se mandan los datos mediante la variable local myPS y para poder recibir y leer los datos con la variable mySC.

DESARROLLO DE INTERFACES

Materiales
IDE Eclipse WindowBuilder para eclipse

Marco terico
Para crear interfaces graficas en java se necesitan dos libreras, estas dos engloban todas las necesarias que se pueden utilizar, o se pueden cargar solo las que se van a usar para que nuestra interfaz no se sature, completas son las siguientes. Javax.swing.*: esta librera utiliza los recursos de java para mostrar la interfaz grfica. Javax.awt.*: esta librera utiliza los recursos de la PC para mostrar la interfaz grfica. Instalacin de WindowsBuilder 1. Seleccionar Help Install New Software

2.- Dar click en add, en el campo location introducimos la URL http://dl.google.com/eclipse/inst/d2wbpro/latest/3.7 presionamos Ok seleccionamos todos los tems como aparecen en la siguiente imagen, y se instala el software.

3.-Crear un nuevo proyect con el nuevo software que acabamos de instalar, con el seguimiento de la imagen seleccionando un JFrame.

4.- Una vez creado el proyecto se mostraran dos pestaas en la parte inferior, Source en esta se mostrara el cdigo de la interfaz, Design en este se mostrara la interfaz grfica y la paleta de objetos.

5.- En la paleta de componentes, seleccionamos un absolute layout en la opcin de Layouts y lo colocamos en la ventana de la interfaz, esto nos permitir mover libremente los componentes en la ventana.

Ejemplo de una Calculadora echa con Windowsbuilder en Eclipse Crear un nuevo proyecto seleccionando un JFrame, aadiremos un paquete llamado ventana, en este paquete se generara el cdigo de las funciones de la calculadora que son sumar, restar, multiplicar y dividir, en la ventana design se colocara un absolute layout, para poder mover todos los objetos libremente, se van a agregar 17 botones que van hacer los nmeros, los signos operacionales, el

punto, la C de borrar y una caja de texto llamada txtHola, al final obtendremos la calculadora de esta forma.

A los botones de nmeros se les aadir un evento, que copiara lo que est en la caja de texto y le agregara el valor del botn, a los botones de los operadores se les aadir la llamada a su funcin especfica, y al final el cdigo completo quedara as.
package ventana; import java.awt.EventQueue; import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; publicclasswindowextends JFrame { private JPanel contentPane; private JTextField txtHola; privateintv = 0; private String calc; private String comp = ""; privatedoublenumero; privatedoubleresultado; private JButton btnNewButton_1; private JButton btnNewButton_2; private JButton btnNewButton_3; private JButton btnNewButton_4; private JButton button; private JButton button_1; private JButton button_2; private JButton button_3; private JButton button_4; private JButton button_5; private JButton button_6; private JButton button_7; private JButton btnX; private JButton button_8; private JButton btnC; private JButton button_9;

10

publicstaticvoid main(String[] args) { EventQueue.invokeLater(new Runnable() { publicvoid run() { try { window frame = new window(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } public window() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 254, 275); contentPane = new JPanel(); contentPane.setBackground(Color.GRAY); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(null); txtHola = new JTextField(); txtHola.setEditable(false); txtHola.setHorizontalAlignment(SwingConstants. RIGHT); txtHola.setBounds(22, 11, 198, 36); contentPane.add(txtHola); txtHola.setColumns(10); txtHola.setText("0"); JButton btnNewButton = new JButton("1"); btnNewButton.addActionListener(new ActionListener() { publicvoid actionPerformed(ActionEvent arg0) { if(v == 0){txtHola.setText("");} v = 1; calc = txtHola.getText(); txtHola.setText(calc + "1") ; } }); btnNewButton.setBounds(22, 93, 41, 23); contentPane.add(btnNewButton); btnNewButton_1 = new JButton("2"); btnNewButton_1.addActionListener(new ActionListener() { publicvoid actionPerformed(ActionEvent e) { if(v == 0){txtHola.setText("");} v = 1; calc = txtHola.getText(); txtHola.setText(calc + "2") ; } }); btnNewButton_1.setBounds(77, 93, 41, 23); contentPane.add(btnNewButton_1); btnNewButton_2 = new JButton("0"); btnNewButton_2.addActionListener(new ActionListener() { publicvoid actionPerformed(ActionEvent e) { if(v == 0){txtHola.setText("");} v = 1; calc = txtHola.getText(); txtHola.setText(calc + "0") ;

11

} }); btnNewButton_2.setBounds(77, 195, 41, 23); contentPane.add(btnNewButton_2); btnNewButton_3 = new JButton("8"); btnNewButton_3.addActionListener(new ActionListener() { publicvoid actionPerformed(ActionEvent e) { if(v == 0){txtHola.setText("");} v = 1; calc = txtHola.getText(); txtHola.setText(calc + "8") ; } }); btnNewButton_3.setBounds(77, 161, 41, 23); contentPane.add(btnNewButton_3); btnNewButton_4 = new JButton("9"); btnNewButton_4.addActionListener(new ActionListener() { publicvoid actionPerformed(ActionEvent e) { if(v == 0){txtHola.setText("");} v = 1; calc = txtHola.getText(); txtHola.setText(calc + "9") ; } }); btnNewButton_4.setBounds(128, 161, 41, 23); contentPane.add(btnNewButton_4); button = new JButton("3"); button.addActionListener(new ActionListener() { publicvoid actionPerformed(ActionEvent e) { if(v == 0){txtHola.setText("");} v = 1; calc = txtHola.getText(); txtHola.setText(calc + "3") ; } }); button.setBounds(128, 93, 41, 23); contentPane.add(button); button_1 = new JButton("4"); button_1.addActionListener(new ActionListener() { publicvoid actionPerformed(ActionEvent e) { if(v == 0){txtHola.setText("");} v = 1; calc = txtHola.getText(); txtHola.setText(calc + "4") ; } }); button_1.setBounds(22, 127, 41, 23); contentPane.add(button_1); button_2 = new JButton("5"); button_2.addActionListener(new ActionListener() { publicvoid actionPerformed(ActionEvent e) { if(v == 0){txtHola.setText("");} v = 1; calc = txtHola.getText(); txtHola.setText(calc + "5") ; }

12

}); button_2.setBounds(77, 127, 41, 23); contentPane.add(button_2); button_3 = new JButton("6"); button_3.addActionListener(new ActionListener() publicvoid actionPerformed(ActionEvent e) if(v == 0){txtHola.setText("");} v = 1; calc = txtHola.getText(); txtHola.setText(calc + "6") ; } }); button_3.setBounds(128, 127, 41, 23); contentPane.add(button_3); button_4 = new JButton("7"); button_4.addActionListener(new ActionListener() publicvoid actionPerformed(ActionEvent e) if(v == 0){txtHola.setText("");} v = 1; calc = txtHola.getText(); txtHola.setText(calc + "7") ; } }); button_4.setBounds(22, 161, 41, 23); contentPane.add(button_4); button_5 = new JButton("="); button_5.addActionListener(new ActionListener() publicvoid actionPerformed(ActionEvent e) funcIgualdad(); } }); button_5.setBounds(128, 195, 41, 23); contentPane.add(button_5); button_6 = new JButton("+"); button_6.addActionListener(new ActionListener() publicvoid actionPerformed(ActionEvent e) funcSuma(); } }); button_6.setBounds(179, 93, 41, 23); contentPane.add(button_6); button_7 = new JButton("-"); button_7.addActionListener(new ActionListener() publicvoid actionPerformed(ActionEvent e) funcResta(); } }); button_7.setBounds(179, 127, 41, 23); contentPane.add(button_7); btnX = new JButton("*"); btnX.addActionListener(new ActionListener() { publicvoid actionPerformed(ActionEvent e) funcMult(); } }); btnX.setBounds(179, 161, 41, 23);

{ {

{ {

{ {

{ {

{ {

13

contentPane.add(btnX); button_8 = new JButton("/"); button_8.addActionListener(new ActionListener() publicvoid actionPerformed(ActionEvent e) funcDiv(); } }); button_8.setBounds(179, 195, 41, 23); contentPane.add(button_8); btnC = new JButton("C"); btnC.addActionListener(new ActionListener() { publicvoid actionPerformed(ActionEvent e) txtHola.setText("0") ; v = 0; numero = 0; resultado = 0; } }); btnC.setBounds(128, 59, 92, 23); contentPane.add(btnC); button_9 = new JButton("."); button_9.addActionListener(new ActionListener() publicvoid actionPerformed(ActionEvent e) if(v == 0){txtHola.setText("");} v = 1; calc = txtHola.getText(); txtHola.setText(calc + ".") ; } }); button_9.setBounds(22, 195, 41, 23); contentPane.add(button_9); } protectedvoid funcIgualdad() { numero = Double.parseDouble(txtHola.getText()); if(comp == "+"){ resultado = (resultado + numero); txtHola.setText("" + resultado); } elseif(comp == "-"){ resultado = (resultado - numero); txtHola.setText("" + resultado); } elseif(comp == "*"){ resultado = (resultado * numero); txtHola.setText("" + resultado); } elseif (comp == "/"){ resultado = (resultado / numero); txtHola.setText("" + resultado); } } protectedvoid funcDiv() { numero = Double.parseDouble(txtHola.getText()); if(comp == "+"){ resultado = (resultado + numero); txtHola.setText(""); } elseif(comp == "-"){ resultado = (resultado - numero); txtHola.setText("");

{ {

{ {

14

} elseif(comp == "*"){ resultado = (resultado * numero); txtHola.setText(""); } if(resultado == 0.0){ resultado = 1.0; } comp = "/"; numero = Double.parseDouble(txtHola.getText()); resultado = (numero / resultado); txtHola.setText(""); } protectedvoid funcSuma(){ // Estemetodoimplementalasuma. if(txtHola.getText() == ""){ txtHola.setText("0"); } numero = Double.parseDouble(txtHola.getText()); if(comp == "-"){ resultado = (resultado - numero); txtHola.setText("0"); } elseif(comp == "*"){ resultado = (resultado * numero); txtHola.setText("0"); } elseif(comp == "/"){ resultado = (resultado / numero); txtHola.setText("0"); } comp = "+"; numero = Double.parseDouble(txtHola.getText()); resultado = (resultado + numero); txtHola.setText(""); } protectedvoid funcResta(){ // Estemetodoimplementalaresta. numero = Double.parseDouble(txtHola.getText()); if(comp == "+"){ resultado = (resultado + numero); txtHola.setText(""); } elseif(comp == "*"){ resultado = (resultado * numero); txtHola.setText(""); } elseif(comp == "/"){ resultado = (resultado / numero); txtHola.setText(""); } comp = "-"; numero = Double.parseDouble(txtHola.getText()); resultado = (numero - resultado); txtHola.setText(""); } protectedvoid funcMult(){ // Estemetodoimplementalamultiplicacion. if(txtHola.getText() == ""){ txtHola.setText("1"); }

15

numero = Double.parseDouble(txtHola.getText()); if(comp == "+"){ resultado = (resultado + numero); txtHola.setText("1"); } elseif(comp == "-"){ resultado = (resultado - numero); txtHola.setText("1"); } elseif (comp == "/"){ resultado = (resultado / numero); txtHola.setText("1"); } if(resultado == 0.0){ resultado = 1.0; } comp = "*"; numero = Double.parseDouble(txtHola.getText()); resultado = (resultado * numero); txtHola.setText(""); } }

16

DESARROLLO E IMPLEMENTACION DE APPLETS Materiales


IDE Eclipse Editor de texto para HTML (en este caso usaremos DREAMWEAVER) Explorador de internet (para visualizar el applet ya instalado)

Marco terico
Un applet es un programa Java cuya ejecucin est asociada a la carga de un documento HTML, se necesita una estructura en HTMLdonde se requieren parmetros que necesitar el applet para su ejecucin. Se utiliza una librera para la ejecucin de un applet que es:
import java.applet.*;

Su estructura est compuesta de la siguiente forma: <APPLET CODE=Applet.class WIDTH=anchura HEIGHT=altura> <PARAM NAME=parmetro1 VALUE=Valor> <PARAM NAME=parmetro2 VALUE=otroValor> </APPLET> Otra forma de incluir un applet es usando un archivo .jar, para crear este archivo se debe exportar todo el proyecto como un JAR file como se muestra en la imagen.

17

Una vez creado el archivo .jar se implementara en el documento HTML llamando al archivo con la direccin ARCHIVE=Archivo.jar y la clase principal CODE=paquete/applet.class, paquete es el paquete que contiene la clase principal es importante que se d la direccin correcta de la clase principal para que no haya errores. La estructura con el archivo .jar est compuesta de la siguiente forma: <APPLET CODE=Paquete/Applet.classARCHIVE=Archivo.jar WIDTH=anchura HEIGHT=altura> <PARAM NAME=parmetro1 VALUE=Valor> <PARAM NAME=parmetro2 VALUE=otroValor> </APPLET> Los applets obtienen los valores de los parmetros definidos por el usuario llamando al mtodo getParameter() de la clase Applet. Los applets pueden contener unos mtodos bsicos que son los ciclos de vida de un applet y mtodos de pantalla del applet que son los siguientes. Ciclos de vida de un applet init() Para inicializar el applet cada vez que se carga. start() Para iniciar la ejecucin del applet, una vez cargado el applet o cuando el usuario vuelve a visitar la pgina que contiene el applet. stop() Para parar la ejecucin del applet, cuando el usuario abandona la pgina o sale del navegador. destroy() Realiza una limpieza final para preparar la descarga. Mtodos de pantalla del applet paint()

18

El mtodo de dibujo bsico. Muchos applets implementan el mtodo paint() para mostrar la representacin de un applet dentro de la pgina del navegador. update() Un mtodo que se puede utilizar junto en el mtodo paint() para aumentar el rendimiento de los grficos. Un applet debe sobrescribir el mtodo especializado apropiado o el mtodo handleEvent().

Eventos de un applet add() Aade el componente especificado. remove() Elimina el componente especificado. setLayout() Activa el manejador de distribucin.

Desarrollo e implementacin de un applet Creamos un nuevo proyecto con el nombre applet, agregamos un paquete que llamaremos app y dentro de este la clase principal del que contendr el cdigo del applet. En este applet dibujaremos 4 crculos azules, uno rojo ms grande y 2 lneas que dividirn el applet en cuatro partes, quedando el applet de esta forma.

19

En el cdigo siguiente se puede ver la que solo se us el mtodo paint(), ya que solo se dibujaron figura en el applet.
package app; import java.awt.*; import java.applet.*; import javax.swing.*; publicclassapplet1extends Applet { private Image imag; private ImageIcon imag2; publicvoid init(){ } publicvoid paint(Graphics g) { g.setColor( Color.red ); g.drawLine(100, 0, 100, 200 ); g.drawLine(0, 100, 200, 100 ); g.drawOval(20, 20, 160, 160); g.setColor( Color.blue ); g.drawOval(20, 20, 50, 50); g.drawOval(130, 20, 50, 50); g.drawOval(20, 130, 50, 50); g.drawOval(130, 130, 50, 50); } }

Implementacin del applet en HTML


<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Applet</title> </head> <body> <applet code="app/applet1.class" archive="fig.jar" width="200" height="200" > </applet> </body> </html>

20

DESARROLLO DE APLICACIONES EN ANDROID Materiales


IDE Eclipse con el SDK de Androidinstalado

Marco terico
Android es un sistema operativo orientado a dispositivos mviles, basado en una versin modificada del ncleo Linux. Es el sistema operativo que ms se usan en los dispositivos mviles actuales. En este tutorial veremos desde como instalar el SDK de Android hasta desarrollar las aplicaciones paso a paso.

Instalacin del SDK


1.- Se va a descargar el SDK desde la siguiente url, aqu se encuentra la versin de eclipse ya configurada y con los plugins de Android para poder crear las aplicaciones:http://developer.android.com/sdk/index.html. 2.- una vez descargado el archivo lo descomprimimos y en la carpeta raz se encuentra el eclipse, lo ejecutamos para configurarlo. 3.-agregamos la versin de Android con la que vamos a trabajar, en la barra de opciones de eclipse seleccionamos Windows Android SDK Manager, nos abrir la configuracin del SDK, instalamos los paquetes de la versin Android 2.2 (API8) seleccionndola y posteriormente presionamos Install X packages esperamos a que termine.

21

4.- creamos un nuevo dispositivo virtual para poder hacer las pruebas que vallamos haciendo, seleccionamos en las opciones de eclipse Windows Android Virtual Device Manager y en la ventana seleccionamos en New y agregamos los datos como aparecen en la imagen siguiente el nombre pueden poner cualquiera.

Una vez terminado todo esto, la configuracion ha terminado para poder trabajar y desarrollar las aplicaciones.

Desarrollo de una aplicacin


Creamos un nuevo proyecto Android, nos vamos a new seleccionamos Other y creamos un Android Application Project como lo muestra la imagen.

22

Damos clic al botn Next >, le ponemos un nombre a la aplicacin y uno al proyecto que se est creando, en la configuracin de la versin que se va a usar seleccionamos la API8: Android 2.2 (Froyo) que es la que instalamos, todo lo crearemos en esta versin por la compatibilidad de versiones, debido a que esta la podemos ejecutar en las ms resientes, la configuracin quedara as.

Continuamos dando Next > hasta finalizar. Se pueden crear las aplicaciones de dos formas, mediante la forma visual que se manipulan los objetos mediante XML y sus funciones que se crean en java. Crearemos una pequea aplicacin que ser una calculadora bsica en la cual introduciremos con el teclado de Android dos cantidades en dos campos de texto que podremos sumar, restar, multiplicar y dividir, el resultado se mostrara en un texto. En nuestro proyecto nos dirigimos res layout activiti_main.xml como en la imagen. En este seleccionamos la pestaa inferior Grafical Layout, aqu nos mostrara la interfaz grfica que podremos manipular y agregar objetos, agregaremos don campos de que

23

configuraremos como campos numricos cuatro botones que nombraremos con las funciones matemticas y un campo de texto que configuraremos comoeditable. El aspecto de la aplicacin quedara similar a la siguiente imagen:

Cuando ya est la interface debemos identificar cada objeto para poder crear los eventos correspondientes, esto se puede ver seleccionando en la pestaa inferior activity_main.xml o dando doble clic a cada objeto y te mostrara su respectivo cdigo XML donde encontraremos su id, el cual se puede cambiar. El cdigo XML de cada objeto tiene una estructura as:
<Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView1" android:layout_alignParentRight="true" android:layout_below="@+id/editText2" android:layout_marginTop="20dp" android:text="@string/botonsuma"/>

Sabiendo cual es el id de cada objeto pasamos a crear el cdigo en la clase principal, donde programaremos en java todos los eventos y las funciones que se necesitarn as como importar las libreras que usaremos (cada librera se importa individualmente debido a que si importamos todo el paquete la aplicacin puede ponerse lenta al correr).

24

El cdigo con todas las funciones y eventos queda de la siguiente forma:


package com.apic.android; import android.os.Bundle; import android.app.Activity; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; publicclass MainActivity extends Activity { Button suma; Button resta; Button multiplicacion; Button divicion; protectedvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); suma = (Button)findViewById(R.id. button1); resta = (Button) findViewById(R.id.button2); multiplicacion = (Button) findViewById(R.id.button3); divicion = (Button) findViewById(R.id. button4); suma.setOnClickListener(new OnClickListener() { publicvoid onClick(View v) { TextView temp; TextView resultado = (TextView)findViewById(R.id. textView3); temp = (TextView)findViewById(R.id. editText1); try{ float a = Float.parseFloat(temp.getText().toString()); temp = (TextView)findViewById(R.id. editText2); float b = Float.parseFloat(temp.getText().toString()); resultado.setText("Resultado : "+ (a+b)); }catch(Exception e){ resultado.setText("Se debe introducir valores"); }; } }); resta.setOnClickListener(new OnClickListener() { publicvoid onClick(View v) { TextView temp; TextView resultado = (TextView)findViewById(R.id. textView3); temp = (TextView)findViewById(R.id. editText1); try{ float a = Float.parseFloat(temp.getText().toString()); temp = (TextView)findViewById(R.id. editText2); float b = Float.parseFloat(temp.getText().toString()); resultado.setText("Resultado : "+ (a-b)); }catch(Exception e){ resultado.setText("Se debe introducir valores"); }; }

25

}); multiplicacion.setOnClickListener(new OnClickListener() { publicvoid onClick(View v) { TextView temp; TextView resultado = (TextView)findViewById(R.id. textView3); temp = (TextView)findViewById(R.id. editText1); try{ float a = Float.parseFloat(temp.getText().toString()); temp = (TextView)findViewById(R.id. editText2); float b = Float.parseFloat(temp.getText().toString()); resultado.setText("Resultado : "+ (a*b)); }catch(Exception e){ resultado.setText("Se debe introducir valores"); }; } }); divicion.setOnClickListener(new OnClickListener() { publicvoid onClick(View v) { TextView temp; TextView resultado = (TextView)findViewById(R.id. textView3); temp = (TextView)findViewById(R.id. editText1); try{ float a = Float.parseFloat(temp.getText().toString()); temp = (TextView)findViewById(R.id. editText2); float b = Float.parseFloat(temp.getText().toString()); resultado.setText("Resultado : "+ (a/b)); }catch(Exception e){ resultado.setText("Se debe introducir valores"); }; } }); } }

Ya terminado toda la aplicacin debemos ejecutarla para ver si funciona correctamente, para ello vamos a seleccionar la clase principal y dar clic en Run, nos pedir como queremos ejecutarla, seleccionamos el dispositivo que creamos anteriormente y damos OK, esperamos a que se ejecute y la probamos, debe quedar de la siguiente forma.

26

Se introducirn las cantidades con el teclado del telfono o el que te despliega Android.

Crear el instalador de la aplicacin


Para crear el archivo de la aplicacin nos vamos a File Export, yseleccionamos Export Android Application como aparece en la imagen:

Damos Next >, y en la siguiente opcin seleccionamos el proyecto que deseamos exportar a la aplicacin, ya seleccionado el proyecto damos a Next >, en la siguiente ventana damos a la opcin Create new keystore y no s pedir que busquemos la direccin para crearla (seleccionamos la carpeta del proyecto), en los siguientes campos de texto introducimos una contrasea mayor de 6 dgitos, como se muestra en la imagen:

27

Posteriormente creado el nuevo keystore damos a Next >, en la siguiente ventana los datos necesarios, la contrasea debe ser la misma que introducimos en la ventana anterior as como en la siguiente imagen:

Seguimos dando a Next >, y en la ventana siguiente seleccionamos la misma direccin que en la primera ventana, ya seleccionada damos en Finish para crear la aplicacin, una vez que termino nos dirigimos a la carpeta donde seleccionamos para guardarla.

28

Una vez ubicado el archivo ya est listo para ser instalado en cualquier dispositivo Android.

29

You might also like