C# Xamarin主要方法或等效方法
我是Xamarin的新手,我正在寻找一个类似C# Xamarin主要方法或等效方法,c#,xamarin,xamarin.forms,C#,Xamarin,Xamarin.forms,我是Xamarin的新手,我正在寻找一个类似main()方法的入口点。此外,我还有一个数据存储(即模型)类,它不断地从web套接字接收数据,并且可以从整个应用程序中访问(即从多个ViewModels)。我可以把这些重要的中心类放在哪里?你能把这些放在一个静态类中吗 另外:是否有类似于负责处理任务和事件的主循环 我非常感谢您对Xamarin应用程序中所有“入口点”的一般/初级概述。例如,如果您在Visual Studio 2017中创建一个跨平台移动应用程序,您将获得一个脚手架。数据层位于“服务”
main()
方法的入口点。此外,我还有一个数据存储(即模型)类,它不断地从web套接字接收数据,并且可以从整个应用程序中访问(即从多个ViewModels)。我可以把这些重要的中心类放在哪里?你能把这些放在一个静态类中吗
另外:是否有类似于负责处理任务和事件的主循环
我非常感谢您对Xamarin应用程序中所有“入口点”的一般/初级概述。例如,如果您在Visual Studio 2017中创建一个跨平台移动应用程序,您将获得一个脚手架。数据层位于“服务”文件夹中
我将把“App.xAML”文件作为入口点。
public partial class App : Application
{
//TODO: Replace with *.azurewebsites.net url after deploying backend to Azure
public static string AzureBackendUrl = "http://localhost:5000";
public static bool UseMockDataStore = false;
public static bool UseEntityFramework = true;
public App()
{
InitializeComponent();
if (UseMockDataStore)
DependencyService.Register<MockDataStore>();
else if (UseEntityFramework)
DependencyService.Register<SqLiteDataStore>();
else
DependencyService.Register<AzureDataStore>();
MainPage = new MainPage();
}
protected override void OnStart()
{
// Handle when your app starts
}
protected override void OnSleep()
{
// Handle when your app sleeps
}
protected override void OnResume()
{
// Handle when your app resumes
}
}
公共部分类应用程序:应用程序
{
//TODO:将后端部署到Azure后替换为*.azurewebsites.net url
公共静态字符串AzureBackendUrl=”http://localhost:5000";
公共静态bool UseMockDataStore=false;
公共静态bool UseEntityFramework=true;
公共应用程序()
{
初始化组件();
如果(使用MockDataStore)
DependencyService.Register();
else if(UseEntityFramework)
DependencyService.Register();
其他的
DependencyService.Register();
主页=新主页();
}
受保护的覆盖void OnStart()
{
//在应用程序启动时处理
}
受保护的覆盖void OnSleep()
{
//在应用程序睡眠时处理
}
受保护的覆盖void OnResume()
{
//在应用程序恢复时处理
}
}
每个平台都有自己的main()
类方法
- Android:
MainActivity.OnCreate()
- iOS:
AppDelegate.FinishedLaunching(UIApplication应用程序、NSDictionary选项)
- UWP:
App.OnLaunched(LaunchActivatedEventArgs e)
App
类并设置MainPage
如果要为BL执行操作,应该使用
App.OnStart()
方法。假设您谈论的是Xamarin.Forms
我是Xamarin的新手,正在寻找像main()方法这样的入口点
- 现在
的基本工作原理是,各自的本机类,即Xamarin.Forms
(Android)、MainActivity
(iOS)和AppDelegate
(UWP)在App
或.Net Standard
项目中调用PCL
类。 因此,这可以被视为一个入口点,就像控制台应用程序的App.Xaml
方法一样main()
- 对于这一点,最好的处理方法是,我建议您也检查一下,以更好地了解它是如何工作的
- 您可以将它们设置为静态,但我个人建议您只将冗余代码设置为静态。是的,您可以随意创建静态助手类李>
- 你问题的这一部分我不清楚,请再详细说明一下
如有疑问,请随时回复。在Android中,您可以覆盖默认的MainActivity,如下所示:
非常感谢,但是,BL?它的业务层让我注意到UWP命名空间(和项目)中的应用程序类与共享表单命名空间(和项目)中的应用程序类不同。在我的脑海里,我已经把这两者等同起来了,并且对于哪一个是首先创建的感到非常困惑。是的,我已经考虑过把东西放在
App.xaml
文件中。我发现它有点“隐藏”,tho。我读到了关于帮助的部分课程
方面的内容。我可以利用它吗?“App.xaml”文件位于项目的根目录下,因此您可以很容易地找到它。“部分”是指完成UWP项目中已经存在的应用程序类。您甚至可以在一个单独的文件中创建自己的“公共部分类应用程序”,但这会使它变得不必要的复杂。我将首先尝试在“服务”文件夹中设置您的数据源。