SECRETARA DE EDUCACIN PBLICA
DIRECCIN GENERAL DE EDUCACIN SUPERIOR TECNOLGICA
INSTITUTO TECNOLGICO DE TUXTLA GUTIRREZ
TPICOS AVANZADOS DE PROGRAMACIN
Secuencia de Fibonacci Android Studio
INGENIERA EN SISTEMAS COMPUTACIONALES
Presentan:
MONTALVO PREZ JUAN CARLOS
REYES PALACIOS SHANEL DANIELA
Grupo: S4A
Equipo 14
Tuxtla Gutirrez, Chiapas, Mxico; 28 de abril de 2015
2
INDICE
Introduccin ............................................................................................................. 3
Descripcin terica .................................................................................................. 4
Descripcin funcional .............................................................................................. 9
Cdigo ................................................................................................................... 10
ACTIVITY_MAIN ................................................................................................ 10
MAIN ACTIVITY ................................................................................................. 12
Ejecucin ............................................................................................................... 14
Conclusin............................................................................................................. 15
Bibliografa ............................................................................................................ 16
3
Introduccin
Android Studio es un entorno de desarrollo diseado para ofrecer nuevas
herramientas para el desarrollo de aplicaciones para los dispositivos Android.
Entre las muchas caractersticas que Android studio ofrece destacan sus
herramientas de empaquetado y etiquetado de cdigo para organizarnos al
implementar grandes cantidades de cdigo.
Apoyndonos en este lenguaje de programacin realizamos la sucesin de
Fibonacci, esta es una sucesin infinita, es la sucesin de nmeros: 0, 1, 1, 2, 3, 5,
8, 13, 21,34, Cada nmero se calcula sumando los dos anteriores a l, el 2 se
calcula sumando (1 + 1), el 3 (1 + 2), el 5 es (2 + 3) y as sucesivamente.
4
Descripcin terica
Android Studio es un nuevo entorno de desarrollo integrado para el sistema
operativo Android lanzado por Google, diseado para ofrecer nuevas herramientas
para el desarrollo de aplicaciones y alternativa al entorno Eclipse, hasta ahora el
IDE ms utilizado.
Al crear un nuevo proyecto en Android Studio, la estructura del proyecto aparece
con casi todos los archivos dentro del directorio SRC, un cambio a un sistema de
generacin basado Gradle que proporcionar una mayor flexibilidad para el proceso
de construccin. Adems, gracias a su sistema de emulacin
integrado, Android Studio permite ver los cambios que realizamos en nuestra
aplicacin en tiempo real, pudiendo adems comprobar cmo se visualiza en
diferentes dispositivos Android con distintas configuraciones y resoluciones de
forma simultnea.
Entre las muchas caractersticas de Android Studio destacan sus herramientas de
empaquetado y etiquetado de cdigo para organizarnos al implementar grandes
cantidades de cdigo, sirvindose adems de un sistema drag & drop para mover
los componentes a travs de la interfaz de usuario. Adems, este nuevo entorno
cuenta con Google Cloud Messaging, una funcionalidad con la que podremos enviar
datos desde el servidor a terminales Android a travs de la nube, siendo esta una
forma de enviar notificaciones Push a nuestras apps. Por otro lado, tambin nos
ayudar en la localizacin de nuestras aplicaciones, dndonos una forma ms visual
de seguir programando y controlar el flujo de la aplicacin.
Relative Layout El layout RelativeLayout es el que dispone el ADT por defecto
cuando creamos un proyecto en Android. Hay varias posibilidades cuando
empleamos el RelativeLayout. Primero podemos alinear un control con respecto al
Layout que lo contiene.
5
EditText (caja de edicin de texto) es otro componente indispensable de casi toda
aplicacin Android. Es uno de los medios que tiene el usuario para introducir datos
a la aplicacin.
Hint Es un texto por defecto que el usuario decide
TextView Los TextView (etiquetas de texto) se utilizan como medio de salida, es
decir, para mostrar un determinado texto al usuario. Al igual que en el caso de los
botones, el texto del control se establece mediante la propiedadandroid:text.
OnClickListener Definicin de interfaz para una devolucin de llamada que se
invoca cuando se hace clic en una vista.
@Override tipo de anotacin usada para marcar los mtodos que anulen una
declaracin de mtodo en una superclase. Los compiladores producen un error si
un mtodo anotado con @ Override realidad no anula un mtodo en una superclase.
Qu es el modelo vista controlador?
Modelo Vista Controlador (MVC) es un estilo de arquitectura de software que separa
los datos de una aplicacin, la interfaz de usuario, y la lgica de control en tres
componentes distintos.
Se trata de un modelo muy maduro y que ha demostrado su validez a lo largo de
los aos en todo tipo de aplicaciones, y sobre multitud de lenguajes y plataformas
de desarrollo.
El Modelo que contiene una representacin de los datos que maneja el sistema, su
lgica de negocio, y sus mecanismos de persistencia.
La Vista, o interfaz de usuario, que compone la informacin que se enva al cliente
y los mecanismos interaccin con ste.
6
El Controlador, que acta como intermediario entre el Modelo y la Vista, gestionando
el flujo de informacin entre ellos y las transformaciones para adaptar los datos a
las necesidades de cada uno.
El modelo es el responsable de:
Acceder a la capa de almacenamiento de datos. Lo ideal es que el modelo sea
independiente del sistema de almacenamiento.
Define las reglas de negocio (la funcionalidad del sistema). Un ejemplo de regla
puede ser: "Si la mercanca pedida no est en el almacn, consultar el tiempo de
entrega estndar del proveedor".
Lleva un registro de las vistas y controladores del sistema.
Si estamos ante un modelo activo, notificar a las vistas los cambios que en los
datos pueda producir un agente externo (por ejemplo, un fichero por lotes que
actualiza los datos, un temporizador que desencadena una insercin, etc.).
El controlador es responsable de:
Recibe los eventos de entrada (un clic, un cambio en un campo de texto, etc.).
Contiene reglas de gestin de eventos, del tipo "SI Evento Z, entonces Accin W".
Estas acciones pueden suponer peticiones al modelo o a las vistas. Una de estas
peticiones a las vistas puede ser una llamada al mtodo "Actualizar ()". Una peticin
al modelo puede ser "Obtener_tiempo_de_entrega (nueva_orden_de_venta)".
Las vistas son responsables de:
Recibir datos del modelo y los muestra al usuario.
Tienen un registro de su controlador asociado (normalmente porque adems lo
instancia).
7
Pueden dar el servicio de "Actualizacin ()", para que sea invocado por el
controlador o por el modelo (cuando es un modelo activo que informa de los cambios
en los datos producidos por otros agentes).
Eventos en Android
Cuando el usuario interacciona con la interfaz, y por ejemplo pulsa un botn, se
generan eventos. La aplicacin debe especificar qu acciones se deben llevar a
cabo cuando se producen determinados eventos. A los objetos que estn
pendientes de los eventos que se producen se los llama Listeners. Para cada
componente que pueda generar un evento, como un botn o un campo de texto, es
posible especificar a qu objeto (Listener) se le notificarn los eventos que
produzca.
Android captura los distintos eventos de usuario de forma homognea y se los pasa
a la clase encargada de recogerlos. Por lo general va a ser un objeto tipo View el
que recoger estos eventos por medio de dos tcnicas alternativas. Los
escuchadores de eventos (Event Listener) y los manejadores de eventos (Event
Handler).
Un Escuchador de eventos o Event Listener es una interfaz de la clase View que
contiene un mtodocallback que ha de ser registrado. Cada Escuchador de
Eventos tiene solo un mtodo callback, que ser llamado por Android cuando se
produzca la accin correspondiente. Tenemos los siguientes escuchadores de
eventos:
onClick()
Mtodo de la interfaz View.OnClickListener. Se llama cuando el usuario selecciona
un elemento. Se puede utilizar cualquier medio como la pantalla tctil, las teclas de
navegacin o eltrackball.
onLongClick()
Mtodo de la interfaz View.OnLongClickListener. Se llama cuando el usuario
selecciona un elemento durante ms de un segundo.
8
onFocusChange()
Mtodo de la interfaz View.OnFocusChangeListener. Se llama cuando el usuario
navega dentro o fuera de un elemento.
onKey()
Mtodo de la interfaz View.OnKeyListener. Se llama cuando se pulsa o se suelta
una tecla del dispositivo.
onTouch()
Mtodo de la interfaz View.OnTouchListener. Se llama cuando se pulsa o se suelta
o se desplaza en la pantalla tctil.
onCreateContextMenu()
Mtodo de la interfaz View.OnCreateContextMenuListener. Se llama cuando se
crea un men de contexto.
Existen dos alternativas para crear un escuchador de evento. La primera es crear
un objeto annimo por ejemplo de la clase OnClickListener()
La segunda alternativa consiste en implementar la interfaz OnClickListener como
parte de tu clase y recoger los eventos en el mtodo onClick(). Esta alternativa es
la recomendada por Android, al tener menos gasto de memoria.
9
Descripcin funcional
La manera en la que funciona nuestra aplicacin es la siguiente:
En la parte de arriba en la pantalla lo primero que observamos es un EditText en el
cual el usuario debe ingresar un nmero (el nmero del que desea calcular su
secuencia Fibonacci). Debajo de este colocamos dos TextView (en los cuales se
muestra el resultado y la serie) y un Button (el cual es el que realiza la funcin).
Hicimos que el button por medio de un escuchador de eventos (OnClickListener)
realice la secuencia, previamente declarada en el cdigo, haciendo uso de un ciclo
for, declarando variables de inicio, final y un acumulador.
Numero a calcular es un EditText
en el cual se escribir un nmero.
Resultado es un TextView en el
cual se mostrara el resultado
final de la sucesin.
Serie es un TextView donde
podremos ver la suma que se
realiz para obtener el resultado
final, observaremos los nmeros
anteriores por los cuales paso el
ciclo.
El Botn Fibonacci es el que
llama a la funcin para que
realice todo lo necesario para
que funcione nuestro programa.
10
Cdigo
ACTIVITY_MAIN
11
android:layout_alignParentStart="true"
android:textSize="20sp"
android:layout_marginTop="40dp"
/>
12
MAIN ACTIVITY
package com.example.shani.fibonnacci;
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.TextView;
public class MainActivity extends ActionBarActivity implements
View.OnClickListener {
private Button btnfibo;
private TextView vista;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnfibo = (Button) findViewById(R.id.btnfibo);
btnfibo.setOnClickListener(this);
}
@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) {
13
// 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);
}
@Override
public void onClick(View v) {
int num, i, acum = 0, ac = 1, an = 0;
String serie = "";
vista = (TextView) findViewById(R.id.etfibo);
num = Integer.parseInt(vista.getText().toString());
vista = (TextView) findViewById(R.id.tvserie);
vista.setText(" ");
for (i = 0; i < num; i++) {
acum = an + ac;
an = ac;
serie = serie + " " + ac;
ac = acum;
vista.setText(serie);
}
vista = (TextView) findViewById(R.id.tvres);
vista.setText(String.valueOf(ac));
}
}
14
Ejecucin
As luce la aplicacin
Algunos ejemplos:
15
Conclusin
Finalmente podemos decir que programar en Android es una de las maneras mas
fciles de programar que hemos estudiado hasta ahora, la ayuda que ofrece es
bastante y nos facilita mucho el proceso de programacin.
Al realizar esta practica hemos podido aclarar algunas dudas que surgieron
conforme fuimos escribiendo nuestro cdigo, con este trabajo demostramos lo que
aprendimos durante las clases.
Mediante las herramientas que nos ofrece Android Studio diseamos por medio de
EditText, TextView y Button la aplicacin para que se realizara esta secuencia.
Hicimos uso de un emulador, que simula ser la pantalla del dispositivo, y una vez
probada la pasamos a nuestro celular para corroborar que la aplicacin funciona
adecuadamente.
16
Bibliografa
https://developer.android.com/sdk/index.html
http://www.javaya.com.ar/androidya/detalleconcepto.php?codigo=148&inicio=
http://www.aprendeandroid.com/l4/interface3.htm
http://developer.android.com/reference/java/lang/Override.html
http://developer.android.com/reference/android/view/View.OnClickListener.html
http://si.ua.es/es/documentacion/asp-net-mvc-3/1-dia/modelo-vista-controlador-
mvc.html
http://elpuig.xeill.net/Members/vcarceler/misc/android/introduccion-a-los-layouts-y-
la-gestion-de-eventos
http://www.androidcurso.com/index.php/tutoriales-android-basico/36-unidad-5-
entradas-en-android-teclado-pantalla-tactil-y-sensores/144-manejo-de-eventos-de-
usuario
Top Related