Sunteți pe pagina 1din 18

ALUMNO: SERGIO CASTRO AGUILAR

MATRÍCULA: 61456

GRUPO: CC11

MATERIA: COMPUTACIÓN MÓVIL

DOCENTE: Dr. Yoel Ledo Mezquita

NÚMERO Y TEMA DE LA ACTIVIDAD: 4. Diseño de una


aplicación móvil

OAXACA DE JUÁREZ, OAX. A 2 DE JULIO DE 2015


DISEÑO DE UNA APLICACIÓN MÓVIL
INTRODUCCIÓN

[LanceTalent, 2015] menciona que el mercado de las aplicaciones móviles no para de crecer. Son
muchas las empresas que no quieren dejar pasar la oportunidad de unirse a este negocio y crear una
aplicación que de respuesta a sus necesidades. Sin embargo, la mayoría desconocen qué tipos de
aplicaciones móviles existen y cuál es la mejor para ellos. A continuación se describen los tipos de
aplicaciones móviles que hay.

1. App nativas

Una aplicación nativa es la que se desarrolla de forma específica para un determinado sistema
operativo, llamado Software Development Kit o SDK. Cada una de las plataformas, Adroid, iOS o
Windows Phone, tienen un sistema diferente, por lo que si quieres que tu app esté disponible en
todas las plataformas se deberán de crear varias apps con el lenguaje del sistema operativo
seleccionado. Por ejemplo:

 Las apps para iOS se desarrollan con lenguaje Objective-C

 Las apps para Android se desarrollan con lenguaje Java

 Las apps en Windows Phone se desarrollan en .Net

Cuando hablamos de desarrollo móvil casi siempre nos estamos refiriendo a aplicaciones nativas. La
principal ventaja con respecto a los otros dos tipos, es la posibilidad de acceder a todas las
características del hardware del móvil: cámara, GPS, agenda, dispositivos de almacenamiento y otras
muchas. Esto hace que la experiencia del usuario sea mucho más positiva que con otro tipo de apps.
Además las aplicaciones nativas no necesitan conexión a internet para que funcionen.

La descarga e instalación de estas apps se realiza siempre a través de las tiendas de aplicaciones
(app store de los fabricantes). Esto facilita el proceso de marketing y promoción que es vital para dar
visibilidad a una app.
2. Web App

Una aplicación web o webapp es la desarrollada con lenguajes muy conocidos por los
programadores, como es el HTML, Javascript y CSS. La principal ventaja con respecto a la nativa es
la posibilidad de programar independiente del sistema operativo en el que se usará la aplicación. De
esta forma se pueden ejecutar en diferentes dispositivos sin tener que crear varias aplicaciones.

Las aplicaciones web se ejecutan dentro del propio navegador web del dispositivo a través de una
URL. Por ejemplo en Safari, si se trata de la plataforma iOS. El contenido se adapta a la pantalla
adquiriendo un aspecto de navegación APP.

¿Puede considerarse esto una APP? En realidad la gran diferencia con una aplicación nativa
(además de los inconvenientes que se muestran en la tabla) es que no necesita instalación por lo que
no pueden estar visibles en app store y la promoción y comercialización debe realizarse de forma
independiente. De todas formas se puede crear un acceso directo que sería como “instalar” la
aplicación en el dispositivo. Las apps web móviles son siempre una buena opción si nuestro objetivo
es adaptar la web a formato móvil.

3. Web App nativa


Una aplicación híbrida es una combinación de las dos anteriores, se podría decir que recoge lo mejor
de cada una de ellas. Las apps híbridas se desarrollan con lenguajes propios de las webabpp, es
decir, HTML, Javascript y CSS por lo que permite su uso en diferentes plataformas, pero también dan
la posibilidad de acceder a gran parte de las características del hardware del dispositivo. La principal
ventaja es que a pesar de estar desarrollada con HTML, Java o CSS, es posible agrupar los códigos
y distribuirla en app store.

