细看设计师并盘点开发者在移动应用设计中常犯的五大错误

    作者:课课家教育更新于: 2015-11-24 10:27:22

    打开这篇文章的人都是爱问知识的人,下面我给大家讲讲。
      
                                                              
    虽然大家应该都听说过那些能帮你开发出完美应用的注意事项,但却很少有人从负面角度提醒我们避开常见陷阱。作为对自己的警示,同时给大家提供借鉴,我列出这份五大失误清单,希望大家能够在为客户应用程序时加以规避。对于这份清单的含金量我有充分的信心,因为身边的朋友都对它的积极意义赞赏有加。好啦,闲话少叙,咱们这就进入正题。希望大家能够抱着平和的心态认真阅读,并在评论中与其他朋友交换意见。 javascript基础教程
                                                                 
    well  硬件抽像层
    Android 的HAL(硬件抽像层)是能以封闭源码形式提供硬件驱动模块。HAL 的目的是为了把 Android framework 与 Linux kernel 隔开,让 Android 不至过度依赖 Linux kernel,以达成 Kernel independent 的概念,也让 Android framework 的开发能在不考量驱动程序实现的前提下进行发展。
    HAL stub 是一种代理人(Proxy)的概念,Stub 是以 *.so 档的形式存在。Stub 向 HAL“提供”操作函数(Operations),并由 Android runtime 向 HAL 取得 Stub 的Operations,再 Callback 这些操作函数。HAL 里包含了许多的 Stub(代理人)。Runtime 只要说明“类型”,即 Module ID,就可以取得操作函数。

    中介软件
    操作系统与应用程序的沟通桥梁,应用分为两层:函数层(Library)和虚拟机(Virtual Machine)。 Bionic是 Android 改良libc的版本。Android 同时包含了Webkit,所谓的Webkit 就是Apple Safari 浏览器背后的引擎。Surface flinger 是就2D或3D的内容显示到屏幕上。Android使用工具链(Toolchain)为Google自制的Bionic Libc。
    Android采用OpenCORE作为基础多媒体框架。Open CORE可分7大块:PVPlayer、PVAuthor、Codec、PacketVideo Multimedia Framework(PVMF)、Operating System Compatibility Library(OSCL)、Common、OpenMAX。
    Android 使用skia 为核心图形引擎,搭配OpenGL/ES。skia与Linux Cairo功能相当,但相较于Linux Cairo, skia 功能还只是雏形的。2005年Skia公司被Google收购,2007年初,Skia GL源码被公开,Skia 也是Google Chrome 的图形引擎。

    Android的多媒体数据库采用SQLite数据库系统。数据库又分为共用数据库及私用数据库。用户可通过ContentResolver类(Column)取得共用数据库。
    Android的中间层多以Java 实现,并且采用特殊的Dalvik 虚拟机(Dalvik Virtual Machine)。Dalvik虚拟机是一种“暂存器型态”(Register Based)的Java虚拟机,变量皆存放于暂存器中,虚拟机的指令相对减少。
    Dalvik虚拟机可以有多个实例(Instance), 每个Android应用程序都用一个自属的Dalvik虚拟机来运行,让系统在运行程序时可达到优化。Dalvik 虚拟机并非运行Java字节码(Bytecode),而是运行一种称为.dex格式的文件。

    安全权限机制
    Android本身是一个权限分立的操作系统。在这类操作系统中,每个应用都以唯一的一个系统识别身份运行(Linux用户ID与群组ID)。系统的各部分也分别使用各自独立的识别方式。Linux就是这样将应用与应用,应用与系统隔离开。
    系统更多的安全功能通过权限机制提供。权限可以限制某个特定进程的特定操作,也可以限制每个URI权限对特定数据段的访问。
    Android安全架构的核心设计思想是,在默认设置下,所有应用都没有权限对其他应用、系统或用户进行较大影响的操作。这其中包括读写用户隐私数据(联系人或电子邮件),读写其他应用文件,访问网络或阻止设备待机等。

    安装应用时,在检查程序签名提及的权限,且经过用户确认后,软件包安装器会给予应用权限。从用户角度看,一款Android应用通常会要求如下的权限:
    拨打电话、发送短信或彩信、修改/删除SD卡上的内容、读取联系人的信息、读取日程信的息,写入日程数据、读取电话状态或识别码、精确的(基于GPS)地理位置、模糊的(基于网络获取)地理位置、创建蓝牙连接、对互联网的完全访问、查看网络状态,查看WiFi状态、避免手机待机、修改系统全局设置、读取同步设定、开机自启动、重启其他应用、终止运行中的应用、设定偏好应用、震动控制、拍摄图片等。
    一款应用应该根据自身提供的功能,要求合理的权限。用户也可以分析一款应用所需权限,从而简单判定这款应用是否安全。如一款应用是不带广告的单机版,也没有任何附加的内容需要下载,那么它要求访问网络的权限就比较可疑。

    1. 不要以设计网站的思路规划移动应用程序
    首先让我们面对现实,没人能简单利用现有网站设计出广受欢迎的移动应用程序。大家都知道,手机屏幕比台式机显示器要小得多,每寸空间都弥足珍贵,因此将大量来自企业网站信息及图片一股脑塞进移动应用里绝对是行不通的。要想让终端用户拥有良好的使用体验,我们必须以现有网站为基础,通过“灵感”赋予应用程序亮点,同时将美观简洁的用户界面引入其中。总而言之,既要保证功能性、又要考虑独特性,白开水一样的条目陈列绝对吸引不了用户的目光。
    2. 不要在应用程序中使用过多手势操作

    滑动此处、轻抓彼处、双击这里、拖拽那里、手指外推、长按、轻拍……我的妈呀,还让不让人用啦?虽然系统允许我们在应用程序中引入所有可支持的手势动作,但把它们全部用上无疑会让用户一头雾水、不知所措,这一点必须引起UI/UX设计师足够的警惕。一句话概括:操作手势越少越好。虽然手势能够给应用程序操作带来新奇有趣且动态十足的积极效果,但千万别由此而做过了头——有时候好事与坏事之间只有一线之隔。我要提醒大家,不同型号的设备拥有不同的屏幕尺寸,而手势也必须随之做出调整。4英寸、7英寸乃至10英寸的平板产品都可能成为应用程序的运行平台,而在大家伙上运作良好的操作方式很可能在小设备上变得令人恼火。再一次强调,手势操作绝不能滥用。
    3. 别过分追求多屏幕切换,简洁才是王道   javascript教程


    相信大家都遇到过这样的问题,在经过一系列复杂的操作与多屏幕切换之后,我们发现自己很难返回最初打开的主界面。到底要怎么退回去?面对乱糟糟的众多界面,我们不禁发出一声愤怒的呐喊。而一旦换到手机平台上,这类问题就不只是愤怒那么简单了——它简直是致命的**烦。有鉴于此,大家千万别搞太复杂的使用体验,多屏幕、多界面切换只会令人抓狂。真正经典的应用程序都具有简洁而明快的结构组织方式,用户能够在不超过三次点击的情况下浏览应用的所有内容。不为繁复的操作步骤所困扰,开发人员才能省下心力为应用程序添加更多新的实用功能。
                                                      
    4. 不要指望在多种设备上以同样的方式进行设计
    没有哪双鞋能合所有人的脚,应用程序自然也不行。事实证明,不同类型设备带给用户的实际体验也是截然不同。因此,我们不能指望同一款应用程序能够在Android系统与iOS系统中带来同样的使用效果。举例来说,Android设备上配备了后退按钮,而iOS则通过标题栏中的图标实现同类功能。尽管两套平台上的应用程序在外观与运行状态方面相当接近,但我们仍然得认真考虑不同硬件给软件带来的具体影响。javascript视频教程
                                                        
    5. 别以最小尺寸的屏幕为基准进行设计
    在应用程序的设计阶段,首先要明确一点:我们的产品将运行于多种设备平台。相信我,务必先在脑海中构思最大尺寸屏幕的布局方案。由此开始,我们才能对自己的视觉元素(包括按钮、影像与图形)及字体大小拥有前期概念,并有针对性地通过调整将其部署到小型设备中。必须让自己的视觉元素保持整数像素尺寸(24x12),由于我们无法分割像素,因此整数像素是保证图形完整性的最佳方式。这种办法还有助于应用程序编程工作的顺利进行。不过要记住,删除内容总是轻而易举,但添加内容则困难重重。因此要打造出功能全面、细节贴心的产品,大家还是得做好打持久战的准备。
    如果还有疑问,大家可以来课课家官网查询一下呀

课课家教育

未登录