Ir al contenido


Foto

BD local en celular Android usando Raudus


  • Por favor identifícate para responder
20 respuestas en este tema

#1 maperx

maperx

    Newbie

  • Miembros
  • Pip
  • 4 mensajes

Escrito 16 julio 2012 - 08:29

Hola, tengo que preparar una aplicación para celulares Android que guarde datos offline en el mismo teléfono, para luego transferirlos al servidor, el cual tiene la BD con Firebird.
Quisiera usar Raudus para los celulares, el problema es como guardar los datos en forma local, que serian los siguientes:
- Tabla de ARTICULOS (ID_ARTICULO, DESCRIPCION, PRECIO)
- Tabla de CLIENTES (ID_CLIENTE,  NOMBRE, DIRECCION)
- Tabla de PEDIDOS (ID_PEDIDO, FECHA, ID_CLIENTE, ID_ARTICULO)

Si alguien tiene alguna idea, me seria de mucha ayuda.
Desde ya muchas gracias.
  • 0

#2 taqtaq

taqtaq

    Member

  • Miembros
  • PipPip
  • 13 mensajes
  • LocationArgentina

Escrito 16 julio 2012 - 10:34

Por que offline?

Tengo entendido que HTML5 permite guardar datos en el cliente, pero no sé decirte si RAUDUS lo puede hacer.

Saludos

  • 0

#3 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 16 julio 2012 - 10:36

Podrías hacer uso de xml para almacenar información de manera local
  • 0

#4 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 16 julio 2012 - 11:24

SQLite ;)

Saludos.
  • 0

#5 cadetill

cadetill

    Advanced Member

  • Moderadores
  • PipPipPip
  • 994 mensajes
  • LocationEspaña

Escrito 16 julio 2012 - 12:43

Pues para seguir dando opciones.... JSON jejejejeje
  • 0

#6 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 16 julio 2012 - 01:04

Otra posibilidad, y viendo que empleas Firebird, es la de utilizar tablas externas. Aunque no se si es posible y totalmente viable. En tu dispositivo mantienes la tabla externa y una versión embebida de Firebird (se que hay una manera de hacer una versión embebed en Linux, y ya que Android utiliza y está basado en Linux) si hace falta.

Luego es cosa de importar/exportar con la tabla externa y la base de datos en el servidor.

Saludos,
  • 0

#7 Marc

Marc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.484 mensajes
  • LocationMallorca

Escrito 16 julio 2012 - 03:02

Hola.

Cuando no tengas conexión al Servidor Firebird tampoco tendrás conexión al servidor de tu aplicación Raudus, con lo que Raudus no parece que te pueda servir para este proyecto.

Saludos.
  • 0

#8 maperx

maperx

    Newbie

  • Miembros
  • Pip
  • 4 mensajes

Escrito 16 julio 2012 - 03:57

Marc, en este link http://raudus.wikisp...ment - PhoneGap de Raudus explica como compilarlo para Android.
Estuve buscando algo de Firebird pero no hay nada para Android todavia (o no lo encontre).
Con JSON nunca hice nada por lo que tendría que ver si tiene lo necesario.
Estaría muy bueno hacerlos con SQLite, como dice enecumene, así que voy a buscar la menera de usarlo y que al compilarlo para Android con PhoneGap Build funcione. Se que Android incorpora una API SQLite, vi unos ejemplos en JAVA.
Y en ultimo de los casos usare XML como propone poliburro porque serian unos 1000 articulos y 2000 clientes mas los pedidos, me parece que es mucho y va a andar lento.
Gracias a todos por sus respuestas.
  • 0

#9 Sergio

Sergio

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.092 mensajes
  • LocationMurcia, España

Escrito 17 julio 2012 - 01:03

Marc tiene toda la razón del mundo, raudus es solo para trabajar 100% online. PhoneGap solo empqueta las librerias javascript para aliviar el arranque y te prersenta la aplicacion web sin barra de direcciones, pero poca cosa más.

Precisamente en mi trabajo estamos a punto de terminar algo similar, un programa android que conecta con la base de datos FireBird de una aplicación windows, y mediante un webservice "casero" -nadie más "consume" esos datos, así que hemos simplificado el tema- sincroniza sus datos locales y luego funciona off-line.

El programa android está en java con el SDK, los datos locales en el SQLite que trae android, pero diseñar un sistema offline que permita luego integrar lo hecho offline en la base de datos... eso tiene su complicación.

