说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

【MDCC 2014】Xamarin深入体验营——开发实战大揭秘

HTML文档下载 WORD文档下载 PDF文档下载
Xamarin最早是由Mono演变而来,其跨平台和支持代码复用的特性受到了开发者的关注。MDCC 2014第一天,来自中国台湾的林泰宏与大家分享了Xamarin实践操作方面的干货,并现场解答大家的疑问,受到了开发者的好评。

一年一度的移动开发者盛宴——2014移动开发者大会(简称 MDCC 2014 )于10月31日至11月2日在北京新云南皇冠假日酒店隆重召开。MDCC是由CSDN和创新工场联合主办的中国最大的移动开发者盛会,致力于推动中国移动互联网生态系统的成长,今年迎来第五届。

Xamarin最早是由Mono演变而来,原本是在Linux上执行C#程序的一个开源项目。后来陆续推出了支持iOS的Mono Touch Framework和支持Android的Mono For Android Framework。Xamarin是Mono项目的一个分支,它与Mono最大的区别在于,Xamarin是一个商业项目,并且目前已实现Android、iOS、Windows 8等主流平台的跨平台支持,并可重用90%以上的代码。

MDCC 2014第一天,Xamarin深入体验营受到了开发者的青睐。上午9:10分体验营正式开始,来自中国台湾的昕力信息资深顾问林泰宏为开发者准备了内容丰富的议题,几乎囊括了从理论到实操,与Xamarin开发相关的方方面面。其中包括:

  • Xamarin开发前准备;
  • Xamarin. iOS布局设计及基础控件;
  • Xamarin. iOS多页面巡览;
  • Xamarin. Android布局设计及基础控件;
  • Xamarin. Android多页面巡览;
  • Xamarin. Android基础控件;
  • Xamarin. iOS列表及数据库操作;
  • Xamarin. Android列表及数据库操作;
  • IOS、Android消息推送。
  • 原生类库绑定(极光推送、百度地图、支付宝、微信分享);
  • 跨平台开发(PCL、Xamarin.Forms)。




首先,林泰宏谈到了Xamarin的特性,林泰宏坦言:“Xamarin适合原本就做C#的开发团队,最大的优点就是跨平台及业务逻辑代码和算法可以共用。”不仅如此,Xamarin的特性还包括:

·快速建立原生移动设备应用程序。通过C#亲和且功能齐全的语言特性,搭配.NET Framework的Base Class Library的便利性,让开发人员以最高的生产力开发移动应用。

·程序代码共用。Xamarin采用C#编写,可以在不同平台之间共用商业逻辑和资料存取等程序,而无需重新撰写。这除了节约了代码重写的成本外,也维护了版本的一致性。

·与Visual Studio整合。Xamarin提供了Visual Studio 2010/2012的Plugin,让原本熟悉VisualStudio的开发者不用再熟悉其他的开发工具。在立项时,可以直接建立iOS及Android的项目范本。开发者还可以将iOS及Android的程序代码加入到ALM中,使用Team Foundation Server进行版本及建置管理。

·原生的应用程序效能。Xamarin针对iOS及Android平台开发编译器,将C#程序直接编译成ARM CPU的机器码。因此,与原生应用相比,性能方面毫无差异。在Android系统中,由于Xamarin不适用Dalvik虚拟机,改为采用CLR,效果可以更胜一筹。

接下来进入到了实操环节,林泰宏从模拟器开始,逐渐分析了iOS设备的布局设计和基础控件。基础控件包括:Label、Button、Segmented Control、Text Field、Switch、Slider、Activity Indicator、Progress View。


XamariniOS设备布局


Xamarin.Android布局包括:线性布局(LinearLayout)、单帧布局(Frame Layout)、相对布局(Relative Layout)、绝对布局(Absolute Layout)、表格布局(Table Layout)。Xamarin.Android基础控件包括:TextView、EditText、Auto Complete TextView、Progress Bar、Switch Bar、Switch/Toggle Button、Seek Bar。当然,与iOS相比,Android设备的碎片化属性一直为人所担心,在分享中林泰宏给出了Android设备碎片化的解决方案,通过如下公式可以精准的计算出每款设备所需要的正确尺寸。

谈到大家都很关心的推送功能时,林泰宏从准备工作开始,举出iOS推送前期开发者首先要申请一个Apple ID,接下来依次启用Push Notification(Development)并产生数字证书、建立Provisioning Profile、在Key Chain中导入数字证书并汇出.p12档、访问极光推送网站并创建账户、创建应用并上传.p12档。开发中首先要导入推送绑定组件,然后添加Push Config档并添加以下设置(以极光推送为例):

  • APS_FOR_PRODUCTION :黙认为0,开发模式;
  • CHANNEL:设置频道,默认为“Publish channel”;
  • APP_KEY:极光推送所配置的key。

最后,在AppDelegate.cs中添加以下函式代码:

  • FinishedLaunching:注册通知型态(如铃声、badge等);
  • RegisteredForRemoteNotifications:获取deviceToken并注册到极光推送;
  • ReceivedRemoteNotification:接收消息后的相应处理。

相比于iOS,Android的操作过程则较为简单,首先访问极光推送官网并创建账户,接着是创建应用并指定包名(Package Name)。开发过程中,首先要将项目导入极光推送绑定组件,然后配置AndroidManifest.xml并指定App_Key,接下来在Application或首页初始化极光推送,最后撰写自定义BroadcastReceiver类以处理接收到的信息。


除了精彩的演讲外,林泰宏还带来了《Visual C#——Xamarin跨平台移动App开发实践》与大家分享,并且针对大家在项目开发中实际遇到的问题,对大家进行现场交流和解答。现场气氛十分融洽。


