Java 类android.provider.MediaStore.MediaColumns 实例源码

项目:CCDownload    文件:UploadFragment.java   
private String getDataColumn(Context context, Uri uri, String selection, String[] selectionArgs) {  
    Cursor cursor = null;  
    String[] column = {MediaColumns.DATA};  

    try {  
        cursor = context.getContentResolver().query(uri, column, selection, selectionArgs, null);  
        if (cursor != null && cursor.moveToFirst()) {  
            final int index = cursor.getColumnIndexOrThrow(column[0]);  
            return cursor.getString(index);  
        }  
    } catch (Exception e) {
        Log.e("getRealPath error ", "exception: " + e);
    } finally {  
        if (cursor != null)  
            cursor.close();  
    }  
    return null;  
}
项目:aos-FileCoreLibrary    文件:FileManagerCore.java   
public boolean move(File srcFile, File targetFile) {
    boolean res = srcFile.renameTo(targetFile);
    if (res) {
        // Add the new file to the medialib
        scanFile(targetFile);

        // Remove the source file from the medialib
        //            scanFile(srcFile);
        ContentResolver cr = context.getContentResolver();
        Uri uri = MediaStore.Files.getContentUri("external");
        String where = MediaColumns.DATA + "=?";
        String[] selectionArgs = { srcFile.getPath() };
        cr.delete(uri, where, selectionArgs);
    }
    return res;
}
项目:AppCommonFrame    文件:BitmapUtil.java   
/**
 * 获取媒体数据库路径 . <br>
 * @author liulongzhenhai 2012-8-1 下午5:09:27 <br>
 * @param ct 上下文
 * @param contentUri URI地址
 * @return 返回相应的绝对路径
 */
public static String getUriImagePathQuery(final Context ct, final Uri contentUri) {
    // can post image
    if (contentUri == null) {
        return "";
    }

    final String[] proj = { MediaColumns.DATA };
    String path = "";
    final Cursor cursor = ct.getContentResolver().query(contentUri, proj, null, null, null);
    if (cursor != null) {
        if (cursor.moveToFirst()) {
            path = cursor.getString(cursor.getColumnIndexOrThrow(MediaColumns.DATA));
        }
        cursor.close();
    }
    return path;
}
项目:KomaMusic    文件:MusicUtils.java   
/**
 * @param context The {@link Context} to use.
 * @param id      The ID of the genre.
 * @return The song list for an genre.
 */
public static final long[] getSongListForGenre(final Context context, final long id) {
    final String[] projection = new String[]{
            BaseColumns._ID
    };
    String selection = (AudioColumns.IS_MUSIC + "=1") +
            " AND " + MediaColumns.TITLE + "!=''";
    final Uri uri = MediaStore.Audio.Genres.Members.getContentUri("external", Long.valueOf(id));
    Cursor cursor = context.getContentResolver().query(uri, projection, selection,
            null, null);
    if (cursor != null) {
        final long[] mList = getSongListForCursor(cursor);
        cursor.close();
        cursor = null;
        return mList;
    }
    return sEmptyList;
}
项目:LLApp    文件:MusicUtil.java   
public static List<Playlist> getMp3List(Context context) {
    List<Playlist> list = new ArrayList<Playlist>();

    Cursor cursor = new ResolverSer().getResolverSer().getResover(context).query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, media_info, "",
            null, MediaStore.Audio.Media.DEFAULT_SORT_ORDER);
    if (cursor != null && cursor.getCount() == 0) {
        final AlertDialog xfdialog = new AlertDialog.Builder(context).setTitle("Tips:").setMessage(context.getResources().getString(R.string.music_no_one)).setPositiveButton(context.getResources().getString(R.string.is_positive), null).create();
        xfdialog.show();
        cursor.close();
        return null;
    }
    while (cursor.moveToNext()) {
        int id = cursor.getInt(cursor.getColumnIndex(BaseColumns._ID));
        int album_id = cursor.getInt(cursor.getColumnIndex(AudioColumns.ALBUM_ID));
        String title = cursor.getString(cursor.getColumnIndex(MediaColumns.TITLE));
        String artist = cursor.getString(cursor.getColumnIndex(AudioColumns.ARTIST));
        int duration = cursor.getInt(cursor.getColumnIndex(AudioColumns.DURATION));
        if (duration > 30000) {
            Playlist playlist = new Playlist(id, title, duration, artist, album_id);
            list.add(playlist);
        }
    }
    cursor.close();
    return list;
}
项目:mobile-manager-tool    文件:MusicUtils.java   
/**
 * @param context
 * @param id
 * @return
 */
