Obtener el ID de un nuevo registro insertado en una base de datos de la Uri devuelto

Cuando inserta un nuevo elemento en una base de datos como esta

Uri uri = getContentResolver().insert(Tournaments.CONTENT_URI, values); 

¿Hay alguna manera de obtener la identificación de la uri que se devuelve así que no tengo que ejecutar una consulta para obtener la identificación ya que ya está en el uri devuelto?

ContentUris.parseId () convierte el segmento de ruta de acceso pasado en un segmento largo.

 long id = Long.valueOf(uri.getLastPathSegment()); 

Use ContentUris.parseId (uri) Esta sentencia convertirá el último segmento de ruta en un largo.

Leer la documentación aquí

  • Columnas únicas en Sugar ORM
  • Obtener el valor de campo con un cursor
  • Cómo obtener NoClassDefFoundError al intentar utilizar Proguard y SQLcipher en Android
  • Cómo comprobar tablas de base de datos sqlite en el dispositivo?
  • Mejor manera de manejar las listas en el armario (biblioteca de Android)
  • Creo que he llegado con la peor manera de comparar dos fechas; ¿es posible hacerlo mejor?
  • ¿Cuándo se llama a OnUpgrade y cómo se obtiene el parámetro oldVersion?
  • Base de datos SQLite de Android con Multi Threading
  • insertar si no existe otra actualización en sqlite android
  • Cursor: declaración no válida en "fillWindow ();"
  • SQLite Android Inner Join
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.