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í

  • "SQLiteDiskIOException: código de error 10: error de E / S de disco" retuns en ICS y Samsung Nexus en DROP TABLE
  • Ormlite SQLiteCursor: cierre el cursor en null dos veces o más
  • Causado por: android.database.sqlite.SQLiteException: No se puede actualizar la base de datos de sólo lectura de la versión 0 a 1
  • Inserción o actualización de SQLite de Android
  • No se puede abrir la base de datos en modo de lectura / escritura
  • Android.database.sqlite.SQLiteCantOpenDatabaseException: error desconocido (código 14): No se pudo abrir la base de datos
  • Android cola las solicitudes de HTTP mientras la red no está disponible y procesa cuando se enciende
  • Creo que he llegado con la peor manera de comparar dos fechas; ¿es posible hacerlo mejor?
  • Error de misterio: "No se pudo abrir la base de datos phenotype.db, la base de datos está bloqueada." No se puede encontrar ninguna información en línea
  • SQLiteDiskIOException con el código de error 10: error de E / S de disco
  • Cómo obtener NoClassDefFoundError al intentar utilizar Proguard y SQLcipher en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.