C#:在 Android 上复制资产
Posted
技术标签:
【中文标题】C#:在 Android 上复制资产【英文标题】:C#: copying Assets on Android 【发布时间】:2021-09-11 01:22:55 【问题描述】:我尝试使用 Xamarin 开发 android 应用程序。我构建了 APK,但无法访问保存一些文件夹和文件的资产。 我需要将这些文件夹和文件从 Assets 复制到 Android 设备的应用程序目录中,并且可以随时访问它们。
请帮忙(我需要一个简单的 CSharp 功能,将 Assets 文件复制到 android 设备。我将感谢任何支持。
【问题讨论】:
【参考方案1】:您可以先查看File Storage and Access with Xamarin.Android 和Using 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_STORAGE
runtime permissions。
【讨论】:
以上是关于C#:在 Android 上复制资产的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 android studio 将复制任务运行到资产文件夹中
Android SQLite:W / System.err:java.io.FileNotFoundException无法从资产复制数据库
基于 C# 开发的手机 APP 资产管理项目 SmoSEC | 软件推介
在 Android 中将资产或原始文件或资源文件作为 File 对象读取
为啥我的图像(本地资产或下载的资产)没有在 iOS 14 上显示,而是在使用 ReactNative 0.62.x 的 Android 上显示?