En el lado windows hay un servidor web en phyton -creo recordar- que conecta con mi programa por una dll que a su vez conecta con FireBird y nos permite usar funciones del programa que validan cosas o encriptan datos, además toda la comunicación va cifrada.

El proyecto que te propones es complejo, más de lo que parece, son muchos los detalles a tener en cuenta.
  • 0

#10 Sergio

Sergio

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.092 mensajes
  • LocationMurcia, España

Escrito 17 julio 2012 - 01:05

Otra posibilidad, y viendo que empleas Firebird, es la de utilizar tablas externas. Aunque no se si es posible y totalmente viable. En tu dispositivo mantienes la tabla externa y una versión embebida de Firebird (se que hay una manera de hacer una versión embebed en Linux, y ya que Android utiliza y está basado en Linux) si hace falta.

Luego es cosa de importar/exportar con la tabla externa y la base de datos en el servidor.

Saludos,


No existe version embebida para android, es algo que firebird se ha planteado varias veces, pero que yo sepa no hay nada concreto decidido ni planeado en firme. La verdad es que es reinventar la rueda, android ya lleva una BD SQL perfectamente capaz, así que el interes es algo escaso.
  • 0

#11 fredycc

fredycc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 874 mensajes
  • LocationOaxaca, México

Escrito 17 julio 2012 - 07:23

Ayer precisamente estaba leyendo un poco de Mono para Android, es licencia comercial algo costosa, pero creo podrás manipular con .Net lo que quieras con SQLite en Android y poder además implementar un sistema de sincronización que prepare los datos y posteriormente los procese, la ventaja que veo en Mono para Android es el uso de LinQ un plus en .Net que me ha hecho la vida muy fácil en lo personal en la empresa donde trabajo.

Valdría lo pudieras checar, además es crossplatform lo cual indica pudieras llevar tu aplicación a iOS o Windows phone si tu proyecto lo justifica.

http://xamarin.com/monoforandroid

También existe un set de Resco(comercial) para .Net con todo incluido y listo para varias plataformas pero la base es mono para llegar a iOS y Android.

http://www.resco.net...leformstoolkit/

Alguna vez implemente un modo de sincronización donde windows mobile creaba un tipo xml de todos los datos a sincronizar, los cuales subía a un FTPs y listo, posteriormente notificaba via SMS, al actualizaciones al mobile era igual, solo bajaba el archivo y empezaba a actualizar la base que estaba en SQLite, muy eficiente a mi parecer y lo probé con miles de registros ya que contenía todos los códigos postales de México.

Espero Delphi nos tenga buenas nuevas con Android en su siguiente versión.  :)

Saludos
  • 0

#12 Marc

Marc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.484 mensajes
  • LocationMallorca

Escrito 17 julio 2012 - 09:04

Marc, en este link http://raudus.wikisp...ment - PhoneGap de Raudus explica como compilarlo para Android.


Me parece que no lo has leído bien.

Esto no es compilarlo para Android, esto es empaquetar tu aplicación en un APK para simular una aplicación nativa. Solo instala un lanzador, sigue siendo una aplicación Web que se ejecuta en el Servidor.

You can create a wrapper for your SenchaTouch-based or RaVCL-based mobile application using PhoneGap:Build so you convert it's client side into a "native" apk in iOS, Andriod or Blackberry.

PhoneGap:Build does not wrap the whole application (it is still server-side), but only a bootstrapper. The application will have native mobile appearance and installation, will have no address bar (that is useless in Raudus applications) and can be placed on market/App store if necessary.

Create a file, call it index.html. Then fix it manually.
...
...


Solo funcionará mientras tengas conexión con el servidor de tu aplicación (con lo que en esos momentos también tendrás conexión con Firebird).

Saludos.
  • 0

#13 fredycc

fredycc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 874 mensajes
  • LocationOaxaca, México

Escrito 17 julio 2012 - 10:01

Lo que comenta Marc es correcto, hay que notar q en paises donde la telefonía no es tan cara como en México no habría inconveniente alguno y hasta trabajo se ahorra uno, aquí en México ni las notificaciones de google vía sms me llegan con el $#$"!! Telcel  :p


Saludos
  • 0

#14 maperx

maperx

    Newbie

  • Miembros
  • Pip
  • 4 mensajes

Escrito 18 julio 2012 - 06:43

Me parece que no lo has leído bien.
Esto no es compilarlo para Android, esto es empaquetar tu aplicación en un APK para simular una aplicación nativa. Solo instala un lanzador, sigue siendo una aplicación Web que se ejecuta en el Servidor.


