前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C# Xamarin移动开发基础进修篇

C# Xamarin移动开发基础进修篇

作者头像
跟着阿笨一起玩NET
发布2018-09-20 15:47:43
6K0
发布2018-09-20 15:47:43
举报
文章被收录于专栏:跟着阿笨一起玩NET

一、课程介绍

英文原文:C# is the best language for mobile app development. Anything you can do in Objective-C, Swift or Java, you can do in C#。 中文译意:C#是移动应用程序开发的最佳语言。 在Objective-C,Swift或Java中你可以做的任何事情,你都可以在C#中完成。 1)、本次分享课程适合人群如下: 1、 热爱Xamarin跨平台移动开发。 2、进一步了解和学习Xamarin For Android移动开发知识。 Xamarin主要有这么几项技术,Xamarin.Android、Xamarin.iOS和Xamarin.Forms,此外还有Xamarin.UWP、Xamarin.Windows、Xamarin.WinPhone等。本次阿笨的分享课程是 Xamarin.Android系列,希望大家要看清楚课程教学重点和覆盖内容。 2)、本次分享课程包含以下干货知识点: 1、BIOS如何开启Virtual Technology虚拟化技术 2、Android手机(魅蓝NOTE 3)如何开启开发者调试 3、如何快速上手通过Xamarin 创建移动Android App应用程序。 4、Android介绍以及SDK、版本。 5、Android ADB常用命令介绍 6、Android常用几种权限(Permission) 7、Android生命周期 8、Android四大组件 9、Android六大布局(Layout) 10、Android五大存储(Storage) 11、Android文件操作(File) 12、Android学习之Intent使用 13、Android页面跳转以及传值(Activity) 14、Android学习之广播使用(Broadcast) 3)、本次分享课程最终目标: 希望学完本次分享课程后能够对Xamarin For Android开发有一定的了解和掌握,从而减少大家的学习成本! 如果您同样对本次分享课程 《C# Xamarin移动开发基础进修篇》感兴趣的话,那么请跟着阿笨一起学习吧! 废话不多说,直接上干货,我们不生产干货,我们只是干货的搬运工。

二、概念名称含义解释

2.1、Mono介绍

Mono是一个由Xamarin公司(先前是Novell,最早为Ximian)所主持的自由开放源代码项目。与微软的.NET Framework(共通语言运行平台)不同,Mono项目不仅可以运行于Windows系统上,还可以运行于Linux,FreeBSD,Unix,OS X和Solaris,甚至一些游戏平台。 一句话:Mono一个致力于开创.NET在Linux上使用的开源工程。它包含了一个C#语言的编译器,能够使得开发人员在Linux用C#开发程序。

2.2、Xamarin 简介和工作原理

1)、Xamarin 简介 考虑如何生成 iOS 和 Android 应用程序时,许多用户都认为本机语言、Objective-C、Swift 和 Java 是唯一的选择。Xamarin 它的目标是用C#开发iOS、Android和Windows Phone原生应用程序。 Xamarin.Android 为 .NET 开发人员提供了完整的 Android SDK。 在 Visual Studio 中使用 C# 或 F# 生成完全本机的 Android 应用。 Xamarin.iOS 为 .NET 开发人员提供了完整的 iOS SDK。 在 Visual Studio 中使用 C# 或 F# 生成完全本机的 iOS 应用。 Xamarin.Mac 为 .NET 开发人员提供了完整的 macOS SDK。 在 Visual Studio for Mac 中生成完全的本机应用。 Xamarin.Forms 是一个跨平台 UI 工具包,允许开发人员有效创建可跨 iOS、Android、Windows Phone、通用 Windows 平台应用共享的本机用户界面布局。 2)、Xamarin工作原理 Android应用程序会被编译为IL代码,启动时再进行JIT编译(动态编译),发布程序的时候会包含一个mono runtime。 而iOS则是直接通过AOT编译(静态编译)为ARM汇编代码。具体见:http://xamarin.com/how-it-works

2.3、Xamarin Studio介绍

Xamarin Studio是一个用C#语言开发跨平台应用的集成开发环境,它和iOS以及AndroidSDK紧密整合。开发者可以使用Xamarin Studio在模拟器和真机上对移动应用进行测试和bug调试。Xamarin Studio能够完美支持Windows和Mac!

2.4、Visual Studio Tools for Xamarin介绍

自从微软收购了 Xamarin 团队后,将Xamarin Studio整合到了Visual Studio中了,可以说是给我们C#开发者带来了极大的福利。微软终于收购了跨平台移动开发公司Xamarin。至于收购金额并未得到公布。微软云端与企业部门执行副总裁Scot Guthrie在博客中指出,Xamarin将联合Visual Studio为客户提供丰富的移动开发产品,开发者将能使用C#开发移动软件并向所有主要移动平台推送全原生态的移动软件。 由于微软2016年2月正式收购了Xamarin,并将Xamarin内置到了VS2015 Update2中(Xamarin被微软收购后,从2016年5月开始,Xamarin for VS已经变为全部免费并开源了),因此2016年6月发布的Xamarin for VS 4.1.0.530不再需要破解,也不再需要单独的账号,直接安装或者升级就是企业版了。

三、Xamarin  App移动开发环境和工具

3.1工欲善其事必先利其器

工欲善其事,必先利其器是说:工匠想要使他的工作做好,一定要先让工具锋利。比喻要做好一件事,准备工作非常重要。我们不使用vs2015,我们不使用VS自带微软提供给我们的移动设备模拟器,我们不使用第三方移动设备模拟器比如:genymotion等等。大家时间都是宝贵的,把有限的时间投入到无限的工作中上。这里阿笨不陪大家折腾了,我们直接上真机真环境上开启我们的Xamarin For Android移动开发之旅。 早期VS2015+Xamarin Studio环境配置教程: C#移动跨平台开发(1)环境准备 Xamarin.Android 入门之:Xamarin+vs2015 环境搭建

vs2017安装xamarin

3.2、为什么选择Visual Studio 2017 宇宙第一IDE工具?

Visual Studio 2017 可是号称宇宙第一个IDE,而且自从微软收购xamarin公司后,VS已经集成了Xamarin Studio工具,我们可以在Visual studio 2015上开发移动应用项目了,现在升级到Visual Studio 2017 后移动开发项目得到了很大的升级和完善,直接做到了安装vs后就可以开发移动应用了,免去早期了很多繁琐的java 、android sdk环境的安装和配置工作。 可以这么说Visual Studio 2017 +是.NET程序员开发Xamarin App移动应用程序的最佳选择工具!

3.3、为什么要一台Android设备的手机?

提供的移动模拟器启动速度很慢,毕竟和真机环境还是有一些出入的,所以我们应用程序还是在部署在我们实际中的手机设备中去,真实的还原第一“现场”体验。

3.4、为什么需要安装虚拟镜像手机软件?

小萝贝控机大师:是一款免费的用电脑控制手机的工具,能够帮助你通过USB或WIFI用电脑实时控制手机;可以用一台电脑同时控制操作多台手机;可以录制控制脚本等等。一句话说白了就是可以在电脑上实时的监控我们的手机屏幕。

四、Xamarin开发资源分享

Android官网:https://developer.android.com/guide/ Xamarin官网:https://www.xamarin.com/ https://developer.xamarin.com/zh-cn/ 专注Xamarin开源社区: https://github.com/CSharpCross?page=2 Xamarin MSDN中文文档: https://docs.microsoft.com/zh-cn/xamarin/ Xamarin GitHub :https://github.com/xamarin Xamarin Components:https://github.com/xamarin/XamarinComponents

Xamarin Components

五、如何快速的学习和掌握Xamarin For Android移动开发

学习Xamarin For Android移动开发,阿笨总结了两点: 1、具备一定的C#语言基础开发知识。 只要你有一定的C#语言基础,那么上手Xamarin开发将毫无压力。 2、掌握一定的Android基础原理和知识。 Android界面布局(Layout)和常用的控件的使用以及Android原理知识这几点必须要有一定的掌握,可以学习从java android 方面的视频课程,因为这块的android知识都是一样的,跟开发语言并没有什么太大的关系。    小窍门:很多人觉得写布局很烦,写起来太困难,属性太多,其实布局文件理解起来很简单,就把它当做在做css+div布局就行,这样理解起来会对我们写布局有很大的帮助。

