base de datos en android reporte

47
BASE DE DATOS EN ANDROID SQLite Características La bibliotheca implementa la mayor parte del estándar SQL-92, incluyendo transacciones de base de datos atómicas, consistencia de base de datos, aislamiento, y durabilidad (ACID), triggers y la mayor parte de las consultas complejas. En lugar de asignar un tipo a una columna como en la mayor parte de los sistemas de bases de datos SQL, los tipos se asignan a los valores individuales. Por ejemplo, se puede insertar un string en una columna de tipo entero (a pesar de que SQLite tratará en primera instancia de convertir la cadena en un entero). Algunos usuarios consideran esto como una innovación que hace que la base de datos sea mucho más útil, sobre todo al ser utilizada desde un lenguaje de scripting de tipos dinámicos. Otros usuarios lo ven como un gran inconveniente, ya que la técnica no es portable a otras bases de datos SQL. SQLite no trataba de transformar los datos al tipo de la columna hasta la versión 3. Varios procesos o hilos pueden acceder a la misma base de datos sin problemas. Varios accesos de lectura pueden ser servidos en paralelo. Un acceso de escritura sólo puede ser servido si no se está sirviendo ningún otro acceso concurrentemente. En caso contrario, el acceso de escritura

Upload: paisa-rodriguez-rojas

Post on 15-Dec-2015

227 views

Category:

Documents


5 download

DESCRIPTION

Reporte de herramientas para desarrollar bases de datos en android

TRANSCRIPT

Page 1: Base de Datos en Android Reporte

BASE DE DATOS EN ANDROID

SQLite 

Características

La bibliotheca implementa la mayor parte del estándar SQL-92, incluyendo

transacciones de base de datos atómicas, consistencia de base de datos,

aislamiento, y durabilidad (ACID), triggers y la mayor parte de las consultas

complejas.

En lugar de asignar un tipo a una columna como en la mayor parte de los

sistemas de bases de datos SQL, los tipos se asignan a los valores

individuales. Por ejemplo, se puede insertar un string en una columna de tipo

entero (a pesar de que SQLite tratará en primera instancia de convertir la cadena

en un entero). Algunos usuarios consideran esto como una innovación que hace

que la base de datos sea mucho más útil, sobre todo al ser utilizada desde un

lenguaje de scripting de tipos dinámicos. Otros usuarios lo ven como un gran

inconveniente, ya que la técnica no es portable a otras bases de datos SQL.

SQLite no trataba de transformar los datos al tipo de la columna hasta la versión 3.

Varios procesos o hilos pueden acceder a la misma base de datos sin

problemas. Varios accesos de lectura pueden ser servidos en paralelo. Un

acceso de escritura sólo puede ser servido si no se está sirviendo ningún otro

acceso concurrentemente. En caso contrario, el acceso de escritura falla

devolviendo un código de error (o puede automáticamente reintentarse hasta que

expira un tiempo de expiración configurable). Esta situación de acceso

concurrente podría cambiar cuando se está trabajando con tablas temporales. Sin

embargo, podría producirse un interbloqueo debido al multihilo.[1] Este punto fue

tratado en la versión 3.3.4, desarrollada el 11 de febrero de 2006.

Existe un programa independiente de nombre sqlite que puede ser utilizado para

consultar y gestionar los ficheros de base de datos SQLite. También sirve como

ejemplo para la escritura de aplicaciones utilizando la biblioteca SQLite.

Page 2: Base de Datos en Android Reporte

Lenguajes de programación

La biblioteca puede ser usada desde programas en C/C++, aunque están

disponibles enlaces para Tcl y muchos otros lenguajes de programación

interpretado.

SQLite se encuentra embebido en el REALbasic framework, haciendo posible que

aplicaciones desarrolladas en REALbasic para Windows, Linux o Mac OS X usen

la base de datos SQLite.

Existe un módulo DBI/DBD para Perl disponible en CPAN, DBD::SQLite, no es una

interface para SQLite, sino que incluye el motor completo de SQLite en sí mismo

por lo cual no necesita ningún software adicional.

Python incluye soporte para SQLite nativamente desde la versión 2.5 incorporado

en la Biblioteca Estándar como el módulo sqlite3.3 Para versiones anteriores de

Python, el módulo no está incoporado y debe instalarse (su nombre es

PySQLite).4

Hay otro módulo para Visual Basic 6 llamado VBSqlite

Desde Delphi se puede usar SQLite a través de los componentes libres ZeosLib.

PHP incluye SQLite, desde la versión 5. SQLite también funciona con PHP 4 pero

