性能数据采集的应用程序接口作了修改,两个虚方法已经被更改: protected virtual void UpdateServerSummary(ServerSummary serverSummary);   protected virtual void OnServerSummaryCollected(NodeSummary nodeSummary, ServerSummary serverSummary) 更改为: protected virtual void UpdateServerSta…
之前写过一篇博客,OpenGL管线(用经典管线代说着色器内部),说的主要是OpenGL的经典管线.大家都知道,现代OpenGL已经弃用(从OpenGL 3.0开始)经典管线功能(glBegin,变换矩阵,光照,雾,纹理坐标自动生成,等),这些功能可以在需要时由着色器实现.现代OpenGL分为core profile和compatibility profile两个版本(文献[1]Appendix D p682),core profile不包含任何弃用功能,而compatibility profil…
第1-1章 Fragments 在Activity中的fragment代表的是一种行为或用户界面的一部分.你可以在activity中结合多个fragments创建一个多面板UI,并可以在多个activity中重复使用fragment.你可以把fragment看作是activity的模块化的一个部分,它有自己的生命周期,接收它自己的输入事件,并且当activity正运行时,可以添加或移除fragment(这有点像在不同的activity中重复使用的“sub activity”). Fragment…
第1章 用户界面和布局 应用程序的用户界面就是用户能看到并可以与它交互的任何东西.Android提供多种预置的UI组件,如结构化布局对象和允许你为应用程序创建图形用户界面的UI控件.Android也会为特殊的接口提供其他UI模块,如对话框,通知和菜单.在一个Android应用中,所有用户界面元素都是由View和ViewGroup对象创建的.View 是一种可以在屏幕上绘制某种画面并且可以与用户互动的对象.ViewGroup对象则是为了定义布局的接口而保存其他View(和ViewGroup)对象.…
第2章 输入控件 输入控件是应用程序中用户接口的一种交互式组件.Android提供了大量的可供人们在UI中使用的控件,比如按钮.文本区域.(带滑块的)进度条.复选框.缩放按钮以及切换按钮等等. 在UI中增加输入控件就如同在XML布局中增加XNL元素一样简单.举例来说,下面为一个带有文本区域和按钮的布局.先看下图2-1的效果: 图2-1 各种输入控件 接下来然我们看下代码清单2-1是如何布局上面这些控件的: <?xml version="1.0" encoding="ut…
第3章 菜单 在许多不同类型的应用中,菜单通常是一种用户界面组件.为了提供给用户提供熟悉且一致的体验,你需要使用菜单API来展示用户动作和你Activity中的其他选项. 从安卓3.0系统(API level 11)开始,安卓设备已经不再需要提供专用的菜单按键.基于这种变化,安卓应用需要远离原来所依赖的传统6选项菜单盘,取而代之的是提供一个动作条来显示普通用户的动作.虽然设计方案和用户使用菜单选项的方式已经改变,但是从语义上定义的一套动作和选项仍然是基于菜单API的.这份指导书将介绍在所有版本的…
第4章 Action Bar Action Bar是一个能用于确定应用程序和用户的位置,并提供给用户操作和导航模式的窗口功能.如果需要显著地展示当前用户的操作或导航,应该使用Action Bar,因为Action Bar为用户提供了一个统一的跨应用程序和系统的接口,并且针对不同尺寸的屏幕优雅的处理了Action Bar的适配.你可以通过ActionBar API来控制它的行为和可视性,这些API添加于Android 3.0(API级别为11). Action Bar设计的目的是: ◆提供一个专门…
第5章 设置(Settings) 应用程序通常包括允许用户修改应用程序的特性和行为的设置功能.例如,一些应用程序允许用户指定通知是否启用或指定多久使用云同步数据.如果你想要为你的应用程序提供设置,你应该使用Android的Preference APIs来构建统一的接口.本章的主角就是Preference,下面先让我们看一下图5-1: : 图5-1 这是android短信息应用程序的设置界面截图.它使用就是就是Preference 5.1 概述 相比使用View对象来构建用户接main,设置是构建…
第6章 对话框 一个对话框是一个小窗口,提示用户做出决定或输入额外的信息,一个对话框不填充屏幕并且通常用于在程序运行时中断,然后弹出通知提示用户,从而直接影响到正在运行的程序.图6-1就是对话框的外观. 图6-1 Dialog类是所有具体对话框的基类,但你应该避免直接实例化Dialog.因为可能有些现成的已经给你提供好了,比如以下几种: ◆AlertDialog 一个对话框,可以显示一个标题(可选),三个按钮(可选),内容的列表(可选),或一个自定义布局. ◆DatePickerDialog或T…
第7章 通知 一个通知是一条消息他是显示于你应用程序之外的一个界面中.当你告诉系统要发布一个通知时,它首先作为一个icon出现在通知区域.为了看见通知的细节,用户可以点击通知区域展开一个新的界面.下面让我们来看一下图7-1和图7-2: 图7-1 通知出现在通知区域 图7-2 通知展开后的效果(drawer) 注意:除非特别注明外,本章指的都是NotificationCompat.Builder,它在v4 Support Library中有,正式添加于API Level 15.但有了v4 Supp…