PhoneGap es es uno de los frameworks más utilizados por los programadores para el desarrollo
multiplataforma de applicaciones híbridas. Otro ejemplo de herramienta para desarrollar apps híbridas
es Córdova.

¿Cuál es la mejor elección?

Para seleccionar el tipo de app más adecuada en cada situación, se deben analizar las ventajas e
inconvenientes de cada una y responder a varias preguntas, por ejemplo:

 ¿Cuánto coste estás dispuesto a asumir?

 ¿Quieres aprovechar las funcionalidades del dispositivo (GPS, cámara…) o no lo necesitas?

 ¿Cuál es el público al que se dirigirá tu app?

 ¿Necesitas un diseño complejo y muy personalizado?

 ¿Quieres incluir notificaciones en tu app?

 ¿Tienes previsto modificar las acciones de la aplicación móvil o incorporar más funciones en el
futuro?

JUSTIFICACIÓN DE LA APLICACIÓN

El desarrollo de la aplicación se justifica por la resolución de una necesidad real. Muchos son los
niños que tienen dificultades para entender los conceptos de “Mayor” y “Menor” tal cual se los
explican en su salón de clases. Así, la idea es proporcionar una herramienta que sirva de apoyo para
que el niño se apropie con mayor facilidad de dichos conceptos a través de un juego sencillo y
divertido, considerando además que a la edad de los niños de tercer grado de primaria disponen ya
de un smartphone con características necesarias para ejecutar una aplicación de esta naturaleza.

DESARROLLO

Con base en lo anterior, se da respuesta a las siguientes interrogantes, dentro de esta sección de
Desarrollo:

 Plataforma de desarrollo

 Tipo de dispositivo al que está orientada la aplicación

 Nombre de la aplicación

 Objetivo de la aplicación
 Icono de la aplicación

 Diagrama de flujo de la aplicación

Plataforma de desarrollo
La aplicación se desarrollará para Android por lo cual a continuación se describe dicha plataforma de
desarrollo [Android Tutoriales Perú, 2011].

¿Qué es ANDROID?

Android es un software para dispositivos móviles que incluye un sistema operativo, middleware y
aplicaciones clave. El SDK de Android proporciona las herramientas y APIs necesarios para
comenzar el desarrollo de aplicaciones en la plataforma Android usando el lenguaje de programación
Java.

Características:

 La plataforma de la aplicación permite la reutilización y sustitución de componentes.

 Dalvik, la máquina virtual optimizada para dispositivos móviles.

 Navegador integrado basado en el motor WebKit de código abierto.

 Gráficos IntegrOptimized alimentado por una colección de gráficos personalizados en 2D,


gráficos 3D basado en OpenGL ES 1.0 (aceleración de hardware opcional).

 SQLite para almacenamiento de datos estructurados.

 Soportes de audio comunes, vídeos y formatos de imagen (MPEG4, H.264, MP3, AAC, AMR,
JPG, PNG, GIF).

 - Telefonía GSM (dependiente del hardware).

 Bluetooth, EDGE, 3G y WiFi (dependiente del hardware).

 Cámara, GPS, brújula y acelerómetro (dependiente del hardware).

 Un Ambiente de desarrollo completo, incluyendo un emulador de dispositivos, herramientas


para la depuración, la memoria y de perfiles de rendimiento, y un plugin para el IDE de
Eclipse.

 Lo mejor es que actualmente Android cuenta con su propia plataforma de desarrollo de


aplicaciones, conocida como Android Studio.

Arquitectura De Android

El siguiente diagrama muestra los componentes principales del sistema operativo Android.
Aplicaciones

Android se vende con un conjunto de aplicaciones básicas que incluye un cliente de correo
electrónico, programa de SMS, calendario, mapas, navegador, contactos, y otros. Todas las
aplicaciones se escriben usando el lenguaje de programación Java.

Plataforma De Aplicaciones

