public Boolean insertarUsuarioSQLite(Usuario usuario) {

    // Si no existe el usuario en la base de datos, se puede insertar
    if (!existeDato(TABLE_USUARIO, COL_ID, String.valueOf(usuario.getId()))) {

      SQLiteDatabase db = getWritableDatabase();

      ContentValues values = new ContentValues();
      values.put(COL_ID, usuario.getId());
      values.put(COL_NOMBRE, usuario.getNombre());
      values.put(COL_APELLIDO, usuario.getApellido());
      values.put(COL_LOGIN, usuario.getLogin());
      values.put(COL_PASSWORD, usuario.getPassword());
      values.put(COL_PRIVILEGIO, usuario.getPrivilegio());
      if (usuario.getEmail() != null) {
        values.put(COL_EMAIL, usuario.getEmail());
      }
      if (usuario.getCelular() != null) {
        values.put(COL_CELULAR, usuario.getCelular());
      }
      if (usuario.getEstadoVigente() != null) {
        values.put(COL_ESTADO_VIGENTE, usuario.getEstadoVigente());
      }
      values.put(COL_ROL_ID, usuario.getIdRol());

      // Guardar los datos
      long esInsertado = db.insert(TABLE_USUARIO, null, values);

      // Se cierra la conexión de base de datos
      db.close();

      if (esInsertado == -1) {
        return false; // ERROR
      }
      // Mensaje de debug
      Log.d(
          TAG,
          "Se insertó un usuario con ID: "
              + String.valueOf(usuario.getId())
              + " Nombre: "
              + usuario.getNombre()
              + " Apellido: "
              + usuario.getApellido());
      return true;
    }
    // Mensaje de debug
    Log.d(
        TAG,
        "Existe un usuario ya ingresado con ID: "
            + String.valueOf(usuario.getId())
            + " Nombre: "
            + usuario.getNombre()
            + " Apellido: "
            + usuario.getApellido());
    // Si existe el usuario, la inserción no es válida
    return false;
  }
  public Usuario obtenerUsuarioPorIdSQLite(int usuarioId) {
    SQLiteDatabase db = getReadableDatabase();

    String selectQuery = "SELECT * FROM " + TABLE_USUARIO + " WHERE " + COL_ID + " = " + usuarioId;

    Cursor c = db.rawQuery(selectQuery, null);

    if (c.moveToFirst()) {
      Usuario user = new Usuario();
      user.setId(c.getInt(c.getColumnIndex(COL_ID)));
      user.setNombre((c.getString(c.getColumnIndex(COL_NOMBRE))));
      user.setApellido(c.getString(c.getColumnIndex(COL_APELLIDO)));
      user.setLogin(c.getString(c.getColumnIndex(COL_LOGIN)));
      user.setPassword(c.getString(c.getColumnIndex(COL_PASSWORD)));
      user.setPrivilegio(c.getString(c.getColumnIndex(COL_PRIVILEGIO)));
      if (c.getString(c.getColumnIndex(COL_EMAIL)) != null) {
        user.setEmail(c.getString(c.getColumnIndex(COL_EMAIL)));
      }
      if (c.getString(c.getColumnIndex(COL_CELULAR)) != null) {
        user.setCelular(c.getString(c.getColumnIndex(COL_CELULAR)));
      }
      if (c.getString(c.getColumnIndex(COL_ESTADO_VIGENTE)) != null) {
        user.setEstadoVigente(c.getString(c.getColumnIndex(COL_ESTADO_VIGENTE)));
      }
      user.setIdRol(c.getInt(c.getColumnIndex(COL_ROL_ID)));
      // Se cierra la conexión de base de datos
      db.close();
      return user;
    }
    // Se cierra la conexión de base de datos
    db.close();
    return null;
  }
  public List<Usuario> obtenerUsuariosSQLite() {

    List<Usuario> listaUsuarios = new ArrayList<Usuario>();

    String selectQuery = "SELECT * FROM " + TABLE_USUARIO;

    SQLiteDatabase db = getReadableDatabase();
    Cursor c = db.rawQuery(selectQuery, null);

    // looping through all rows and adding to list
    if (c.moveToFirst()) {
      do {
        Usuario user = new Usuario();
        user.setId(c.getInt(c.getColumnIndex(COL_ID)));
        user.setNombre((c.getString(c.getColumnIndex(COL_NOMBRE))));
        user.setApellido(c.getString(c.getColumnIndex(COL_APELLIDO)));
        user.setLogin(c.getString(c.getColumnIndex(COL_LOGIN)));
        user.setPassword(c.getString(c.getColumnIndex(COL_PASSWORD)));
        user.setPrivilegio(c.getString(c.getColumnIndex(COL_PRIVILEGIO)));
        if (c.getString(c.getColumnIndex(COL_EMAIL)) != null) {
          user.setEmail(c.getString(c.getColumnIndex(COL_EMAIL)));
        }
        if (c.getString(c.getColumnIndex(COL_CELULAR)) != null) {
          user.setCelular(c.getString(c.getColumnIndex(COL_CELULAR)));
        }
        if (c.getString(c.getColumnIndex(COL_ESTADO_VIGENTE)) != null) {
          user.setEstadoVigente(c.getString(c.getColumnIndex(COL_ESTADO_VIGENTE)));
        }
        user.setIdRol(c.getInt(c.getColumnIndex(COL_ROL_ID)));

        // adding to user list
        listaUsuarios.add(user);
      } while (c.moveToNext());
    }

    // Se cierra la conexión de base de datos
    db.close();
    return listaUsuarios;
  }