public static long[] getSongListForGenre(Context context, long id) {
    String[] projection = new String[] {
        BaseColumns._ID
    };
    StringBuilder selection = new StringBuilder();
    selection.append(AudioColumns.IS_MUSIC + "=1");
    selection.append(" AND " + MediaColumns.TITLE + "!=''");
    Uri uri = Genres.Members.getContentUri(EXTERNAL, id);
    Cursor cursor = context.getContentResolver().query(uri, projection, selection.toString(),
            null, null);
    if (cursor != null) {
        long[] list = getSongListForCursor(cursor);
        cursor.close();
        return list;
    }
    return sEmptyList;
}
项目:mobile-manager-tool    文件:MusicUtils.java   
/**
 * Create a Search Chooser
 */
public static void doSearch(Context mContext, Cursor mCursor, String Type) {
    CharSequence title = null;
    Intent i = new Intent();
    i.setAction(MediaStore.INTENT_ACTION_MEDIA_SEARCH);
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    String query = "";

    if ( Type == TYPE_ALBUM ){
        query = mCursor.getString(mCursor.getColumnIndexOrThrow(AlbumColumns.ALBUM));
    }
    else if( Type == TYPE_ARTIST ){
        query = mCursor.getString(mCursor.getColumnIndexOrThrow(ArtistColumns.ARTIST));
    }
    else if( Type == TYPE_GENRE ||  Type == TYPE_PLAYLIST ||  Type == TYPE_SONG ){
        query = mCursor.getString(mCursor.getColumnIndexOrThrow(MediaColumns.TITLE));
    }
    title = "";
    i.putExtra("", query);
    title = title + " " + query;
    title = "Search " + title;
    i.putExtra(SearchManager.QUERY, query);
    mContext.startActivity(Intent.createChooser(i, title));
}
项目:mobile-manager-tool    文件:DragSortListViewFragment.java   
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
    if( mFragmentGroupId != 0 ){
    menu.add(mFragmentGroupId, PLAY_SELECTION, 0, getResources().getString(R.string.play_all));
     menu.add(mFragmentGroupId, ADD_TO_PLAYLIST, 0, getResources().getString(R.string.add_to_playlist));
     menu.add(mFragmentGroupId, USE_AS_RINGTONE, 0, getResources().getString(R.string.use_as_ringtone));
     menu.add(mFragmentGroupId, REMOVE, 0, R.string.remove);
     menu.add(mFragmentGroupId, SEARCH, 0, getResources().getString(R.string.search));
     AdapterContextMenuInfo mi = (AdapterContextMenuInfo)menuInfo;
     mSelectedPosition = mi.position;
     mCursor.moveToPosition(mSelectedPosition);
     try {
         mSelectedId = mCursor.getLong(mCursor.getColumnIndexOrThrow(mMediaIdColumn));
     } catch (IllegalArgumentException ex) {
         mSelectedId = mi.id;
     }
     String title = mCursor.getString(mCursor.getColumnIndexOrThrow(MediaColumns.TITLE));
     menu.setHeaderTitle(title);
    }
}
项目:mobile-manager-tool    文件:QuickQueueFragment.java   
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    String[] projection = new String[] {
            BaseColumns._ID, MediaColumns.TITLE, AudioColumns.ALBUM, AudioColumns.ARTIST,
    };
    StringBuilder selection = new StringBuilder();
    Uri uri = Audio.Media.EXTERNAL_CONTENT_URI;
    String sortOrder = Audio.Media.DEFAULT_SORT_ORDER;
    uri = Audio.Media.EXTERNAL_CONTENT_URI;
    long[] mNowPlaying = MusicUtils.getQueue();
    if (mNowPlaying.length == 0)
        return null;
    selection = new StringBuilder();
    selection.append(BaseColumns._ID + " IN (");
    if (mNowPlaying == null || mNowPlaying.length <= 0)
        return null;
    for (long queue_id : mNowPlaying) {
        selection.append(queue_id + ",");
    }
    selection.deleteCharAt(selection.length() - 1);
    selection.append(")");

    return new AddIdCursorLoader(getActivity(), uri, projection, selection.toString(), null,
            sortOrder);
}
项目:mobile-manager-tool    文件:QuickQueueFragment.java   
/**
 * Reload the queue after we remove a track
 */
