重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
平常用的是iOS设备,每次把玩安卓测试机都会有些不习惯。对于一些小厂来讲,由于资源有限,一般安卓和i设计稿都通用一个设计稿。虽然现在ios和安卓在设计方面越来越趋同,但还是有些差异化的地方,不然在开发的过程中,搞不清楚两者的差异化会闹出很多笑话。这里只是简要的写出iOS和Android交互方面的一些差异,只作一个引子。
创新互联公司专业为企业提供宿豫网站建设、宿豫做网站、宿豫网站设计、宿豫网站制作等企业网站建设、网页设计与制作、宿豫企业网站模板建站服务,10余年宿豫做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
1.标题的位置
Andriod的导航栏标题一般在左边,iOS的导航栏标题一般居中显示。这只是一个小差异,一些大厂应该会做出规定,导航栏的标题统一居中显示。
2.手势操作差异
对于某个单一的item,安卓是长按进行“删除”及其他操作,而iOS是左滑删除或者其他操作。这个交互属于比较常见的方式了,不遵守这个设计差别的话,用户用起来也会比较别扭。
3.搜索框差异
Andriod搜索框后面一般带有“搜索”两个字,左边有一个“返回”箭头;iOS搜索框后面一般没有搜索按钮,他的搜索按钮一般在键盘上,搜索框后面有一个“取消”按钮。为什么要这么做?其实也是iOS和Android的系统决定的。安卓的键盘上虽然有一个“箭头”的标识可用作搜索,但是由于标识不够明显,所以搜索框后面要加一个“搜索”按钮。同时,由于iOS键盘上就有“搜索”按钮,所以不用这么做。当然,现在也有一些大厂搜索框也做成一致,越趋向于iOS。
4.消息通知
Andriod的消息通知的推送只需在本应用内进行开关操作,不涉及到系统层面的开关;而iOS则需要在系统层面去控制系统的开关。iOS的消息推送都是需要去iOS的设置-通知-XX应用里面去进行设置。
5.地址选择器
对于地址选择,iOS一般使用系统交互的滚筒控件,但是部分Android APP也用这个交互,则是不对的。对于Android交互而言,一般是用列表选择代替滚筒的设计。
6.小结
以上的交互差异是比较常见的差异了,当然现在做的比较好的是安卓和iOS的交互都日益趋向统一了,至少从现在来讲,差异还是存在的。这就需要我们在设计的过程中分清这些差异,并做到合理而具有变通的设计。
1. 广播交互
提到Activity与Service的交互,可能狠多人首先想到的就是BroadCast——广播。在Android中,广播是系统提供的一种很好的交互方式。比如:在电池电量过低,开机完成等情况下,系统都会发出相应的系统广播,我们的应用程序只需要注册相应的广播接收器,就可以接收到这些系统的广播。同时,我们也可以定义自己的广播,这样在不同的Activity、Service以及应用程序之间,就可以通过广播来实现交互。我们通过模拟应用程序后台下载的情况来分析Service与Activity的交互方式。
2. 共享文件交互
这里提到的共享文件指的是Activity和Service使用同一个文件来达到传递数据的目的。我们使用SharedPreferences来实现共享,当然也可以使用其它IO方法实现,通过这种方式实现交互时需要注意,对于文件的读写的时候,同一时间只能一方读一方写,不能两方同时写。
3. Messenger交互(信使交互)
Messenger翻译过来指的是信使,它引用了一个Handler对象,别人能够向它发送消息(使用mMessenger.send(Message msg)方法)。该类允许跨进程间基于Message通信,在服务端使用Handler创建一个 Messenger,客户端只要获得这个服务端的Messenger对象就可以与服务端通信了。也就是说我们可以把Messenger当做Client端与Server端的传话筒,这样就可以沟通交流了。
4. 自定义接口交互
何谓自定义接口呢,其实就是我们自己通过接口的实现来达到Activity与Service交互的目的,我们通过在Activity和Service之间架设一座桥梁,从而达到数据交互的目的,而这种实现方式和AIDL非常类似(后文会说到)。
5. AIDL交互
什么是AIDL?
AIDL是Android Interface Definition Language的首字母缩写, 也就是Android接口定义语言。提及AIDL就不得不说下Android的服务,Android 支持两种服务类型的服务即本地服务和远程服务。
iOS和Android两个不同的平台,肯定是有很多区别的,下面就从交互的角度,谈谈区别。
以前就读过IOS和Android的规范,但是觉得没啥大用处,因为现在APP为了保持一致性,通常在IOS和Android上的设计是一样的,而且一些小公司只设计IOS的交互原型,因为只要IOS上能用,安卓上肯定没问题,前段时间,和一个人聊,问我它俩的区别,当时一脸懵逼,不知从何说起。毕竟是两个不同的平台,肯定是有很多区别的,下面就从交互的角度,谈谈区别。
一、全局导航
IOS:通常放在底部,方便用户点击
Android:通常放在上面,下面有物理按键,防止误操作。
解析:因为Android比IOS多了物理按键,为了防止误操作,所以只能将全局导航放在上面,但是随着屏幕越来越大,上面是手指无法触及的区域,所以切换起来相对成本较高。
二、二级导航
IOS:通常放返回、上一级标题、标题(居中),操作通常只有一个
Android:通常返回控件、logo、下拉菜单、重要操作、更多操作
解析:IOS显示了上一级的名称,让用户点击返回后,心里有预期,Android放了APP的logo,增加了品牌性,但是就使用来讲,用户不知道点击会回到哪,下拉菜单和更多操作都需要点击才能显示,增加了操作步骤。
三、工具栏
IOS:通常放在最下面,方便操作
Android:放在导航栏里,将重要操作放在外面,其他放在更多里。
解析:IOS将操作都放在底部,区域更大,操作更方便。Android将操作放在了顶部,显得很拥挤,并且还收起了一部分,需要用户查找,但是却节省了空间,让内容显示区更大。
四、提示框
IOS:出现在屏幕中间,可以带图标,可以不带,可以是静态的,也可以是动态的。
Android:不可以带图标,不能是动态的,最多只可以带一个操作按钮,最多只能出现一个提示,不能和低端的悬浮按钮重合。
解析:IOS的设计理念是尽量不打扰用户,只要用户能看见变化,轻易不会出现提示,只有一些用户无法感知时,才会出现提示框,所以可以是动态的,像调节音量。Android的提示要比IOS重一些,因为它可以带一个按钮。
五、警示框
IOS:标题和按钮是必须的,可以有内容和输入
Android:主要有四种:用途、内容、事件、表现。
1、用途包含了标题,内容和事件。
六、手势定义
IOS的手势规定有8种,如下:
解析:IOS只有8种手势,Android有14种,但是很多都不常用,个人感觉IOS的8种已经完全够用了,定义那么多种,用户的学习成本就会提高,而且Android的有些手势并没有定义可以做什么,所以给出这么多手势也没有用。
结语
本文对IOS和Android的规范进行了对比,Android的规范那是相当详细,但是IOS的只给出了设计原则,所以,一些是我自己总结的,可能对比的还不够全面,欢迎大家一起讨论。
android客户端和服务器端是基于IntentService的,具体如下:
后台使用简单的servlet,支持GET或POST。这个servlet最终返回给前台一个字符串flag,值是true或false,表示登录是否成功。
然后在安卓的ADT上创建一个安卓项目,建立两个Activity,分别作为登录界面和登录成功界面。
HTTP的访问公共类,用于处理GET和POST请求。
IntentService服务,用于在后台以队列方式处理耗时操作。
在AndroidManifest.xml中注册IntentService。注意uses-permission节点,为程序开启访问网络的权限。
登陆界面处理,注意按钮监听事件中,使用Intent将要传递的值传给service。接收广播类中,同样使用Intent将要传递的值传给下一个Activity。在onCreate()中,动态注册接收广播类的实例receiver。在接收广播类中,不要使用完毕后忘记注销接收器,否则会报一个Are you missing a call to unregisterReceiver()? 的异常。
IOS与安卓的区别:
1、两者运行机制不同:IOS采用的是沙盒运行机制,安卓采用的是虚拟机运行机制。
2、两者后台制度不同:IOS中任何第三方程序都不能在后台运行;安卓中任何程序都能在后台运行,直到没有内存才会关闭。
3、IOS中用于UI指令权限最高,安卓中 数据处理 指令权限最高
iOS只有一个物理键,android有三个物理键
2 iOS和android的底层交互设计不同
1、返回的入口不一致,android基本上是硬件返回,iphone则是屏幕软键返回。但这点很可能随着Android4.0的出现而改变;
2、长按为android的一个基本的标配操作,但iOS应尽量避免;这点造成了很多操作上的不一样,例如删除操作,iOS为滑动,android为长按
3、Android有menu键,点击后调出menu菜单,iOS没有;
4、tab的处理上也不一致,因为iPhone没有menu菜单,更多的操作很可能放在最后一个tab里,叫“more”;
5、应用的通知处理也不一致,iOS为图标右上角的小红圈,Android为statuesbar中的滚动显示;
6、iPhone有子tab,android好像还没有看到有,除非是第三方应用自己添加的控件。
2.操作栏
a )安卓操作或tab均放上方,以免与虚拟键盘冲突,而非ios的下方,但许多安卓应用也按ios的来设计,因此这个点的设计更改可以酌情考量; iPhone 5c, 任何时候从屏幕下方可以拉出“控制中心”,Android 是从上方拉出了
只说一点,滑动屏幕的感受,iOS是最顺畅最自然的。在商场里体验过很多android,滑动的感受总有那么点怪怪的,或者说有点生硬,低配置的还有卡顿等现象。
OS 用导航栏左上角的返回钮,android 用户习惯按全局 back 键。
Android 见啥都想长按;iOS用户则非常不习惯,只会点来点去。
iOS上面捏合手势是标配;Android 上不是跑太快就卡的狠要么没反应,总之各种难过少人用。
Android 下边缘有软键,交互元素要离远点
2.iOS 双击home键的界面完全更改,改成卡片式预览。如果觉得拨动app缩略图行进过慢可以拨动下方的app图标,会稍微快一点。向上推app缩略图来关闭app。
Android,在主界面,按左键 ,可以预览所以打开的应用,向上推 可关闭app
在短信中,向左稍稍拉动可以显示每条短信的具体收发时间。