【问题标题】:C#: copying Assets on AndroidC#:在 Android 上复制资产
【发布时间】:2021-09-11 01:22:55
【问题描述】:

我尝试使用 Xamarin 开发 Android 应用程序。我构建了 APK,但无法访问保存一些文件夹和文件的资产。 我需要将这些文件夹和文件从 Assets 复制到 Android 设备的应用程序目录中,并且可以随时访问它们。

请帮忙(我需要一个简单的 CSharp 功能,将 Assets 文件复制到 android 设备。我将感谢任何支持。

【问题讨论】:

    标签: c# android visual-studio xamarin.android assets


    【解决方案1】:

    您可以先查看File Storage and Access with Xamarin.AndroidUsing Android Assets

    这是一个简单的示例:

    public static async Task CopyFile(Activity activity)
    {
        var filePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "YOUR_FILENAME");
    
        if (!File.Exists(filePath))
        {
            try
            {
                using (var fileAssetsStream = activity.Assets.Open("YOUR_FILENAME"))
                using (var fileStream = new FileStream(filePath, FileMode.OpenOrCreate))
                {
                    var buffer = new byte[1024];
    
                    int b = buffer.Length;
                    int length;
    
                    while ((length = await fileAssetsStream.ReadAsync(buffer, 0, b)) > 0)
                    {
                        await fileStream.WriteAsync(buffer, 0, length);
                    }
                }
            }
            catch (Exception ex)
            {
                //Handle exceptions
            }
        }
    }
    

    别忘了请求WRITE_EXTERNAL_STORAGEruntime permissions

    【讨论】:

      猜你喜欢
      • 2017-08-07
      • 1970-01-01
      • 1970-01-01
      • 2012-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-11
      相关资源
      最近更新 更多