android和ios的比较

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Q&A
THANKS
view view
decorview
view view
5、事件处理模型对比
5.1、android事件处理模型
parentview 是否拦截事件
childview 是否拦截事件
Return false ,不消耗事件,传给parentview 继续处理 Return true ,消耗掉事件,事件处理结束
application1
application2
activity1
activity3
activity2 activity4
• Ios中使用沙箱来隔离应用
每个应用只能访问自己沙箱中的文件,两个应用无 法直接互相访问, 【沙盒文件夹的路径】:/Users/“用户 名”/Library/Application Support/iPhone Simulator/User/Applications/2CADA5C1-6B9F-44E98F06-6C992E E99C6/Documents/2CADA5C1-6B9F-44E9-8F06-6C992E 3E99C6 绿色部分是你的应用程序随机生成的编码, 每个应用程序文件夹的名字都不一样
2、系统对应用程序的组织
• Android应用框架自由无边界的设计意图
android的应用只是一个虚的概念,android更多的是 提供组件的概念,突出请求(intent)和服务 (activity,service),系统的各个组件可以自由的 交流,服务请求者直接发出请求,不论这个对象在 何处和属于谁的,组件是自由的个体,应用程序可 以直接请求使用其他应用的组件。
4、检测到第一响应者 并把事件传给他
ViewController
5、如果第一响应者处理掉了事件, 则一次事件处理完成,事件不回朔,如果 第一响应者不处理或处理部分,则他传递事件 给它的视图控制器如果有的话,如果没有视图 控制器,就传递给它的父视图
5.3、Ios事件处理模型其他特点
• 关闭事件的传递。缺省情况下,视图会接 收触摸事件,但是可以关闭。 • 在一定的时间内关闭事件的传递。 • 打开多点触摸的传递,默认只支持单点。
6.1、android--listview
getView getItem datasource listview adapter getCount g e getViewTypeCount t I t e m V i e w T y p
行为代理
activity
setOnClickListener setOnItemClickListener s e setOnItemSelectedListener t
childview
特点:事件由parent传给child,child处理事件,然后决定是否回传给parent
5.2、Ios事件处理模型
2、取出 Event queue OS
UIApplication 3、分发给当前拥有 7、如果UIWindow不能处理,传递给UIApplication 焦点的UIWindow对象 如果UIApplication还不能处理,则丢弃掉 UIEvent UIWindow UIEvent 6、最顶层的视图如果不能处理这个事件,就 UIEvent 传递给UIWindow对象来处理 UIEvent View UIEvent 1、add superview View superview First UIResponder
6.3、Ios--UITableView
i n s e r t 分组 R o w s A t I n d e x
UITableView
UITableView DataSource
tableView:cellForRowAtIndexPath: tableView:numberOfRowsIndexPath: tableView:canEditRowAtIndexPath: tableView:canMoveRowAtIndexPath:
UITableVie wDelegate
tableView:heightForRowAtIndexPath: tableView:willDisplayCell:forRowAtIndexPath: tableView:willSelectRowAtIndexPath: tableView:didSelectRowAtIndexPath:
6.2、listview简单总结
• listview设计上认为每个item长得一样,或者 几种样子。 • Listview的行为代理函数较少。 • 不能对每个item的显示和行为进行单独精确 的控制。 • Listview的item的重用,是在listview里面做 的,在getView里会把可重用的view传给你
4、应用程序概念对比
UIApplication UIWindow UIViewController Activity rootview/window decorview view view Application
view
view
UIViewController
Activity
rootview/window
Android
Ios
Powered by 康勇
overview
Android open Ios close
1、小三和正房的地位
• Android
• 第三方应用程序与系统程序对于系统来说 具有相同的权限,你可以安装第三方应用 程序来替代系统程序 • Ios • 系统程序比第三方应用程序具有更高的权 限,系统程序不可替代
• 将事件传递限制在某个单独的视图上, (类似于windows的独占窗口) • 将事件传递限制在子视图上。
6、两个平台的list对比
• Android的ListView表现形式有两种
• Ios的UITableView有3种表现形式,3种模式
3种表现形式 默认 带索引的 带分组的
3种模式 默认 删除模式 移动模式
6.4、UITableView简单总结
• UITableView设计上认为每个item长得不一样, 每个item的显示和行为都独立精确控制。 • UITableView有分组的概念。 • UITableView提供了3种模式,简化了开发难度。 • UITableView的行为代理函数较多,更灵活。 • UITableView的Item重用也是在里面做的,使用 一个string来标示不同的view,是否重用需要自 己决定,不会把可重用的view传给你,需要自 己查询。
plication
view
view
view
view
3、应用中业务逻辑的划分
Android
C
Activity Activity Activity
V
xml
M
business
Ios
C UIViewController UIViewController UIViewController
V
nib
M
model
相关文档
最新文档