Lorsque vous insérez un nouvel élément dans une base de données comme celle-ci
Uri uri = getContentResolver().insert(Tournaments.CONTENT_URI, values);
y a-t-il un moyen d'obtenir l'identifiant de l'URI qui est renvoyé afin que je n'ai pas à lancer une requête pour obtenir l'identifiant puisqu'il est déjà dans l'URI renvoyé?
ContentUris.parseId () convertit le dernier segment de chemin en long.
long id = Long.valueOf(uri.getLastPathSegment());
Utilisez ContentUris.parseId (uri) Cette instruction convertit le dernier segment de chemin en un long.
Lire la documentation dans ici
long rowId = Long.valueOf(uri.getLastPathSegment());
Ce qui précède est correct. Mais ce que j'ai fait, c'est que j'ai passé uri comme Events.CONTENT_URI.getLastPathSegment () qui ne donne pas l'identifiant. Parce que nous devons passer l'URI qui est retourné par insert () comme ci-dessous. Peut être utile à quelqu'un comme moi!
Uri uri = getContentResolver().insert(Events.CONTENT_URI, values);
long rowId = Long.valueOf(uri.getLastPathSegment());