首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android开发笔记(一百一十五)设计工具

    UI是User Interface的简称,即用户接口,也称用户界面。UI泛指用户的操作界面,对手机来说,UI设计就是app的页面设计。一个好的UI,不但能让用户操作起来更加舒适、方便,而且还能让app变得有个性、有品位,所以UI设计做得好,app就成功了一半(另一半当然是代码设计啦)。 UE是User Experience的简称,即用户体验,它是用户在使用一个产品(或服务)的过程中建立起来的主观感受。具体的说,UE体现了用户的印象和感觉(包括正面与负面的),如该产品是否成功,用户是否享受、是否还想再来使用。评判UE是否合格主要有四个标准:有用、易用、友好、美观,要想收获好评的UE,便需要用心的UI设计。 下面是一些常见的UI设计准则: 一、显示正确的内容 1、最常用的操作,用户应该立即可以看到并且使用,如聊天或者购买操作; 2、次要功能可以放到菜单里面,如系统设置操作、资料修改操作等等; 二、给予用户适当的回馈 1、交互式的UI元素最少需要反映出两种不同的状态(如按钮要体现按下与松开,编辑框要体现正在输入与退出编辑); 2、保证操作结果是清晰可见的,对于用户期待的功能,无论成功还是失败均应给予合适的提示; 3、多给予用户进度提示,但是不要干扰他们当前的操作,如图片加载与文件下载不应妨碍用户进行页面跳转操作; 三、有章可循的行为模式 1、行为模式遵循用户的期望(正确的操作活动栈,显示用户期望看到的信息和动作),如用户登录成功后,从栏目页面返回上一级,就不应返回登录页面而要返回首页; 2、使用合适的方式来加强功能可见性(可点击的元素就应该看起来是可以点击的),如一段文字中有部分文字允许点击,那么这些文字就要标注为不同的颜色或不同的字体; 虽然UI设计有专门的设计师和美工来负责,但是码农最好也要熟络一些,这样一方面可以扩大知识面,另一方面也有助于丰富编码手段。因此对于码农来说,掌握常用设计工具的使用,对工作是很有帮助的。

    02

    【专家答疑】疯狂的Android

    Android系统就是一个开放式的移动互联网操作系统,Android已经成为应用最广的移动互联网平台,对于Java语言而言,Android系统给了Java一个新的机会。在过去的岁月中,Java语言作为服务器端编程语言,已经取得了极大的成功,Java EE平台发展得非常成熟,而且一直是电信、移动、银行、证券、电子商务应用的首选平台、不争的王者。但在客户端应用开发方面,Java语言一直表现不佳,虽然Java既有AWT/Swing界面开发库,也有SWT/JFace界面开发库,但对于客户端应用开发人员而言,大多不愿意选择Java语言。Android系统的出现改变了这种局面,Android是一个非常优秀的手机、平板电脑操作系统,正不断蚕食传统的桌面操作系统,而Android平台应用的开发语言就是Java,这意味着Java语言将可以在客户端应用开发上大展拳脚。

    02

    Android开发未来的出路何在

    目前,移动开发已经处于饱和的阶段,Android开发也不如当年盛况,已经不再像前几年前那么火爆。正如一种编程语言如果经历过盛极一时,那么必然有这样的一条曲线,像我们学的正弦曲线先急速上升,然后到达顶点,然后再下降,最后再趋近一个平稳的值。 可以看到,从2016年的下半年开始,移动互联网基本处于缓慢发展的阶段,很多大佬称之为互联网的下半场。如果移动互联网的前半场是粗放式的强地盘阶段,那么下半场就是守地盘的阶段,这一阶段,会出现众多的寡头。 在技术上,相比之前之前面试只问Android四大组件,数据库,网络和项目经验不同,现在面试Android岗位会设计各种原理(包括系统的一些原理以及第三方库的原理及流程)、Android优化以及与Android相关的跨平台技术。除此之外,稍微大点的公司还会对App的用户体验、流畅度等等提出要求,所以说,Android的面试已经不可同日而语。

    03

    Android开发笔记(一)像素的单位

    老子曾说“天下难事必作于易,天下大事必作于细”,其实Android开发也是如此。博主一开始学android的时候,对像素单位不知其所以然,只知一根筋的填数字,结果在模拟器上跑好好的界面,拿到真机上就显示得东倒西歪,害得自己使劲的找bug,这都是没打好基础的缘故呀。所以一开始就把像素这种基础概念弄清楚,后面会少走很多弯路,开发起来也会更加得心应手。 android支持如下像素单位:px(像素)、in(英寸)、mm(毫米)、pt(磅,1/72英寸)、dp(与设备无关的显示单位)、dip(就是dp)、sp(用于设置字体大小),其中常用的就是px、dp和sp三种。 个人理解,px是android屏幕上可显示的最小单位,这个与物理设备的显示屏有关系,一般来说,同样尺寸的屏幕(比如说都是4.7寸的手机),看起来越清晰的屏幕,其像素密度越高,以px计量的分辨率就越大。 而dp与物理设备无关,只与屏幕的尺寸有关,一般来说,同样尺寸的屏幕,以dp计量的分辨率都是一样的,不管这个手机是哪个厂家生产,dp大小都一样。 至于sp,其原理跟dp差不多,那为什么说sp专门用于设置字体大小呢?android手机在系统设置里面可以设置字体的大小(小、普通、大、超大),设置普通字体时,同数值dp和sp的文字看起来是一样大的,但如果设置为大字体,用dp设置大小的文字没有变化,而用sp设置大小的文字就变大了。所以说,dp与系统设置的字体大小没有关系,而sp会随系统设置的字体大小来变大或者变小。

    03

    Android开发笔记(五十九)巧用传感器

    传感器是Android用来感知周围环境以及运动信息的工具。因为具体的感应信息依赖于相关硬件,所以虽然Android提供了众多的感应器,但不是每部手机都能支持这么多感应器,恰恰相反,大多数安卓手机仅仅支持包括加速度在内的少数几个感应器。 传感器借助于硬件来监听环境改变的事件,从这个意义上来说,Android的事件都是由某个传感器触发,只不过这个触发来源可能是软件,也可能是屏幕,甚至可能是手机的sim卡。回顾一下之前的事件通信章节,我们会发现,原来它们在本质上跟传感器是类似的,比如说: 1、软件感应:UI事件(参见《Android开发笔记(四十四)动态UI事件》)、媒体播放事件(参见《Android开发笔记(五十七)录像录音与播放》)、浏览器加载、交互与下载事件(参见《Android开发笔记(六十四)网页加载与JS调用》)。 2、屏幕感应:点击事件(参见《Android开发笔记(四十三)点击事件》)、手势事件(参见《Android开发笔记(四十五)手势事件》)、拖动条的拖动事件(参见《Android开发笔记(五十八)铃声与震动》)。 3、sim卡感应:手机相关事件(参见《Android开发笔记(四十六)手机相关事件》)。 4、摄像头感应:拍照事件(参见《Android开发笔记(五十六)摄像头拍照》)。 5、麦克风感应:录音事件(参见《Android开发笔记(五十七)录像录音与播放》)。 6、系统感应:电量事件、屏幕开关事件(参见《Android开发笔记(一百一十七)app省电方略》)。 下面是目前Android支持的感应器类型: 1 TYPE_ACCELEROMETER //加速度 2 TYPE_MAGNETIC_FIELD //磁场 3 TYPE_ORIENTATION //方向,该类型已弃用,取而代之的是getOrientation方法 4 TYPE_GYROSCOPE //陀螺仪 5 TYPE_LIGHT //光线 6 TYPE_PRESSURE //压力 7 TYPE_TEMPERATURE //温度,该类型已弃用,取而代之的是TYPE_AMBIENT_TEMPERATURE 8 TYPE_PROXIMITY //距离 9 TYPE_GRAVITY //重力 10 TYPE_LINEAR_ACCELERATION //线性加速度 11 TYPE_ROTATION_VECTOR //旋转矢量 12 TYPE_RELATIVE_HUMIDITY //湿度 13 TYPE_AMBIENT_TEMPERATURE //环境温度 14 TYPE_MAGNETIC_FIELD_UNCALIBRATED //无标定磁场 15 TYPE_GAME_ROTATION_VECTOR //无标定旋转矢量 16 TYPE_GYROSCOPE_UNCALIBRATED //未校准陀螺仪 17 TYPE_SIGNIFICANT_MOTION //特殊动作 18 TYPE_STEP_DETECTOR //步行检测,用户每走一步就触发一次事件 19 TYPE_STEP_COUNTER //计步器,记录激活后的步伐数 20 TYPE_GEOMAGNETIC_ROTATION_VECTOR //地磁旋转矢量

    02

    Android开发笔记(九十二)策略模式

    策略模式是一种把算法和对象分离开的设计模式。 策略模式其实是多态的一种表现。在实现一个功能时,根据不同的业务需求有不同的算法,如果是简单操作,那么使用if else或者switch case即可完成分支处理。但是这么做的可扩展性太差,尤其算法比较复杂的时候更是如此;而且也不具备灵活性,难以按照用户需求实现细节定制。策略模式的出现就是为了解决这些问题,它的好处有: 1、消除了if else或者switch case的分支判断; 2、采用独立的算法类,易于根据新需求进行扩展; 3、方便开发者对算法细节做自定义处理; 4、允许随时设定策略,即可在构造时设置,也可用专门的set方法设置,还可在执行时设置算法;

    03
    领券