no viene incluido en él. Para más detalles vea el manual y PECL info.

Desde Java se puede acceder mediante el driver de SQLite JDBC

Desde .NET se puede acceder usando el proyecto de código abierto

System.Data.SQLite

Desde Lazarus 0.9.8 y Free Pascal 2.0.0, SQLite está disponibles para

programadores de Pascal. Tutorial: «Lazarus Database Tutorial, Lazarus and

SQLite» (en inglés).

Mac OS X v10.4 incluye SQLite, y es una de las opciones en la Core Data API de

Apple. AppleScript puede abrir, crear, y manipular base de datos SQLite por medio

de la aplicación de ayuda "Database Events" de Mac OS X 10.4.

Page 3: Base de Datos en Android Reporte

BlitzMAX posee un MOD que permite trabajar con bases de datos SQLite. Para

más detalles y descarga del MOD vea [2].

El componente de base de datos (gb.db) de Gambas soporta SQLite en sus

versiones 1, 2 y 3

El lenguaje de programación de vídeo juegos Bennu tiene un mod de SQlite

disponible

El lenguaje de programación de scripting para Windows AutoIt v.3.x a traves de la

DLL SQLite.dll.

Quienes utilizan SQLite

Varias aplicaciones de Apple utilizan SQLite, incluyendo Apple Mail y el gestor de

RSS que se distribuye con Mac OS X. El software Aperture de Apple guarda la

información de las imágenes en una base de datos SQLite, utilizando la API Core

Data.5

El navegador web Opera usa SQLite para la gestión de bases de datos WebSQL.

Skype es otra aplicación de gran despliegue que utiliza SQLite.6 5

SQLFilter, un plugin para OmniPeek, usa SQLite para indexar paquetes en una

base de datos para poder se consultada por medio de SQL.

The New Yorker guarda el índice para un set de DVD conteniendo todos los

números publicados por la revista.

XBMC Media Center (antes conocido como "XBox Media Center") es un

reproductor de medios de audio, video, fotos, etc de código libre (open source)

multi-plataforma a la vez que un centro de entretenimiento. Usa SQLite para

administrar las librerías de música, video y fotografías, listas de reproducción y

bookmarks entre otras utilidades menores.

Debido a su pequeño tamaño, SQLite es muy adecuado para los sistemas

integrados, y también está incluido en:

Page 4: Base de Datos en Android Reporte

Android

BlackBerry

Windows Phone

Google Chrome5

iOS5

Firefox OS

Maemo

MeeGo

Symbian OS5

webOS

REALM

Realm es un motor de bases de datos que nace con la intención de sustituir a

SQLite o Core Data, para implementar bases de datos de manera sencilla en apps

desarrolladas con Android y el sistema iOS.

permite usarlo con tres lenguajes diferentes, Java (para Android) y tanto con

Objective-C como con Swift (para iOS).

Este motor de datos está diseñado y pensado para poder crear tanto aplicaciones

Android como iOS. Lo mejor de todo es que tiene la capacidad de poder crear

diversas bases de datos de manera sencilla y sobretodo gratuita. Realm, es un

sistema totalmente gratuito con lo cual se puede descargar desde su misma

página web sin ningún problema.

¿Qué características ofrece Realm que otros no tienen? dispone de un sistema

de transacciones que trabaja como un ORM. ¿Qué significa esto? Pues que no

será necesario utilizar el lenguaje SQL para hacer consultas en la base de datos,

ya que todas las consultas necesarias se realizarán a través de diversos objetos,

Page 5: Base de Datos en Android Reporte

ya sea la obtención de resultados de consultas o el hecho de actualizar o insertar

diversos datos.

Realm supone un avance a la hora de tratar con las tecnologías y con la

programación web y móvil, pues supone una gran ventaja y ofrece muchas

facilidades a los desarrolladores a la hora de crear.

Page 6: Base de Datos en Android Reporte

Apple's Developer Connection (ADC)

Xcode. Un IDE desde el que podemos realizar aplicaciones C, C++, Java y Objective-C para Mac OS X y iOS.

Interface Builder. Herramienta que nos permite realizar la interfaz gráfica de las aplicaciones cómodamente. A partir de Xcode 4.0 está integrado con Xcode. La interfaz gráfica de las aplicaciones, además de poder crearse programáticamente,

se puede crear en un fichero XML con la extensión .xib que se compila en un .nib. Cuando se ejecuta una aplicación se carga en memoria este fichero en base al cual se crea la interfaz gráfica. Esto es mucho más cómodo que tener que hacer llamadas al API, y para crear este fichero se usa esta herramienta.

