首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows Phone 8 SD卡文件列表

Windows Phone 8 SD卡文件列表
EN

Stack Overflow用户
提问于 2013-10-26 23:22:48
回答 1查看 2.8K关注 0票数 2

我想问一问,是否有人知道一个很好的方法,从SD卡文件夹中获取所有文件名的绝对路径,并将它们列入列表?我正在为Windows Phone 8编程。

示例输出:

代码语言:javascript
复制
String[] listOfItems = { "SdcardRoot/Music/a.mp3", 
                         "SdcardRoot/Music/ACDC/b.mp3", 
                         "SdcardRoot/Music/someartist/somealbum/somefile.someextention" };

谢谢您抽时间见我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-26 23:43:06

这里有一个分步导轨来实现您想要的。如果有什么不清楚的地方,你也有这个一份来自msdn

您肯定会得到这样的代码:

代码语言:javascript
复制
    private async Task ListSDCardFileContents()
    {
        List<string> listOfItems = new List<string>();

        // List the first /default SD Card whih is on the device. Since we know Windows Phone devices only support one SD card, this should get us the SD card on the phone.
        ExternalStorageDevice sdCard = (await ExternalStorage.GetExternalStorageDevicesAsync()).FirstOrDefault();
        if (sdCard != null)
        {
            // Get the root folder on the SD card.
            ExternalStorageFolder sdrootFolder = sdCard.RootFolder;
            if (sdrootFolder != null)
            {
                // List all the files on the root folder.
                var files = await sdrootFolder.GetFilesAsync();
                if (files != null)
                {
                    foreach (ExternalStorageFile file in files)
                    {
                        listOfItems.Add(file.Path);
                    }
                }
            }
            else
            {
                MessageBox.Show("Failed to get root folder on SD card");
            }
        }
        else
        {
            MessageBox.Show("SD Card not found on device");
        }
    }

位于file循环中的files变量是ExternalStorageFile类型的。Path属性似乎是您所需要的:

此路径相对于SD卡的根文件夹。

最后,不要忘记将ID_CAP_REMOVABLE_STORAGE capability添加到应用程序的WMAppManifest.xml中,并添加到注册文件关联

我们需要声明额外的功能,以便在应用程序中注册某个文件扩展名。为了确保我们能够读取特定类型的文件,我们需要在Application文件中通过扩展名注册文件关联。为此,我们需要以代码的形式打开WMAppManifest.xml文件,并进行以下更改。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19612988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档