簡體   English   中英

通過單擊應用程序中的按鈕在UWP Windows Phone模擬器上訪問SD卡

[英]Access sd card on a UWP windows phone emulator by clicking a button in an app

我正在制作Windows Phone應用程序,我希望能夠在我的應用程序上添加一個按鈕,該按鈕使我能夠訪問模擬器上的虛擬SD卡並能夠選擇txt文件並在其中讀取該應用程序。 我對所有這些都還很陌生。

非常感謝

搶。

通過單擊應用程序中的按鈕在UWP Windows Phone模擬器上訪問SD卡

首先,通過配置仿真器“附加工具”的“ SD卡”選項卡,確保“插入SD卡”。 因此可以使用仿真器的SD卡文件夾。 有關如何配置的詳細信息,請參考本文檔的 SD卡部分。

其次,在您的應用可以存儲和訪問SD卡上的文件之前,在應用清單文件中指定removableStorage功能。 通常,您還必須注冊以處理應用存儲和訪問的文件類型。例如,您需要訪問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功能聲明

最后,現在您可以按照本文檔中的示例編寫邏輯。 例如,要讀取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.
   }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM