Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DE DATOS
Interacción humano computadora
13 DE ENERO DE 2021
ING. PORTUGAL LUNA JOSE SALVADOR
Villegas Robles Alfonso
Calificaciones SQLite
Elementos necesarios:
Diseño:
Código MainActivity
public class MainActivity extends AppCompatActivity {
//se crean las variables necesarias para los componentes y adicionales para
posterior uso
private EditText txtNombreAlumno, txtNumComtrol, txtMateria,
txtCalificacion,txtID;
private Button btnAgregar, btnEliminar, btnGuardar, btnBuscar, btnAnterior,
btnSiguiente;
private BasedeDatos bd;
int ID;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnSiguiente.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//verifica que no este vacio el campo y ejecuta el metodo para
recuperar los datos
if(txtID.getText().toString().compareTo("")!=0){
ID=Integer.parseInt(txtID.getText().toString());
Alumno alumno=bd.siguienteAlumno(ID);
if(alumno!=null){
txtID.setText(String.valueOf(alumno.get_id()));
txtNombreAlumno.setText(alumno.getNombre());
txtNumComtrol.setText(alumno.getNo_control());
}
}
}
});
btnAnterior.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//verifica que no este vacio el campo y ejecuta el metodo para
recuperar los datos
if(txtID.getText().toString().compareTo("")!=0){
ID=Integer.parseInt(txtID.getText().toString());
Alumno alumno=bd.anteriorAlumno(ID);
if(alumno!=null){
txtID.setText(String.valueOf(alumno.get_id()));
txtNombreAlumno.setText(alumno.getNombre());
txtNumComtrol.setText(alumno.getNo_control());
}
} }
});
btnGuardar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//envia los datos a la clase alumno y ejecuta el metodo
Alumno alumno=new Alumno();
alumno.set_id(Integer.parseInt(txtID.getText().toString()));
alumno.setNombre(txtNombreAlumno.getText().toString());
alumno.setNo_control(txtNumComtrol.getText().toString());
bd.actualizaAlumno(alumno);
}
});
btnEliminar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//envia el id al metodo eliminar y limpia los datos de la
pantalla
bd.eliminar(Integer.parseInt(txtID.getText().toString()));
txtID.setText("");
txtNumComtrol.setText("");
txtNombreAlumno.setText("");
}
});
btnBuscar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//envia los datos a la clase alumno y el objeto a la clase base
de datos para buscar.
Alumno alumno = new Alumno();
alumno.set_id(Integer.parseInt(txtID.getText().toString()));
alumno.setNombre(txtNombreAlumno.getText().toString());
alumno.setNo_control(txtNumComtrol.getText().toString());
Alumno alumnoResultado;
alumnoResultado=bd.buscaAlumno(alumno);
if(alumnoResultado!=null){
txtID.setText(String.valueOf(alumnoResultado.get_id()));
txtNombreAlumno.setText(alumnoResultado.getNombre());
txtNumComtrol.setText(alumnoResultado.getNo_control());
}
}
});
}
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
//se ejecuta la creacion de las tablas
sqLiteDatabase.execSQL(TABLA_ALUMNO);
sqLiteDatabase.execSQL(TABLA_CALIFICACION);
//se inserta un valor para verificar que funcionó
sqLiteDatabase.execSQL("INSERT INTO alumno(_id,nombre,no_control) " +
"values (1,'Pedro Lopez', '201140001')");
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int oldVersion, int
newVersion) {
sqLiteDatabase.execSQL("DROP TABLE IF EXISTS [alumno]");
sqLiteDatabase.execSQL("DROP TABLE IF EXISTS [calificacion]");
onCreate(sqLiteDatabase);
}
Codigo alumno
public class Alumno {
private int _id;
private String nombre;
private String no_control;
//metodos para estar recibiendo y enviando los datos de los alumnos.
public String getNombre() {
return nombre;
}
Codigo:
public class MainActivity extends AppCompatActivity {
//variables a utilizar
private EditText datos;
private String valor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//se inicializan las variabñes
datos=(EditText) findViewById(R.id.editText);
Thread hilo = new Thread(new Runnable() {
@Override
public void run() {
try {
//url del servidor de base de datos
URL url = new
URL("http://192.168.1.105:80/consultaCancion.php?_id=1");
//buffer para leer el resultado del webservice
BufferedReader in = new BufferedReader(
new InputStreamReader(url.openStream())//se conecta con el
webservice
);
//muestra el resultado en el multiline
valor=in.readLine()+"\n";
valor=valor + in.readLine()+"\n";
valor=valor + in.readLine();
runOnUiThread(new Runnable() {
@Override
public void run() {
datos.setText(valor);//se muestra en pantalla
}
});
Log.i("Consulta","Datos Recuperados");
in.close();
}catch (Exception e){
Log.e("Error web",e.toString());
}
}
});
hilo.start();
}
}
codigo consultarCancion
<?php
include("conexion.php");
$_id=$_GET["_id"];
$consulta="select * from cancion where
_id=$_id";
$resultado = mysqli_query($conexion,
$consulta)
or die("No se pudo consultar la
cancion");
if($fila=mysqli_fetch_array($resultado)){
echo $fila[0]."\n";
echo $fila[1]."\n";
echo $fila[2];
}else{
echo " No encontrada";
}
?>
Conexion con mysql
Elementos:
conector jdbc para mysql
Codigo
public class MainActivity extends AppCompatActivity {
//variables
private EditText datos;
private ResultSet rs;
private Statement st;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//se referencian las variables
datos=(EditText) findViewById(R.id.editText);