D'insertion ou de mise à jour dans SQlite et Android à l'aide de la base de données.query();

est-il un moyen de modifier ma fonction:

public categorie createCategoria(String categoria) {
            ContentValues values = new ContentValues();
            values.put(MySQLiteHelper.COLUMN_NOME, categoria);
            values.put(MySQLiteHelper.COLUMN_PREF, 0);

            long insertId = database.insert(MySQLiteHelper.TABLE_CATEGORIE, null,
                values);

            Cursor cursor = database.query(MySQLiteHelper.TABLE_CATEGORIE,
                allCategorieColumns, MySQLiteHelper.COLUMN_ID + " = " + insertId, null,
                null, null, null);
            cursor.moveToFirst();
            categorie newCategoria = cursorToCategorie(cursor);
            cursor.close();
            return newCategoria;
          } 

c'est un raw insérer, je voudrais modifier cette fonction pour la rendre update ou insert en conséquence. je voudrais changer ce parce que je suis déjà à l'aide de cette fonction dans certains endroits, mais maintenant j'ai besoin de choisir si l'insertion d'une ligne ou de mise à jour (ou d'ignorer l'insert) une ligne avec le même COLUMN_NOME. quelqu'un peut-il m'aider à faire cela?

je veux dire que je voudrais insérer une nouvelle ligne UNIQUEMENT si il n'y a pas un autre avec le même nom (comme d'habitude, vous le savez).