Instruments. Una herramienta que nos permite perfilar nuestras aplicaciones y encontrar errores en tiempo de ejecución.

Package Maker. Una herramienta que nos permite hacer instaladores de aplicaciones Mac OS X de forma rápida y con una interfaz homogénea para todas las aplicaciones. Esta herramienta nos permite crear ficheros .pkg, que al hacer el usuario doble click sobre ellos se ejecuta el instalador.

Page 7: Base de Datos en Android Reporte

Dashcode. Es una herramienta que nos permite crear fácilmente widgets para Dashboard.

PropertyListEditor. En Mac OS X muchos ficheros de configuración usan el formato XML, para poder visualizar de forma cómoda (jerárquicamente) estos ficheros tenemos esta herramienta.

Icon Composer. Estas herramientas nos permiten crear y visualizar ficheros .icns de forma cómoda.

Documentación. La gran mayoría de la documentación y tutoriales que encontramos en la web de Apple, la podemos encontrar también aquí.

Page 8: Base de Datos en Android Reporte

HERRAMIENTAS DE DESARROLLO

Android, el nuevo sistema operativo de Google para dispositivos móviles. Es una

plataforma software y un sistema operativo para dispositivos móviles basado es un

núcleo de Linux. Es creado por Google y la Open Handset Alliance.

Una vez que sabemos que es Android, vamos a la cuestión en sí: Desarrollar

aplicaciones en esta plataforma móvil. Para desarrollar aplicaciones en este

sistema, tendremos que tener un conocimiento básico de Java, ya que este es el

lenguaje que usa Android en sus aplicaciones.

Antes de nada, necesitamos configurar el entorno de desarrollo, para empezar a

implementar nuestras aplicaciones. Necesitaremos una serie de herramientas

instaladas en nuestro sistema, antes de empezar a programar. 

Eclipse es una plataforma de desarrollo, diseñada para ser extendida de forma

indefinida a través de plug-ins. Fue concebida desde sus orígenes para

convertirse en una plataforma de integración de herramientas de desarrollo. No

tiene en mente un lenguaje específico, sino que es un IDE genérico, aunque goza

de mucha popularidad entre la comunidad de desarrolladores del lenguaje Java

usando el plug-in JDT que viene incluido en la distribución estándar del IDE.

Proporciona herramientas para la gestión de espacios de trabajo, escribir,

desplegar, ejecutar y depurar aplicaciones.

PRINCIPALES CARACTERÍSTICAS

Perspectivas, editores y vistas: en Eclipse el concepto de trabajo está basado

en las perspectivas, que no es otra cosa que una preconfiguración de ventanas y

editores, relacionadas entre sí, y que nos permiten trabajar en un determinado

entorno de trabajo de forma óptima.

Gestión de proyectos: el desarrollo sobre Eclipse se basa en los proyectos, que

son el conjunto de recursos relacionados entre sí, como puede ser el código

fuente, documentación, ficheros configuración, árbol de directorios,… El IDE nos

Page 9: Base de Datos en Android Reporte

proporcionará asistentes y ayudas para la creación de proyectos. Por ejemplo,

cuando creamos uno, se abre la perspectiva adecuada al tipo de proyecto que

estemos creando, con la colección de vistas, editores y ventanas preconfigurada

por defecto.

Depurador de código: se incluye un potente depurador, de uso fácil e intuitivo, y

que visualmente nos ayuda a mejorar nuestro código. Para ello sólo debemos

ejecutar el programa en modo depuración (con un simple botón). De nuevo,

tenemos una perspectiva específica para la depuración de código, la perspectiva

depuración, donde se muestra de forma ordenada toda la información necesaria

para realizar dicha tarea.

Extensa colección de plug-ins: están disponibles en una gran cantidad, unos

publicados por Eclipse, otros por terceros. Al haber sido un estándar de facto

durante tanto tiempo (no el único estándar, pero sí uno de ellos), la colección

disponible es muy grande. Los hay gratuitos, de pago, bajo distintas licencias, pero

casi para cualquier cosa que nos imaginemos tenemos el plug-in adecuado.

Page 10: Base de Datos en Android Reporte

Plug-in JDT

Dado el extenso uso que se le da, nos permitimos dedicarle un apartado

específico. Es el plug-in encargado del soporte del IDE al lenguaje Java, incluido

en la versión estándar de Eclipse por defecto, que como ya hemos explicado, no

está concebido para dar soporte a un lenguaje determinado.

Cuando abrimos un proyecto Java, se abre la perspectiva correspondiente. Está

formada por dos vistas: Outline y Package Explorer. La vista Outline se encarga

