Tuesday, December 04, 2007

MapMe: Android maps application enhanced by db4o

My previous db4o powered sample application for Android was pretty popular so I decided to provide a second one called MapMe.


MapMe basically lets you browse 2D Google maps on Android but also has additional features such as:

  • Zoom in and out
  • Toggle traffic and satellite view
  • Find location
  • Bookmark location to db4o (full map persistence including zoom levels, and satellite and traffic views)
  • Browse list of bookmarks
  • Edit bookmark
  • Navigate to location on map from bookmark
  • Center map on current GPS reported location

Planned for the next version:

  • Track GPS movement dynamically on the screen
  • Full text search on bookmarks

In this project space you will have access to the following:

  • an explanation of db4o persistence on the application
  • complete source code for the Android sample application
  • a video showing the application in action plus a walkthrough of the source code

Enjoy!

Related Content on this site

Android Password Manager powered by db4o
Android brings handsets to the next level - and open doors a mile wide for db4o
db4A - database for Android
Ideas for the Android Developer Challenge
Why Android will start the mobile Tornado

4 comments:

Anonymous said...

Hola Germán, como estas?
Che, hace un tiempo quize probar la solución esta de db4o. Esperaba algo mejor, realmente, está muy precaria para usarla, y lo pero, es que es solo un esquema de persistencia, que ni siquiera vi que tuviera un GC!!

German Viscuso said...

Justamente, fijate que la entrada donde hiciste el comentario trata de un caso de uso para dispositivos móviles (en este caso Android). db4o es principalmente una base de datos para sistemas embebidos (imaginate un GC dedicado para db4o corriendo en Android, se come el dispositivo). db4o tiene un sistema de referencias a objetos que utiliza WeakReferences.

No coincido en que sea precaria db4o (hay muchos usuarios que no opinan lo mismo), pero si condicionada a ciertos casos de uso. Por ahí no es la solución de persistencia que necesitabas para la aplicación donde probaste db4o.

Saludos y gracias por el comentario.

Anonymous said...

Hola German, soy un estudiante español de Ingenieria Informatica que estudio en la Universidad de León.

Hace unos dias que he comenzado a trabajar con Android y navegando por la red he encontrado tu aplicacion MapMe, y me ha resultado interesante ;) El problema es que, tras realizar la descarga del codigo fuente, he intentado importarlo con eclipse a un nuevo proyecto para ver como funciona la aplicación, xo no he sido capaz de hacerlo funcionar. Los errores que me aparecen son los siguientes:

- Al importarlo me sale como un proyecto java, no como un proyecto Android.

- Luego intenté crear un nuevo proyecto Android cogiendo tu codigo fuente, pero Eclipse me dice: "No activity name defined in .../Androidmanifest.xml"

- Por ultimo, me da errores porque falta el archivo R.java, archivo que Android autogenera al crear una aplicacion.

Me gustaria que me dieras una solucion a estos fallos, si es posible... Mi idea es intentar hacer un proyecto final de carrera tratando el tema de GoogleMaps sobre Android y creando una aplicacion basado en ello.

Muchas gracias de antemano :)

German Viscuso said...

Hola! Gracias por tu comentario (al estudiante de la Universidad de León).

Hay un problemas con MapMe y es que esta completamente desactualizado y no anda con las ultimas versiones de Eclipse y Android (MapMe se hizo para el release 3 de Android y ya van por el 5to o 6to release).
No solo han cambiado varias cosas de la GUI sino que tambien ha cambiado toda la API de manejo de mapas en las ultimas versiones de Android por lo tanto se requiere una reescritura profunda para adaptar esta mini aplicación.

Si estas dispuesto a ir portandolo de a poco lo que te recomiendo es que crees una aplicación Android en al ultima versión utilizando los wizards (por ejemplo un Hello World) y allí ya tienes algo funcional. Luego arriba le vas metiendo los contenidos de los archivos de MapMe para ver como se comporta.

Saludos y suerte!

German