Android从数据库中获取所有的文件

来源:互联网 发布:消防大数据内容 编辑:程序博客网 时间:2024/06/08 11:51

我就不多说什么了,直接贴我今天写的代码,注释什么的也不必,我的代码,浅显易懂

另外,一般我们不需要获取所有的文件,所以,需要查看MIMETYPE有多少种类型的去我的百度云下载文档

http://pan.baidu.com/s/1cyXaoA

我的代码中也给出了一些,但我的文档里面有全面详细的类型
如果有误,可以通过获取文件的时候拿它的mimetyep来打印一下看看就知道了

public class ScanSystemFile {    /**     * 纯文本     */    public final static String TEXT_PLAIN = "text/plain";// (纯文本)    /**     * (HTML文档)     */    public final static String TEXT_HTML = "text/html";    /**     * (XHTML文档)     */    public final static String XHTML = "application/xhtml+xml";    /**     * (GIF图像)     */    public final static String GIF = "image/gif";    /**     * 【PHP中为:image/pjpeg】 (JPEG图像)     */    public final static String JPEG = "mage/jpeg";    /**     * (PNG图像)【PHP中为:image/x-png】     */    public final static String PNG = "image/png";    /**     * (MPEG动画)     */    public final static String MPEG = "video/mpeg";    /**     * (任意的二进制数据)     */    public final static String OCTET = "application/octet-stream";    /**     * (PDF文档)     */    public final static String PDF = "application/pdf";    /**     * (Microsoft Word文件)     */    public final static String WORD = "application/msword";    /**     * (RFC 822形式)     */    public final static String RFC = "message/rfc822";    /**     * (HTML邮件的HTML形式和纯文本形式,相同内容使用不同形式表示)     */    public final static String ALT = "multipart/alternative";    /**     * (使用HTTP的POST方法提交的表单)     */    public final static String FORM = "application/x-www-form-urlencoded";    /**     * (同上,但主要用于表单提交时伴随文件上传的场合)     */    public final static String FORM_DATA = "multipart/form-data";    public static Context context = MyApplication.context;    public static ArrayList<FileDetail> scanMusicFile() {        Cursor cursor = context.getContentResolver().query(                MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,                new String[] { MediaStore.Audio.Media._ID,                        MediaStore.Audio.Media.DISPLAY_NAME,                        MediaStore.Audio.Media.TITLE,                        MediaStore.Audio.Media.DURATION,                        MediaStore.Audio.Media.ARTIST,                        MediaStore.Audio.Media.ALBUM,                        MediaStore.Audio.Media.YEAR,                        MediaStore.Audio.Media.MIME_TYPE,                        MediaStore.Audio.Media.SIZE,                        MediaStore.Audio.Media.DATA }, "_size>?",                new String[] { 1024 * 1024 + "" }, null);        ArrayList<FileDetail> fileList = new ArrayList<FileDetail>();        while (cursor.moveToNext()) {            String name = cursor                    .getString(cursor                            .getColumnIndexOrThrow(MediaStore.Audio.Media.DISPLAY_NAME));            String type = cursor.getString(cursor                    .getColumnIndexOrThrow(MediaStore.Audio.Media.MIME_TYPE));            String data = cursor.getString(cursor                    .getColumnIndexOrThrow(MediaStore.Audio.Media.DATA));            Log.e("Name,Type,data", name + " ," + type + ", " + data);            FileDetail file = new FileDetail(name, type, data);            fileList.add(file);        }        return fileList;    }    /**     * 返回指定类型的文件     *      * @param types     *            指定的类型     */    public static ArrayList<FileDetail> scanAllFile(String[] selectionArg) {        String[] columns = new String[] { MediaStore.Files.FileColumns.TITLE,                MediaStore.Files.FileColumns.DATA,MediaStore.Files.FileColumns.MIME_TYPE };        Uri uri = MediaStore.Files.getContentUri("external");        String selection =  MediaStore.Files.FileColumns.MIME_TYPE + "=?";        Cursor c;        c= MyApplication.context.getContentResolver().query(uri,                columns, selection,selectionArg, null);        ArrayList<FileDetail> fileList = new ArrayList<FileDetail>();        while(c.moveToNext()){            String title = c.getString(c.getColumnIndexOrThrow(MediaStore.Files.FileColumns.TITLE));            String data = c.getString(c.getColumnIndexOrThrow(MediaStore.Files.FileColumns.DATA));            String type = c.getString(c.getColumnIndexOrThrow(MediaStore.Files.FileColumns.MIME_TYPE));            FileDetail file = new FileDetail(title, type, data);            fileList.add(file);        }        return fileList;    }}
0 0