de mostrar el esquema de la clase que tenemos abierta en el editor activo en ese

momento. Una cuestión muy interesante es que cuando tenemos una vista activa,

se visualizan en la barra de herramientas iconos extra, que nos permitirán el

acceso rápido a las funciones más usadas de dicha vista.

Page 11: Base de Datos en Android Reporte

El coloreado de código en el editor es una característica muy interesante,

realizando para ello el reconocimiento sintáctico de todas aquellas palabras que

son reservadas en el lenguaje Java.

Asímismo nos permite completar el código automáticamente (code completion),

con sugerencias dependientes del contexto, lo cual nos permitirá escribir código

más rápidamente.

Se podrá configurar el formateo de código, la forma de escribir los comentarios,

incluyendo comentarios para la posterior creación del Javadoc. Podemos

generar los esqueletos de clase automáticamente, generación de métodos

getters y setters de manera automática, y un largo etcétera de funcionalidades,

que a día de hoy nos parecen típicos, pero muy útiles.

PROCESO DE INSTALACIÓN

Es tan sencillo como descargárselo de la página de Eclipse y descomprimir el

fichero en la ubicación deseada. No hay nada más que hacer, ejecutarlo,

configurarlo y listo.

Page 12: Base de Datos en Android Reporte
Page 13: Base de Datos en Android Reporte

SDK Android

Otro elemento muy importante para desarrollar aplicaciones en Android, es su

SDK (Sofware Development Kit). Para adquirir el SDK, tenemos que acceder a la

siguiente página: 

http://code.google.com/intl/es-ES/android/download.html 

Una vez descargado, solo hay que descomprimirlo en cualquier carpeta en tu

disco duro, pero recordad en qué lugar lo habéis guardado ya que nos hará falta

más adelante. 

En el SDK podemos encontrar todas las librerías y utilidades necesarias para

poder trabajar con Android. 

Antes de empezar a hacer aplicaciones en Android es importante que tengamos

una AVD (Android Virtual Device) configurado en Eclipse, esto nos permitirá

emular en nuestra computadora un entorno móvil en los que iremos probando

nuestras aplicaciones.

Con la herramienta Android SDK que instalamos previamente podemos crear

tantos dispositivos virtuales como queramos, esto con el fin de probar nuestras

aplicaciones en los distintos dispositivos que existen en el mercado comprobando

así su funcionamiento en cada uno de ellos.

Pues bien empezaremos configurando nuestro primer emulador:

1. Abrimos el AVD Manager que se encuentra en Windows → AVD Manager

o desde el ícono de acceso directo que se encuentra en la barra de

herramientas de eclipse

2. Hecho esto se nos abrirá una ventana , y damos clic en New

Page 14: Base de Datos en Android Reporte

3. En la ventana Create new Android Virtual Device (AVD) llenamos los

siguientes campos :

o Name: Es el nombre que recibirá el emulador  y que aparecerá en la

bandeja de dispositivos disponibles. Es recomendable que se le

asigne un nombre descriptivo a la versión Android con la que está

configurada.

o Target: Es la versión de Android que correrá en el dispositivo virtual.

o SDCard: Esto es opcional, en la cual podemos seleccionar o cargar

el archivo de una SDCard existente.

o Skin: Aquí es donde se configura la pantalla del dispositivo, la opción

recomendad es la HVGA que permitirá que el emulador se adapte al

tamaño de la pantalla que tengas.

o Hardware: También es opcional, en la cual podemos agregar

características de hardware más específicos al dispositivo que se va

a emular; por ejemplo acelerómetro, cámara, GPS. Para ello solo

basta con dar clic en el botón New y elegir el hardware. Puedes

encontrar la descripción de cada hardware desde aqui

Page 15: Base de Datos en Android Reporte

4. Finalmente le damos clic al botón Create AVD  y veremos cómo se ha

agregado a la lista de emuladores disponibles, incluso ya lo podemos ir

probando; para ello seleccionamos en emulador y le damos clic en start.

Page 16: Base de Datos en Android Reporte

 

5. Puedes crear tantos emuladores como quieras y de diferentes versiones de

Android , para ello solo basta instalar el SDK de la respectiva plataforma y

configurar nuevamente un nuevo emulador.

Plugin Eclipse 

Para integrar Android con Eclipse, necesitamos un Plugin, que dependiendo de la

Page 17: Base de Datos en Android Reporte

versión del IDE que tengamos, se instalará de una forma concreta. Acceder al

Menú “Help->Software updates”. Desde aquí, podremos controlar todas las

