gpt4 book ai didi

c# - 跨 Android/iOS 的 Xamarin 通用 Xamarin.Forms 代码

转载 作者:行者123 更新时间:2023-11-30 16:03:09 25 4
gpt4 key购买 nike

我希望在 Visual Studio 2015 中创建一个 Xamarin Forms PCL,它表示 Xamarin Android 项目和 Xamarin iOS 项目的通用应用程序代码(但不是任何其他项目,即:Windows 或 Windows 手机)。我目前使用的是 PCL 配置文件 111,它是由提供的 Xamarin 模板创建的。

在我遇到对 System.IO.FileStream 的支持之前,一切都很好。基于这篇文章(在保存和加载文件部分): https://developer.xamarin.com/guides/xamarin-forms/working-with/files/

Android 和 iOS 都可以立即使用大部分 System.IO,这在我的 Android 和 iOS 项目中很明显,我可以在其中使用 FileStream 来读取/写入文件。

由于代码是相同的,将它维护在一个地方会更有意义,但我似乎无法找到可以执行此操作的配置文件(或 visual studio 模板),有什么想法吗?

我还看了这里: http://blog.stephencleary.com/2012/05/framework-profiles-in-net.html

但是可移植类库配置文件表没有提到 Xamarin/Android/iOS。

难道就没有比 111 更窄的 PCL 配置文件可以提供我想要的吗?我唯一的选择是使用 DependencyService 设置吗?也许共享代码项目会更干净?

编辑:虽然我提到 FileStream 作为我正在尝试做的事情的例子,但我想解决维护 Android/iOS 的任何通用代码的问题(并且只有那些平台,不是 Windows/Windows Phone/Silverlight/ASP.NET 等)适用于 Android 和 iOS 支持使用通用代码的功能,但其他平台之一不支持的任何情况。

最佳答案

您可以使用 PCLStorage Library对于跨平台 IO:

public async Task PCLStorageSample()
{
IFolder rootFolder = FileSystem.Current.LocalStorage;
IFolder folder = await rootFolder.CreateFolderAsync("MySubFolder",
CreationCollisionOption.OpenIfExists);
IFile file = await folder.CreateFileAsync("answer.txt",
CreationCollisionOption.ReplaceExisting);
await file.WriteAllTextAsync("42");
}

关于c# - 跨 Android/iOS 的 Xamarin 通用 Xamarin.Forms 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36803204/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com