private void reloadQueueCursor() {
    String[] projection = new String[] {
            BaseColumns._ID, MediaColumns.TITLE, AudioColumns.ALBUM, AudioColumns.ARTIST,
    };
    StringBuilder selection = new StringBuilder();
    Uri uri = Audio.Media.EXTERNAL_CONTENT_URI;
    String sortOrder = Audio.Media.DEFAULT_SORT_ORDER;
    uri = Audio.Media.EXTERNAL_CONTENT_URI;
    long[] mNowPlaying = MusicUtils.getQueue();
    if (mNowPlaying.length == 0)
        return;
    selection = new StringBuilder();
    selection.append(BaseColumns._ID + " IN (");
    if (mNowPlaying == null || mNowPlaying.length <= 0)
        return;
    for (long queue_id : mNowPlaying) {
        selection.append(queue_id + ",");
    }
    selection.deleteCharAt(selection.length() - 1);
    selection.append(")");

    mCursor = MusicUtils.query(getActivity(), uri, projection, selection.toString(), null,
            sortOrder);
    mQuickQueueAdapter.changeCursor(mCursor);
}
项目:mobile-manager-tool    文件:AlbumListFragment.java   
@Override
public void setupFragmentData() {
       mAdapter = new AlbumListAdapter(getActivity(), R.layout.music_listview_items, null,
                                            new String[] {}, new int[] {}, 0);
    mProjection = new String[] {
               BaseColumns._ID, MediaColumns.TITLE, AudioColumns.ALBUM, AudioColumns.ARTIST
       };
       StringBuilder where = new StringBuilder();
       where.append(AudioColumns.IS_MUSIC + "=1")
                        .append(" AND " + MediaColumns.TITLE + " != ''");
       long albumId = getArguments().getLong(BaseColumns._ID);
       where.append(" AND " + AudioColumns.ALBUM_ID + "=" + albumId);
       mWhere = where.toString();        
       mSortOrder = Audio.Media.TRACK + ", " + Audio.Media.DEFAULT_SORT_ORDER;
       mUri = Audio.Media.EXTERNAL_CONTENT_URI;
       mFragmentGroupId = 89;
       mType = TYPE_ALBUM;
       mTitleColumn = MediaColumns.TITLE; 
}
项目:mobile-manager-tool    文件:RecentlyAddedFragment.java   
public void setupFragmentData(){
    mAdapter = new RecentlyAddedAdapter(getActivity(), R.layout.music_listview_items,
            null, new String[] {}, new int[] {}, 0);
    mProjection = new String[] {
            BaseColumns._ID, MediaColumns.TITLE, AudioColumns.ALBUM, AudioColumns.ARTIST
    };
    StringBuilder where = new StringBuilder();
    int X = MusicUtils.getIntPref(getActivity(), NUMWEEKS, 5) * 3600 * 24 * 7;
    where.append(MediaColumns.TITLE + " != ''");
    where.append(" AND " + AudioColumns.IS_MUSIC + "=1");
    where.append(" AND " + MediaColumns.DATE_ADDED + ">"
            + (System.currentTimeMillis() / 1000 - X));
    mWhere = where.toString();
    mSortOrder = MediaColumns.DATE_ADDED + " DESC";
    mUri = Audio.Media.EXTERNAL_CONTENT_URI;
    mTitleColumn = MediaColumns.TITLE;       
}
项目:mobile-manager-tool    文件:NowPlayingFragment.java   
@Override
  public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
      if (data == null) {
          return;
      }
      long[] mNowPlaying = MusicUtils.getQueue();
    String[] audioCols = new String[] { BaseColumns._ID, MediaColumns.TITLE, AudioColumns.ARTIST, AudioColumns.ALBUM};
      MatrixCursor playlistCursor = new MatrixCursor(audioCols);
    for(int i = 0; i < mNowPlaying.length; i++){
        data.moveToPosition(-1);
        while (data.moveToNext()) {
              long audioid = data.getLong(data.getColumnIndexOrThrow(BaseColumns._ID));
            if( audioid == mNowPlaying[i]) {
                  String trackName = data.getString(data.getColumnIndexOrThrow(MediaColumns.TITLE));
                  String artistName = data.getString(data.getColumnIndexOrThrow(AudioColumns.ARTIST));
                  String albumName = data.getString(data.getColumnIndexOrThrow(AudioColumns.ALBUM));
                playlistCursor.addRow(new Object[] {audioid, trackName, artistName, albumName });
            }
          }
    }
      data.close();