actualizaciones y plugins de Eclipse. Nosotros necesitaremos añadir una nueva

dirección para que el sistema localice e instale el Plugin de Android. 

 

Para ello, pulsamos “Add Site…”, y en la nueva ventana que se abre, tenemos que

insertar la siguiente dirección:

https://dl-ssl.google.com/android/eclipse/ 

 

Si no reconoce la dirección, probar con “http” en vez de “https”. 

Una vez añadido el sitio, marcamos e instalamos el nuevo plugin que nos aparece

en la lista. En caso que nos pida instalar otro plugin, lo buscaremos mediante el

Page 18: Base de Datos en Android Reporte

buscador de plugins y lo instalaremos de igual forma que empezamos a instalar el

de Android. 

Necesitamos decirle a Eclipse, donde se encuentra el SDK de Android. Para ello nos dirigimos al menú “Windows->Preferences”. Allí nos aparecerá una ventana como la siguiente:

 

Marcamos la etiqueta de “Android” y en “SDK Location” buscamos y añadimos la

dirección donde habíamos guardado el SDK. Una vez hecho esto, estamos listos

para empezar a crear nuestro propio proyecto Android. 

http://www.ecured.cu/index.php/Eclipse,_entorno_de_desarrollo_integrado

Page 19: Base de Datos en Android Reporte

ANDROID STUDIO 

Android 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ógido 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.

¿Qué ofrece Android Studio? 

Un entorno de desarrollo claro y robusto.

Facilidad para testear el funcionamiento en otros tipos de dispositivos.

Asistentes y plantillas para los elementos comunes de programación en

Android.

Un completo editor con muchas herramientas extra para agilizar el

desarrollo de nuestras aplicaciones.

Page 20: Base de Datos en Android Reporte

Android Studio y sus principales características.

Android Studio es un entorno de desarrollo integrado (IDE), basado en IntelliJ

IDEA de la compañía JetBrains, que proporciona varias mejoras con respecto al

plugin ADT (Android Developer Tools) para Eclipse. Android Studio utiliza una

licencia de software libre Apache 2.0, está programado en Java y es

multiplataforma.

Fue presentado por Google el 16 de mayo del 2013 en el congreso de

desarrolladores Google I/O, con el objetivo de crear un entorno dedicado en

exclusiva a la programación de aplicaciones para dispositivos Android,

proporcionando a Google un mayor control sobre el proceso de producción. Se

trata pues de una alternativa real a Eclipse, el IDE recomendado por Google hasta

la fecha, pero que presentaba problemas debido a su lentitud en el desarrollo de

versiones que solucionaran las carencias actuales (es indispensable recordar que

Eclipse es una plataforma de desarrollo, diseñada para ser extendida a través de

plugins).

Android Studio se ha mantenido durante todo este tiempo en versión beta, pero

desde el 8 de diciembre de 2014, en que se liberó la versión estable de Android

Studio 1.0, Google ha pasado a recomendarlo como el IDE para desarrollar

aplicaciones para su sistema operativo, dejando el plugin ADT para Eclipse de

estar en desarrollo activo. Esta versión la puedes descargar desde la web de

Android Developer.

Page 21: Base de Datos en Android Reporte

Principales características que incluye Android Studio:

Soporte para programar aplicaciones para Android Wear (sistema

operativo para dispositivos corporales como por ejemplo un reloj).

Herramientas Lint (detecta código no compatible entre arquitecturas

diferentes o código confuso que no es capaz de controlar el compilador)

para detectar problemas de rendimiento, usabilidad y compatibilidad de

versiones.

Utiliza ProGuard para optimizar y reducir el código del proyecto al exportar

a APK (muy útil para dispositivos de gama baja con limitaciones de

memoria interna).

Integración de la herramienta Gradle encargada de gestionar y automatizar

la construcción de proyectos, como pueden ser las tareas de testing,

compilación o empaquetado.

Nuevo diseño del editor con soporte para la edición de temas.

Nueva interfaz específica para el desarrollo en Android.

Permite la importación de proyectos realizados en el entorno Eclipse,

que a diferencia de Android Studio (Gradle) utiliza ANT.

Posibilita el control de versiones accediendo a un repositorio desde el que

poder descargar Mercurial, Git, Github o Subversion.

Alertas en tiempo real de errores sintácticos, compatibilidad o rendimiento

antes de compilar la aplicación.

Vista previa en diferentes dispositivos y resoluciones.

Integración con Google Cloud Platform, para el acceso a los

diferentes servicios que proporciona Google en la nube.

Editor de diseño que muestra una vista previa de los cambios realizados

