使用Xamarin开发移动应用示例——数独游戏(一)项目的创建与调试
最近项目中需要移动客户端,由于团队基本上使用.Net产品线,所以决定使用Xmarin进行开发,这样技术路线统一,便于后期维护。官网上是这样介绍的“ Xamarin 允许你使用 .NET 代码和特定于平台的用户界面生成适用于 Android、iOS 和 macOS 的本机应用。 Xamarin.Forms 允许你使用采用 C# 或 XAML 编写的共享 UI 代码生成本机应用。” 本文以数独游戏开发为例,总结一下Xamarin开发的基本过程。
环境准备
开发Xamarin应用需要安装Visual Studio 以及相关的组件,如下图所示:

选择安装“使用.Net的移动安装”。
创建Xamarin项目
打开Visual Studio 2022,选择创建Xamarin Form项目:

选择选项卡式布局:

解决方案中包括三个项目:一个共享类库和针对Android以及iOS的项目,在共享类库中编写界面和主要的逻辑,在另外两个项目中编写Android和iOS特定的部分。

这个项目中包括了几种常用的界面模板,参考这些模板可以编写我们自己的应用。从共享类库的结构可以看出,Xamarin类似于WPF桌面编程,也是采用基于XAML编写界面,采用MVVM模式实现代码和界面的分离。
运行和调试
项目搭建完成,我们可以试着运行一下。Android系统的调试可以使用模拟器或者连接真机,个人觉得使用真机调试更快,更方便。我使用的是华为P30进行调试,使用数据线连接手机后,手机中会提示是否允许连接,确认后,在Visual Studio中就会出现相关的设备选项,如下图所示:

这时,就可以启动调试了。编译完成后,会在手机上部署这个应用,部署过程中手机上会有安全提示,部署完成后,应用会自动启动,手机上的界面如下:

这时可以进行调试了。
测试热加载
Xamarin支持热加载,也就是在调试运行期间,如果修改界面,在真机或者模拟器上可以即时看到修改的效果,大大提高开发的效率。首先,在真机上运行项目,然后在Views目录下找到AboutPage.xaml,修改下面的代码:
<ContentPage.Resources>
<ResourceDictionary>
<Color x:Key="Accent">#96d1ff</Color>
</ResourceDictionary>
</ContentPage.Resources>
将颜色##96d1ff改为red,这时,真机上界面马上发生了改变:

