![]() |
problema con base de datos+android+delphi xe6
realizando las primeras pruebas con aplicaciones moviles:
- Al crear aplicación firemonkey agrego componentas como calendario, edit1.txt, combobox, etc en un formulario. Al compilar la aplicación en delphi xe6 + android (Emulador para Samsumg Galaxy 4) esta se instala en el emulador y en el dispositivo fisico y se ejecuta sin problemas. Pero si compilo una aplicación con base de datos firebird+delphi xe6+android esta se instala en el emulador y en el dispositivo fisico pero no se ejecuta. - Igual problema con Aplicaciòn demo de delphi xe6 "PhoneMasterDetailApplication" - Consulta debo instalar algun drivers en el celular con android como por ejemplo cliente firebird. Saludos y gracias por la ayuda |
No podes conectarte a firebird desde android o ios ya que no hay cliente/driver firebird para android o ios
Por lo menos no con FireDAC. FireDAC en dispositivos moviles solamente soporta SQLite o la version mobile de InterBase (InterBase To Go o InterBase Lite, no recuerdo el nombre exacto) Segun mis experiencias en android (no tengo dispositivo ios para probar) si se genera una excepcion, pasa lo que describes, la aplicacion se cuelga y se cierra, sobre todo con conexiones a bd que fallan La forma de traerse datos a los dispositivos moviles es usando EMS Datasnap Tethering API Rest custom Seguramente hay mas, esas son las que conozco yo y se que soporta delphi |
olvide decir que la aplicaciòn android se conecta como cliente a un datasnap server con base de datos Firebird.
- En modo desarrollo activo el clientdataset1 a true y los datos de la tabla se despliegan en listbox1 (8 registros) - |
Perfecto entonces no es un escenario cliente servidor
Es un 3-tier, en donde el server datasnap es el intermediario entre el android y el server firebird El componente SQLConnection esta en tiempo de diseño como Connected := False? Tenes el FDGUIWaitxCursor en el cliente? El solo hecho de poner Connceted a True ya te cuelga la aplicacion? Como te traes los datos al clientdataset? Usas la clase proxy e invocas a un metodo que devuelve un dataset? o usas un DataSetProvider? La ip es correcta en el telefono? no te va a valer localhost obviamente El puerto en cuestion esta abierto en tu router/firewall? Por defecto datasnap usa 211 Te recomiendo usar un bloque try..except cuando pasas el dataset a activo, y muestres el error de la excepcion en pantalla |
Gracias AgustinOrtu por la ayuda y respondio tus preguntas:
Perfecto entonces no es un escenario cliente servidor - cual es un escenario cliente/servidor Es un 3-tier, en donde el server datasnap es el intermediario entre el android y el server firebird - Si El componente SQLConnection esta en tiempo de diseño como Connected := False? - Si Tenes el FDGUIWaitxCursor en el cliente? - a cual componente corresponde FDGUIWaitxCursor El solo hecho de poner Connceted a True ya te cuelga la aplicacion? - Si Como te traes los datos al clientdataset? Usas la clase proxy e invocas a un metodo que devuelve un dataset? o usas un DataSetProvider? - Con ClientDataset con DataSetProvider La ip es correcta en el telefono? no te va a valer localhost obviamente Si es la Ip del servidor El puerto en cuestion esta abierto en tu router/firewall? Por defecto datasnap usa 211 - Puerto 211 - Aplicación DataSnap Funcionando: 1.- Servidor DataSnap funcionando en servidor con windows 2008 server con ip fija+Firebird 2.5 2.- Cliente Datasanap vcl conectado con SqlConecction+Provider+ClientDataset+ip servidor+puerto 211 funciona instalado en windows 7 - Problemas: 1.- al desarrollar aplicaciòn delphi xe6 +firemonkey+sqlconecction+provider+clientdataset+ip servidor+puerto 211, se produce el problema, compila y ademas instala la aplicación en emulador y en dispositivo movil pero no se ejecuta la aplicación y visualiza el sgte mensaje "Unfortunately, Proyecto has Stop" Gacias por la ayuda |
Cita:
Me estoy quedando sin ideas.. Habilitaste en el servidor DataSnap filtros de encriptacion y/o compresion? Prueba a crear un nuevo servidor datasnap, que no tenga nada mas que los metodos de ejemplo, el EchoString y ReverseString a ver si te podes conectar a ese Cual es el emulador que estas usando? A ver si me lo bajo y pruebo |
Nunca use XE6, acabo de recordar que habia versiones de delphi en las que no se asignaban los permisos de la aplicacion y por eso android no te da acceso a la red
Revisa esto Android USES PERMISSIONS |
Hola Agustin, vengo a retomar el tema porque eh tenido un problema similar con la aplicacion movil.
Mi problema esta a la hora de que cuando pongo en True la propiedad Connected de SQLConnecion de la aplicacion se cuelga a la hora de iniciarla. Sencillamente eh mandado Wifi del dispositivo Android a la PC y puesto como IP en los Parametros la que me dio el Wifi del dispositivo. Adonde puede estar el problema? se que no eh sido el primero en tener esta dificultad con el Connected=True. Desde ya muchas gracias. |
La franja horaria es GMT +2. Ahora son las 18:22:50. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi