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

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


Java框架研发思考 那些年,Java程序员用过的开发工具 Java内存模型的历史变迁 Java 8与Apache Ignite Java开发与技术挑战——关于技术的技术思考 专访唯品会架构师肖桦:做编码的架构师 越来越“简单”的Java 我的Java!越过山丘 专访沙梓社:做个“Think Different”的技术牛人 基于ES6,使用React、Webpack、Babel构建模块化JavaScript应用 财税街创始人石克清:创业须空杯心态+有效社交 自我知识管理:连贯性就是生产率 玩转Google I/O 2015:Android M、IoT、Glass 2.0、VR、ATAP ARC中Retain Cycle揭秘 失控与逆转!企业移动化2.0时代下如何求变? 玩转物联网之MQTT 专访都灵创客教育奚炎:被忽视的Maker教育 13岁iOS开发者:Swift开发Sprite Kit游戏实践 专访豌豆荚「自动装」开发团队:无需Root即可批量点击「下一步」 iOS项目的持续集成与管理 《近匠》谛听科技,探索智慧家庭的智能网关 【简讯】Python 3.5.0b1发布 《算法的乐趣》作者王晓华访谈:多看、多做、多想是秘诀 专访李祎:Java在Testin的技术应用 React首部经典图书推荐:全程经典实例,360度剖析React.js 再做一个Android!Google发布第二代VR眼镜Cardboard Go语言开发常见陷阱,你遇到过几个? 奏响年度最强音 第七届中国云计算大会日程全公布(表) 【CTO讲堂】请在还年轻的时候,尽量多踩些坑 以细分使用场景为突破点 探究墨迹天气的体验创新 熟练成就创造——MathWorks全球副总裁Richard Rovner、产品市场经理赵志宏专访 再次有请: playyuer 吴文智、袁飞、Jneu、Amoon、ttyp、icevi、progame、Jinesc 等各路高手 偶是初学者,问一个问题 SOS,很严重windows的问题,高手快进 复制Access数据库时出现的问题 如何动态添加TQuery的字段??? 编译一问 SOS,很严重windows的问题,高手快进 !!! 有人开发过基于winpcap的网络抓包程序么? SOS,很严重windows的问题,高手快进 ! 通过双网卡上网怎么设置? 一名初学者的问题? 各位老大,如何控制windows的资源管理器显示/不显示后缀名 问一下现在4000元可以买到大概什么配置的笔记本电脑 谁知道用VC++直接操作硬盘?告诉我一声,多谢了 请问考OCP的12本宝典在哪里下载?有人能介绍介绍经验吗?谢谢! Nobody can help me? 去考MCSD我合格吗? 怎样让程序自动修改IE中htm文件? !!!andyting!!!!过来拿分!!!!!! 请问各位大陆市场有没有<>? 请问学习vb有什么好书吗?请高手们帮帮忙,推荐几本好书?谢了!~ 谁知道生成随机数的算法 ListView问题 急急急急急急急急急急急急急急急急急急!!!! 如何向Access数据库中加入图片并从数据库中读出显示? 急,请问如何查询多个表(这些表有公共字段)查询结果按公共字段生成输出表单 请问关于利用JSP转换成HTML格式的问题 格了C:... 我装了Xteam linux kernel版本为:2.4.2,可是启动的时候屏幕上竟是0101010101010101,但用引导盘启动就可以的. 请高手们指点 "afx"是什么意思? 钩子函数里:GETMESSAGE????hook问题 大家帮帮忙!!我用vc中的Win32 console application调试c++程序时,输出的结果总是看不到,一出来就不见了啊!怎么办啊????急!!!!! 请教高手TDataSource的问题????????????????????????????????? TShockWaveFlash控件怎么样在播放时屏蔽其右键?另外怎么样让它在播放时单击鼠标让其播放结束?( Delphi版中没人回答 ,到这儿来试试) 谁有pb6.5的源代码,偶初学pb,想参考一下,最好是access或sql的,偶愿意送300分/个 LPWSTR-CString的相互转化? SQL语句问题,请指教。 我算不算“蓝领”? unix下面怎么实现多线程?可不可以发个例子给我?我的邮箱是caochao@powerise.com.cn 如何将数组中的一个元素附以二进的值 又来送分了! 请问用水晶报表设计报表的VB程序,安装时是不是一定要装水晶报表,如果不,安装应该怎么办? ListView问题:怎样在程序中自动选择LISTVIEW控件的某项或某些项? 怎样用VC设置在窗口区域内的鼠标形状? 如何在一个窗体的OLE控件内播放一个flash动画,不是另开窗口播放!谢谢! 不使用MFC,显示BMP文件的方法 请问什么时候可以知道程序员通过否? 招聘WINDOWS程序界面设计程序员 我明天签珠海天心,大家给个意见先!! 现在怎么办? ★粗盐提纯★实验报告★名称 目的(?) 器材 现象(真奇怪 这个有吗) 结论(?)问题与讨论(问题为“提纯后的粗盐就是纯净的NaCl吗 还有什么成分 如何除杂质”)关键是 目的 现象 结论 无机化学鉴别实验报告标准格式 用酒精和水浸泡蝴蝶兰花可得到紫色溶液,该溶液遇酸溶液显红色遇碱溶液显黄色,下 粗盐提纯的实验报告,写出实验器材,实验过程和实验目的 9.为证明稀硝酸与铜反应产物中气体为NO,设计如图实验(实验过程中活塞2为打开状态),下列说法中不正确的是A.关闭活塞1,加入稀硝酸至液面a处 B.在装置左侧稍加热可以加快稀硝酸与铜 什么铁离子遇到碱会变成黄色?谢谢! 铝酸的化学式是什么?还有铝酸铋怎么写的? 无机化学实验报告中的实验题目与实验名称有什么区别 植物中哪种成分遇酸变红,遇碱变蓝? 如何从化学式上判断原酸和偏酸 什么东西遇碱变红 遇酸变黄?吃完快餐店的外带牛肉饭后,白衣服弄上了类似辣椒油的颜色,但是饭里没有辣椒油.用洗衣粉洗后,污渍变成红色,用了白醋后,污渍又变成亮黄色.怎么也洗不掉.我很 我刚去喝羊肉汤,加盐时发现很潮湿.也没管那么多,就加到碗里了.后来觉得味道不对.吃完后就问老板,这碗盐是不是坏了,怎么会是潮湿的.后来老板温了一下味道,判定是有人往里面倒酒了.我想 含酸的化学式中一定要有什么 酸性条件下变无色的黄色物质 同一弱电解质,增大或减小溶液的物质的量浓度,为什么电离平衡都将向电离方向移动?还有为什么电解质的电离程度却一减一增? c 选项为什么错 甲基橙黄色液体环境 一定是酸性吗?一道离子反应题:甲基橙呈黄色的溶液中离子能大量共存的 碘离子、氯离子、硝酸根、钠离子 常温下物质的量浓度相同的HF、HNO2、HCN、NH3·H2O、H2S溶液,它们的电离平衡常数分别为7.2×10-4、4.6×10-4、4.9×10-10、1.8×10-5和K1 = 9.1×10-5,K2 = 1.1×10-12,其中,氢离子浓度最小的是 ,溶质 对氯化钠进行提纯.实验步骤为:①将粉末溶解在适量的水中;②往溶液中加入足量的氯化钡溶液;③再往溶液中加入足量的碳酸钠溶液;④过滤;⑤取滤液,往滤液中加入足量的试剂X,使溶液 蒸馒头碱放多了起黄怎么办 锰酸酸酐,亚硝酸酸酐的化学式,还有MNO2是酸酐吗 nacl的提纯结晶nacl时为什么不能一次蒸干,还要过滤后再蒸?先是加了hcl蒸到快干时又过滤了是什么意思? 给我个必修一 粗盐提纯的实验报告格式吧 请问一氧化氮是不是亚硝酸酸酐啊? 已二酸铵化学式表示 B D的选项 HNO3与HNO2的酸酐是什么?急 氯化钠的提纯与检验中的结果与讨论是? 解释一下A选项和D选项 实验室需要配制下列溶液,试回答相关问题:1.用氯化钠固体配制200g16%的氯化钠溶液,试计算氯化钠质量并分布写出配制过程.2.某实验需要93ML2摩尔每升的氯化钠溶液,试计算氯化钠质量并分布 销铵与销酸铵的化学式,及区别 c d.求解释b和d选项是为什么? 实验室配制100g10%的氯化钠溶液时,需要_____g氯化钠固体? 氮酸铵的化学式 C语言 B,C选项错误的原因(答案是D) 有变量定义:floatk=2.0; 则下列合法的表达式是( ).(A) k%3 (B)k+7=8   (C) k++ (D) k=3,2+4,7 为什么我算的是A选项? 粗盐提纯后氯化钠质量有没有减少 在初中里面,有多少个什么什么根,分别是?(还要其化学式,例如:铵根…),有多少个酸,分别是.(还要其化学式,例如:硫酸…) 酸碱指示剂酸遇甲基橙变什么颜色?酸遇甲基橙变什么颜色?碱遇酚酞变什么颜色!酸遇中性红变什么颜色? 第五题第六题的化学式 碳氢酸铵的化学式为NH4HCO3,尿素的化学式为CO(NH2)2,试计算碳氢酸铵的相对分子质量 有哪些植物可以做天然酸碱指示剂,并且重点是遇酸遇碱变成什么颜色?最好可以注上变色范围. 若检测到牛奶中的氮元素的质量分数≥0.46%,即为蛋白质含量检测合格.某种不合格牛奶中氮元素的质量分数为0.36%,若向1000g该牛奶中加入2g三聚氰胺,请计算此时牛奶中氮元素的质量分数.我 就化学式右上角了数字啥意思.譬如NH2顶上有个+2或者是2+是表示啥 酸碱指示剂遇酸遇碱变色 变色的物质是酸碱指示剂本身还是酸和碱 初三化学求物质化学式试题解析 化学式上方、右下角、右上角等所有位置的字符所表示的含义及关系. 海水里的氯化钠提纯加入什么试剂出去杂质的?加试剂的先后顺序是什么?硫酸根、氢氧根、碳酸根去除的先后顺序? 化学式练习题 (9 20:46:24)1.某金属的硝酸盐的式量为m,该金属相同价态的氯化物的式量为n,则该金属元素的化合价数值是多少?2.某有机化合物6g,在空气中完全燃烧后生成8.8gCO2和3g水,若该化合物 过氧乙酸CH3COOOH 的含义 硫化氢H2S 化学式的含义 N2O (2为N右下角)中“2”表示的意义过氧乙酸CH3COOOH 的含义硫化氢H2S 化学式的含义 N2O (2为N右下角)中“2”表示的意义SO2(2为O右下角)中“2 氯化钠怎么样进一步的提纯?我在一种液体里面加化学药品提取到了氯化钠但是结晶和纯度都很不好,是不是有什么可以添加化学药品或催化剂的办法使其加快结晶和进一步的更高提纯呢?有没 第4题和第6题. B,C选项怎么解释,D选项为何错误 食盐能否提取氯化钠,怎样从食盐中提取氯化钠 如何写化学粗盐提纯的实验报告? C,D选项9.(黄石市)下列关于电磁波和声波的叙述正确的是( )  A.电磁波看不见,摸不着,所以它实际上并不存在  B.声波的传播速度与介质的温度有关  C.电磁波和声波都是由物 食盐能否提取氯化钠?如何从食盐中提取氯化钠? 粗盐提纯实验报告要详细一点的,其内容包括:1.实验目的2.实验仪器和药品3.实验步骤(现象)4.实验结果5.问题与讨论(误差分析) 无机化学预习实验报告如何写?格式如何? 提纯混有KNO3的Nacl的方法
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn