一、课程介绍

英文原文: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应用程序。如果您继续感兴趣的话可以跟着阿笨一起学习吧。欲知后事如何,且看下回分解!

俗话说的好:师父领进门修行在个人,希望大家在学习的道路上一直坚持下去!

八、在线源码观看地址


在线观看

扫码关注


http://www.taodudu.cc/news/show-2014728.html

相关文章:

  • 手机演示软件
  • C# Xamarin For Android移动开发基础进修篇
  • 电脑控制手机端 软件
  • Web压力测试和手机App测试
  • sikuli的原理
  • 手机屏幕录制
  • C# Xamarin移动开发基础进修篇
  • sikuli python java_自动化测试之sikuli调研
  • 实例 -- Loadrunner实现Android / IOS 手机APP压力测试
  • 手机自动化测试
  • 安卓投屏大师_玩转手机投屏,我推荐三款不一样的投屏工具!
  • java实现一台电脑控制多台手机_涨姿势:教你用电脑远程控制多台手机!终于可以挂手机了!...
  • 微信客服我是这样管理的
  • 小萝卜控机大师录制脚本(手机app自动化)
  • 小萝贝控机大师
  • 小萝贝控机大师工具推荐(一款在PC就能控制手机界面的工具)
  • 怎么制作自己的数据集
  • 谈谈我对数据结构的理解
  • 数据仓库实战教程
  • 数据治理:数据血缘关系分析
  • 数据仓库之元数据管理
  • 数据结构教材推荐
  • 数据库, 数据仓库, 数据集市,数据湖,数据中台
  • 大数据平台、从数仓 到 数据中台
  • python数据分析收获与心得体会_初次数据分析--我的心得体会
  • 什么是数据结构?对数据结构的理解
  • 删除百度网盘“我的应用数据”文件夹
  • 数据权限设计研究-行数据权限
  • java基本数据类型范围
  • 不收费的数据恢复软件推荐

C# Xamarin For Android移动开发基础实战演练相关推荐

  1. C# Xamarin For Android移动开发项目实战篇

    一.课程介绍 在前面阿笨的<C# Xamarin移动开发基础进修篇>课程中,大家已经熟悉和了解了Xamarin移动App开发的基础知识和原理.本次分享课<C# Xamarin移动开发 ...

  2. 湖南某科技大学 安卓Android移动开发基础期中考试笔记(持续更新)

    湖南某科技大学 安卓Android移动开发基础期中考试笔记 前言 建议大家把第三章的三个实战演练和本笔记的所有代码部分都在AS中手打一遍,手打的意思是看懂之后自己写出来,而不是照着抄.这不90分就到手 ...

  3. android界面数据存储,Android应用开发基础之数据存储和界面展现(二)

    Android应用开发基础之数据存储和界面展现(二) 常见布局 相对布局 RelativeLayout 组件默认左对齐.顶部对齐 设置组件在指定组件的右边 android:layout_toRight ...

  4. android 启动服务同时传递数据,Android Studio开发基础之起动Service,并通过从Activity向Service传递数据...

    Android Studio开发基础之启动Service,并通过从Activity向Service传递数据 本实例演示启动Service,并通过从Activity向Service传递数据,新建一个Se ...

  5. Android视频开发基础

    Android视频开发基础 版权声明:本文为[viclee]原创,如需转载请注明出处~ https://blog.csdn.net/goodlixueyong/article/details/6205 ...

  6. 音视频开发(19)---Android视频开发基础(一)

    Android视频开发基础(一) 版权声明:本文为[viclee]原创,如需转载请注明出处~ https://blog.csdn.net/goodlixueyong/article/details/6 ...

  7. Android视频开发基础(二)

    Android视频开发基础(二) https://blog.csdn.net/goodlixueyong/article/details/62447452 前一篇文章详细介绍了视频的一些基本概念,这些 ...

  8. Android App开发基础

    Android App开发基础 App的开发特点 (1)App的运行环境 1.使用数据线把手机连到电脑上 2.在电脑上安装手机的驱动程序 3.打开手机的开发者选项并启用USB调试 4.将连接的手机设为 ...

  9. Android App开发基础篇—数据存储(SQLite数据库)

    Android App开发基础篇-数据存储(SQLite数据库) 前言:Android中提供了对SQLite数据库的支持.开发人员可以在应用中创建和操作自己的数据库来存储数据,并对数据进行操作. 一. ...

  10. 浅谈Android游戏开发基础和经验

    Android游戏开发基础和经验是本文要介绍的内容,主要是来了解并学习Android游戏开发的内容实例,具体关于Android游戏开发内容的详解来看本文. 做一个类似俄罗斯方块的android游戏开发 ...

最新文章

  1. Git 常用命令清单,掌握这些,轻松驾驭版本管理
  2. nyoj841最高位数字
  3. 后台获取(Background Fetch) - HTTP 203 Advent
  4. android 获取屏幕的宽高
  5. Mybatis的模糊查询
  6. replicated vs global mode - 每天5分钟玩转 Docker 容器(105)
  7. 洛谷P4720 【模板】扩展卢卡斯
  8. 【英语学习】【Level 08】U02 Movie Time L5 Art in motion
  9. php基础知识和函数
  10. c语言程序设计教程课后选择题答案,C语言程序设计教程课后习题包括答案.docx...
  11. kmeans聚类算法_常用聚类算法综述
  12. 女生节送什么礼物给女友,2022女生节送礼合集
  13. 习题5.4 找出4*5矩阵中值最小和最大元素,并分别输出其值及所在的行号和列号。
  14. 爬虫技术(01)神箭手爬虫初学案例解读
  15. 制作Linux的优盘(usb)启动盘
  16. 爱因斯坦思考题(多维穷举)
  17. fh admin mysql版本_在用mysql-front的时候遇到显示:程序注册时间到期程序将被限制模式下运行。...
  18. 外贸必备通讯工具之一,AntTone 的介绍及使用教程
  19. android 仿简书评论,Android 开发仿简书登录框可删除内容或显示密码框的内容
  20. python生成10个随机密码_python生成随机密码

热门文章

  1. 下载 Eclipse 中文语言包进行汉化
  2. 移动固态硬盘没有连接到计算机,移动固态硬盘装个Win to go,这才是移动固态硬盘正确的打开方式...
  3. java 知网 语义 相似度,基于知网的词汇语义相似度计算-hownet!.doc
  4. 同时处理知网、万方、维普数据库——CiteSpace、Ucinet、Vosviewer等
  5. 大数据基础概念思维导图
  6. 霍常亮淘宝客教你开发app第10节:搭建uni-app开发环境Hbuilder
  7. SD卡格式化咋办?数据恢复看这里!
  8. SpringBoot笔记
  9. 《自己动手写操作系统》实践(一)
  10. DOS-强制结束进程命令(ntsd命令/taskkill命令)使用教程