このようなデータベースに新しいアイテムを挿入すると
Uri uri = getContentResolver().insert(Tournaments.CONTENT_URI, values);
返されたURIからIDを取得する方法はありますか?そのため、IDを取得するためにクエリを実行する必要はありません。これは、すでに返されたURIに含まれているためです。
このようなデータベースに新しいアイテムを挿入すると
Uri uri = getContentResolver().insert(Tournaments.CONTENT_URI, values);
返されたURIからIDを取得する方法はありますか?そのため、IDを取得するためにクエリを実行する必要はありません。これは、すでに返されたURIに含まれているためです。
ContentUris.parseId()は、最後のパスセグメントをlongに変換します。
long id = Long.valueOf(uri.getLastPathSegment());
ContentUris.parseId(uri)を使用します。このステートメントは、最後のパスセグメントをlongに変換します。
ここでドキュメントを読む
long rowId = Long.valueOf(uri.getLastPathSegment());
上記は正しいです。しかし、私がしたことは、IDを与えないEvents.CONTENT_URI.getLastPathSegment()のようなURIを渡したことです。以下のようにinsert()によって返されるURIを渡さなければならないからです。私のような人に役立つかもしれません!
Uri uri = getContentResolver().insert(Events.CONTENT_URI, values);
long rowId = Long.valueOf(uri.getLastPathSegment());