Ver Mensaje Individual
  #6 (permalink)  
Antiguo 01/08/2014, 12:07
Avatar de Habbacuk
Habbacuk
 
Fecha de Ingreso: junio-2013
Ubicación: World Wide Web
Mensajes: 14
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Bases de datos en Android

Cita:
Iniciado por El_Metallick Ver Mensaje
Habbacuk, lo que razpeitia te quiere decir, es que android no puede consumir directamente una base de datos remota, por lo cual, para esos fines uno normalmente usa un webservice, que hace de puente o intermediario entre tu dispositivo android y tu base de datos. La idea básica es tener un webservice que consuma los datos de una base de datos central y que a su vez se los facilite a la aplicación android que los este solicitando (en realidad a cualquier aplicación que lo solicite). Algo así:

Aplicación android -> WebService -> Base de datos MySQL

Como programar un webservice se aleja de la pregunta que realizas en esta oportunidad y hay muchisima literatura al respecto, no detallaré al respeto.

Si me parece importante mencionar algunos aspectos para consumir dichos webservices desde android. (Esto es 100% en base a mi experiencia personal, por lo cual algunas personas pueden no estar de acuerdo con ello)
  • Utilizar Ksoap2, biblioteca que recopila una serie de recursos que nos permiten interactuar con webservices SOAP.

Si nuestros objetos están compuestos por atributos de tipos nativos (string, int, etc...)
  • Utilizar el mapeo de objetos que nos ofrece Ksoap2 para el I/O. ([url]https://code.google.com/p/ksoap2-android/wiki/CodingTipsAndTricks#sending/receiving_array_of_complex_types_or_primitives[/url])

Sin nuestros objetos contienen por ejemplo atributos del tipo ArrayList<String> o peor aún, ArrayList<ObjetoCustom2>
  • Utilizar tipos nativos para el input y un string para el output, siendo este string el correspondiente a la serialización XML de la colección de objetos que resulten de la consulta.
  • Hacer un parseador de XML (para ello puedes SAXParser propio de java o alguna biblioteca que hacen esta tarea bastante sencilla) que te permiten convertir ese XML en una colección de objetos definidos.

NOTA: Digo serialización XML por que es la que más me acomoda a mi, en realidad puedes usar XML, JSON o alguna otra que te acomode.

NOTA IMPORTANTE: Ahora, publicar un webservice que disponibilice la información de una base de datos empresarial o haga operaciones sobre dichos datos, es algo a lo menos delicado, puesto que muchas veces trabajamos con datos que suelen ser confidenciales, por lo que pensar alguna medida de seguridad para este caso resulta algo prioritario. Por ejemplo, en mi caso, dado que la aplicación android se usa sólo desde una lista conocida de dispositivos, registré dichos dispositivos mediante el IMEI y ante cualquier operación o consulta sobre el webservice este lo primero que hace es consultar si conoce al dispositivo que está solicitando el servicio, para ello, el primer parámetro de cada método del webservice (o en su defecto el método de conexión al mismo) es el IMEI.

Espero guiarte un poco en tu duda.

Salud(os)
El_Metallick pero se puede hacer eso en XML con cadenas string y como un tipo vistas en mysql otra cosa, no tendre un servidor sera en una red local, crees que funcione para el android