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知识都是一样的,跟开发语言并没有什么太大的关系。
俗话说的好:师父领进门修行在个人,希望大家在学习的道路上一直坚持下去!
五、在线源码观看地址
作者:阿笨
官方QQ一群(已满):422315558
官方QQ二群(加入):574187616
个人讲师课堂主页:http://study.163.com/instructor/2544628.htm?share=2&shareId=2544628
个人微信公众号课程主页:http://dwz.cn/ABenNET

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Django之路——6 Django的模型层(一)
ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动 ORM是“对象-关系-映射”的简称。 #sql中的表 #创建表: CREATE TABLE employee( id INT PRIMARY KEY auto_increment , name VARCHAR (20), gender BIT default 1, birthday DATA , department VARCHAR (20), salary DECIMAL (8,2) unsigned, ); #sql中的表纪录 #添加一条表纪录: INSERT employee (name,gender,birthday,salary,department) VALUES ("alex",1,"1985-12-12",8000,"保洁部"); #查询一条表纪录: SELECT * FROM employee WHERE age=24; #...
- 下一篇
Python学习汇总,做数据采集的一些小技巧,干货满满
学习Python也有一段时间了,在学习过程中不断的练习学到的各类知识,做的最多的还是爬虫,也就是简单的数据采集,有采集图片(这个最多了。。。),有下载电影的,也有学习相关的比如ppt模板的抓取,当然也写过类似收发邮件,自动登录论坛发帖,验证码相关操作等等! 这些脚本有一个共性,都是和web相关的,总要用到获取链接的一些方法,在此总结一下,也分享给正在学习的小伙伴 安装相关 python的各个版本其实分别并不大,所以不用太纠结用3.6还是3.7. 而我们经常使用的库呢,建议大家学到什么库安装什么库 有的同学会纠结,库安装不上的问题,这个推荐大家百度搜索:python whl 第一个就是吧,在里面有各个库的各个版本,选择对应的下载回来,用pip install 文件完整路径 安装即可! 例如:pip install d:\requests_download-0.1.2-py2.py3-none-any.whl 最基本的抓站——获取源代码 import requests#导入库 html = requests.get(url)#获取源代码 html.encoding=’utf-8’#指定含中...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- MySQL8.0.19开启GTID主从同步CentOS8
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Linux系统CentOS6、CentOS7手动修改IP地址
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7