六、Xamarin For Android实战实例分享

6.1、BIOS如何开启Virtual Technology虚拟化技术

Virtualization Technology(VT),虚拟化技术,对于安卓模拟器而言,开启VT能够显著提高运行性能和效率。 核心步骤就是:进入BIOS,选择Configuration选项,选择Intel Virtual Technology并回车并选择Enabled。具体方法可以百度自行搜索。http://www.udaxia.com/upqd/5254.html

6.2、Android手机(魅蓝NOTE 3)如何开启开发者调试

魅蓝note3怎么进入开发者选项步骤: 1、点击设置按钮,先进入设置界面,切换到全部设置界面; 2、下滑界面,进入“关于手机”选项,下滑界面,找到“版本号”,在“版本号”的项目栏里,连续点击7次,就会提示开启开发人员选项; 3、回到设置界面,下滑到最后,就可以看到“开发人员选项”,进入“开发人员选项”就可以打开“USB调试”了。

6.3、如何快速上手通过Xamarin 创建移动Android App应用程序。

阿笨将带来xamarin for android小白快速的上手一个Hello World的应用程序示例。 初步认识一下android移动开发,了解一下android布局文件,android资源文件,android项目结构等等基础知识。初步到达感受体验对android开发的有一个比较基本的了解和认识吧。

6.4、Android介绍以及SDK、版本。

Android介绍是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机平板电脑,由Google公司和开放手机联盟领导及开发。同时也是Google于2007年11月5日Android logo相关图片(36张) 宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。 Android SDK:  SDK( software development kit)软件开发工具包,被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。Android SDK给你提供开发测试所必须的Android API类库,开发工具。 备注:Android SDK采用了Java语言,所以需要先安装JDK 。 参考文章: 最新Android系统版本与API等级对应关系表 Android各个版本的名称和更新

SKD版本

SKD版本

6.5、Android ADB常用命令介绍

Android 调试桥 (adb) 是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。说到 ADB 大家应该都不陌生,即 Android Debug Bridge,Android调试桥,身为 Android 开发的我们,熟练使用 ADB 命令将会大大提升我们的开发效率, ADB 的命令有很多,今天就来总结下我在开发常用到的一些 ADB 命令。 1)、Android模拟设备启动完成后查看连接到本地计算机上的Android设备列表:  adb devices (重点) 2)、查看Android 版本  :adb version 3)、启动 adb server :adb start-server 4)、停止 adb server :adb kill-server 5)、列出手机装的所有app的包名:adb shell pm list packages 6)、列出系统应用的所有包名:adb shell pm list packages -s 7)、列出除了系统应用的第三方应用包名:adb shell pm list packages -3 8)、安装一个apk,执行以下命令:adb install  直接卸载:adb uninstall 9)、查看ADB帮助:adb help 10)、参考文章:常用ADB命令 思考:风靡一时的微信跳一跳小程序C#开挂程序,实现就是通过模拟adb发送指令给手机从而达到控制的目的。

6.6、Android常用几种权限(Permission)

访问网络android.permission.INTERNET,访问网络连接,可能产生GPRS流量 获取网络状态android.permission.ACCESS_NETWORK_STATE,获取网络信息状态,如当前的网络连接是否有效 获取WiFi状态android.permission.ACCESS_WIFI_STATE,获取当前WiFi接入的状态以及WLAN热点的信息 写入外部存储android.permission.WRITE_EXTERNAL_STORAGE,允许程序写入外部存储,如SD卡上写文件 更新详细的android权限可以参考:android权限大全

6.7、Android生命周期

Android系统是一个多任务(Multi-Task)的操作系统,可以在用手机听音乐的同时,也执行其他多个程序。每多执行一个应用程序,就会多耗费一些系统内存,当同时执行的程序过多,或是关闭的程序没有正确释放掉内存,系统就会觉得越来越慢,甚至不稳定。为了解决这个问题,Android引入了一个新的机制,即生命周期(Life Cycle)。

6.8、Android四大组件

Android四大组件分别为activity、service、content provider、broadcast receive

6.9、Android六大布局(Layout)

