BD local en celular Android usando Raudus
#1
Escrito 16 julio 2012 - 08:29
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.
#2
Escrito 16 julio 2012 - 10:34
Tengo entendido que HTML5 permite guardar datos en el cliente, pero no sé decirte si RAUDUS lo puede hacer.
Saludos
#3
Escrito 16 julio 2012 - 10:36
#4
Escrito 16 julio 2012 - 11:24
Saludos.
#5
Escrito 16 julio 2012 - 12:43
#6
Escrito 16 julio 2012 - 01:04
Luego es cosa de importar/exportar con la tabla externa y la base de datos en el servidor.
Saludos,
#7
Escrito 16 julio 2012 - 03:02
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.
#8
Escrito 16 julio 2012 - 03:57
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.
#9
Escrito 17 julio 2012 - 01:03
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.
#10
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.
#11
Escrito 17 julio 2012 - 07:23
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
#12
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.
#13
Escrito 17 julio 2012 - 10:01
Saludos
#14
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!
#15
Escrito 18 julio 2012 - 09:19
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
#16
Escrito 19 julio 2012 - 07:22
Saludos
#17
Escrito 19 julio 2012 - 09:39
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.
#18
Escrito 19 julio 2012 - 10:48
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.
#19
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
#20
Escrito 20 junio 2013 - 06:16
SE NECESITA PARA ANDROID SOLUCIONES EN DELPHI