Internet... necesito un pequeño empujón

¡Buenas!

Estoy investigando acerca de como conectar una aplicación con un servidor. La idea sería actualizar una aplicación de carácter informativo para que uno pueda ver una página con texto que puede cambiar.

Supongo que hay diferentes maneras de mostrar el texto, por ejemplo con una base de datos con los campos de texto, y sólo sería cuestión de seleccionar el texto deseado.

Incluso, he pensado que se podría mostrar una imagen (como por ejemplo un calendario planificado) y se podría visualizar en la aplicación, dando la dirección donde se almacena la foto.

Estoy bastante perdido con el tema. Conozco un poco el tema del GET y del POST, pero no se que librerías investigar de Corona SDK, si Network o Socket…

Sólo necesito un empujón para encaminar mi investigación. Todo el trabajo bruto lo tengo que hacer yo.

Gracias de antemano y saludos!!

Bueno, tengo algún avance, la búsqueda ha resultado precisa jajajaja:

local function networkListener( event )     if ( event.isError ) then         print( "Network error - download failed: ", event.response )     elseif ( event.phase == "began" ) then         print( "Progress Phase: began" )     elseif ( event.phase == "ended" ) then         print( "Displaying response image file" )         myImage = display.newImage( event.response.filename, event.response.baseDirectory, 60, 40 )         myImage.alpha = 0         transition.to( myImage, { alpha=1.0 } )     end end local params = {} params.progress = true network.download(     "http://docs.coronalabs.com/images/simulator/image-mask-base2.png",     "GET",     networkListener,     params,     "helloCopy.png",     system.TemporaryDirectory )

He probado esto y funciona perfectamente! Se muestra la imagen en el simulador! Seguiré investigando, y si veo avances, los dejaré aquí por si a alguien lo necesita!

Entiendo que lo que hace es crear un archivo temporal que se llama helloCopy.png, no? Y el método de transferencia de datos es GET.

¿Y para simplificar el trabajo para no usar PHP (no se como funciona el lenguaje), debería tener un documento de texto almacenado en algún sitio, descargarlo, leerlo y mostrarlo, no?

Saludos!

Hola, no es necesario del todo que descargues la imagen, puedes cargarla desde una URL remota de manera dinamica, puedes obtener todo el articulo como json mediante una petición GET/POST y con ello crear la pagina del articulo en corona :smiley:

Gracias por tu respuesta! No he terminado de entender lo que me quieres decir. Lo de la imagen dinámica, creo que te entiendo; pero de todas formas, la imagen .png es temporal, y por lo tanto se borrará después, aún así lo investigaré. También estoy mirando lo de json, tal y como tu dices.

Saludos!

Animo, cualquier duda aqui estamos :smiley:

Alguien sería tan amable de explicarme que es el json, y que relacion tiene con internet? Veo que tiene que ver con algún tipo de codificación y a la vez también con php, es decir, con base de datos. ¿Eso quiere decir que si hago alguna llamada en alguna base de datos, estoy obligado a usar estos protocolos? Gracias de antemano!

He encontrado esta pagina y lo explica bastante bien:

https://geekytheory.com/json-i-que-es-y-para-que-sirve-json/

Basicamente es una notación para transportar datos en tu articulo se explica bien, te sirve para enviar datos de corona a tu server y viceversa :D 

Ya estoy entendiendo como funciona! Que alegría! Pero ahora viene una gran duda, si desde Corona Sdk quiero cambiar el contenido de la base de datos, como por ejemplo borrar usuarios, como lo hago? Acepta codigo PHP? O la gestion se hace con Lua dentro de Corona?
Gracias en serio!

Si se puede solo necesitas en tu server crear una api CRUD ( create,replace,update,delete ) con urls que respondan a la accion que buscas, ejemplo midominiio.com/delete/userid y hacer las request a esas direcciones desde corona  :D si quieres preguntarme tus dudas puedes mandarme mails directos a mi correo miguel@xpc.mx o puedes buscarme en facebook como miguestachaser :smiley:

Saludos!

Hola que tal. 

