C# Xamarin移动开发项目实战篇

一、课程介绍

在前面阿笨的《C# Xamarin移动开发基础进修篇》课程中,大家已经熟悉和了解了Xamarin移动App开发的基础知识和原理。本次分享课《C# Xamarin移动开发项目实战篇》,阿笨将直接带领大家进入Xamarin for android的实战项目环节,真真体验一下xamarin开发的魅力吧。

由于阿笨学习Xamarin也是“半路出家”,“赶鸭子上架”的状态,视频教学中关于Xamarin for Android的知识点难免有不足和不完善的地方,希望大家能够多多交流和互相学习。阿笨保证的一点是把自己知道的知识尽量的毫无保留全部都给大家进行分享。

本次分享课程适合人群如下:

1、 热爱Xamarin跨平台移动开发。

2、进一步了解和学习Xamarin For Android移动开发实战知识。

本次分享课包含实战分享知识点如下:

1、Android 线程实际场景运用(UI Thread)

2、Android播放Assets目录下的音乐

3、Xam.Plugins.Settings插件存储应用程序配置信息。

4、Android漂亮的导航菜单栏控件(Navigation Bar)

5、Android漂亮的下拉列表控件(ComboBox Bar)

6、Android漂亮的Loading提示控件(ProgressDialog)

7、Android漂亮的主菜单界面(GridView)

8、Android漂亮的列表展示数据(ListView)

9、 C# Xamarin App之打包APK文件和自动升级

10、思考与探讨移动架构设计

1)、C#如何设计我们的Android移动项目框架。

2)、Android如何友好的记录HTTP服务接口请求日志。

本次分享课程最终目标:

希望学完本次分享课程后能够快速通过Xamarin For Android打造一个后台管理系统App应用程序,从而将学习成果转化为工作成果。

废话不多说,直接上干货,我们不生产干货,我们只是干货的搬运工。

二、Xamarin For Android项目实战示例演示

项目实战示例演示

三、C# Xamarin移动开发项目实战分享

3.1、Android 线程实际场景运用( UI Thread)

主线程也叫UI线程

当一个程序启动的时候,系统自动创建一个主线程,在这个主线程中,你的应用(app、winform等客户端程序)和UI组件发生交互,负责处理UI组件的各种事件,所以主线程也叫UI线程。

UI组件的更新一定要在UI线程里

android为了线程安全,不允许在UI线程外的子线程操作UI,这个结论不仅仅是说android,这个概念同样适用于其他的客户端系统,它的好处时提高客户端UI的用户体验和执行。

3.2、Android播放Assets目录下的音乐

Android assets的作用:

1: 可以用来实现html5+javascript+android的混合开发中,一般html5和javascript以及相关资源可以存放在Assets文件夹内。

2:可以放一些资源文件

3.3、Xam.Plugins.Settings插件存储应用程序配置信息。

在Nuget命令行中输入如下的命令即可。

Install-Package Xam.Plugins.Settings

主要是CrossSettings.Current对象和它的2个函数GetValueOrDefault、AddOrUpdateValue,这2个函数的功能看名字应该就非常清楚了。

// 从设置中获取指定Key的值,并转换成相应的类型。GetValueOrDefault(stringkey);// 向设置中添加制定key的值,如果已存在key则是更新当前值。AddOrUpdateValue(stringkey,Tvalue);

设置的生命周期与应用程序一样,当应用程序被卸载时清空。

3.4、Android漂亮的导航菜单栏控件(Navigation Bar)

Android手机可分为有导航栏以及没导航栏两种,一般有物理按键的机器不会带有导航栏,而没有物理按键的机器则基本会带,比如华为的手机基本都是带导航栏的。因此需要自定义重写一个Navigation控件。

3.5、Android漂亮的下拉列表控件(ComboBox Bar)

Spinner这个词可能有些陌生,在Java中,就是ComboBox。由于Android 系统的Spinner 控件无法满足项目的要求,所以自定义重写了一个ComboBox控件。

3.6、Android漂亮的Loading提示控件(ProgressDialog)

ProgressDialog可以在当前界面弹出一个置顶于所有界面元素的对话框,同样具有屏蔽其他控件的交互能力,用于提示用户当前操作正在运行,让用户等待;以下就是ProgressDialog的使用步骤:

1.创建一个ProgressDialog的实例;

2.设置其标题;

3.设置其内容;

4.设置可否使用back键返回,这里设置若是为progressDialog.setCancelable(flase),则要在数据加载完成后调用ProgressDialog的dismiss()来关闭对话框;

5.将对话框显示出来。

3.7、Android漂亮的主菜单界面(GridView)

GridView与ListView的用法基本一致,不同的只是布局。当我们打开手机,应用会以宫格显示,那就是GridView。

以代码形式展示给大家,适配器使用SimpleAdapter,熟悉了适配器的用法,就只需要注意几个GridView的属性即可。

ListView 和 GridView 是 AdapterView 的子类,它们可以绑定填充到一个适配器,从外部源检索数据,并创建一个视图表示每个数据项。

3.8、Android漂亮的列表展示数据(ListView)

GridView与ListView的用法基本一致,不同的只是布局。当我们打开手机,应用会以列表显示,那就是GridView。

ListView 和 GridView 是 AdapterView 的子类,它们可以绑定填充到一个适配器,从外部源检索数据,并创建一个视图表示每个数据项。

3.9、C# Xamarin App之打包APK文件和自动升级

详细可以参考《C# Xamarin App之打包APK文件和自动升级》课程。

三、思考与探讨移动架构设计

3.1、C#如何设计我们的Android移动项目框架。

3.2、Android如何友好的记录HTTP服务接口请求日志。

四、总结

阿笨当初学习Xamarin也就花了三天的时间就开发出了视频中的App雏形。所以说大家不要认为xamarin for android 开发有多么的困难,现在微软也大力在更新xamarin,之后对我们开发者来说只有越来越方便的了。

学习Xamarin For Android移动开发,阿笨总结了两点:

1、具备一定的C#语言基础开发知识。只要你有一定的C#语言基础,那么上手Xamarin开发将毫无压力。

2、掌握一定的Android基础原理和知识。

Android界面布局(Layout)和常用的控件的使用以及Android原理知识这几点必须要有一定的掌握,可以学习从java android 方面的视频课程,因为这块的android知识都是一样的,跟开发语言并没有什么太大的关系。

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

五、在线源码观看地址

在线观看地址:跟着阿笨一起玩NET

微信公众号:ABenDotNet

原文地址:http://blog.51cto.com/4500899/2134526

时间: 2024-11-10 08:07:30

C# Xamarin移动开发项目实战篇的相关文章

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

一.课程介绍 英文原文: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.进一步了解和学习

NET 分布式架构开发项目实战

.NET 分布式架构开发项目实战 从头到尾,一步一步讲述一个真实的项目实战,关注点主要是架构的思考和实现,以及如何解决平时项目遇到的一些问题. 同时也司公布源代码. 如何构建高性能,稳定SOA应用之-负载均衡-Decoupled Invocation 摘要: 当我们在为一个软件设计架构的时候,我们不仅仅要确保所做出来的架构要满足系统的业务需求,更加要确保做出来的架构要满足可维护性,安全,稳定性的非业务行的需求.另外一个非常重要的非功能性需求就是性能.性能涉及到很多方面的关注点,例如吞吐量,延迟等

ASP.NET Web开发项目实战视频教程

.NET Web开发零基础到商业项目实战北风特训营(赠送价值近百万商业源码)基于ASP.NET MVC4和Knockout.JS等技术实现Web通用商业框架课程讲师:风舞烟 课程分类:套餐系列适合人群:高级课时数量:420课时用到技术:ASP.NET,WebForm,Asp.NET MVC,商业源 涉及项目:商业项目实战 咨询qq:1840215592 Web开发项目实战课程详细查看:http://www.ibeifeng.com/netweb.html超实用项目实训:项目名称项目一..NET下

Hadoop Spark大数据全套课程+共享单车开发项目实战

hadoop spark大数据实时计算全套课程+共享单车开发项目实战 [下载地址:https://pan.baidu.com/s/1SnaWp_ls0V3Z_CgmhGkT7Q ] 有着三四年工作经验的你,面对如此诱惑的薪资和热度爆棚的岗位是否想尝试一下突破紧急,走上职业生涯巅峰? 本期推出java,hadoop,spark大数据从基础到项目实战的全过程培训教材课程目录: 原文地址:http://blog.51cto.com/aino007/2148831

Android应用开发项目实战视频教程

基于Android平台的快递轨迹查询应用开发全程实录(MenuDrawer.DbUtils.HttpUtils.讯飞语音识别)课程分类:Android适合人群:中级课时数量:10(17节)课时用到技术:MenuDrawer.DbUtils.HttpUtils.讯飞语音识别涉及项目:基于Android平台的快递轨迹查询应用开发项目咨询qq:1840215592课程研发环境及内容简介:1.课程研发环境开发工具:Eclipse 4.2 JDK 1.6 SDK 22.62.内容简介本课程详细介绍了快递轨

学完html+css就可以做的web前端开发项目实战——博雅互动

博雅互动项目预览: 一.项目搭建 css部署:一定注意css引入顺序 1 清除默认样式css文件 reset.css 2 可以引入原子类(可以下载,自己整理) base.css 3 公共样式(比如头部,底部很多面相同的样式) common.css (书写一次css文件可以多个html引入) 4 单页面样式(比如首页,游戏页面) index.css game.css(单独只引入一次) 1.1header 结构 1<!-- header头部开始 --> 2<div class="h

iOS开发——项目实战技术OC篇&amp;XMPP简单总结

XMPP简单总结 最近面试被问到了一个问题,笔者当时就懵了:什么XMPP,平时怎么使用,使用过程中遇到什么问题?. 但是还是通过记忆,简单的说了一下自己所知道了,不过那并没有撒卵用,所以你懂的 XMPPFramework是一个OS X/iOS平台的开源项目,使用Objective-C实现了XMPP协议(RFC-3920),同时还提供了用于读写XML的工具,大大简化了基于XMPP的通信应用的开发. 1.关于连接的 1 //此方法在stream开始连接服务器的时候调用 2 - (void)xmppS

iOS开发——项目实战Swift篇&amp;swift 2.0项目开发总结二(开发常用)

swift 2.0项目开发总结二(开发常用) 一:相册中选择相片到App指定位置 随 着相机像素的提高,实际用户选择的图片都是很大的,有的高达5.6M,如果直接使用用户选着的图片,非常消耗内存,并且也用不到这么高像素的图片,可以当 用户选着好图片后,在UIImagePickerController对应的代理方法中,先将图片进行重新绘制为需要的大小,在设置给iconView 1 /// MARK: 摄像机和相册的操作和代理方法 2 extension MeViewController: UIIma

iOS开发——项目实战Swift篇&amp;swift 2.0项目开发总结一(开发常用)

swift 2.0项目开发总结一(开发常用) 一:新特性(版本判断)的实现 1 let versionStr = "CFBundleShortVersionString" 2 let cureentVersion = NSBundle.mainBundle().infoDictionary![versionStr] as! String 3 let oldVersion = (NSUserDefaults.standardUserDefaults().objectForKey(vers