Fibonnaci Android Studio

16
SECRETARÍA DE EDUCACIÓN PÚBLICA DIRECCIÓN GENERAL DE EDUCACIÓN SUPERIOR TECNOLÓGICA INSTITUTO TECNOLÓGICO DE TUXTLA GUTIÉRREZ TÓPICOS AVANZADOS DE PROGRAMACIÓN Secuencia de Fibonacci Android Studio INGENIERÍA EN SISTEMAS COMPUTACIONALES Presentan: MONTALVO PÉREZ JUAN CARLOS REYES PALACIOS SHANEL DANIELA Grupo: S4A Equipo 14 Tuxtla Gutiérrez, Chiapas, México; 28 de abril de 2015

description

SECRETARÍA DE EDUCACIÓN PÚBLICA DIRECCIÓN GENERAL DE EDUCACIÓN SUPERIOR TECNOLÓGICA INSTITUTO TECNOLÓGICO DE TUXTLA GUTIÉRREZTÓPICOS AVANZADOS DE PROGRAMACIÓN Secuencia de Fibonacci – Android StudioINGENIERÍA EN SISTEMAS COMPUTACIONALESPresentan:MONTALVO PÉREZ JUAN CARLOSREYES PALACIOS SHANEL DANIELAGrupo: S4A Equipo 14Tuxtla Gutiérrez, Chiapas, México; 28 de abril de 20152INDICEIntroducción ............................................................................................................. 3Descripción teórica .................................................................................................. 4Descripción funcional .............................................................................................. 9Código ................................................................................................................... 10ACTIVITY_MAIN ................................................................................................ 10MAIN ACTIVITY ................................................................................................. 12Ejecución ............................................................................................................... 14Conclusión............................................................................................................. 15Bibliografía ............................................................................................................ 163IntroducciónAndroid Studio es un entorno de desarrollo diseñado para ofrecer nuevas herramientas para el desarrollo de aplicaciones para los dispositivos Android.Entre las muchas características que Android studio ofrece destacan sus herramientas de empaquetado y etiquetado de código para organizarnos al implementar grandes cantidades de código.Apoyándonos en este lenguaje de programación realizamos la sucesión de Fibonacci, esta es una sucesión infinita, es la sucesión de números: 0, 1, 1, 2, 3, 5, 8, 13, 21,34,… Cada número 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.4Descripción teóricaAndroid Studio es un nuevo entorno de desarrollo integrado para el sistema operativo Android lanzado por Google, diseñado para ofrecer nuevas herramientas para el desarrollo de aplicaciones y alternativa al entorno Eclipse, hasta ahora el IDE más 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 generación basado Gradle que proporcionará una mayor flexibilidad para el proceso de construcción. Además, gracias a su sistema de emulación integrado, Android Studio permite ver los cambios que realizamos en nuestra aplicación en tiempo real, pudiendo además comprobar cómo se visualiza en diferentes dispositivos Android con distintas configuraciones y resoluciones de forma simultánea.Entre las muchas características de Android Studio destacan sus herramientas de empaquetado y etiquetado de código para organizarnos al implementar grandes cantidades de código, sirviéndose además de un sistema drag & drop para mover los componentes a través de la interfaz de usuario. Además, este nuevo entorno cuenta con Google Cloud Messaging, una funcionalidad con la que podremos enviar datos desde el servidor a terminales Android a través de la nube, siendo esta una forma de enviar notificaciones Push a nuestras apps. Por otro lado, también nos ayudará en la localización de nuestras aplicaciones, dándonos una forma más visual de seguir programando y controlar el flujo de la aplicación.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.5EditText (caja de edición de texto

Transcript of Fibonnaci Android Studio

  • 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