mCursor = playlistCursor;
      super.onLoadFinished(loader, playlistCursor);
  }
项目:mobile-manager-tool    文件:GenreListFragment.java   
public void setupFragmentData(){
    mAdapter = new GenreListAdapter(getActivity(), R.layout.music_listview_items, null,
                                            new String[] {}, new int[] {}, 0);
    mProjection = new String[] {
            BaseColumns._ID, MediaColumns.TITLE, AudioColumns.ALBUM,
            AudioColumns.ARTIST
    };
    StringBuilder where = new StringBuilder();
    where.append(AudioColumns.IS_MUSIC + "=1").append(
                            " AND " + MediaColumns.TITLE + " != ''");
    mWhere = where.toString();        
    mSortOrder = Genres.Members.DEFAULT_SORT_ORDER;
    mUri = Genres.Members.getContentUri(EXTERNAL, getArguments().getLong(BaseColumns._ID));
    mFragmentGroupId = 3;
    mType = TYPE_GENRE;
    mTitleColumn = MediaColumns.TITLE; 
}
项目:mobile-manager-tool    文件:ArtistListFragment.java   
@Override
public void setupFragmentData(){
    mAdapter = new ArtistListAdapter(getActivity(), R.layout.music_listview_items, null,
                                            new String[] {}, new int[] {}, 0);
    mProjection = new String[] {
            BaseColumns._ID, MediaColumns.TITLE, AudioColumns.ALBUM, AudioColumns.ARTIST
    };
    StringBuilder where = new StringBuilder();
    where.append(AudioColumns.IS_MUSIC + "=1")
                        .append(" AND " + MediaColumns.TITLE + " != ''");
    long artist_id = getArguments().getLong(BaseColumns._ID);
    where.append(" AND " + AudioColumns.ARTIST_ID + "=" + artist_id);
    mWhere = where.toString();        
    mSortOrder = MediaColumns.TITLE;
    mUri = Audio.Media.EXTERNAL_CONTENT_URI;
    mFragmentGroupId = 88;
    mType = TYPE_ARTIST;
    mTitleColumn = MediaColumns.TITLE; 
}
项目:ShoppingApp    文件:DocumentUtil.java   
public static String getDataColumn(Context context, Uri uri, String selection, String[] selectionArgs) {
    Cursor cursor = null;
    final String column = MediaColumns.DATA;
    final String[] projection = { column };
    try {
        cursor = context.getContentResolver().query(uri, projection, selection, selectionArgs, null);
        if (cursor != null && cursor.moveToFirst()) {
            final int index = cursor.getColumnIndexOrThrow(column);
            return cursor.getString(index);
        }
    } finally {
        if (cursor != null)
            cursor.close();
    }
    return null;
}
项目:WiCamera3D    文件:OperationFile.java   
public synchronized static boolean deleteFile(Context context, String path) {
    File file = new File(path);
    boolean issucc = false;
    if (file.exists()) {
        issucc = file.delete();
        if (issucc) {
            String where = MediaColumns.DATA + "=?";
            String[] selectionArgs = new String[] { path };
            int columnsNum = context.getContentResolver()
                    .delete(Images.Media.EXTERNAL_CONTENT_URI, where,
                            selectionArgs);
            if (columnsNum > 0) {
                return issucc;
            } else {
                return false;
            }
        } else {
            return false;
        }

    } else {
        return false;
    }

}
项目:Overchan-Android    文件:UriFileUtils.java   
private static String getDataColumn(Context context, Uri uri, String selection, String[] selectionArgs) {
    Cursor cursor = null;
    final String column = MediaColumns.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;
}
项目:nexus-camera    文件:VideoModule.java   
private void generateVideoFilename(int outputFileFormat) {
    long dateTaken = System.currentTimeMillis();
    String title = createName(dateTaken);
    // Used when emailing.
    String filename = title + convertOutputFormatToFileExt(outputFileFormat);
    String mime = convertOutputFormatToMimeType(outputFileFormat);
    String path = Storage.DIRECTORY + '/' + filename;
    String tmpPath = path + ".tmp";
    mCurrentVideoValues = new ContentValues(9);
    mCurrentVideoValues.put(Video.Media.TITLE, title);
    mCurrentVideoValues.put(Video.Media.DISPLAY_NAME, filename);
    mCurrentVideoValues.put(Video.Media.DATE_TAKEN, dateTaken);
    mCurrentVideoValues.put(MediaColumns.DATE_MODIFIED, dateTaken / 1000);
    mCurrentVideoValues.put(Video.Media.MIME_TYPE, mime);
    mCurrentVideoValues.put(Video.Media.DATA, path);
    mCurrentVideoValues.put(Video.Media.RESOLUTION,
            Integer.toString(mProfile.videoFrameWidth) + "x" +
            Integer.toString(mProfile.videoFrameHeight));
    Location loc = mLocationManager.getCurrentLocation();
    if (loc != null) {
        mCurrentVideoValues.put(Video.Media.LATITUDE, loc.getLatitude());
        mCurrentVideoValues.put(Video.Media.LONGITUDE, loc.getLongitude());
    }
    mVideoFilename = tmpPath;
    Log.v(TAG, "New video filename: " + mVideoFilename);
}
项目:Pixtern-Library    文件:CardValidationActivity.java   
/** Resolves the path of the image that was picked. */
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) {
        Uri selectedImage = data.getData();
        String[] filePathColumn = { MediaColumns.DATA };
        Cursor cursor = getContentResolver().query(selectedImage,
                filePathColumn, null, null, null);
        cursor.moveToFirst();
        int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
        String picturePath = cursor.getString(columnIndex);
        cursor.close();
        picturePath2 = picturePath;
        new LongOperation().execute("");
    }
}
项目:Pixtern-Library    文件:ValidateUploadActivity.java   
/** Receives the path of the uploaded image and starts the background thread for Validation**/
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    //   initializeOpenCVDependencies();
    if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) {
        Uri selectedImage = data.getData();
        String[] filePathColumn = { MediaColumns.DATA };
        Cursor cursor = getContentResolver().query(selectedImage,
                filePathColumn, null, null, null);
        cursor.moveToFirst();
        int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
        picturePath = cursor.getString(columnIndex);
        cursor.close();
        picturePath2 = picturePath;

        new LongOperation().execute("");
    }
}
项目:com.cp.monsterMod    文件:MusicUtils.java   
/**
 * @param context
 * @param id
 * @return
 */
