通过单击应用程序中的按钮访问 UWP windows phone 模拟器上的 SD 卡
Access sd card on a UWP windows phone emulator by clicking a button in an app
我正在制作一个 Windows phone 应用程序,我希望能够在我的应用程序上添加一个按钮,允许我访问虚拟 SD 卡模拟器,并能够选择一个 txt 文件并在应用程序中读取它。
我对这一切也很陌生。
非常感谢
抢.
Access sd card on a UWP windows phone emulator by clicking a button in an app
首先,通过配置模拟器附加工具的 SD 卡选项卡确保您有 "Insert the SD card"。这样模拟器的SD卡文件夹就可以使用了。具体如何配置请参考SD card parts of this document.
其次,在您的应用程序可以存储和访问 SD 卡上的文件之前,在应用程序清单文件中指定 removableStorage
功能。通常你还必须注册以处理你的应用程序存储的文件类型和 accesses.For 例如,你需要访问 SD 卡存储中的 txt
文件,配置应用程序清单如下:
<Applications>
...
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap:FileTypeAssociation Name="camera_assoication">
<uap:SupportedFileTypes>
<uap:FileType>.bmp</uap:FileType>
<uap:FileType>.txt</uap:FileType>
<uap:FileType>.gif</uap:FileType>
</uap:SupportedFileTypes>
</uap:FileTypeAssociation>
</uap:Extension>
</Extensions>
</Application>
</Applications>
<Capabilities>
<Capability Name="internetClient" />
<uap:Capability Name="removableStorage" />
</Capabilities>
有关功能的更多详细信息,请参考 App capability declarations。
最后,现在您可以按照 this document 上的示例来编写您的逻辑了。比如要读取SD卡中的一个txt文件,可以使用如下代码:
XAML
<TextBlock x:Name="txtreadresult"></TextBlock>
<Button x:Name="btnreadsd" Click="btnreadsd_Click" Content="read file from SD"></Button>
代码隐藏
private async void btnreadsd_Click(object sender, RoutedEventArgs e)
{
StorageFolder externalDevices = Windows.Storage.KnownFolders.RemovableDevices;
// Get the first child folder, which represents the SD card.
StorageFolder sdCard = (await externalDevices.GetFoldersAsync()).FirstOrDefault();
if (sdCard != null)
{
// An SD card is present and the sdCard variable now contains a reference to it.
StorageFile txtfile = await sdCard.GetFileAsync("text.txt");
string testtext = await FileIO.ReadTextAsync(txtfile);
txtreadresult.Text = testtext;
}
else
{
// No SD card is present.
}
}
我正在制作一个 Windows phone 应用程序,我希望能够在我的应用程序上添加一个按钮,允许我访问虚拟 SD 卡模拟器,并能够选择一个 txt 文件并在应用程序中读取它。 我对这一切也很陌生。
非常感谢
抢.
Access sd card on a UWP windows phone emulator by clicking a button in an app
首先,通过配置模拟器附加工具的 SD 卡选项卡确保您有 "Insert the SD card"。这样模拟器的SD卡文件夹就可以使用了。具体如何配置请参考SD card parts of this document.
其次,在您的应用程序可以存储和访问 SD 卡上的文件之前,在应用程序清单文件中指定 removableStorage
功能。通常你还必须注册以处理你的应用程序存储的文件类型和 accesses.For 例如,你需要访问 SD 卡存储中的 txt
文件,配置应用程序清单如下:
<Applications>
...
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap:FileTypeAssociation Name="camera_assoication">
<uap:SupportedFileTypes>
<uap:FileType>.bmp</uap:FileType>
<uap:FileType>.txt</uap:FileType>
<uap:FileType>.gif</uap:FileType>
</uap:SupportedFileTypes>
</uap:FileTypeAssociation>
</uap:Extension>
</Extensions>
</Application>
</Applications>
<Capabilities>
<Capability Name="internetClient" />
<uap:Capability Name="removableStorage" />
</Capabilities>
有关功能的更多详细信息,请参考 App capability declarations。
最后,现在您可以按照 this document 上的示例来编写您的逻辑了。比如要读取SD卡中的一个txt文件,可以使用如下代码:
XAML
<TextBlock x:Name="txtreadresult"></TextBlock>
<Button x:Name="btnreadsd" Click="btnreadsd_Click" Content="read file from SD"></Button>
代码隐藏
private async void btnreadsd_Click(object sender, RoutedEventArgs e)
{
StorageFolder externalDevices = Windows.Storage.KnownFolders.RemovableDevices;
// Get the first child folder, which represents the SD card.
StorageFolder sdCard = (await externalDevices.GetFoldersAsync()).FirstOrDefault();
if (sdCard != null)
{
// An SD card is present and the sdCard variable now contains a reference to it.
StorageFile txtfile = await sdCard.GetFileAsync("text.txt");
string testtext = await FileIO.ReadTextAsync(txtfile);
txtreadresult.Text = testtext;
}
else
{
// No SD card is present.
}
}