Al proporcionar una plataforma de desarrollo abierto, Android ofrece a los desarrolladores la


capacidad de crear aplicaciones muy ricas e innovadoras. Los desarrolladores son libres de tomar
ventaja del hardware del dispositivo, información sobre la ubicación de acceso, ejecutar servicios de
fondo, establecer alarmas, añadir las notificaciones de la barra de estado, y mucho, mucho más.

Los desarrolladores tienen pleno acceso a la misma plataforma de APIs utilizado por las aplicaciones
principales. La arquitectura de la aplicación está diseñada para simplificar la reutilización de
componentes, y cualquier aplicación puede publicar sus capacidades y cualquier otra aplicación
podrá entonces hacer uso de esas capacidades (sujeto a restricciones de seguridad impuestas por la
plataforma). Este mismo mecanismo permite que los componentes sean reemplazados por el usuario.

Detrás de todas las aplicaciones hay un conjunto de servicios y sistemas, incluyendo:

 Un rico y extensible conjunto de Vistas que se pueden utilizar para construir una aplicación,
incluyendo listas,redes, cajas de texto, botones, y incluso un navegador web embebido.

 Content Providers que permiten a las aplicaciones de acceso a datos de otras aplicaciones
(por ejemplo, Contactos), o para compartir sus propios datos.

 Resource Manager facilitar el acceso a los recursos no son de código como cadenas
localizadas, gráficos y archivos de diseño.

 Notification Manager que permite a todas las aplicaciones para mostrar alertas personalizadas
en la barra de estado.

 Activity Manager que gestiona el ciclo de vida de las aplicaciones y proporciona una
navegación backstack común.

Bibliotecas

Android incluye un conjunto de bibliotecas C/C++ utilizado por diversos componentes del sistema
Android. Estas capacidades están expuestos a los desarrolladores a través de la estructura de
aplicaciones para Android . Algunas de sus bibliotecas de núcleo son las siguientes:

 System C library: Una aplicación derivado de BSD de la biblioteca del sistema estándar de C
(libc), en sintonía para dispositivos embebidos basados en Linux.

 Media Libraries: Basado de PacketVideo OpenCORE, la reproducción de bibliotecas de


soporte y la grabación de audios populares y formatos de vídeo populares, así como archivos
de imágenes estáticas, incluyendo MPEG4, H.264, MP3, AAC, AMR, JPG y PNG.

 Surface Manager: Gestiona el acceso al subsistema de visualización y sin problemas


compuesto por gráficas 2D y 3D de múltiples aplicaciones.

 LibWebCore: Un navegador web moderno que alimenta tanto el navegador de Android y una
vista wev integrable.

 SGL: El motor de base de gráficos 2D.

 3D libraries: Una aplicación basada en OpenGL ES 1.0 API, las librerías usan o aceleración de
hardware 3D(si esta disponible) o el incluido, altamente optimizado el 3D Software
Rasterizador.

 FreeType: Mapa de bits y vectores de representación de la fuente.

 SQLite: Un motor de bases de datos relacionales de gran alcance y ligero disponible para
todas las aplicaciones.

Tiempo De Ejecución Android

Android incluye un conjunto de bibliotecas del núcleo que proporciona la mayor parte de la
funcionalidad disponible en las bibliotecas del núcleo del lenguaje de programación Java.

Cada aplicación Android se ejecuta en su propio proceso, con su propia instancia de la máquina
virtual Dalvik. Dalvik ha sido escrito para que un dispositivo pueda ejecutar múltiples máquinas
virtuales de manera eficiente. La máquina virtual Dalvik ejecuta archivos ejecutables en el Dalvik
(.dex), formato que está optimizado para consumo de memoria mínima. La máquina virtual está
basada en registros y corre clases compiladas por un compilador de lenguaje Java que se han
convertido en el formato de dex. incluido el "dx" herramienta.

La máquina virtual Dalvik se basa en el kernel de Linux para la funcionalidad subyacente como
enhebrar y administración de bajo nivel de memoria.
Kernel De Linux

Android se basa en la versión 2.6 de Linux para el sistema de servicios básicos, tales como la
seguridad, la gestión de memoria, gestión de procesos, pila de red, y el modelo del controlador. El
núcleo también actúa como una capa de abstracción entre el hardware y el resto de la pila de
software.

Por otro lado, Wikipedia [Android Studio. 2015] proporciona esta descripción de Android Studio,
plataforma oficial de desarrollo de aplicaciones para Android: Android Studio es un entorno de
desarrollo integrado (IDE) para la plataforma Android. Fue anunciado por Ellie Powers el 16 de mayo
de 2013. Android Studio está disponible para desarrolladores para probarlo gratuitamente. Basado en
IntelliJ IDEA de JetBrains, está diseñado específicamente para desarrollar para Android. Está
disponible para descargar para Windows, Mac OS X y Linux.

Características

 Renderización en tiempo real

 Consola de desarrollador: consejos de optimización, ayuda para la traducción, estadísticas de


uso.

 Soporte para construcción basada en Gradle.

 Refactorización especifica de Android y arreglos rápidos.

 Herramientas Lint para detectar problemas de rendimiento, usabilidad, compatibilidad de


versiones, y otros problemas.

 Plantillas para crear diseños comunes de Android y otros componentes.

 Soporte para programar aplicaciones para Android Wear.

 Tipo de dispositivo al que está orientada la aplicación

La aplicación a desarrollar correrá en todos los dispositivos que tengan Android como sistema
operativo, de la versión Lollipop en delante.

Nombre y descripción de la aplicación

La aplicación tiene por nombre “Adivíname”, y está dirigida a niños de 3 ro de primaria. La aplicación
ayuda a estos niños a diferenciar a través del juego el concepto de mayor y menor, proponiéndoles
que adivinen un número que genera aleatoriamente entre 1 y 100. Conforme el niño escribe números
la App le da pistas para ayudarlo a adivinar el número que generó aleatoriamente y que está en la
memoria. Los estimula dándoles puntos cada vez que “descifran” el número en memoria y llevando
un registro del mejor juego (el número que ha sido adivinado con el menor número de intentos).
Objetivo de la aplicación

El objetivo de la aplicación es muy claro y sencillo: Ayudar a los niños de tercero de primaria a
diferenciar a través del juego el concepto de mayor y menor.

Icono de la aplicación
Se utiliza como icono de la aplicación la siguiente imagen, que hace alusión a un niño con duda:

Diagrama de flujo de la aplicación

Inicio

Recuperación del puntaje y mejor juego

Los muestra
Genera número No Hay datos Sí y genera
aleatorio almacenados? número
aleatorio
Lee respuesta del usuario

Genera
No Sí número
Incrementa los intentos Adivinó el usuario?
aleatorio

Genera número No Sí Almacena datos


Hay un mejor juego? Actualiza datos
aleatorio
en pantalla

El juego se repite hasta que el usuario da clic en el botón ”Salir“

Este es el código fuente de la aplicación desarrollada:


