iOS与Android工程项目的简单对比

首先开发安卓项目,你须安卓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函数吗?

好了,来看运行结果吧

时间: 2024-12-31 17:19:38

iOS与Android工程项目的简单对比的相关文章

Android &Swift iOS开发:语言与框架对比

转载自:http://www.infoq.com/cn/articles/from-android-to-swift-ios?utm_campaign=rightbar_v2&utm_source=infoq&utm_medium=articles_link&utm_content=link_text 从Android到Swift iOS开发:语言与框架对比 我从2009年开始做Android开发,开始接触Swift是在2014年底,当时组里曾经做过一个Demo App,感觉技术还

对比Windows Phone与iOS、Android开发的不同[转]

Windows Phone是微软公司在2010年发布的智能手机操作系统,目前最新版本是Windows Phone 8.0,在市面上能见到的是Windows Phone 7.5(Mango和Tango),下面,从开发者角度,分几个方面对比他们的不同. 一.硬件 iOS与Windows Phone系统都为闭源操作系统,而且对于硬件解决方案,微软和苹果都有苛刻的要求,苹果自己设计CPU,然后找代工厂商生产,而且通信芯片也是非高通不用,这也是中国移动一直无法引入苹果定制机的一个重要原因. 在微软方面,微

iOS和android系统架构对比

iOS和android系统架构对比 iOS是基于UNIX的,直接与底层硬件通信.系统底层.应用框架.应用软件都是采用C/C++或者Objective-C写成的,所以有很高的运行效率. android是基于Linux内核设计,在Linux内核上运行一个Java虚拟机,虚拟机再运行软件.就好似在一个系统上又套了一个系统,以此内存消耗大,运行效率的.

IOS 与ANDROID框架及应用开发模式对比一

IOS 和ANDROID操作系统都是目前流行的移动操作系统,被移动终端和智能设备大量采用,两者都采用了先进的软件技术进行设计,为了方便应用开发两者都采用了先进的设计模式.两者在框架设计上都采用了什么技术?都采用了什么设计模式?两者设计思路和应用开发模式有什么异同呢? 两者都采用了框架模式. IOS 的框架称为Cocoa Touch. 框架提供两个作用,一是类的集合,每个类构建一个问题空间,并提供完整的解决方案和服务:二更重要的是框架中的类相互依赖构成一个整体,制订并实现整个应用程序的结构.框架定

「Unity」与iOS、Android平台的整合:1、导出的Xcode工程

本文属于「Unity与iOS.Android平台的整合」系列文章之一. 本文主要讲解Unity导出的Xcode工程的目录结构. 我所用软件的版本: Unity 5.3.5f1 Xcode 7.3 前导步骤 第一步,创建一个新的工程 Build_to_iOS_Android 第二步,创建一个新文件 CSharpToCPP.cs using UnityEngine; public class CSharpToCPP { public void Func(int num) { if (num < 1)

简谈WP,IOS,Android智能手机OS

什么是智能手机? 相信到现在这个已经是傻瓜到不能再傻瓜的问题了 智能手机都不懂? 那你活着还有什么意思= = 但是为了谈论今天的三大主角:wp,ios,android 不得不回答一下这个笨笨的问题 如果没记错的话,我在高中的时候获得了我的第一把智能手机 没错,就是那时候火到爆的Nokia6120c 相信对小6,大家都不陌生 感觉那时候是人手一把的神器啊 小巧好用不说,竟然还能后台挂qq!(= =那时候确实很惊讶,竟然能在多个软件切来切去的) 在加上Nokia砖头之名 神机当之无愧啊,当时不知道羡

HTML5会砸掉iOS和Android的饭碗么?

我们第一次谈论HTML5要改变世界大概是因为乔布斯,他坚持在iOS上不兼容Flash,在Adobe统治多媒体开发的那个年代,这需要付出极大的勇气.这么多年过去了,虽然所有人都在谈论HTML5,但是大部分人甚至都忘了它还是一个仍在完善中的体系. 2007年W3C(万维网联盟)立项HTML5,直至2014年10月底,这个长达八年的规范终于正式定稿.接下来,HTML5将真正开始颠覆原生 (Native) App 世界.虽然这种危言耸听已经让人有点厌烦.但是如果回顾HTML这些年走过的路,你就不会再怀疑

HTML 5 会让iOS和Android开发者转行吗?

我们第一次谈论 HTML5 要改变世界大概是因为乔布斯,他坚持在 iOS 上不兼容 Flash,在 Adobe 统治多媒体开发的那个年代,这需要付出极大的勇气.这么多年过去了,虽然所有人都在谈论 HTML5,但是大部分人甚至都忘了它还是一个仍在完善中的体系. 2007年W3C(万维网联盟)立项 HTML5,直至 2014年10月 底,这个长达八年的规范终于正式定稿.接下来,HTML5 将真正开始颠覆原生(Native) App 世界.虽然这种危言耸听已经让人有点厌烦.但是如果回顾 HTML 这些

Android ExpandableListView的简单应用

Expandablelistview1Activity.java package com.wangzhu.demoexpandablelistview; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.app.Activity; import android.os.Bundle; import android.widg