Xamarin 主要方法或等效方法

我是 Xamarin 的新手,我正在寻找一个像main()方法这样的入口点。此外,我有一个数据存储(即模型)类,它不断从网络套接字接收数据,并且可以从整个应用程序(即从多个 ViewModel)访问。我可以在哪里放置像这样的重要和中心课程?你会把这些放在一个静态类中吗?

另外:是否有类似 a 的东西main-loop负责处理任务和事件?

我非常感谢 Xamarin 应用程序中所有“入口点”的通用/入门概述。


浮云间
浏览 82回答 4
4回答

茅侃侃

每个平台都有自己的main()类似方法安卓:MainActivity.OnCreate()IOS:AppDelegate.FinishedLaunching(UIApplication app, NSDictionary options)超轻量级:App.OnLaunched(LaunchActivatedEventArgs e)在 Xamarin.Forms 应用程序上,所有这些平台都会实例化App类并设置MainPage.App.OnStart()如果你想为 BL 做,你应该使用方法。

一只萌萌小番薯

例如,如果您在 Visual Studio 2017 中创建跨平台移动应用程序,您将获得一个脚手架。数据层位于“服务”文件夹中。我会考虑将“App.xaml”文件作为您的入口点。&nbsp; &nbsp;public partial class App : Application{&nbsp; &nbsp; //TODO: Replace with *.azurewebsites.net url after deploying backend to Azure&nbsp; &nbsp; public static string AzureBackendUrl = "http://localhost:5000";&nbsp; &nbsp; public static bool UseMockDataStore = false;&nbsp; &nbsp; public static bool UseEntityFramework = true;&nbsp; &nbsp; public App()&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; InitializeComponent();&nbsp; &nbsp; &nbsp; &nbsp; if (UseMockDataStore)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DependencyService.Register<MockDataStore>();&nbsp; &nbsp; &nbsp; &nbsp; else if (UseEntityFramework)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DependencyService.Register<SqLiteDataStore>();&nbsp; &nbsp; &nbsp; &nbsp; else&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DependencyService.Register<AzureDataStore>();&nbsp; &nbsp; &nbsp; &nbsp; MainPage = new MainPage();&nbsp; &nbsp; }&nbsp; &nbsp; protected override void OnStart()&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; // Handle when your app starts&nbsp; &nbsp; }&nbsp; &nbsp; protected override void OnSleep()&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; // Handle when your app sleeps&nbsp; &nbsp; }&nbsp; &nbsp; protected override void OnResume()&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; // Handle when your app resumes&nbsp; &nbsp; }}

青春有我

假设你在谈论Xamarin.Forms,我是 Xamarin 的新手,我正在寻找一个像 main() 方法这样的入口点。现在Xamarin.Forms基本的工作原理是各自的原生类,即MainActivity(Android)、AppDelegate(iOS)和App(UWP)调用或项目App.Xaml中的类。因此,这可以被视为一个入口点,就像您的控制台应用程序方法一样。.Net StandardPCLmain()我有一个数据存储(即模型)类,它不断地从 Web 套接字接收数据,并且可以从整个应用程序(即从多个 ViewModel)访问。为此,处理它的最佳方法是SQLite 数据库,我建议您也检查一下以更好地了解它的工作原理我可以在哪里放置像这样的重要和中心课程?你会把这些放在一个静态类中吗?您可以将它们设为静态,但我个人建议您仅将冗余代码设为静态。是的,可以随意制作静态助手类。另外:是否有类似主循环的东西负责处理任务和事件?你的这部分问题我不清楚,请详细说明如有疑问,请随时恢复。

12345678_0001

在 Android 中,您可以覆盖默认的MainActivity,如下所示:
打开App,查看更多内容
随时随地看视频慕课网APP