public static long[] getSongListForGenre(Context context, long id) {
    String[] projection = new String[] {
        BaseColumns._ID
    };
    StringBuilder selection = new StringBuilder();
    selection.append(AudioColumns.IS_MUSIC + "=1");
    selection.append(" AND " + MediaColumns.TITLE + "!=''");
    Uri uri = Genres.Members.getContentUri(EXTERNAL, id);
    Cursor cursor = context.getContentResolver().query(uri, projection, selection.toString(),
            null, null);
    if (cursor != null) {
        long[] list = getSongListForCursor(cursor);
        cursor.close();
        return list;
    }
    return sEmptyList;
}
项目:com.cp.monsterMod    文件:MusicUtils.java   
/**
 * Create a Search Chooser
 */
public static void doSearch(Context mContext, Cursor mCursor, String Type) {
    CharSequence title = null;
    Intent i = new Intent();
    i.setAction(MediaStore.INTENT_ACTION_MEDIA_SEARCH);
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    String query = "";

    if ( Type == TYPE_ALBUM ){
        query = mCursor.getString(mCursor.getColumnIndexOrThrow(AlbumColumns.ALBUM));
    }
    else if( Type == TYPE_ARTIST ){
        query = mCursor.getString(mCursor.getColumnIndexOrThrow(ArtistColumns.ARTIST));
    }
    else if( Type == TYPE_GENRE ||  Type == TYPE_PLAYLIST ||  Type == TYPE_SONG ){
        query = mCursor.getString(mCursor.getColumnIndexOrThrow(MediaColumns.TITLE));
    }
    title = "";
    i.putExtra("", query);
    title = title + " " + query;
    title = "Search " + title;
    i.putExtra(SearchManager.QUERY, query);
    mContext.startActivity(Intent.createChooser(i, title));
}
项目:com.cp.monsterMod    文件:DragSortListViewFragment.java   
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
    if( mFragmentGroupId != 0 ){
    menu.add(mFragmentGroupId, PLAY_SELECTION, 0, getResources().getString(R.string.play_all));
     menu.add(mFragmentGroupId, ADD_TO_PLAYLIST, 0, getResources().getString(R.string.add_to_playlist));
     menu.add(mFragmentGroupId, USE_AS_RINGTONE, 0, getResources().getString(R.string.use_as_ringtone));
     menu.add(mFragmentGroupId, REMOVE, 0, R.string.remove);
     menu.add(mFragmentGroupId, SEARCH, 0, getResources().getString(R.string.search));
     AdapterContextMenuInfo mi = (AdapterContextMenuInfo)menuInfo;
     mSelectedPosition = mi.position;
     mCursor.moveToPosition(mSelectedPosition);
     try {
         mSelectedId = mCursor.getLong(mCursor.getColumnIndexOrThrow(mMediaIdColumn));
     } catch (IllegalArgumentException ex) {
         mSelectedId = mi.id;
     }
     String title = mCursor.getString(mCursor.getColumnIndexOrThrow(MediaColumns.TITLE));
     menu.setHeaderTitle(title);
    }
}
项目:com.cp.monsterMod    文件:CpDragSortListViewFragment.java   
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
    if( mFragmentGroupId != 0 ){
    menu.add(mFragmentGroupId, PLAY_SELECTION, 0, getResources().getString(R.string.play_all));
     menu.add(mFragmentGroupId, ADD_TO_PLAYLIST, 0, getResources().getString(R.string.add_to_playlist));
     menu.add(mFragmentGroupId, USE_AS_RINGTONE, 0, getResources().getString(R.string.use_as_ringtone));
     menu.add(mFragmentGroupId, REMOVE, 0, R.string.remove);
     menu.add(mFragmentGroupId, SEARCH, 0, getResources().getString(R.string.search));
     AdapterContextMenuInfo mi = (AdapterContextMenuInfo)menuInfo;
     mSelectedPosition = mi.position;
     mCursor.moveToPosition(mSelectedPosition);
     try {
         mSelectedId = mCursor.getLong(mCursor.getColumnIndexOrThrow(mMediaIdColumn));
     } catch (IllegalArgumentException ex) {
         mSelectedId = mi.id;
     }
     title = mCursor.getString(mCursor.getColumnIndexOrThrow(MediaColumns.TITLE));
     menu.setHeaderTitle(title);
    }
}
项目:com.cp.monsterMod    文件:QuickQueueFragment.java   
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    String[] projection = new String[] {
            BaseColumns._ID, MediaColumns.TITLE, AudioColumns.ALBUM, AudioColumns.ARTIST,
    };
    StringBuilder selection = new StringBuilder();
    Uri uri = Audio.Media.EXTERNAL_CONTENT_URI;
    String sortOrder = Audio.Media.DEFAULT_SORT_ORDER;
    uri = Audio.Media.EXTERNAL_CONTENT_URI;
    long[] mNowPlaying = MusicUtils.getQueue();
    if (mNowPlaying.length == 0)
        return null;
    selection = new StringBuilder();
    selection.append(BaseColumns._ID + " IN (");
    if (mNowPlaying == null || mNowPlaying.length <= 0)
        return null;
    for (long queue_id : mNowPlaying) {
        selection.append(queue_id + ",");
    }
    selection.deleteCharAt(selection.length() - 1);
    selection.append(")");

    return new AddIdCursorLoader(getActivity(), uri, projection, selection.toString(), null,
            sortOrder);
}
项目:com.cp.monsterMod    文件:QuickQueueFragment.java   
/**
 * Reload the queue after we remove a track
 */
