我在设置 MvvmCross 6.0 时做错了什么?

2023-12-04

我是 MvvmCross 6.0 和 Xamarin 的新手。

我正在尝试遵循这里是 MvvmCrosss 5.5 的教程

我按照解释,

  1. 创建 App.xaml 作为 MvxFormsApplication
    <?xml version="1.0" encoding="utf-8" ?>
<core:MvxFormsApplication xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:core="clr-namespace:MvvmCross.Forms.Core;assembly=MvvmCross.Forms"
             x:Class="App3.App">
</core:MvxFormsApplication>
  1. CoreApp.cs 作为 MvxApplication 并运行 RegisterAppStart();在我重写的Initialize()中
public class CoreApp : MvxApplication
    {

        public override void Initialize()
        {
            CreatableTypes()
                .EndingWith("Service")
                .AsInterfaces()
                .RegisterAsLazySingleton();

            CreatableTypes()
                .EndingWith("Client")
                .AsInterfaces()
                .RegisterAsLazySingleton();

            // register the appstart object
            RegisterAppStart<MainPageViewModel>();
        }
    }
  1. MainPageViewModel 继承 MvxViewModel
public class MainPageViewModel : MvxViewModel
    {
    }
  1. 创建为 MvxContentPage 且类型为 MainPageViewModel 的视图

<Label Text="Welcome to Xamarin.Forms!" 
       VerticalOptions="Center" 
       HorizontalOptions="Center" />

  1. 删除 MainActivity 并创建一个名为 MainApplication.cs 的文件,如下所示
