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;
  }