Disculpame Marc, no leí bien y tampoco lo probé, la ansiedad es un problema porque el cliente está muy apurado. Era mi intención hacerlo con Delphi para que sea mas rápido pero creo que voy a tener que aprender Java y hacer lo mismo que Sergio:

El programa android está en java con el SDK, los datos locales en el SQLite que trae android, pero diseñar un sistema offline que permita luego integrar lo hecho offline en la base de datos... eso tiene su complicación.
En el lado windows hay un servidor web en phyton -creo recordar- que conecta con mi programa por una dll que a su vez conecta con FireBird y nos permite usar funciones del programa que validan cosas o encriptan datos, además toda la comunicación va cifrada.
El proyecto que te propones es complejo, más de lo que parece, son muchos los detalles a tener en cuenta.

 

fredycc, voy a tener en cuenta tus opciones pero primero voy a intentar sin gastar en licencias porque es un anexo a un sistema de facturación que ya está pago.

Bueno amigos, gracias por su ayuda y espero poder devolverles.
Cuando empiece a desarrollar les aviso con que, mientras sigo escuchando ideas.

Saludos!
  • 0

#15 taqtaq

taqtaq

    Member

  • Miembros
  • PipPip
  • 13 mensajes
  • LocationArgentina

Escrito 18 julio 2012 - 09:19

Lamentablemente hasta que no haya una versión de Delphi que permita desarrollar para android utilizando pascal como lenguaje,
la cosa se nos va a complicar un poco, al menos para los que usamos Delphi como herramienta para el desarrollo de la mayoría de los proyectos.

No obstante lo anterior, estuve viendo el roadmap de C++ en http://edn.embarcade...m/article/42275 y si no entendí mal -y eso es posible porque mi inglés es muy pobre-  a través de C++ Embarcadero estaría incluyendo a Android, además de los 64bits, etc. etc., incluso creo que Firemonkey también sería compatible con Android, pero repito,  es probable que solo se trate de una mala interpretación de mi parte. Pero si entendí bien, no creo que Delphi esté muy lejos de esos horizontes.

Como todavía no hay novedades de Delphi al respecto y siempre urgen los pedidos, estuve analizando la situación y sí, es claro, si no hay posibilidad de estar conectados online, no queda otra que guardar los datos en un almacenamiento local y luego sincronizarlos con la base de datos vía internet o el proceso que sea, por lo que creo que:

*RAUDUS.
Sabemos que RAUDUS es una opción que, hoy por hoy, no nos permite guardar datos en el dispositivo movil, porque la base de datos está del lado del servidor.
Pero antes de estudiar java ¿no habría posibilidad o no sería más facil de crear un componente en RAUDUS que permita trabajar con localstorage o lo que sea necesario para guardar en el dispositivo?
RAUDUS trabaja con sencha, por lo que buscando, buscando, encontré esto: http://stackoverflow...sqlite-example. desde donde llegué a esto: http://market.sencha...on/sqliteproxy- que precisamente trabaja con SQLite desde sencha.
En fin, es una idea nada más, tratando de utilizar las ventajas que hoy por hoy nos ofrece RAUDUS.
Tal vez Sergio que creo está más involucrado con RAUDUS, pueda averiguar si el creador de RAUDUS tiene algo previsto al corto, mediano o largo plazo.

*PHP
Se me ocurrió pensar en PHP como otra alternativa, entonces buscando encontré que existe algo así como un servidor de php para android que se llama phpforandroid
En http://phpforandroid.net/ hay información más detallada.
Tal vez php es más accesible que java, especialmente teniendo en cuenta que RADPHP cuenta con el jquerymobile que precisamente es un framework para moviles y tal vez la combinación de phpforandorid+RAPHP+SQLite en Andorid pueda ser una solución más a tener en cuenta para este tipo de situaciones.
Quedaría ver después cómo se hace la sincronización con la base de datos, pero no creo que pueda ser mayor complicación.

*Lazarus
¿Por qué no Lazarus? ¿La pregunta es qué grado de avance tiene Lazarus en Android?
Sé que están trabajando pero no sé si lo que ya hay, alcance para desarrollar altas, bajas y modificaciones en SQLite.

*¿Por qué no el C++ que ahora ofrece Embarcadero?
Si es cierto que compila para Android y Embarcadero dice que:
"Of course, RAD C++ property, method, and event extensions, RAD IDE and visual designer integration, and Delphi compatibility are retained in the new C++ tool chain." entonces entiendo que C++ continúa teniendo compatibilidad con Delphi, por lo que tal vez, no sería mucho lo que habría que programar en C++.