directamente en el archivo xml.

Page 22: Base de Datos en Android Reporte

Requerimientos del sistema

Comparativa entre Android Studio y ADT Eclipse

Para una mayor comprensión de las diferencias y novedades que presenta

Android Studio con respecto al IDE Eclipse, y más concretamente con el ADT para

Android, se propone la siguiente tabla comparativa entre ambas opciones:

Page 23: Base de Datos en Android Reporte
Page 24: Base de Datos en Android Reporte

Ventajas uso Android Studio:

Android Studio ha pasado a ser el entorno recomendado para el desarrollo

de aplicaciones en Android, al tratarse de un IDE oficial de Google en

colaboración con JetBrains (compañía de desarrollo software especializada

en diseño de IDEs).

Android Studio permite la creación de nuevos módulos dentro de un mismo

proyecto, sin necesidad de estar cambiando de espacio de trabajo para el

manejo de proyectos, algo habitual en Eclipse.

Con la simple descarga de Android Studio se disponen de todas las

herramientas necesarias para el desarrollo de aplicaciones para la

plataforma Android.

Su nueva forma de construir los paquetes .apk, mediante el uso de Gradle,

proporciona una serie de ventajas más acorde a un proyecto Java:

Page 25: Base de Datos en Android Reporte

Facilita la distribución de código, y por lo tanto el trabajo en equipo.

Reutilización de código y recursos.

Permite compilar desde línea de comandos, para aquellas

situaciones en las que no esté disponible un entorno de desarrollo.

Mayor facilidad para la creación de diferentes versiones de la misma

aplicación, que proporciona numerosas ventajas como puede ser la

creación de una versión de pago y otra gratuita, o por ejemplo

diferentes dispositivos o almacén de datos.

Desventajas uso Android Studio:

Aunque ya ha se ha lanzado la primera versión estable, la v1.0, al estar en

una fase inicial, siempre es suceptible de introducirse más cambios que

puedan provocar inestabilidad entre proyectos de diferentes versiones.

Curva de aprendizaje más lenta para nuevos desarrolladores de Android.

El sistema de construcción de proyectos Gradle puede resultar complicado

inicialmente.

En comparativa con Eclipse, menor número de plugins.

Descarga e Instalación de Android Studio

Vamos a describir la instalación del IDE Android Studio, en este caso en la

plataforma Windows. Los pasos necesarios para dicha instalación son los

siguientes:

En primer lugar se deberá descargar Android Studio para la plataforma acorde a

nuestras necesidades. Para el ejemplo que mostraremos a continuación se

realizará sobre Windows 8.1 64 bits. La descarga de Android Studio se puede

realizar a través del siguiente enlace: http://developer.android.com/sdk/index.html

Page 26: Base de Datos en Android Reporte

*Una vez descargado, se deberá localizar el archivo ejecutable, al que se podrá

acceder a través de la ruta: Directorio local pc > android-studio > bin y

seleccionaremos la arquitectura del microprocesador (studio.exe correspondiente

a la arquitectura de 32 bits o studio64.exe perteneciente a 64 bits).

Además de la descarga de Android Studio, también será necesario descargar Java

SDK 7 o superior. A través del siguiente enlace es posible descargar Java SDK 8

para cualquier plataforma (puedes verlo en el video de esta serie).

Tras la instalación del SDK de Java, y la localización del ejecutable de Android

Studio, simplemente se deberá realizar doble click sobre el archivo con

extensión .exe para acceder a la pantalla de bienvenida de Android Studio.

Page 27: Base de Datos en Android Reporte

Solución al error común de Android Studio en Windows 7 y 8

En el supuesto de mostrar el siguiente mensaje al ejecutar Android Studio

que indica que no ha sido posible encontrar la instalación de Java (se da por

hecho que la instalación del software JDK se ha realizado correctamente), será

Page 28: Base de Datos en Android Reporte

necesaria la creación de una variable de entorno, donde se indicará el directorio

de instalación. Para esta tarea simplemente debemos seguir los siguientes pasos:

Se accederá a la opción “Equipo”, y tras mostrar la nueva ventana se

seleccionará la opción“Propiedades del sistema”.

Se accederá a una nueva ventana, donde se debe seleccionar la

opción “Configuración avanzada del sistema” situada en la parte

superior izquierda.

Aparecerá una nueva ventana denominada “Propiedades del sistema”,

donde se seleccionará la opción “Variables de entorno”.

Posteriormente se creará una nueva variable de sistema, seleccionando el

botón de “Nueva…”, para finalmente completar los campos de esta nueva

variable con los siguientes valores:

En “Nombre de la variable:” se indicará el valor de JAVA_HOME.

En “Valor de la variable:” se indicará la ruta o directorio de

instalación de Java en nuestro pc.

Al pulsar en “Aceptar”, ya será posible iniciar Android Studio sin problemas.

Page 29: Base de Datos en Android Reporte

Primer proyecto con Android Studio:

Al realizar los pasos comentados en el apartado anterior, ya estará disponible el

IDE Android Studio, que siguiendo los pasos que se comentarán a continuación,

permitirá la creación de un proyecto para la plataforma Android:

Se comenzará en primer lugar por lanzar el ejecutable de Android Studio,

mostrando la ventana de bienvenida, que se mostrará la primera vez que

iniciemos el IDE. Seleccionaremos la opción “Start a new Android Studio project”:

Page 30: Base de Datos en Android Reporte

Posteriormente se mostrarán las ventanas para indicar determinados datos de la

aplicación que se desea desarrollar. En primer lugar nos solicitará datos

relacionados con el nombre de la aplicación y dominio de la compañía, con el que

se construirá el nombre del paquete de la aplicación. También será posible

modificar la localización del proyecto (donde se desea almacenar).Tras pulsar en

“Next”, solicitará los datos referentes a la versión mínima de Android donde se

podrá instalar la aplicación. Previamente se debe seleccionar la plataforma de

destino (teléfono y tablet, Android TV, Android Wear o Google Glass):

Page 31: Base de Datos en Android Reporte

Una vez se aceptan los datos del formulario del proyecto, se configurará el tipo de

actividad que definirá la actividad principal. Las opciones disponibles serán, entre

otras, las de ventana normal, ventana a pantalla completa, ventana de login,

Page 32: Base de Datos en Android Reporte

ventana de preferencias, etc. Por defecto se dejará seleccionada la ventana

normal, que será posible modificar más adelante:

Tras pulsar en “Next”, se deberá establecer el nombre de la actividad principal. En

este ejemplo se dejarán los datos por defecto para mayor simplicidad:

Page 33: Base de Datos en Android Reporte
Page 34: Base de Datos en Android Reporte
Page 35: Base de Datos en Android Reporte

SEGURIDAD EN ANDROID

La plataforma Android de Google se ha convertido en un objetivo más habitual de

los creadores de programas maliciosos para móviles que el iOS de Apple,

probablemente, a causa de su popularidad: con más de 1 millón de activaciones al

día, los teléfonos inteligentes Android cuentan con un 59 % de la cuota de

mercado. Sin embargo, la vulnerabilidad relativa de Android frente a iOS radica en

el nivel de control que los proveedores poseen sobre los productos y el mercado

de desarrollo y distribución de aplicaciones.

Los creadores de programas maliciosos para móviles saben muy bien que la mejor

forma de infectar el mayor número de dispositivos posible es atacando los

mercados centrales de aplicaciones. Los ciberdelincuentes introducen

aplicaciones que ocultan funciones maliciosas (camufladas) para intentar que las

técnicas de detección del proceso de evaluación de aplicaciones del proveedor

(por ejemplo, Google Bouncer) no las descubran.

Tan solo en 2011, Google eliminó más de 100 aplicaciones maliciosas de su

tienda de aplicaciones. Google descubrió 50 aplicaciones infectadas con un mismo

programa malicioso conocido como Droid Dream, que tenía la capacidad de poner

en peligro datos personales. Sin embargo, Google no siempre ha actuado de

manera oportuna para evitar infecciones. Los usuarios descargaron una aplicación

dañina más de 260 000 veces hasta que la empresa la retiró del mercado de

aplicaciones. Por eso, crear una política de seguridad que obligue a los usuarios a

proteger los dispositivos móviles personales utilizados en la empresa es

fundamental para proteger los datos corporativos.

Al igual que Apple, Google ofrece un mercado centralizado de aplicaciones para

móviles denominado Google Play. Sin embargo, la posibilidad de instalar

aplicaciones de terceros en Android contrarresta dichos esfuerzos. Algunos son

proveedores conocidos y de confianza (como Amazon), pero otros no, y están

ubicados en focos de creación de programas maliciosos como Rusia o China. Los

desarrolladores ilegales desmontan y decompilan aplicaciones populares como

Angry Birds, y publican versiones maliciosas disponibles de forma gratuita.

Page 36: Base de Datos en Android Reporte

Blackmart es uno de los mercados alternativos para este tipo de aplicaciones

pirateadas o clonadas, también conocidas como PJApps. Las herramientas

utilizadas para piratear aplicaciones legítimas permiten añadir funciones y volver a

