適用于iOS开发者的Android开发技巧.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
適用于iOS开发者的Android开发技巧

适用于iOS开发者的Android开发技巧我曾经从事过五年的iOS应用开发工作,那段时间我一直在尽量避免同Android打交道——不过现在情况不同了。不管大家是否相信,Android开发其实乐趣满满、而且与iOS开发相比也不像大家想象的那样差异巨大。我在Android平台上开发出这款“七分钟锻炼”应用,并借此学到了很多宝贵的知识。我希望这篇文章分享的一些小技巧也能帮助大家解决实际问题。请注意,我接下来进行比较的内容并不一定完全匹配,而且本文的重点也不在于完整地叙述Android开发;当然,我一定会提到自己在开发这款简单应用的过程中所积累到的全部经验。IDE我选择使用Android Studio,而且我愿意打赌:只要测试完成,它将成为未来的业界标准。虽然很多报道称它的运行状态并不稳定,但在我的实际使用中、它仅仅崩溃过一次。也许我只是习惯了Xcode。Java无论大家对Java如何评价,说到底它也只是不过是一种编程语言而已。它能够解决问题,而且对于经验丰富的开发者来说、大家肯定是把主要精力放在框架而非Java身上。很高兴我用不着跟J2EE扯上关系。模拟器我一直认为iOS模拟器让人头痛不已,但相比之下我才发现当初的自己还是太年轻。在稍作尝试之后,我决定放弃Android模拟器、直接将应用部署在实际设备上——除非大家愿意拿出大量时间盯着屏幕枯等。Storyboard / NIB我在自己的iOS开发博客上谈了很多关于Storyboard的话题,很多与我意见相左的读者发来的一些措辞强硬的邮件让我彻底放弃了这一交流平台。Android使用的布局格式为xml。它们彼此之间完全独立。Android Studio还提供一套出色的“所见即所得”编辑器:但大家仍然可以深入到原始xml当中——如果愿意的话(反正我一般是不愿意这么麻烦)。相对于自动布局,大家也可以选择其它布局容器,例如RelativeLayout以及FrameLayout之类。在这里,我们能够以像素数量(即设备的像素容纳能力)或者matchparent、wrapcontant等来设定理想的宽度、高度、填充效果、边框以及色调。Wrap非常适合文本内容,它会自动将调整正确的高度并设定与之相适应的尺寸,并把其余工作交给LinearLayout等特定布局方案。虽然我还没有用过,但Fragment看起来同样是一种对自定义UI元素加以重新利用的好途径。UIViewControllerAndroid利用一个Activity来实现UIViewConroller的功能。每一个屏幕/窗口都相当于一个Activity。我们就在这里处理大部分工作,包括将数据绑定到UI当中或者处理事件等等。Controller/View转换在iOS当中我们利用segue、pushViewController、presentController等在不同屏幕之间进行迁移。但在Android环境下,我们需要使用Intent。大家可以轻松迁移至新的activity当中,甚至能够将一部分数据传递过去。public?void?onItemClick(...)?{????????Intent?i?=?new?Intent(getBaseContext(),?MyActivity.class);????????i.putExtra(row,?position);????????startActivity(i);?}?在新的Activity(也就是以上代码中的MyActivity)中,我们可以提取出传递来的数据:protected?void?onCreate(Bundle?savedInstanceState)?{?????super.onCreate(savedInstanceState);?????setContentView(R.layout.activity_mine);??????Bundle?extras?=?getIntent().getExtras();?????if?(extras?!=?null)?{?????????int?row?=?extras.getInt(row);?????????....??????}??????...??}?大家也可以利用Intent来触发各类事件,例如实现表格共享:Intent?sendIntent?=?new?Intent();??sendIntent.setAction(Intent.ACTION_SEND);??sendIntent.putExtra(Intent.EXTRA_TEXT,?Share?This);??sendIntent.setType(text/plain);??startActivity(sendIntent);?IBOutlet也许大家跟我一样,在超过半数的情况下会

文档评论(0)

d47fv82b5hI + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档