Recoger datos de un formulario
Publicado por ohara (3 intervenciones) el 05/12/2015 13:57:55
Hola,
Estoy comenzando en esto de android y debo hacer una aplicación que me guarde los datos de un formulario en una base de datos mysql, pero la conexión es directa con el jdbc, nada de json, ni php...
Por mucho que he buscado todo lo que encuentro es utilizando sqLite o json, etc.
He probado a insertar mi registro indicandole los datos y lo hace de forma correcta, ahora quisiera que estos datos me los cogiese de un formulario.
La estructura de mi proyecto es la siguiente:
clase BD, que tiene los datos para realizar la conexión a mysql y los métodos de consulta e insertar:
clase Hilo
Y la MainActivity que será mi ventana principal donde tendré los campos para introducir los registros y el botón guardar.
Ahora mismo para hacer las pruebas, la acción que realiza mi botón es inicializar el hilo, de esta manera:
¿Alguien me puede echar una mano para saber cómo estructurar mi proyecto para poder recoger los datos del formulario?
Gracias de ante mano, saludos.
Estoy comenzando en esto de android y debo hacer una aplicación que me guarde los datos de un formulario en una base de datos mysql, pero la conexión es directa con el jdbc, nada de json, ni php...
Por mucho que he buscado todo lo que encuentro es utilizando sqLite o json, etc.
He probado a insertar mi registro indicandole los datos y lo hace de forma correcta, ahora quisiera que estos datos me los cogiese de un formulario.
La estructura de mi proyecto es la siguiente:
clase BD, que tiene los datos para realizar la conexión a mysql y los métodos de consulta e insertar:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
public class BD {
private String ipServidorMySQL, contrasenaMySQL, usuarioMySQL,
puertoMySQL;
private Connection conexionMySQL=null;
private String driver="com.mysql.jdbc.Driver";
public void conectarBDMySQL ()
{
String urlConexionMySQL = "";
/* if (catalogo != "")
urlConexionMySQL = "jdbc:mysql://" + ip + ":" +
puerto + "/" + basedatos;
else
// urlConexionMySQL = "jdbc:mysql://" + ip + ":" + puerto;
if (usuario != "" & contrasena != "" & ip != "" & puerto != "")
{*/
try
{
Class.forName(driver);
// conexionMySQL = DriverManager.getConnection(urlConexionMySQL,usuario, contrasena);
conexionMySQL = DriverManager.getConnection(
"jdbc:mysql://10.0.3.2:3306/usuario_bd", "root", "");
Log.i("Conectado", "Conectadito");
}
catch (ClassNotFoundException e)
{
// Log.i(e.getMessage());
}
catch (SQLException e)
{
// Log.i(e.getMessage());
}
// }
}
public String ejecutarConsultaSQL() throws SQLException {
// Preparamos la consulta
Statement sentencia = conexionMySQL.createStatement();
ResultSet resul = sentencia.executeQuery("SELECT nombre FROM usuario");
// Recorremos el resultado para visualizar cada fila
// Se hace un bucle mientras haya registros, se van visualizando
String cadena = "";
while (resul.next()) {
// System.out.println(resul.getInt(1)+" "+resul.getString(2)+" "+
// resul.getString(3));
cadena += resul.getString("nombre")+" \n";
/* Toast.makeText(context,
"Error: " + cadena,
Toast.LENGTH_SHORT).show();*/
}
resul.close();// cerrar ResultSet
sentencia.close();// Cerrar Statement
// conexion.close();// Cerrar conexion
return cadena;
}
public void ejecutarRegistroSQL() {
// Preparamos la consulta
try {
Statement sentencia = conexionMySQL.createStatement();
String sql= "INSERT INTO usuario"
+ "(documento, nombre) " + "VALUES"
+ "('22225', 'NOMBRE')";
sentencia.executeUpdate(sql);
System.out.println("registro ok");
} catch (SQLException e) {
e.printStackTrace();
System.err.println("No registrado");
}
}
public Connection getConexionMySQL() {
return conexionMySQL;
}
}
clase Hilo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public class HiloConexionBD extends Thread {
private BD bd;
public HiloConexionBD(BD bd){
this.bd=bd;
}
@Override
public void run() {
super.run();
bd.conectarBDMySQL();
if (bd.getConexionMySQL()!=null){
try {
String resultado= bd.ejecutarConsultaSQL();
System.out.println(resultado);
bd.ejecutarRegistroSQL();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
Y la MainActivity que será mi ventana principal donde tendré los campos para introducir los registros y el botón guardar.
Ahora mismo para hacer las pruebas, la acción que realiza mi botón es inicializar el hilo, de esta manera:
1
2
3
4
5
6
public void ejecutarHilo(View view){
Thread hiloconexionBD= new HiloConexionBD(new BD());
hiloconexionBD.start();
}
¿Alguien me puede echar una mano para saber cómo estructurar mi proyecto para poder recoger los datos del formulario?
Gracias de ante mano, saludos.
Valora esta pregunta


0