package com.ejercicio2.sergio.ejercicio2;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
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.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends ActionBarActivity {
private TextView textView2,textView3,tvMensaje,tvMejor;
private EditText editText;
private int numero, puntuacion;
private String cadena, txtIntentos;
private String txtConst="Adivine un número entre 1 y 100";
private String txtMejor="Menor núm. intentos: ";
private int intentos=0;
private int mejor, IntActual;
private String mejorPunto;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText=(EditText)findViewById(R.id.editText);
textView2=(TextView)findViewById(R.id.textView2);
textView3=(TextView)findViewById(R.id.textView3);
tvMensaje=(TextView)findViewById(R.id.tvMensaje);
tvMejor=(TextView)findViewById(R.id.tvMejor);
SharedPreferences prefer=getSharedPreferences("record", Context.MODE_PRIVATE);
textView2.setText(prefer.getString("puntaje", "000"));
mejorPunto=prefer.getString("mejor","");
tvMejor.setText(txtMejor + mejorPunto);
numero=(int)(Math.random()*101);
textView3.setText(txtConst);
tvMensaje.setText("Intentos = 0");
if (mejorPunto.length()==0){
mejor=0;
}else{
int valMejor=Integer.parseInt(mejorPunto);
mejor=valMejor;
}
}
@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) {
// 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);
}
public void salir(View view){
finish();
}
public void reiniciar(View view){
SharedPreferences prefs=getSharedPreferences("record",Context.MODE_PRIVATE);
SharedPreferences.Editor editor=prefs.edit();
editor.putString("puntaje", "0");
editor.commit();
textView2.setText("0");
}
public void acercade(View view){
Intent i = new Intent(this, Acercade.class );
startActivity(i);
}
public void verificar(View view){
if (editText.getText().toString().length()==0){
Toast.makeText(this,"Debe ingresar un número",Toast.LENGTH_SHORT).show();
}else{
String respuesta=editText.getText().toString();
String texto=textView2.getText().toString();
int valor=Integer.parseInt(respuesta);
if(texto==""){
texto="0";
}
int calif=Integer.parseInt(texto);
if(valor == numero){
puntuacion=calif+1;
cadena=Integer.toString(puntuacion);
intentos+=1;
txtIntentos=Integer.toString(intentos);
SharedPreferences preferencias=getSharedPreferences("record",Context.MODE_PRIVATE);
SharedPreferences.Editor editor=preferencias.edit();
editor.putString("puntaje", cadena);
String IntentosActual=preferencias.getString("mejor","");
if (IntentosActual.length()==0){
IntActual=0;
}else {
IntActual = Integer.parseInt(IntentosActual);
}
if (IntentosActual.length()==0){
editor.putString("mejor", txtIntentos);
}else{
if(intentos<IntActual){
editor.putString("mejor", txtIntentos);
}
}
editor.commit();
tvMejor.setText(txtMejor + preferencias.getString("mejor",""));
//textView3.setText("Felicidades!, adivinó el número.");
Toast.makeText(this,"Felicidades!, adivinó el número en " + txtIntentos + " intentos."
,Toast.LENGTH_SHORT).show();
editText.setText("");
numero=(int)(Math.random()*101);
SharedPreferences prefer=getSharedPreferences("record", Context.MODE_PRIVATE);
textView2.setText(prefer.getString("puntaje", ""));
textView3.setText(txtConst);
tvMensaje.setText("Intentos = 0");
intentos=0;
}else{
//Toast.makeText(this,"Lo siento, no es el número...!",Toast.LENGTH_SHORT).show();
editText.setText("");
if (valor>numero){
textView3.setText("Menos!, Menos!");
}else{
textView3.setText("Más!, Más!, Más!");
}
intentos+=1;
txtIntentos=Integer.toString(intentos);
tvMensaje.setText("Intentos = " + txtIntentos);
//numero=(int)(Math.random()*11);
}
}
}
}

