Android: ¿Se admite JDBC en dispositivos Android?

Estoy haciendo una aplicación de Android utilizando JDBC para enviar datos a la base de datos sin utilizar ningún servicio web. Hice un experimento usando el emulador de Android 2.2 y puedo enviar datos a MySQL DB (LOCALHOST). Después de que intenté enviar usando el dispositivo Android 2.2, cambié la ruta de acceso de jdbc:mysql://10.0.2.2:3306/ con jdbc:mysql://xx.xx.xx.xx:3306/ .

Xx.xx.xx.xx es de ipconfig de mi máquina localhost. Pero no funciona en el dispositivo. Cuál podría ser la razón.

Principales dudas:

  1. ¿Los dispositivos Android actualmente admiten JDBC?
  2. ¿Soportará Android 2.2 JDBC?
  3. Si se admite, ¿qué versiones de Android soportarán JDBC?

Sí. Usted debe recordar poner su código de la conexión de JDBC en un AsyncTask , si no usted AsyncTask !

Descargar MySQL JDBC Connector 3.0.17 y agregarlo en su ruta de construcción de proyecto android.

 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.Statement; import android.app.Activity; 

Import android.os.Bundle; Import android.widget.TextView;

 public class MysqlSample01Activity extends Activity { private static final String url = "jdbc:mysql://<server>:<port>/<database>"; private static final String user = "<username>"; private static final String pass = "<password>"; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); testDB(); } public void testDB() { TextView tv = (TextView)this.findViewById(R.id.text_view); try { Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection(url, user, pass); /* System.out.println("Database connection success"); */ String result = "Database connection success\n"; Statement st = con.createStatement(); ResultSet rs = st.executeQuery("select * from table_name"); ResultSetMetaData rsmd = rs.getMetaData(); while(rs.next()) { result += rsmd.getColumnName(1) + ": " + rs.getInt(1) + "\n"; result += rsmd.getColumnName(2) + ": " + rs.getString(2) + "\n"; result += rsmd.getColumnName(3) + ": " + rs.getString(3) + "\n"; } tv.setText(result); } catch(Exception e) { e.printStackTrace(); tv.setText(e.toString()); } } 

}

¿Los dispositivos Android son compatibles con JDBC?

Android 2.2 apoyará JDBC.

Si se admite, qué versiones de Android soportarán JDBC.

NINGÚN androide no apoya la base de datos local de MYSQL así que no podemos utilizar la conexión de JDBC dispositivo del frmo androide, su base de datos de la ayuda solamente sqlite.

Y si desea utilizar su base de datos de servidor a continuación, simplemente hacer un servicio web para él, toda la conexión de la base de datos a continuación, manejado desde el servidor.

Sin embargo, su ayuda a entender JDBC y Android horrible! Entonces pregunta

Suena como su instalación de Mysql solamente permite conexiones del anfitrión local. Actualice su configuración de Mysql para permitir conexiones de cualquier anfitrión.

Por lo que puedo ver java.sql es compatible desde API de nivel 1 y no creo que el apoyo se eliminará en el corto plazo.

Thomas

  • Mejor tutorial para android PHP y mysql
  • Android: imposible cargar la imagen a MySql remoto DB con php script
  • No se puede insertar correctamente caracteres griegos en la base de datos mysql
  • Cómo almacenar únicamente un ID de registro de GCM en MySQL
  • Convierta un sitio web con un diseño de respuesta a la aplicación de Android
  • Código de Perl en Android
  • Cómo recuperar datos de varias tablas / clases de Parse.com
  • Android conectar mysql
  • Conectando MySql con Android sin usar PHP
  • Valor siempre devuelve 0 donde debe devolver el número de fila insertada
  • Convertir PHP / MYSQL / sitio web existente en IOS Nativo / Aplicaciones de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.