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

【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开发实践》与大家分享,并且针对大家在项目开发中实际遇到的问题,对大家进行现场交流和解答。现场气氛十分融洽。


十年6亿美元!Amazon云计算喜获CIA大单! 国人当自强:HTML5+联盟首次筹备会成功举行 开源框架TAAE发布 快速打造iOS音频应用 如何学会600多种编程语言 “第五届中国云计算大会”将于2013年6月5-7日在京召开 Ridiculous Fishing:游戏遭遇山寨如何一雪前耻 老游戏的今天:Doodle Jump每周进账2万美元 剑指Evernote 谷歌正式推出Google Keep 开源的JS MVC框架 Backbone.js 1.0发布 前Facebook资深员工王淮给技术创业团队的十点建议 微软发布Windows Embedded 8系列操作系统 Google Play 4.0抢先体验 中国 vs. 非洲:移动医疗的前世今生 Java大数据框架初创企业Concurrent获400万美元融资 基于Edge Animate开发CSS3 Animations 后端服务商Firebase发布全新iOS SDK [爆料]百度云或在秘密打造实时移动Web App开发框架 打造最佳开发团队的几点建议 Facebook与开发者交恶 扼杀第三方应用 负载大逃亡:四十二路怪兽联军及七条逃生法则 那些年,MIT技术男们奇妙的黑客作品 深度分析:腾讯3.3亿美元收购Epic股份值吗? 传下一代iOS或将推行扁平化设计 iOS开发者注意:苹果将拒绝访问UDID的应用上架 领先Google、Amazon、Dropbox,Apple云存储用户最多 传IBM重新设计晶体管 预计五至七年内成熟 快讯:云计算大会6月召开 云计算概念企业股票飙升 集成开发环境:Qt Creator 2.7.0发布 移动周报:“今日头条”CEO,爱冒险的技术宅 从China Daily的iPad版,看中国纸媒如何摆脱“旧情结” 天睿推出大数据探索平台:“开箱即用”的数据分析 100分 求《UML与Rational Rose从入门到精通》 急!各位高手关于要把多个DC放到一个pDC上显示的问题。 急。关于ppc和sybase的问题 请问编一个WINDOWS画笔 谁有c434009A主板的驱动程序。 请问在windows下如何实现像数据库一样的读、写锁? 为啥我在InstallShield中调用DLL中的函数总是出错呢? 如何能在HTML控件显示区域显示“....(指定的文件名)不存在”? 请问如何把TIF格式转换成JPG或GIF的格式?? 代理不能定时执行,请指教,谢谢。 怎样与外部数据库建立联合查询? 如何接受来自vbscript的字符数据列表 怎么在Gtk+的gnomemessagebox显示中文? (在线等待,急!)在vc中怎么使用datagrid控件 我使用的是odbc访问数据库 好急的问题,有关于SMS的接收字符处理问题,想了好几天没有结果 那位兄弟手头上有ASP.NET高级编程的电子书? DataGrid 控件问题,帮帮我把,朋友! automount? 一个比较难的问题! 关于datagrid的问题 在线等待 在cmd编辑器中用java运行已编译的文件运行不成功怎样解决 各位帮我解决一下这个问题!!!谢谢 关于ResourceManager的疑惑? 两台机器无法访问? 大家有没有听说过zebudom.js这个javascript的API?请问哪里可以下载它? 模块的连接 如何用php开发一个在线语音聊天室? 请问:有谁能提供Microsoft Project 2002简体中文专业版下载地址????急用!!!!!! 《The C++ Programming Language》有没有中译版? 请高手帮我看看: session的范围 硬件加、解密卡合作 请问那里能下到C或者C++的编译环境? 我的网页做好了,在我自己的机子上显示的很好看,在别的机子上有的显示的和在我的机子上显示的一样,很不错,但在有些机子上显示就变形了 怎样在文件中查找指定的字串? 为什么这两个查询都不能运行呢? 请教有关比对数据库的思路 运行结果出错!!!!!!!!!! google主页的问题(在线) (在线等待,急!)对话框中画图,超过了对话框大小,但是滚动条不能用 jbuilder7+jboss的配置问题? 求教:用UML做分析设计工具、用JAVA开发的一个办公管理系统的详细时间节点计划书。 數據庫數據顯示問題///急,在線等!!!!!個位幫幫忙? 讨论一下,eregi和strpos 为什么这两个查询都不能运行呢? 集成多文件夹操作窗口的软件有吗?有的请发QQ;6138215 怎么获得checkbox组中被选中的部分? sybase表中有没有自动编号的字段啊? 问一个很菜的问题?(在线等……) DOMINO的B/S开发:如何自动更新一页面中的多分类新闻标题AS WWW。WXRB。COM 解一元一次方程时,一般要怎样把方程化成一般形式? 吃一垫,真能长一智吗 如右图,某小区规划在长32米,宽20米的矩形场地如图,某小区规划在长32米,宽20米的举行场地ABCD上修建三条同样宽的小路,使其中两条与AD平行,一条与AB平行,其余部分种草,若使草坪的面积为566M 问一下仿一本男孩子必读的书写钢铁是怎样炼成的读后感有熟悉这个的吗?不好意思,麻烦各位{随机数K 吃一埑,长一智.的教育意义是什么? 谁认识这树?就是结这个果子的树 麻烦看下仿一本男孩子必读的书写钢铁是怎样炼成的读后感有人了解的说下吧, 吃一垫,长一智. 谁认识这是什么树树枝和树杆都是弯弯曲曲的再传一张 一些唯美的句子 “三下乡”社会实践是哪一年开始的 作为教师你感到最大的压力是什么? 根据句意,在括号里填上与“站立”意思相近的词.(不可重复)1 如今,一座座海洋石油平台已( )在海涛之中.2 月球上只能看到广袤的荒原上高山( ),巨石嶙峋.3 社会主义的中国像巨人一 英语翻译要写在简历里的 务必要准确 英语翻译再求帮忙写一篇以这个为题目的英文演讲稿,二百单词左右 台风暴跳如雷,像头疯狂的巨兽,呼呼地向着城市扑去,用了什么修辞手法?急 我要名人求学的例子,或有关于求学的名言.急, 什么是《琵琶行》全诗的主旨,更是诗人与琵琶女感情的共鸣. 他暴跳如雷,像___________.(比喻句) 是吃一堑,长一智,还是吃一蜇,长一智呢?麻烦知道的回答一下. 求教,我语文不好, 台风为什么暴跳如雷?急, 英语翻译Courage is the ladder on which all the other virtues mount.还有这句Despite all the life danger,with one selfless act from one common person,someone is saved,A hero is made. 请问猪能上树吗? 《故乡的桂花雨》的主题是什么? culture smart or science intelligent原创文章!明天就要用! 英语翻译HINWEISE ZUR FESTSTELLUNGSPRüFUNG:Die Feststellungsprüfung erfolgt nach folgenden Kriterien:1.künstlerische Gestaltungsf?higkeit2.Realisierungsf?higkeit in den gew?hlten künstlerischen Medien3.künstlerische Konzeption und Intensit?tD 我能行 主题班会的回答内容,尽量多.(中学生) 真情树 读后感 请问有人知道幼儿园中班舞蹈课课教案要怎么写哟?有点急,打心底麻烦各位蓄 移动标点符号,改变句意:哥哥说:我是好青年. 什么样的女人最讨人喜欢拜托各位了 3Q 斯大林信基督吗?俄国人不都是信天主教么,但他(斯大林)是共产主义者,是不是无神论?请懂的回答 河南博物院怎么样 鸽子蛋书面语叫什么? 有人看过如果树知道么,有什么感想 他( )节省下自己的零花钱,( )靠帮邻居干活来凑足这笔钱》填什么关联词 "蛰"这个字用拼音怎么打? 我相信有神 但我却不信奉神 这算是有神论还是无神论我相信神是因为我觉得神只是比一般人强的人或生物,所以我也不信奉神 关于可以体现自己科学精神的作文,不少于500字 1.快车和慢车同时从A\B两地相向而行,3小时向隅后两车按原速继续前进,快车形式2小时到达B地,这时慢车距离A地还有110千米.求A\B两地相距多少千米?2.有一块铜与锌的合金,其中铜与锌的比是2:3, culture smart or science intelligent?用这个作演讲题目,着重说哪方面比较新颖啊?演讲内容是必须在culture smart和science intelligent两者中选一个来讲,还是可以说他们都很重要,相互依靠之类的? 现在问道怎么升级快?现在问道怎么升级快? .....(要用比例等式来计算...):只选最好的答案..1.师徒两人合做了84个零件,师傅5分钟做一个,徒弟9分钟做一个,要求在相同的时间完成,每人应该分配到多少个零件?2.走同一段路,小玲要12分,小丽 请高手帮忙解析culture smart or science intelligent这个是2009年CCTV杯的题目 我拿去问来自美国的外教 她说这个题目有错误 她从来没见过culture smart的说法 从这个短语的结构到较为深层的含义 尽可 夏衍为什么要赞颂小草的力量?这是课文上的一道题,马上要讲了,希望学过的,在下感激不尽! 上上月书面语怎么说 电机互锁的问题6台电机设M1-M6要求依次从M6到M1 互锁 (M6工作才能使M5工作 , M5工作才能使M4工作.)高手帮我弄个电路图啊 谢谢降序使用辅助常开触点即可实现。。。 这个我也不会啊 什么字站着和躺着变成不同的两个字?比如:“田、口、回”这些字站着和躺着念都是一样的,但哪两个字站着和躺着念是不同的呢? 吃一欠长一智什么意思? cultural smart or science intelligent 这可是当时什么(填关于轰的词语)的新闻 吃一寸 长一智什么意思 杭金衢高速公路义乌出口有几个,分别是…能说清楚具体位置最好,就是杭金衢高速公路义乌下来后会经过什么路… 这可是当时很什么(填关于轰的词语)的新闻 请教下仿一本男孩子必读的书写钢铁是怎样炼成的读后感J我想知道到,我在此先谢谢大伙了7dX ,某小区规划在长32米,宽20米的矩形场地上修建三条同样宽的3条小路,使其中两条与AB平行,另一条与AD平行,要使小路的宽为2m,那么剩余的耕地面积为多少平方米 请问含义是“少”的汉字有哪些,包括古代 人为什么要吃一垫才会长一智?不是有句古话;"吃一垫.长一智"人为什么要吃一次亏才会长一智呢?###不吃亏就长不了智了吗?$$$有时的一次亏会让你损失很多!我就以这为例:我在盛大以保中被骗 某小区规划在长4米,宽26的矩形场地上修建三条等宽的小路,其中两条与宽平行,一条与长平行,其余种草,草地面积为144平方米,求小路的宽 1990至2010年北半球平均气温或全球发展中国家每年新增200万名15研究:男性关注女性身材多于面部长相(伊拉克向美国请求军事援助 对抗“基地巴黎举办巧克力展 巧克力时装秀当揭幕9成入驻开城韩企难以正常运转 客户丢温州中院首倡“低碳诉讼” 接收电子版黄坤明辞去杭州市人大常委会主任职务《马约》走过20年专家:7天退换货遇节日顺延 邮费一般国内汽油价格每升下调5分 幅度创10金砖五国官员学者:加强合作建立公平合国防部回应土耳其弃购红旗9:商业竞争11月1日起 杭州地铁1号线周末末班浙江会稽山区形成我国首个虞舜文化圈克罗地亚第一副总理兼外长将访华福布斯全球影响力榜安倍位居第57位 成品油价迎十年最小降幅 90号汽油降日本一女大学生因在公园拍摄成人视频被日本一男子弑母弃尸 藏尸冰箱月余终败阿萨德与卜拉希米会晤 称叙命运由本国『artnet | 盘点』弗里兹大师不得不带走的西藏特产澎湃iPad版终于上线:读时政,更清大丰收旧钥匙千万别扔,99%的人不知道这些汽车钥匙上面的救命功能,有几个人知道\"爸爸,我为什么要上学?”爸爸最接陕西安康蚕桑中心主任张京国被刺,曾接秋已深,请添衣全球7大经典火车&地铁营销案例车祸这么多,你该怎么做?8个驾驶窍门男友靠边去,和闺蜜旅行才有这15种惊『artnet | 观察』弗里兹伦敦【纸牌屋627】澎湃iPad版终于上万万没有想到啤酒竟然对女人好处这么多大白萝卜炒肉【纸牌屋626】专访|梅兰芳曾孙:人中国最美小镇:如此唯美,唯有中国!【盘点】特斯拉入华的这一年!给世上某个姑娘的情书 。【HR攻略】高层主管必须明白的七点
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