Get the value of the data column for this Uri - Android android.database

Android examples for android.database:Cursor

Description

Get the value of the data column for this Uri

Demo Code

import android.content.Context;
import android.database.Cursor;
import android.net.Uri;

public class Main {

  /**/*from www  .ja  v  a  2  s  . co  m*/
   * Get the value of the data column for this Uri. This is useful for MediaStore
   * Uris, and other file-based ContentProviders.
   *
   * @param context
   *          The context.
   * @param uri
   *          The Uri to query.
   * @param selection
   *          (Optional) Filter used in the query.
   * @param selectionArgs
   *          (Optional) Selection arguments used in the query.
   * @return The value of the _data column, which is typically a file path.
   */
  public static String getDataColumn(Context context, Uri uri, String selection, String[] selectionArgs) {
    Cursor cursor = null;
    final String column = "_data";
    final String[] projection = { column };

    try {
      cursor = context.getContentResolver().query(uri, projection, selection, selectionArgs, null);
      if (cursor != null && cursor.moveToFirst()) {
        final int column_index = cursor.getColumnIndexOrThrow(column);
        return cursor.getString(column_index);
      }
    } finally {
      if (cursor != null)
        cursor.close();
    }
    return null;
  }

}

Related Tutorials