private void reloadQueueCursor() {
    String[] projection = new String[] {
            BaseColumns._ID, MediaColumns.TITLE, AudioColumns.ALBUM, AudioColumns.ARTIST,
    };
    StringBuilder selection = new StringBuilder();
    Uri uri = Audio.Media.EXTERNAL_CONTENT_URI;
    String sortOrder = Audio.Media.DEFAULT_SORT_ORDER;
    uri = Audio.Media.EXTERNAL_CONTENT_URI;
    long[] mNowPlaying = MusicUtils.getQueue();
    if (mNowPlaying.length == 0)
        return;
    selection = new StringBuilder();
    selection.append(BaseColumns._ID + " IN (");
    if (mNowPlaying == null || mNowPlaying.length <= 0)
        return;
    for (long queue_id : mNowPlaying) {
        selection.append(queue_id + ",");
    }
    selection.deleteCharAt(selection.length() - 1);
    selection.append(")");

    mCursor = MusicUtils.query(getActivity(), uri, projection, selection.toString(), null,
            sortOrder);
    mQuickQueueAdapter.changeCursor(mCursor);
}
项目:com.cp.monsterMod    文件:AlbumListFragment.java   
@Override
public void setupFragmentData() {
       mAdapter = new AlbumListAdapter(getActivity(), R.layout.listview_items, null,
                                            new String[] {}, new int[] {}, 0);
    mProjection = new String[] {
               BaseColumns._ID, MediaColumns.TITLE, AudioColumns.ALBUM, AudioColumns.ARTIST
       };
       StringBuilder where = new StringBuilder();
       where.append(AudioColumns.IS_MUSIC + "=1")
                        .append(" AND " + MediaColumns.TITLE + " != ''");
       long albumId = getArguments().getLong(BaseColumns._ID);
       where.append(" AND " + AudioColumns.ALBUM_ID + "=" + albumId);
       mWhere = where.toString();        
       mSortOrder = Audio.Media.TRACK + ", " + Audio.Media.DEFAULT_SORT_ORDER;
       mUri = Audio.Media.EXTERNAL_CONTENT_URI;
       mFragmentGroupId = 89;
       mType = TYPE_ALBUM;
       mTitleColumn = MediaColumns.TITLE; 
}
项目:com.cp.monsterMod    文件:RecentlyAddedFragment.java   
public void setupFragmentData(){
    mAdapter = new RecentlyAddedAdapter(getActivity(), R.layout.listview_items,
            null, new String[] {}, new int[] {}, 0);
    //构造查询语句,父类中回调,给cursorloader使用
    mProjection = new String[] {
            BaseColumns._ID, MediaColumns.TITLE, AudioColumns.ALBUM, AudioColumns.ARTIST
    };
    StringBuilder where = new StringBuilder();
    int X = MusicUtils.getIntPref(getActivity(), NUMWEEKS, 5) * 3600 * 24 * 7;
    where.append(MediaColumns.TITLE + " != ''");
    where.append(" AND " + AudioColumns.IS_MUSIC + "=1");
    where.append(" AND " + MediaColumns.DATE_ADDED + ">"
            + (System.currentTimeMillis() / 1000 - X));
    mWhere = where.toString();
    mSortOrder = MediaColumns.DATE_ADDED + " DESC";
    //查询音乐的uri?
    mUri = Audio.Media.EXTERNAL_CONTENT_URI;
    mTitleColumn = MediaColumns.TITLE;       
}
项目:com.cp.monsterMod    文件:NowPlayingFragment.java   
@Override
  public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
      if (data == null) {
          return;
      }
      long[] mNowPlaying = MusicUtils.getQueue();
    String[] audioCols = new String[] { BaseColumns._ID, MediaColumns.TITLE, AudioColumns.ARTIST, AudioColumns.ALBUM};
      MatrixCursor playlistCursor = new MatrixCursor(audioCols);
    for(int i = 0; i < mNowPlaying.length; i++){
        data.moveToPosition(-1);
        while (data.moveToNext()) {
              long audioid = data.getLong(data.getColumnIndexOrThrow(BaseColumns._ID));
            if( audioid == mNowPlaying[i]) {
                  String trackName = data.getString(data.getColumnIndexOrThrow(MediaColumns.TITLE));
                  String artistName = data.getString(data.getColumnIndexOrThrow(AudioColumns.ARTIST));
                  String albumName = data.getString(data.getColumnIndexOrThrow(AudioColumns.ALBUM));
                playlistCursor.addRow(new Object[] {audioid, trackName, artistName, albumName });
            }
          }
    }
      data.close();