empaquetarlas. Las aplicaciones reempaquetadas suelen incluir componentes no

deseados como marcos publicitarios o funciones maliciosas.

Otra de las familias de programas maliciosos especiales para Android

descubiertas por Sophos es DroidSheep, una herramienta utilizada por los

ciberdelincuentes para rastrear el tráfico de red y obtener acceso a cuentas en

línea de sitios web conocidos. Los hackers que utilizan DroidSheep pueden

acceder a sitios sin conexiones seguras con las cuentas de las víctimas.

DroidSheep permite rastrear el tráfico de red inalámbrico y robar tokens de

autenticación que los ciberdelincuentes utilizan para hacerse pasar por otra

persona. Sitios conocidos como Yahoo, Google y Facebook son compatibles con

conexiones HTTPS, que las herramientas como DroidSheep no pueden infiltrar.

La familia de programas maliciosos para Android más prolífica se conoce con el

nombre de Boxer. En abril de 2012, cuando apareció la conocida aplicación de

intercambio de fotografías Instagram en la plataforma Android, los creadores de

programas maliciosos para móviles no tardaron en darse cuenta y copiaron el

contenido del sitio para crear uno falso y malicioso que ofrecía incluso

aplicaciones falsificadas. Una vez instalada, la aplicación envía mensajes SMS a

servicios de tarifas especiales concentrados principalmente en países de Europa

del Este como Rusia, Ucrania y Kazajistán, con los que los ciberdelincuentes

obtienen comisiones rápidas y fácilmente a costa de los usuarios.

El número de amenazas, especialmente para la plataforma Android, sigue

aumentando. En 2011 SophosLabs detectó 81 veces más programas maliciosos

para Android que en 2010, un aumento del 8000 %. En 2012 SophosLabs ha

observado ya 41 veces más programas maliciosos que en 2011, una tasa de

crecimiento de cerca del 4100 %.

La seguridad es un aspecto clave de todo sistema. Si nos descargáramos una

aplicación maliciosa de Internet o del Play Store, esta podría leer nuestra lista de

Page 37: Base de Datos en Android Reporte

contactos, averiguar nuestra posición GPS, mandar toda esta información por

Internet y terminar enviando 50 mensajes SMS.

En algunas plataformas antiguas, como Windows Mobile, estábamos

prácticamente desprotegidos ante aplicaciones maliciosas. Por lo tanto, los

usuarios tenían que ser muy cautos antes de instalar una aplicación.

En otras plataformas, como eniOS, toda aplicación ha de ser validada por Apple

antes de poder ser instala en un terminal. Además solo está permitido instalar

aplicaciones de la tienda oficial de Apple. Esto limita a los pequeños

programadores y da un poder excesivo a Apple. Se trata de un planteamiento

totalmente contrario al software libre.

Android propone un esquema de seguridad que protege a los usuarios, sin la

necesidad de imponer un sistema centralizado y controlado por una única

empresa. La seguridad en Android se fundamenta en los siguientes tres pilares:

Android está basado en Linux, por lo tanto, vamos a poder aprovechar la

seguridad que incorpora este sistema operativo. De esta forma Android puede

impedir que las aplicaciones tengan acceso directo al hardware o interfieran con

recursos de otras aplicaciones.

Toda aplicación ha de ser firmada con un certificado digital que identifique a su

autor. La firma digital también nos garantiza que el fichero de la aplicación no ha

sido modificado. Si se desea modificar la aplicación está tendrá que ser firmada de

nuevo, y esto solo podrá hacerlo el propietario de la claveprivada. Es habitual que

un certificado digital sea firmado a su vez por una autoridad de certificación, sin

embargo en Android esto no es necesario

Page 38: Base de Datos en Android Reporte

Si queremos que una aplicación tenga acceso a partes del sistema que pueden

comprometer la seguridad del sistema hemos de utilizar un modelo de permisos,

de forma que el usuario conozca los riesgos antes de instalar la aplicación.

Page 39: Base de Datos en Android Reporte

BIBLIOGRAFIA

https://www.sophos.com/es-es/security-news-trends/security-trends/malware-goes-

mobile/why-ios-is-safer-than-android.aspx

http://www.androidcurso.com/index.php/tutoriales-android/41-unidad-7-seguridad-

y-posicionamiento/280-los-tres-pilares-de-la-seguridad-en-android

http://android-studio.uptodown.com/

http://academiaandroid.com/android-studio-v1-caracteristicas-comparativa-eclipse/

http://academiaandroid.com/android-studio-instalacion-y-primer-proyecto/