Este es el xml de la actividad principal, ya que esta aplicación se compone de dos actividades:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
android:background="@mipmap/aleatorios4"
android:clickable="true"
android:onClick="acercade">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Puntaje:"
android:id="@+id/textView"
android:textColor="@android:color/holo_red_light"
android:gravity="center_horizontal"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="0000"
android:id="@+id/textView2"
android:gravity="center_horizontal"
android:textStyle="bold"
android:textColor="@android:color/holo_orange_light"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/button"
android:layout_toRightOf="@+id/textView"
android:layout_toEndOf="@+id/textView" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number"
android:ems="10"
android:id="@+id/editText"
android:textStyle="bold|italic"
android:textColor="@android:color/holo_orange_light"
android:gravity="center_horizontal"
android:layout_below="@+id/button"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignRight="@+id/button2"
android:layout_alignEnd="@+id/button2"
android:elegantTextHeight="true"
android:textSize="@dimen/abc_text_size_display_3_material" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Verificar"
android:id="@+id/button"
android:onClick="verificar"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/button2"
android:layout_toStartOf="@+id/button2" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Adivine un número entre 1 y 100"
android:id="@+id/textView3"
android:gravity="center_horizontal"
android:textStyle="bold"
android:textColor="@android:color/holo_red_dark"
android:layout_below="@+id/editText"
android:layout_centerHorizontal="true" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Salir"
android:id="@+id/button2"
android:onClick="salir"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:id="@+id/tvMensaje"
android:gravity="center_horizontal"
android:textColor="@android:color/holo_red_light"
android:text="aquí estoy"
android:layout_below="@+id/textView3"
android:layout_centerHorizontal="true"
android:textStyle="bold" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Reiniciar puntaje"
android:id="@+id/button3"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:onClick="reiniciar" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Menor núm. de intentos:"
android:id="@+id/tvMejor"
android:layout_below="@+id/textView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:textColor="@android:color/holo_blue_bright" />
</RelativeLayout>

Este es el código fuente de la segunda actividad:


package com.ejercicio2.sergio.ejercicio2;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
public class Acercade extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_acercade);
}
@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_acercade, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// 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);
}
public void regresar(View view){
finish();
}
}

Y este es el xml de la segunda actividad:


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.ejercicio2.sergio.ejercicio2.Acercade"
android:background="@mipmap/aleatorios2">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="App desarrollada por Sergio Castro. Versión 1.0 2 de julio de 2015"
android:id="@+id/textView4"
android:gravity="center_horizontal"
android:textColor="@android:color/holo_blue_bright"
android:textStyle="bold"
android:textSize="@dimen/abc_action_bar_stacked_max_height"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Regresar"
android:id="@+id/button4"
android:layout_below="@+id/textView4"
android:layout_centerHorizontal="true"
android:onClick="regresar" />
</RelativeLayout>

Algunas pantallas del diseño:


Algunas pantallas de ejecución se muestran a continuación:
CONCLUSIONES
1. El planteamiento del desarrollo de una aplicación debe considerar todas las fases, desde el
planteamiento de la misma idea hasta la propuesta de prototipos, pues aunque parezca lo contrario,
ello redundará en ahorro de tiempo.

2. Android Studio es un IDE que permite el desarrollo de aplicaciones de una manera ágil, centrando
al desarrollador en lo verdaderamente importante. Lo demás lo hace el propio IDE de una manera
transparente para el desarrollador.

3. Fue una ventaja que el IDE seleccionado contara con un depurador integrado, porque ayudó
mucho a la detección de errores lógicos y de diseño.

4. Es necesario que el estudiante de maestría en tecnologías de la información domine por lo menos


una de estas herramientas, pues le permitirá ser más competitivo en el campo que preste sus
servicios, sea como líder de proyectos o como colaborador, por ellos es necesario profundizar en el
desarrollo de aplicaciones para dispositivos móviles.

5. El desarrollar para Android tiene mucha ventaja comercial, pues actualmente es el sistema
operativo más utilizado y la tendencia es a aumentar más el uso de este sistema.

BIBLIOGRAFÍA
Android Tutoriales Perú. 2011. Plataforma De Desarrollo ANDROID. Consultado el 2 de julio de
2015, desde http://android-latino.blogspot.mx/2010/12/que-es-android.html

Android Studio. 2015. Wikipedia, La enciclopedia libre. Consultdo el 2 de julio de 2015 desde
https://es.wikipedia.org/w/index.php?title=Android_Studio&oldid=83311058.

LanceTalent. 2015. Los 3 tipos de aplicaciones móviles: ventajas e inconvenientes. Consultado el 2


de julio de 2015, desde http://www.lancetalent.com/blog/tipos-de-aplicaciones-moviles-
ventajas-inconvenientes/

S-ar putea să vă placă și