Mi nombre es diego, actualmente en mi trabajo estoy en un proyecto el cual es desarrollar una aplicación móvil y que esta misma tenga acceso a base de datos alojada en un servidor web. De esta forma las modificaciones que se hagan a esa base de datos se visualicen en la aplicación móvil, y si se realizan cambios desde la aplicación se visualicen en la base de datos. 

Soy nuevo en esto de desarrollo para móviles, supe del SDK de corona y ahora estoy aprendiendo poco a poco, pero tengo duda si se puede realizar lo que he comentado y si se puede hacer con la versión gratuita de corona labs o tengo que comprar enterprise.

Me encantaría que me puedan responder y ayudar, les estaré muy agradecido. 

Saludos

Hola ya te respondí por correo, creo que sera mas facil :D 

Precisamente lo que yo necesito es lo que Diego ha preguntado. Estoy investigando para saber como funciona cada detalle del proceso.

Por ejemplo, json es una sintaxis de datos, que es manipulado con javascript. Corona SDK solo tiene funciones dede codificación de sintaxis y descodificación para poder visualizar los datos.

Yo de momento desconozco como añadir o eliminar registros a la base de datos desde la aplicación Android, mediante un formulario. Pero una vez tenga un poco de información, investigaré la manera de realizarlo.

No se si es necesario tener paginas con scripts para dicha tarea.

Voy a escribir un poco de metacodigo, a ver si voy bien encaminado:

Envio de datos:

Introduccion datos —> codificacion json —> script web

Y si quisiera hacer un filtro en la.base de datos del estilo sql?

Hola Necesitas usar una api rest para esas cosas, puedes contactarme a mi correo o mi facebook y puedo darte información mas facilmente :smiley:

Una pregunta, si mi servidor tiene una base de datos de php y mysql, tengo algún incoveniente para seguir con todo esto? En realidad en una base de datos se puede extraer datos con cualquier sintaxis no?

Hay un blog de Corona que habla del tema de rest: https://coronalabs.com/blog/2015/06/02/tutorial-connecting-to-restful-api-services/

De momento ya tengo el nombre, usuario y contraseña de mi base de datos PHP.

Para que Corona sdk se pueda entender con la información recibida, debería enviar los datos de la database en json, y según la documentación de la página de PHP debería codificar así:

\<?php $json&nbsp;=&nbsp;'{"a":1,"b":2,"c":3,"d":4,"e":5}'; var\_dump(json\_decode($json)); var\_dump(json\_decode($json,&nbsp;true)); ?\>

Pero creo que esto sería en el caso de que fuera una pagina html, no para lo que quiero yo.

Madre mía… que caos!

Por ejemplo, dado este código:

local function networkListener( event ) &nbsp;&nbsp;&nbsp;&nbsp;if ( event.isError ) then &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print( "Network error: ", event.response ) &nbsp;&nbsp;&nbsp;&nbsp;else &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print ( "Upload complete!" ) &nbsp;&nbsp;&nbsp;&nbsp;end end local headers = {} &nbsp; headers["Content-Type"] = "application/json" headers["X-API-Key"] = "13b6ac91a2" &nbsp; local params = {} params.headers = headers -- Tell network.request() to get the request body from a file: params.body = { &nbsp;&nbsp;&nbsp;&nbsp;filename = "object.json", &nbsp;&nbsp;&nbsp;&nbsp;baseDirectory = system.DocumentsDirectory&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } &nbsp; network.request( "http://127.0.0.1/restapi.php", "POST", networkListener, params )

Que debería poner en “headers”? Aquí pone applocation/json, pero creo que es una respuesta genérica. ¿Qué debería poner?

Gracias!

Hola si estan bien los headers asi :3 y si necesitas que tu server responda como json para que corona pueda manipular los datos, de corona hacia tu server puedes manejar incluso peticiones GET o POST sin problemas :slight_smile:

Suerte

¿Y si ahora quisiera introducir más registros por ejemplo en una tabla de mi database en la dirección: “Amigos/Barcelona/Barrio1”?

¿En este caso como se tendría que hacer para acceder?

¿Por que el objeto que se envia es .json? ¿Debería hacer una pagina con código php para decodificar el json?