base de datos en android reporte
DESCRIPTION
Reporte de herramientas para desarrollar bases de datos en androidTRANSCRIPT
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.
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.
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:
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,
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.
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.
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í.
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
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.
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.
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.
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
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
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.
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
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
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
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.
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.
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.
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:
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:
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
*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.
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á
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.
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”:
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):
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,
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:
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.
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
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
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.
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/