首先开发安卓项目,你须安卓Eclipse + ADT插件 + 安卓SDK,关于如何搭载安卓开发环境,本文就不叙述了,因为网上有许多资料。本文的焦点是安卓项目与iOS项目的横向对比,以及开发思想。
需要注意的是,由于这个大陆不能访问谷歌的网址,所以你无法更新SDK。要么你FQ去下载,要么按如下设置:
Windows系统:进入C:\Windows\System32\drivers\etc目录,打开hosts文件,在最后一行增加:203.208.46.146 dl-ssl.google.com
Linux/Mac系统:打开终端,输入如下指令, cd /etc/hosts,进入hosts目录,切换超级管理员权限 sudo vi hosts,在文本最后一行添加203.208.46.146 dl-ssl.google.com,保存,退出。
至于,iOS开发环境的搭建,到苹果官网下载xCode就行了,这里我使用的是xCode 5.1.1版本。
好了,让我们马上去建一个安卓与iOS项目吧,本文将展示Android与iOS中最常用与最重要的控件,在Android下叫ListView,iOS下叫UITableView。
下面来看看项目的源代码:
java代码:
iOS源代码:
.h文件
.m文件
1.在安卓中,界面是用xml文件解析,在iOS界面其实也是用xml文件解析,不过安卓中控件的编辑多用手写为多,并不是安卓不支持拖拽控件,我猜是安卓屏幕尺寸多样,如果以拖拽方式兼容性不好,而iOS的就省事多了,直接拖控件一样兼容,因为iPhone没出之前,iPhone手机只有两种尺寸,3.5和4英寸。
2.安卓中,无论是控件还是资源文件,都会在gen目录下的R这个类中生成对应的ID,以便识别。而在iOS中,控件是通过插座变量IBOutlet来实现的,就是通过storyboard或者xib文件连线到头文件中,这样子就识别控件了。而文件资源,xCode会他们放在一个叫MainBundle的目录下,然后通过文件名来识别它们。
3.在安卓ListView,数据是由适配器Adapter来提供,通过listView.setAdapter(adapter)方法,listview将或者要显示的数据。而iOS中,通过代理来实现,也就是controller成为tableView的代理,由控制器告诉tableView要显示什么数据。当然,为了贪方便,我没有单元格做重用与优化。
4.其实安卓与iOS开发是很像的,只是实现的方式有所不同。就像你学会了开飞机,你还怕学不会开坦克?就像上面的安卓onCreate函数不就是类似于iOS里面的ViewDidLoad函数吗?
好了,来看运行结果吧