I have the following DB manager, where I make selects, etc.
What I want to do is to enter the data once in the database.
I have already tried several times with the getCount as in the example but it does not work well.
Does anyone know how I can do it?
Thanks in advance.
package com.example.carlesmiranda.m8_tascagrups;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import java.util.ArrayList;
public class gestorBD extends SQLiteOpenHelper {
public static ArrayList<String> arrayList1 = new ArrayList<>();
public static ArrayList<String> arrayList2 = new ArrayList<>();
public gestorBD(Context context){
super (context, "horaris", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE horaris (id INTEGER PRIMARY KEY AUTOINCREMENT, horaSortida TEXT, horaArribada TEXT, sortida TEXT, arribada TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
public void cargarDatos(){
guardarHorario("8:00","8:25","Reus", "Tarragona");
guardarHorario("9:00","9:25","Reus", "Tarragona");
guardarHorario("10:00","10:25","Reus", "Tarragona");
System.out.println("HA CARGADO");
}
private void guardarHorario(String horaSortida, String horaArribada, String sortida, String arribada) {
SQLiteDatabase db = getWritableDatabase();
guardarHorarios(db, horaSortida, horaArribada, sortida, arribada);
}
private void guardarHorarios(SQLiteDatabase db, String horaSortida, String horaArribada, String sortida, String arribada) {
ContentValues cv = new ContentValues();
cv.put("horaSortida", horaSortida);
cv.put("horaArribada", horaArribada);
cv.put("sortida", sortida);
cv.put("arribada", arribada);
db.insertOrThrow("horaris", null, cv);
}
private void comrpobarTabla(){
SQLiteDatabase db = getWritableDatabase();
Cursor cursor = db.rawQuery("SELECT horaSortida FROM horaris",null);
if (cursor.getCount() > 0) {
cargarDatos();
System.out.println("CARGA DATOS "+cursor.getCount());
}else{
System.out.println("NO CARGA DATOS "+cursor.getCount());
}
}
public void obtenerHorarios(String arribadaS, String sortidaS){
System.out.println("obtenerHorarios1");
comrpobarTabla();
SQLiteDatabase db = getWritableDatabase();
Cursor cursor = db.rawQuery("SELECT * FROM horaris WHERE sortida='"+arribadaS+"' AND arribada='"+sortidaS+"'",null);
try{
if (cursor.moveToFirst()) {
do{
String horaSortida = cursor.getString(1);
String horaArribada = cursor.getString(2);
String sortida = cursor.getString(3);
String arribada = cursor.getString(4);
arrayList1.add(horaSortida);
arrayList2.add(horaArribada);
}while(cursor.moveToNext());
}
}catch (Exception e){
System.out.println(e.getMessage());
}
db.close();
System.out.println("obtenerHorarios2");
}
}