[Activity(Label = "MvvmcrossGettingStarted", Icon = "@drawable/icon", Theme = "@style/MainTheme", MainLauncher = true,

ConfigurationChanges = ConfigChanges.ScreenSize | 配置更改 = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] 公共类MainActivity:MvxFormsAppCompatActivity { protected override void OnCreate(Bundle 捆绑) { TabLayoutResource = Resource.Layout.Tabbar; ToolbarResource = Resource.Layout.Toolbar;

            base.OnCreate(bundle);

            var startup = Mvx.Resolve<IMvxAppStart>();
            startup.Start();
            InitializeForms(bundle);

        }
    }


    public class Setup : MvxFormsAndroidSetup
    {
        public Setup():base()
        {

        }

        protected override IEnumerable<Assembly> AndroidViewAssemblies => new List<Assembly>(base.AndroidViewAssemblies
            .Union(new[] { typeof(App).GetTypeInfo().Assembly })
            .Except(new[] { this.GetType().Assembly })
        );

        protected override Application CreateFormsApplication()
        {
            return new App();
        }


        protected override IMvxApplication CreateApp() => new CoreApp();
    }

然而,我启动应用程序时,它给了我 null 异常,说 OnCreated 方法中的“bundle”参数为 null。

附:本教程提到创建Setup.cs,但我不知道代码如何运行Setup.cs......我看不到在哪里引用它。


我不知道为什么您在使用 6.0 版时要查看 5.5 版教程。尝试以下分步指南,来自同一作者,但版本为 6.0

您可能还想从 Nick 的网站下载样本GitHub 仓库,检查事情如何运作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我在设置 MvvmCross 6.0 时做错了什么? 的相关文章

  • 如何阻止 Xamarin 在启用位码的情况下构建我的应用程序?

    在我的 iOS 版本的配置中 没有禁用位码的选项 在 Xcode 中可以设置 ENABLE BITCODE NO 我需要这个 因为我的链接框架不是用位码构建的 而且现在苹果不再允许半位码编译的应用程序 In your csproj对于您的
  • android-ndk 位于哪里?

    我安装了 Visual Studio 2017 在安装程序菜单中 我安装了 Xamarin 和 Visual C 但是 当我创建一个新项目时 转到 工具 gt 选项 gt Xamarin 我看到 android ndk 文本框为空 而其他文
  • GetAsync 请求返回空内容

    我想知道为什么当我在邮递员中尝试它有数据返回时它返回 null 这是我的代码 public async Task
  • Xamarin 构建错误:错误 APT0000:在 ...中,无法找到属性

    我收到了另一位开发商的项目 我设置了我的机器 带有所需组件的 VS 2017 已配置 Android SDK Manager已安装相应版本 项目配置为编译Android 7 1 Nougat 开始构建时出现一个错误 1 gt ERROR e
  • Monodroid JavaScript 接口

    Monodroid 尚未原生支持 JavaScriptInterface 与 WebView 我正在寻找可用于此解决方法的示例 java 文件 IntPtr JavaScriptInterface Class JNIEnv FindClas
  • xaml.cs 文件上的 InitializeComponent() 出现错误

    有时我会收到一个红色错误 内容如下 InitializeComponent 在当前上下文中不存在 以及我的其他变量 xaml受约束的x Name The x ClassXaml 文件中的名称空间和类名确实对应于我的xaml cs file
  • Xamarin 表单:jamesmontemagno/MediaPlugin:添加到 IOS 应用程序中的 UI 时,所选图片会旋转

    我跟着this https github com jamesmontemagno MediaPlugin用于从画廊和相机拍摄照片的博客 但在 IOS 的 UI 中 所选图片以右旋转形式显示 仅在使用相机时才会出现问题 而我对图库没有任何问题
  • 无法部署到真实的 Android 设备 Xamarin

    我的问题与这篇文章有关即使应用程序似乎未安装 也会失败 INSTALL FAILED UPDATE INCOMPATIBLE https stackoverflow com questions 26794862 failure instal
  • Xamarin Apple 帐户错误:加载证书时出错:对象引用未设置到对象的实例

    我正在尝试解决我有这个问题 https stackoverflow com questions 69286865 a valid provisioning profile for this executable was not found
  • Xamarin.iOS 目标 iOS 6 SDK

    我们已升级到 XCode 5 和 Xamarin iOS 7 x 但有一个应用程序尚未准备好支持 iOS 7 有没有办法以 iOS 6 0 SDK 为目标 并编译应用程序 使其具有旧的 iOS 6 键盘等 我们尝试更改 iOS Build
  • 如何使用 xamarin 表单提示用户进行地理定位

    我正在 Xamarin Forms 应用程序中开发一个应用程序 需要请求地理位置权限 如果获得许可 它需要从设备获取地理位置数据 然后将地理位置坐标放入 Forecast io URL 我正在使用 James 的 Geolocator 插件
  • MvvmCross 在 Xamarin Studio 中工作吗?

    我花了一段时间得到一个直接的答案 我做了很多搜索和阅读 并尝试了很多东西 有时听起来是可能的 有时听起来只有通过进行链接和其他操作才可能实现 这是我试图避免的事情 我是 PCL 的忠实粉丝 我使用 Visual Studio 2012 Xa
  • Xamarin.forms 长时间运行的后台工作

    我是 Xamarin 平台的新手 我正在使用 Xamarin forms 为所有三个主要平台 WP iOS Android 开发应用程序 如何在后台与我的服务器同步数据 gt 我需要类似于 Android Service 的东西 即使用户转
  • Xamarin.Forms 按钮的内容

    我正在尝试将自定义内容添加到 Xamarin Forms 中的按钮 默认情况下 按钮是这样创建的
  • 汉堡菜单棱镜xamarin形式?

    我正在尝试在 Xamarin Forms 中使用 Prism 创建一个应用程序 Xamarin 表单版本 2 3 3 175 棱镜版本 6 2 0 汉堡菜单可以在 Android 中使用 但是当我在 UWP 上运行它时 它不会显示图标 而且
  • 如何在 Xamarin Forms 中获取视频的长度

    如何使用 Xamarin Forms 获取视频的长度 我已使用以下链接从视频中获取缩略图 但我需要能够获取视频长度 https forums xamarin com discussion 119450 create thumbnail fr
  • 点击当前选项卡刷新页面时的 Xamarin.Forms TabbedPage 事件

    我正在使用 Xamarin Forms 构建 iOS Android 应用程序 并有一个 TabbedPage 如果用户已经在选项卡 2 上 并且单击了选项卡 2 并且我希望刷新选项卡 2 或者运行我自己的函数 以便我可以自己刷新它 有没有
  • Xamarin.Android 没有“android:exported”属性设置错误

    当 Xamarin Android 设置为 Android 12 时 我收到 您上传了包含活动的 APK 或 Android 应用程序包 具有意图过滤器的活动别名 服务或广播接收器 但是 没有设置 android exported 属性 该
  • Xamarin Android Webview Javascript

    我正在尝试通过 Xamarin for Android 创建一个移动应用程序 它有一个显示网站的 WebView 问题是正常按钮会触发 但 javascript 事件不会触发 我已经启用了 Javascript 但没有运气 如何在 Andr
  • Xamarin Studio 上的代码覆盖率

    是否有可靠的工具可以帮助我们测量单元测试的代码覆盖率 我主要从事 Xamarin 项目 在 Xamarin Studio 中 为了不得到大量 1 我环顾四周 但找不到足够成熟可靠的东西 我不要求产品免费 但如果是的话当然更好 Mono 4

随机推荐