六大界面布局方式包括: 线性布局(LinearLayout)、框架布局(FrameLayout)、表格布局(TableLayout)、相对布局(RelativeLayout)、绝对布局(AbsoluteLayout)和网格布局(GridLayout) 

6.10、Android五大存储(Storage)

1、 使用SharedPreferences存储数据 2、 文件存储数据      3 、SQLite数据库存储数据(重点学习) 4 、使用ContentProvider存储数据 5 、网络存储数据

6.11、Android文件操作(File)

Android 中资源分为两种,一种是res下可编译的资源文件, 这种资源文件系统会在R.java里面自动生成该资源文件的ID,访问也很简单,只需要调用R.XXX.id即可;第二种就是放在assets文件夹下面的原生资源文件,放在这个文件夹下面的文件不会被R文件编译,所以不能像第一种那样直接使用.Android提供了一个工具类,方便我们操作获取assets文件下的文件:AssetManager

6.12、Android学习之Intent使用

Xamarin Android中Activity之间传递一个简单的数值 //传入       Intent it =new Intent(this,typeof(OtherActivity));   it.PutExtra("name","科比")   StartActivity(it);   //接收   string Name = Intent.GetStringExtra("name");   Xamarin Android中Activity之间传递多个数值传递多个值可以使用Bundle对象作为容器,通过调用Bundle的Put**** 先将数据存储到Bundle中,然后调用Intent的PutExtras方法将Bundle存入Intent中,调用的时候也是一样的道理。这种键值的形式传递数据,区分大小写,注意!  //传入   Intent it = new Intent(this,typeof(OtherActivity));   Bundle bd = new Bundle();   bd.PutBoolean("isNiubi",true);   bd.PutInt("Id",123456);    bd.PutString("name","詹姆斯");   it.PutExtras(bd);   StartActivity(it);   //接收 Bundle bd = Intent.Extras;   int Id = bd.GetInt("Id"); string Name = bd.GetString("name");  bool niubi = bd.GetBoolean("niubi");  

6.13、Android页面跳转以及传值(Activity)

开启一个新的Activity有两种方法:StartActivity()和StartActivityForResult()。  startActivity好理解,startActivityForResult()就麻烦一点,下面这张图方便我们的理解: requestCode,请求码,自己随意设置,但必须是非负数。只有是非负数时,Activity退出时,这个码会返回到onActivityResult()。 resultCode,结果码,用于标识返回数据来自于哪个新Activity,它的值一般是RESULT_CANCELED, RESULT_OK, RESULT_FIRST_USER。

startActivityForResult图解

6.14、Android学习之广播使用(Broadcast)

广播是Android中一种很重要的传递消息的方式。 广播可以静态的注册,也可以动态的注册 。 静态注册就是在AndroidManfiest.xml文件夹中注册。(静态注册就是在AndroidManfiest.xml文件夹中注册) 动态注册就是在代码中实现。

七、总结

1、我们应该具有网管的精神-重启!。我们必须承认事物没有完美的,况且Xamarin还在进化阶段,有bug是很正常的,不稳定也可以理解。我之前经常遇到VS挂掉、连接模拟器失败,怎么都解决不了、代码不按照正常思维执行、VS自己闪退、视图编辑器打开失败、编译总是失败等等一些问题,经过重启环境更甚至于重启电脑后,一切正常! 2、阿笨计划后续将给大家带来实际项目中开发的一个Xamarin For Adroid App应用程序。到时候在《C# Xamarin移动开发项目实战篇》课程中,阿笨将自己的实际项目经验毫无保留的分享给大家。快速通过Xamarin打造一个Android适合于后端管理系统App应用程序。如果您继续感兴趣的话可以跟着阿笨一起学习吧。欲知后事如何,且看下回分解! 俗话说的好:师父领进门修行在个人,希望大家在学习的道路上一直坚持下去!

八、在线源码观看地址

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-06-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、课程介绍
  • 二、概念名称含义解释
  • 三、Xamarin  App移动开发环境和工具
  • 四、Xamarin开发资源分享
  • 五、如何快速的学习和掌握Xamarin For Android移动开发
  • 六、Xamarin For Android实战实例分享
  • 七、总结
  • 八、在线源码观看地址
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档