mCursor = playlistCursor;
      super.onLoadFinished(loader, playlistCursor);
  }
项目:com.cp.monsterMod    文件:GenreListFragment.java   
public void setupFragmentData(){
    mAdapter = new GenreListAdapter(getActivity(), R.layout.listview_items, null,
                                            new String[] {}, new int[] {}, 0);
    mProjection = new String[] {
            BaseColumns._ID, MediaColumns.TITLE, AudioColumns.ALBUM,
            AudioColumns.ARTIST
    };
    StringBuilder where = new StringBuilder();
    where.append(AudioColumns.IS_MUSIC + "=1").append(
                            " AND " + MediaColumns.TITLE + " != ''");
    mWhere = where.toString();        
    mSortOrder = Genres.Members.DEFAULT_SORT_ORDER;
    mUri = Genres.Members.getContentUri(EXTERNAL, getArguments().getLong(BaseColumns._ID));
    mFragmentGroupId = 3;
    mType = TYPE_GENRE;
    mTitleColumn = MediaColumns.TITLE; 
}
项目:com.cp.monsterMod    文件:ArtistListFragment.java   
@Override
public void setupFragmentData(){
    mAdapter = new ArtistListAdapter(getActivity(), R.layout.listview_items, null,
                                            new String[] {}, new int[] {}, 0);
    mProjection = new String[] {
            BaseColumns._ID, MediaColumns.TITLE, AudioColumns.ALBUM, AudioColumns.ARTIST
    };
    StringBuilder where = new StringBuilder();
    where.append(AudioColumns.IS_MUSIC + "=1")
                        .append(" AND " + MediaColumns.TITLE + " != ''");
    long artist_id = getArguments().getLong(BaseColumns._ID);
    where.append(" AND " + AudioColumns.ARTIST_ID + "=" + artist_id);
    mWhere = where.toString();        
    mSortOrder = MediaColumns.TITLE;
    mUri = Audio.Media.EXTERNAL_CONTENT_URI;
    mFragmentGroupId = 88;
    mType = TYPE_ARTIST;
    mTitleColumn = MediaColumns.TITLE; 
}
项目:com.cp.monsterMod    文件:SongsFragment.java   
public void setupFragmentData(){
    mAdapter = new SonglistAdapter(getActivity(), R.layout.listview_items, null,
                                                    new String[] {}, new int[] {}, 0);
    mProjection = new String[] {
            BaseColumns._ID, MediaColumns.TITLE, AudioColumns.ALBUM, AudioColumns.ARTIST
    };
    StringBuilder where = new StringBuilder();
    where.append(AudioColumns.IS_MUSIC + "=1").append(" AND " + MediaColumns.TITLE + " != ''");
    mWhere = where.toString();
    mSortOrder = Audio.Media.DEFAULT_SORT_ORDER;
    mUri = Audio.Media.EXTERNAL_CONTENT_URI;
    mFragmentGroupId = 3;
    mType = TYPE_SONG;
    mTitleColumn = MediaColumns.TITLE;         
    View shuffle_temp = View.inflate(getActivity(), R.layout.shuffle_all, null);
    mListView.addHeaderView(shuffle_temp);        
    RelativeLayout  shuffle = (RelativeLayout)shuffle_temp.findViewById(R.id.shuffle_wrapper);
    shuffle.setVisibility(View.VISIBLE);
    shuffle.setOnClickListener(new RelativeLayout.OnClickListener() {  
        public void onClick(View v)
        {
            MusicUtils.suffle(getActivity());
        }

     });
}
项目:itmarry    文件:MusicUtils.java   
/**
 * @param context
 * @param id
 * @return
 */