到这里我们已经完成了项目的创建,并且可以进行运行和调试,下一步增加我们需要的界面,并编写相关的逻辑。
使用Xamarin开发移动应用示例——数独游戏(一)项目的创建与调试的更多相关文章
- 使用Xamarin开发移动应用示例——数独游戏(二)创建游戏界面
在本系列第一部分,我们创建了程序框架,现在我们创建游戏的界面,项目代码可以从Github下载:https://github.com/zhenl/ZL.Shudu .代码随项目进度更新. 首先在View ...
- 使用Xamarin开发移动应用示例——数独游戏(五)保存游戏进度
项目代码可以从Github下载:https://github.com/zhenl/ZL.Shudu .代码随项目进度更新. 保存进度是移动应用的基本功能,在应用的使用过程中会有各种各样的可能导致使用中 ...
- 使用Xamarin开发移动应用示例——数独游戏(六)使用数据库
项目代码可以从Github下载:https://github.com/zhenl/ZL.Shudu .代码随项目进度更新. 现在我们希望为应用增加更多的功能,比如记录每个完成的游戏,可以让用户自己添加 ...
- 使用Xamarin开发移动应用示例——数独游戏(七)添加新游戏
项目代码可以从Github下载:https://github.com/zhenl/ZL.Shudu .代码随项目进度更新. 现在我们增加添加新游戏的功能,创建一个页面,编辑初始局面,并保存到数据库. ...
- 使用Xamarin开发移动应用示例——数独游戏(八)使用MVVM实现完成游戏列表页面
项目代码可以从Github下载:https://github.com/zhenl/ZL.Shudu .代码随项目进度更新. 前面我们已经完成了游戏的大部分功能,玩家可以玩预制的数独游戏,也可以自己添加 ...
- 使用Xamarin开发移动应用示例——数独游戏(四)产生新游戏算法改进
项目代码可以从Github下载:https://github.com/zhenl/ZL.Shudu .代码随项目进度更新. 前面我们使用一个数组保存预制的游戏,然后随机从中抽取一个游戏作为新游戏,如果 ...
- iOS开发 Swift开发数独游戏(一)
一.前言 我姥姥是一名退休数学老师,一直很喜欢玩数独游戏.我以前答应过她要给她写一个数独游戏.本来计划是写一个Android应用的,但恰好我学了好长时间iOS开发一直没做什么"大项目&quo ...
- android开发——数独游戏
最近研究了一下android,写了一个数独游戏,具体如下: 游戏界面需要重写一个ShuduView继承View, 然后自定义一个Dialog: 1.需要继承 Dialog 类, 2.并要定义一个有参构 ...
- iOS开发 Swift开发数独游戏(四) 游戏界面的界面与逻辑
一.游戏界面涉及到的功能点 1)数独格子的建模 (1)绘制数独格子要考虑到标记功能 所以要在每个格子内预先塞入9个标记数字,仅数独格子算下来就有9*9*9=729个格子且存在大量嵌套(这导致我在操作S ...
随机推荐
- django——django链接mysql数据库
1.创建项目 django-admin startproject django_mysql 2.创建App python manage.py startapp app1 3.Mysql数据库配置 (1 ...
- 【LeetCode】11. Container With Most Water 盛最多水的容器
作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 个人公众号:负雪明烛 本文关键词:盛水,容器,题解,leetcode, 力扣,python ...
- 教学日志:javaSE-初识java
一.编译执行第一个java程序 /* 总结: 1.编译执行第一个java程序 步骤如下: 1.安装JDK开发环境: 2.配置环境变量,JAVA_HOME,PATH;--验证环境变量配置是否成功 jav ...
- iNeuOS工业互联网操作系统,矿山动态产量计量系统和铁路车辆识别系统应用场景案例
目 录 1. 概述... 2 2. 平台演示... 2 3. 矿山动态产量计量系统... 2 4. 铁路车辆识别系统... 4 1. 概述 iN ...
- MacOS使用Docker创建MySQL主从数据库
一.拉取MySQL镜像 通过终端获取最新的MySQL镜像 docker pull mysql/mysql-server 二.创建MySQL数据库容器配置文件对应目录 我们在当前用户下创建一组目录,用来 ...
- Improving Adversarial Robustness Using Proxy Distributions
目录 概 主要内容 proxy distribution 如何利用构造的数据 Sehwag V., Mahloujifar S., Handina T., Dai S., Xiang C., Chia ...
- Simplicial principal component analysis for density functions in Bayes spaces
目录 问题 上的PCA Hron K, Menafoglio A, Templ M, et al. Simplicial principal component analysis for densit ...
- Salesforce LWC学习(三十八) lwc下如何更新超过1万的数据
背景: 今天项目组小伙伴问了一个问题,如果更新数据超过1万条的情况下,有什么好的方式来实现呢?我们都知道一个transaction只能做10000条DML数据操作,那客户的操作的数据就是超过10000 ...
- 编写Java程序随机输入日期计算星期几,打印任意一年的日历
需求说明: 随机输入日期计算星期几,打印任意一年的日历 已知,1900年1月1日是星期1,用户随机输入年月日,计算星期几 实现思路: 一.知道1900年1月1日为星期一,求输入的年份月份与1900年1 ...
- kubernetes部署第一个应用案例
对比有无-o wide参数的区别 kubectl get pod --all-namespaceskubectl get pod --all-namespaces -o wide如下,查看所有Pod信 ...