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