Access97的报表解决方案-VB资料 Access下如何使用通用对话框-VB资料 ADO简介 -VB资料 ADO三大对象的属性、方法、事件及常数(二)-VB资料 ADO三大对象的属性、方法、事件及常数(三)-VB资料 ADO三大对象的属性、方法、事件及常数(一)-VB资料 Data 控件使用有密码的 Access 数据库 -VB资料 Excel、Access、VB的结合应用 Microsoft SQL Server 7.0安装问题(二)-VB资料 主题: MDB文件的导出 使用 DAO-VB资料 Microsoft Access秘密、技巧和陷阱-VB资料 SQL的基本操作(1.数据类型) -VB资料 SQL的基本操作(2.数据库的相关操作)-VB资料 SQL的基本操作(3.表的相关操作) -VB资料 SQL的基本操作(4.数据的检索)-VB资料 SQL在VB中的使用及访问远程数据库 Text 转换为 Access MDB -VB资料 VB5.0数据库基础 非编程方式访问数据库-VB资料 VB用编程方式访问数据库 VB 5.0数据库设计技术讲座(4) VB5.0数据库编程经验小集 VB5在处理数据库时的几个“BUG” VB6.0中的几个新增数据库工具 VB处理数据库时求数据表记录总数的最佳方法 VB访问数据库的方案比较 VB数据库编程经验两则 VB数据库编空字段的处理 VB数据库多字段记录的录入 VB数据库记录查询四法 vb应用程序访问sql server方法探讨 现在上网真的很无耐,无耐。。。 HttpContext.Current?? 我们中秋,他们911! 一个表中,怎么写SQL使得不够5位的记录在后面自动加零补够5位! 以Post提交表单时的一个小问题 Socket可以实现这样的功能吗? 如何取消Linux 中的单用户模式 ? 怎样固定生成窗口的大小? 为什么在panel中不能响应image的onclick事件? 在CSDN过中秋节的兄弟们,来坐坐吧! 怎样关闭cformview派生的视图? 各位大虾,有谁知道怎么配置连接池呀,我以前配的,现在有点记不起来了,最好能说清楚点,谢谢!重分酬谢! 如何使位图在文档类视图中显示出来! 怎样快速获得一幅图像所用的颜色的总数? 错误号问题 如何在ie中直接打开word文件进行浏览、编辑,并保存。 一直都在接分,我也散点分。祝大家中秋快乐!!!!!! 我学应用物理,计算机该怎么自学?100+100=200 大分相送!不够再加(第1部) 有一个问题,怎么配置struts,有没有一个现成的例子呀,望指点,谢谢,也可以发到我的信箱 有CSDN上的兄弟一起过中秋节晚上,今晚不孤独,最后七十分散掉 oracle9i...数据库是提示:ORA-12154: TNS: 无法处理服务名 ? **首先祝大家中秋快乐,然后请问“包程序写入失败”是什么意思???**谢谢:-) 我学应用物理,计算机该怎么自学?100+100=200 大分相送!不够再加(第2部) 如何將數組定義在一段連續的內存空間??急急!!!!! **首先祝大家中秋快乐,然后请问“包程序写入失败”是什么意思???**谢谢:-) 我用这个函数Space$(nSize),提示说工程库没有,需要什么工程库? 两罐啤酒,独过中秋。祝这里的兄弟姐妹中秋快乐! 一个有关datareport的问题 现在有必要学ASP吗? 请教:为什么我不能给被调用包的源代码设置断点,请问是什么原因?怎么解决? 补刚才漏掉的五十分 想编写一个新邮件到达时自动通知的程序,请提供思路 关于SAX对大数据量文件的读写(高分) 中秋节编的程序是不是特别好吃? 请问:什么是“C runtime 函式庫的 Startup code”呢?? 关于自动播放的问题,在线等! 关于自动播放的问题,在线等! 请问怎么读取 text 控件 中 任意一行的内容 如何用jad?谢谢 哪儿有bc++高一点的版本下载 dbf问题 中秋了,我写了一首诗,大家看写得精彩不精彩? 我学应用物理,计算机该怎么自学?100+100=200 大分相送!不够再加(第3部) 和众马甲共度中秋,来来来,吃月饼,吃月饼 请问光驱读盘效率不高会是什么原因? 帮帮忙啊,关于图的遍历 一个form上有两个dbgrid,怎么判断我现在的焦点是在哪个 dbgrid上? 送给8。15继续在网络中漫步的朋友们的礼物! 关于数据库的使用 一个有关listview的问题,一直没解决,急! 有没有人装过MINIX啊 猴子和诺克萨斯之手哪个好说出理由来. LOL诺克萨斯之手与猴子哪个比较好我以前玩过猴子,觉得挺好玩的,后来买了一个断头台,感觉断头台没猴子好用 蓝言是啥意思啊大神们帮帮忙问下 什么叫租调?租庸调呢?历代封建王朝的农民起义是不是和土地兼并严重有关 王朝末期总是因为土地兼并严重 天灾人祸 地主照样剥削 农民没饭吃 所以才起义造反 等建立了新王朝后 原来的土 16Hz的Ticker timer 多少秒打点一次? market 为什么拔河比赛中前面和后面的体重要大 如果一多边形的每一个外角都小于45度,那么这样的多边形变数的最小值是多少 一个多边形的每个内角度数都比它相邻的外角度数的2倍多45度,则它是 边形 用狼狈为奸 造句 兔死狐悲、一箭双雕、杀鸡儆猴狡兔三窟、狼狈为奸造句 美国国安局:奥巴马并未参与讨论监听默印度反对派竞选集会遭袭 死亡人数上升美研究称因感到受尊敬50岁以上人群更澳大利亚一墓园将举行”恐怖”派对 迎俄罗斯兴起“护花行动”保护夜行年轻女快讯:浙江黄岩一企业起火 2人跳窗逃嘉兴国际名品城工地脚手架坍塌 工人1当代女画家王玮百幅弥勒造像回乡展在浙日本一老妇睡梦中手脚被绑 300万日俄罗斯兴起“护花行动”保护夜行年轻女新加坡人热衷万圣节 妖魔服装道具销量海信成为微软Xbox ChinaJo广西基本告别粉笔黑板教学 8148个广西开展“打四非查四违”行动 首日检2014.07.31 01:03:0外交部发言人秦刚就美国国务院发布20赤手空拳祛病除魔 请看武警卫勤战士孔山东两市通信资费同城化启动 市间通话明起南京工地全面停工 对家装不做强制美第一夫人米歇尔:我的祖先身披锁链来综述:纽约多举措为科技产业培养人才江西:“小桔灯”服务队助旅客清凉出行机械化魔女雪风我当道士那些年无限末日异世武林王逍遥邪少死神之墨羽沁梦九鼎化龙魔脊命运设计师生化修真赤柱跳蚤市场旅游百崖大峡谷旅游威尼斯人酒店旅游热乌寺旅游著杰寺旅游桂林园林植物园旅游熊虎山庄旅游徐悲鸿故居旅游相国寺旅游张自忠将军墓旅游沐王府旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