You are on page 1of 11

Instituto Tecnolgico de Zacatepec

Ingeniera en Tecnologas de la Informacin


y Comunicaciones
Desarrollo de Aplicaciones para Dispositivos
Mviles
Gpo. XB
Prctica 3-> Aplicacin de prueba para API geometra
Prof. Mario Humberto Tiburcio
Ziga
Alumno: Juan Carlos Alvarado Rivera - 11090409

Objetivo(s):
Crear una API de cuerpos y figuras geomtricas e implementar dicha API en una aplicacin
Android.
Descripcin del trabajo:
Generar las clases Triangulo, Circulo, Cuadrado, Cilindro, Cono y Esfera de acuerdo a las
definiciones de atributos y mtodos especificados.
Compilar las clases y clasificar los archivos .class, generados en la compilacin, de acuerdo al
siguiente a la siguiente estructura:

geometria

figuras

Circulo

Triangulo

Definicin de las clases:

cuerpos

Cuadrado

Cono

Cilindro

Esfera

Procedimiento
Paso 1: Generar clases java
Circulo.java

geometria.figuras
Triangulo.java

Cuadrado.java

package geometria.figuras;

package geometria.figuras;

package geometria.figuras;

public class Circulo{


private double radio;
final double PI=3.1416;

public class Triangulo{


private double base;
private double altura;

public class Cuadrado{


private double lado;

public Circulo(){
this.radio=0;
}
public void setRadio(int r){
this.radio = r;
}
public double getRadio(){
return radio;
}
public double area(){
double
area=PI*radio*radio;
return area;
}
public double perimetro(){
double perimetro =
2*PI*radio;
return perimetro;
}
}

public Cuadrado(){
this.lado=0;
}

public Triangulo(){
this.base=0;
this.altura=0;
}

public void setLado(int l){


this.lado = l;
}

public void setBase(int b){


this.base = b;
}

public double getLado(){


return lado;
}

public double getBase(){


return base;
}

public double area(){


double area=lado*lado;
return area;
}

public void setAltura(int a){


this.altura = a;
}
public double getAltura(){
return altura;
}

public double perimetro(){


double perimetro =
4*lado;
return perimetro;

public double area(){


double
area=(base*altura)/2;
return area;
}

}
}

public double perimetro(){


double hip =
Math.sqrt((base*base)+(altura*altura));
double perimetro = base
+ altura + hip;
return perimetro;
}
}

Cono.java
package geometria.cuerpos;
import java.lang.Math;
public class Cono{
private double radio;
private double altura;
private double geratriz;

geometria.cuerpos
Cilindro.java
package geometria.cuerpos;
public class Cilindro{
private double radio;
private double altura;
final double PI=3.1416;

final double PI=3.1416;


public Cono(){
this.radio=0;
this.altura=0;
this.geratriz=0;
}
public void setRadio(int r){
this.radio = r;
}
public double getRadio(){
return radio;
}
public void setAltura(int h){
this.altura = h;
}
public double getAltura(){
return altura;
}
public double area(){
double suma =
radio*radio+altura*altura;
this.geratriz=Math.sqrt(suma);
double
area=PI*radio*(radio+geratriz);
return area;
}
public double Volumen(){
double
volumen=(PI*radio*radio*altura)/3;
return volumen;
}
public double cinturon(){
double cinturon =
2*PI*radio;
return cinturon;
}
}

public Cilindro(){
this.radio=0;
this.altura=0;
}
public void setRadio(int r){
this.radio = r;
}
public double getRadio(){
return radio;
}
public void setAltura(int h){
this.altura = h;
}
public double getAltura(){
return altura;
}
public double volumen(){
double
volumen=PI*radio*radio*altura;
return volumen;
}
public double area(){
double
area=2*PI*radio*(radio+altura);
return area;
}
public double cinturones(){
double cinturones =
3*2*PI*radio;
return cinturones;
}
}

Esfera.java
package geometria.cuerpos;
public class Esfera{
private double radio;
final double PI=3.1416;
public Esfera(){
this.radio=0;
}
public void setRadio(int r){
this.radio = r;
}
public double getRadio(){
return radio;
}
public double volumen(){
double
volumen=(4*PI*radio*radio*radio)/3;
return volumen;
}
public double area(){
double
area=4*PI*radio*radio;
return area;
}
public double cinturon(){
double cinturon =
2*PI*radio;
return cinturon;
}
}

Paso 2: Compilar las clases


Una vez que se han codificado las clases que componen la API, estas se compilan haciendo uso
del comando javac, con lo cual se generan los archivos .class necesarios para generar la
biblioteca de clases para la aplicacin Android.
Compilacin de las clases contenidas en geometra.figuras

Compilacin de las clases contenidas en geometra.cuerpos

Paso 3: Creacin del archivo geo.jar


Ya que se tienen los archivos .class generados se eliminan, de las carpetas que forman parte de
la estructura geometra, los archivos .java para que solo se tengan archivos .class
Utilizando el comando jar cf <nombre_paquete.jar> nombre_carpeta se genera el archivo con
extensin .jar el cual se agrega al sistema de archivos de la aplicacin Android.

Paso 4: Agregar geo.jar al proyecto Android


Dando clic derecho sobre el archivo geo.jar se selecciona la opcin de copiar y se pega en la
carpeta libs, que se encuentra en Nombre_proyecto->libs, dentro del sistema de archivos del
proyecto, dando clic derecho sobre la carpeta y seleccionando la opcin pegar.

Paso 5: Agregar cdigo en la aplicacin Android


Los archivos generados por el SDK de Android que se manipulan para agregar funcionalidad a
la aplicacin son MainActivity.java y ativity_main.xml
Modificaciones a ativity_main.xml

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="406dp" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="28dp"
android:text="@string/textview"
android:textSize="15sp" />
</RelativeLayout>
</ScrollView>

Modificaciones a MainActivity.java
package com.alvarado.geoapppp;
import geometria.figuras.Circulo;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;

public class MainActivity extends Activity {


TextView tv1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Circulo c = new Circulo();

tv1 = (TextView)findViewById(R.id.textView1);
tv1.setText("Radio*****Perimetro*****Area\n");
for(int i=1; i<=100;i++){
c.setRadio(i);
tv1.append(String.format("\n %8.4f %8.4f %8.4f", c.getRadio(), c.perimetro(), c.area()));
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}

Paso final: Ejecucin de la aplicacin


Para ejecutar el proyecto se da clic derecho sobre el nombre del proyecto y se eligen las
opciones Run As-> Android Application

You might also like