En fin, son algunas ideas, un aporte más.

Saludos

  • 0

#16 fredycc

fredycc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 874 mensajes
  • LocationOaxaca, México

Escrito 19 julio 2012 - 07:22

RADPHP también me parece buena alternativa solo que no sé hasta que punto podría ayudar al proyecto planteado originalmente. Otras alternativas por ejemplo para VS están usando el poder de HTML5 para no tener que desarrollar todo un set de componentes compatibles con cada plataforma, ejemplo: http://www.vsnomad.com/ y de este modo dar el plus de multiplataforma a sus aplicaciones tanto para web como offline.

Saludos
  • 0

#17 Sergio

Sergio

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.092 mensajes
  • LocationMurcia, España

Escrito 19 julio 2012 - 09:39

Por lo que a raudus se refiere, abandona toda esperanza, no puede ser, raudus es un exe de windows, o incluso de linux (de linux+GNU, no de algo con kernel linux como Android), o bien un modulo para apache, incluso para ISS, pero nunca un programa nativo android, eso no lo vas a poder conseguir.

Si que podrias "copiar" los datos al local storage usando javascript mientras tengas conexion, pero una vez pierdes la conexion al servidor, no tienes programa que ejecutar, nada, solo los datos copiados al movil pero sin nada que los utilice.

De todas formas, intentar añadir esto como un "extra gratuito" en una aplicacion ya terminada, es como regalar una moto si te compras una bicicleta, puede llegar a costarte más trabajo que el programa de facturacion!

Quizas puedas plantearte algo mas sencillo: GDocs permite trabajar offline, quizas puedas pasar los datos como una hoja de excel, y en el tablet se modifica ese fichero, y mas tarde, al conectar, se actualiza solo el doc y en el lado del escritorio, lo podrias abrir con las apis de google y copiarte los cambios... es solo una idea algo loca, pero sería más sencillo así.

Otras ideas locas: DropBox para pasarse los ficheros de ida y luego de vuelta, y en el movil programas en java el manipular estos ficheros... si te ahorras la sincronizacion, tienes mucho ganado!

Yo una vez hice una conexion de este tipo usando sincronizacion por modem de ficheros con LapLink, previo a internet, sincronizaba una carpeta y luego mi aplicacion miraba a ver os ficheros recibidos (.dbf) y lo terminamos mi hermano y yo en UNA semana! Por eso se que si logras evitar la sincronizacion, el resto puede ser un 30% del trabajo solamente.
  • 0

#18 Marc

Marc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.484 mensajes
  • LocationMallorca

Escrito 19 julio 2012 - 10:48

Hola.

No obstante lo anterior, estuve viendo el roadmap de C++ en http://edn.embarcade...m/article/42275 y si no entendí mal -y eso es posible porque mi inglés es muy pobre-  a través de C++ Embarcadero estaría incluyendo a Android, además de los 64bits, etc. etc., incluso creo que Firemonkey también sería compatible con Android, pero repito,  es probable que solo se trate de una mala interpretación de mi parte. Pero si entendí bien, no creo que Delphi esté muy lejos de esos horizontes.


Por lo que yo he leído vas bien encaminado, el próximo Delphi XE3, que debería salir a finales de este mismo verano, tiene que integrar compilador nativo para Android, específicamente para aplicaciones FireMonkey.

http://blogs.embarca...-rise-with-you/

Saludos.
  • 0

#19 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 19 julio 2012 - 11:13

Por lo que yo he leído vas bien encaminado, el próximo Delphi XE3, que debería salir a finales de este mismo verano, tiene que integrar compilador nativo para Android, específicamente para aplicaciones FireMonkey.

http://blogs.embarca...-rise-with-you/

Saludos.


Hola! Pues ya quiero tener la XE3!!, lástima que aún no están trabajando para Linux :(
  • 0

#20 joaquipardo

joaquipardo

    Member

  • Miembros
  • PipPip
  • 37 mensajes
  • LocationAsunción - Paraguay

Escrito 20 junio 2013 - 06:16

Esta gente de Embarcadero no se que pajarito tiene en la cabeza para no quitar nada para Android, estoy muy molesto por que se perdieron varios negocios por falta de eso y es sumamente necesario volver a retomar esos clientes que ya no están.
SE NECESITA PARA ANDROID SOLUCIONES EN DELPHI
  • 0




IP.Board spam blocked by CleanTalk.