title: What is the proper way to get data from content provider once you have the row uri?
body: <p>I was wondering if it is possible to get the data which is present in a content provider row directly in a cursor (or other container) in the case where I already know the row uri (in other words, I already have the ContentURIs with the row id appended).</p>
  
  <p>Both an insert or a Content Observer OnChange (on android api 16) gives me back the inserted/changed URI and I would like to get the data from that row efficiently (without many queries or instructions). However, the only way I found was to parse the ID from the URI, build a query with a selection clause to that id and then get the cursor, as:</p>
  
  <pre><code>     long row = ContentUris.parseId(uri);
       String mSelectionClause = ContentProvider.Table._ID + " = ?";
       String[] mSelectionArgs = {Long.toString(row)};
       Uri other_uri = Uri.parse(ContentProvider.AUTHORITY_STRING + ContentProvider.UriPathIndex.Table);
       Cursor cursor = cr.query(other_uri ,null,mSelectionClause,mSelectionArgs,null);
  </code></pre>
  
  <p>Is there some other way of doing it? I was wondering if it was possible to directly use the row uri</p>