Androiditis

Blog sobre Google Android en Castellano

Archive for July, 2009

Almacenamiento de archivos

Posted by Pablo July - 29 - 2009 - Wednesday ADD COMMENTS

Almacenamiento de archivos en Android

Según la guía oficial de desarrolladores Android, todos los datos de la aplicación (archivos incluidos) son privados de la aplicación. Realizando la compartición de información con otras aplicaciones mediante Content Providers. Son componentes opcionales que dan acceso a la lectura y escritura de datos de una aplicación. Android trae por defecto proveedores de contenido básicos para imágenes, video, audio, archivos y información personal de contacto.

Independientemente si queremos compartir información con otras aplicaciones, la forma de almacenar archivos (que no información, para lo que podemos usar el sistema de almacenamiento datos clave-valor o el API de sqlite) es mediente el uso de métodos del paquete android.content.*, especialmente de la clase Context.

Context.openInputFile()

public FileInputStream openFileInput (String name)
Abre un archivo privado en el paquete Context de la aplicación.

Parámetros:
name El nombre del archivo a abrir para su lectura; no puedo contener separadores.
Devuelve
FileInputStream input stream resultante
Lanza
FileNotFoundException

Análogamente,

Context.openOutputFile() abre un archivo para escritura.

En ambos casos especifican claramente que no es posible incluir un path en su ubicación, ya que esta siempre será el contexto de la aplicación en curso. Y por tanto no podemos usar directamente el framework de desarrollo de alto nivel si lo que queremos es estructurar de alguna manera el contenido que vamos guardando, y por ello tengamos que implementarlo con las librería de bajo nivel incluidas en Android 1.5. O bien, usar el path como nombre del archivo almacena, pero esta solución me parece menos limpia.

Usando la librería de bajo nivel convencional java.io.* necesitamos apuntar a la ruta de ubicación de archivos propia de la aplicación que estamos corriendo, pues es la única en la que tendremos permisos de lectura/escritura. Esta es/data/data/NOMBRE_DEL_PAQUETE/files/

A partir de ahí ya se puede crear subdirectorios y archivos con los correspondientes métodos del paquete.

subdirectories

Popularity: 17% [?]

HTC Hero

Posted by Julia July - 28 - 2009 - Tuesday 1 COMMENT

Por fin tengo el HTC Hero en mis manos! Aún no he tenido tiempo de “cacharrear” mucho con él, pero voy a dar mis primeras impresiones:

- En primer lugar, cuenta con un diseño elegante, caracterizado por una curva en la parte inferior. Tiene los 6 botones típicos en los terminales Android y una bolita que que facilita el manejo del terminal. Sin embargo, por el momento yo no he necesitado usarla, pues la interfaz que incorpora, HTC Sense es muy cómoda de usar.

- La interfaz HTC Sense, ofrece 5 escritorios sobre la misma pantalla, cada uno de los cuales es configurable. Por defecto, incorpora una pantalla con información meteorológica, una para cofigurar aplicaciones como el twitter, otra destinada al correo electrónico, la pantalla principal con el reloj y algunos widgets (mensajeria, explorador, calendario…), un quinto escritorio con algunos accesos directos (a la cámara, wi-fi, Bluetooth…)… La inferfaz va bastante bien, sin mucho retardo, aunque de momento tengo pocos widget y puede que al añadir más se haga más pesada…ya iré contando.

- De momento lo que más me está costando es acostumbrarme al teclado! No he pillado el truco y a veces pulso la tecla que no quiero…pero esto es como todo, cuestión de acostumbrarse!

- Aye cuando recibí el terminal, aún no tenía activada la tarifa Navehable, así que lo encendí sin insertar la tarjeta SIM. Tengo red inalámbrica en casa, así que me conecté y estuve navegando sin gasto alguno! jeje, esto me sorprendió positivamente! Es una ventaja lo del wi-fi, porque de esta manera estando en casa o en lugares con wi-fi, no tendremos que usar la conexión

de datos de Orange, que ya seabemos que no es la mejor…

Como ya he dicho, aún no he exprimido el HTC Hero al máximo así que poco más puedo contar…

Popularity: 12% [?]

Para que un proyecto genérico Java que sirva para la creación tanto de aplicaciones bajo JavaSE, JavaME y Java Android hay que tener en cuenta las siguientes consideraciones:

  • No hacer uso de librerías específicas de JavaME ni Java Android
  • Ser JDK compliance 1.3
  • En el proyecto Android deben estar vinculadas todas las dependencias, aunque éstas sean de segundo nivel o superior (esto es debido a la operativa del plugin Android para Eclipse). En el caso de MIDP no es necesaria esta consideración.
  • El uso de un JAR JavaSE en Android es inmediatamente convertido a bytecode ejecutable en la DalvikVM, que difiere del resto de implementaciones por estar orientada a registros, y no haciendo uso de clases ME, ni de AWT ni Swing, teniendo entonces su propio conjunto de paquetes que es un subconjunto de la implementación Java OpenSource Apache Harmony.

Popularity: 9% [?]

onCreate()

Posted by Pablo July - 15 - 2009 - Wednesday ADD COMMENTS

Bienvenido, arrancamos esta nueva aventura en el prometedor mundo de la plataforma para dispositivos móviles Android, de la que sobran presentaciones. Si has llegado hasta aquí sabrás de qué va esto, sino, don’t worry, invoquemos a la wikipedia para ayudarnos a aclararte:

Android es un sistema operativo para dispositivos móviles basado en el núcleo Linux. fue inicialmente desarrollado por Google y luego por la Open Handset Alliance. La presentación de la plataforma Android se realizó el 5 de noviembre de 2007 junto con la fundación Open Handset Alliance, un consorcio de 48 compañías de hardware, software y telecomunicaciones comprometidas a la promoción de estándares abiertos para dispositivos móviles.
Esta plataforma permite el desarrollo de aplicaciones por terceros (personas ajenas a Google), para lo cual, los desarrolladores deben de escribir código gestionado en el lenguaje de programación Java y controlar los dispositivos por medio de bibliotecas desarrolladas o adaptadas por Google, es decir, escribir programas en C u otros lenguajes, utilizando o no las bibliotecas de Google (compilándolas a código nativo de ARM ). Sin embargo, este esquema de desarrollo no es oficialmente soportado por Google.
La mayoría del código fuente de Android ha sido publicado bajo la licencia de software Apache, una licencia de software libre y código fuente abierto.

http://es.wikipedia.org/wiki/Android

Vamos a tratar tanto temas de implementación como aspectos de negocio y todo lo que rodea al ecosistema Android; todo lo que nos sea útil y que esperamos que también te lo sea a tí. Desde aspectos de la arquitectura a cuestiones de implementación con el framework de desarrollo de aplicaciones pasando por echar un vistazo a los terminales que van saliendo en el mercado. Y cuestiones más de negocio como la filosofía del Android Market, tiendas de aplicaciones alternativas y futuras propuestas de terceros que ya están en camino.

Popularity: 13% [?]