首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何以用户可以找到的xamarin形式将文件写入内存

如何以用户可以找到的xamarin形式将文件写入内存
EN

Stack Overflow用户
提问于 2020-09-04 19:13:50
回答 2查看 3.7K关注 0票数 1

我一直在努力写一个文件到内部存储器。我希望将文件保存到用户可以看到和阅读的位置,例如Mydocuments,或者像whatsapp那样为我的应用程序创建一个单独的文件夹。我也想在iOS中使用同样的场景。

我该怎么做?我已经尝试了Xamarin.Essentials中的FileSystem助手,也使用了Environment.SpecialFolder,但似乎都不起作用。我只是想保存一个简单的文本文件。

我尝试过的链接..

https://docs.microsoft.com/en-us/xamarin/android/platform/files/

https://docs.microsoft.com/en-us/xamarin/essentials/file-system-helpers?context=xamarin%2Fandroid&tabs=android

注意:我对外部存储不感兴趣。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-08 14:09:21

对于正在寻找答案的人来说。请访问此链接=> https://stackoverflow.com/a/63777656/9048996

这里有一个解决方案,它可以帮助在我们的内部存储或外部存储中创建一个单独的目录。然后,您可以在该专用目录中创建您自己的文件,这些文件是公共的,并且对用户可见,以便他们可以在需要时共享它们。提供的解决方案仅适用于android。

票数 0
EN

Stack Overflow用户

发布于 2020-09-04 21:14:13

是否要将数据存储在这些文件夹中?

如果是这样的话,对于android,我做了一个dependenceService来实现它。

例如,我想在Download文件夹中写入一个.txt文件。我在PCL中创建了接口。

代码语言:javascript
运行
复制
   public interface IWirteService
    {
      void  wirteFile(string FileName);
    }

在pcl Button单击事件中执行它。

代码语言:javascript
运行
复制
  private void Button_Clicked(object sender, EventArgs e)
        {
            DependencyService.Get<IWirteService>().wirteFile("myfile.txt");
        }

然后在android平台上实现了该功能。

代码语言:javascript
运行
复制
[assembly: Xamarin.Forms.Dependency(typeof(WirteFileService))]
namespace XamarinFirebase.Droid
{
    public class WirteFileService:IWirteService
    {
        

        void IWirteService.wirteFile(string FileName)
        {
          
            string text = "GFG is a CS portal.";
            byte[] data = Encoding.ASCII.GetBytes(text);
           
            string DownloadsPath = Path.Combine(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath, Android.OS.Environment.DirectoryDownloads);

            string filePath = Path.Combine(DownloadsPath, FileName);
            File.WriteAllBytes(filePath, data);
        }
    }
}

请不要忘记添加以下权限,并实现运行时权限。

代码语言:javascript
运行
复制
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

下面是运行GIF的代码。

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

https://stackoverflow.com/questions/63740083

复制
相关文章

相似问题

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