public static long[] getSongListForGenre(Context context, long id) {
    String[] projection = new String[] {
        BaseColumns._ID
    };
    StringBuilder selection = new StringBuilder();
    selection.append(AudioColumns.IS_MUSIC + "=1");
    selection.append(" AND " + MediaColumns.TITLE + "!=''");
    Uri uri = Genres.Members.getContentUri(EXTERNAL, id);
    Cursor cursor = context.getContentResolver().query(uri, projection, selection.toString(),
            null, null);
    if (cursor != null) {
        long[] list = getSongListForCursor(cursor);
        cursor.close();
        return list;
    }
    return sEmptyList;
}
项目:itmarry    文件:QuickQueueFragment.java   
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    String[] projection = new String[] {
            BaseColumns._ID, MediaColumns.TITLE, AudioColumns.ALBUM, AudioColumns.ARTIST,
    };
    StringBuilder selection = new StringBuilder();
    Uri uri = Audio.Media.EXTERNAL_CONTENT_URI;
    String sortOrder = Audio.Media.DEFAULT_SORT_ORDER;
    uri = Audio.Media.EXTERNAL_CONTENT_URI;
    long[] mNowPlaying = MusicUtils.getQueue();
    if (mNowPlaying.length == 0)
        return null;
    selection = new StringBuilder();
    selection.append(BaseColumns._ID + " IN (");
    if (mNowPlaying == null || mNowPlaying.length <= 0)
        return null;
    for (long queue_id : mNowPlaying) {
        selection.append(queue_id + ",");
    }
    selection.deleteCharAt(selection.length() - 1);
    selection.append(")");

    return new AddIdCursorLoader(getActivity(), uri, projection, selection.toString(), null,
            sortOrder);
}