第10章 拖放 使用Android的拖放框架,允许用户通过一个图形化的拖放动作,把数据从当前布局中的一个视图上转移到另一个视图上.这个框架包含了一个拖动事件类,拖动监听器和一些辅助的方法和类. 虽然这个框架主要是为了数据的移动而设计的,但是你可以将这些移动的数据提供给其他的UI操作使用.例如:你可以创建一个当用户把一个彩色图标拖到另一个彩色图标上时,将颜色混合起来的应用.接下来本文将描述关于这个拖放框架的数据移动的内容. 10.1 概述 当用户执行一些被当作是开始拖动数据的信号的手势时,一个拖放…
第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…
第8章 Toast通知 Toast通知是在窗口前面弹出的信息.它只占有信息所需要的空间量,并且用户当前的activity仍然是可见的.可互动的.这种通知自动地淡入和淡出,它不接受交互事件.他相当于一种临时的界面,用来反馈信息给用户,比如当你把某条信息保存为草稿的时候,会弹出如图8-1所示 下面的截图是闹铃应用程序的一个Toast通知示例.一旦开启闹铃,就会显示一个Toast,它提示你闹铃已经设定成功,如图1-9-1所示:. 图8-1 保存为草稿的toast效果 你可以通过Activity或Ser…
第9章 搜索 在android平台上搜索是一个核心的用户功能.无论内容位于设备或网络上,用户应该能够搜索任何对它们可用的数据.为了创建一个一致的用户搜索体验,Android平台提供了一个搜索框架帮助你的应用程序实现搜索功能.搜索框架提供了两种模式的搜索输入:一个在屏幕的顶部搜索对话框或搜索小部件(SearchView),您可以将其嵌入到你的activity布局.在这两种情况下,Android系统将通过传递一个查询到特定的activity协助你实现搜索.下图9-1显示了一个示例搜索对话框和可选的搜…
第12章 自定义组件 Android平台提供了一套完备的.功能强大的组件化模型用于搭建用户界面,这套组件化模型以View和 ViewGroup这两个基础布局类为基础.平台本身已预先实现了多种用于构建界面的View子类和ViewGroup子类,他们被分别称为widget和layout. 界面工具集(widget)包括Button.TextView.EditText.ListView.CheckBox.RadioButton.Gallery.Spinner等这些常用部件以及有着专门用途的AutoCo…
第7章 通知 一个通知是一条消息他是显示于你应用程序之外的一个界面中.当你告诉系统要发布一个通知时,它首先作为一个icon出现在通知区域.为了看见通知的细节,用户可以点击通知区域展开一个新的界面.下面让我们来看一下图7-1和图7-2: 图7-1 通知出现在通知区域 图7-2 通知展开后的效果(drawer) 注意:除非特别注明外,本章指的都是NotificationCompat.Builder,它在v4 Support Library中有,正式添加于API Level 15.但有了v4 Supp…
第11章 样式和主题 style是用于指定View或window的外观和格式的一系列属性的集合.style可以指定高(height).填补(padding).字体颜色.字体大小.背景颜色等等属性.style定义在不同于用来设置布局的XML资源中.Android中的Syles与网页设计中的层叠样式表有着相似的原理——允许你将设计从内容中分离出来.例如,使用一个style,你可以将下面这个布局: <TextView android:layout_width="fill_parent"…
第1-1章 Fragments 在Activity中的fragment代表的是一种行为或用户界面的一部分.你可以在activity中结合多个fragments创建一个多面板UI,并可以在多个activity中重复使用fragment.你可以把fragment看作是activity的模块化的一个部分,它有自己的生命周期,接收它自己的输入事件,并且当activity正运行时,可以添加或移除fragment(这有点像在不同的activity中重复使用的“sub activity”). Fragment…
第1章 资源提供 你应该经常外部化你应用程序代码中的资源,比如图片.字符串等,这样有利于你独立处理这些资源.你也应该根据特定的设备配置提供一些可替代的资源,并且把他们分组保存在指定的路径名下.运行时,Android可以根据当前的配置使用适当的资源.比如,你也许会根据不同的屏幕尺寸提供不同的UI布局或是不同的语言设定提供不同的字符串.一旦你外部化了应用程序中的资源,你就能通过项目中的R类<class>生成的ID来调用他们.本章将向你展示怎么样分类你Android项目中的资源,以及怎么样给特定的设…
第1章 属性动画及动画与图形概述 Android提供了一系列强大的API来把动画加到UI元素中,以及绘制自定义的2D和3D图像中去.下面的几节将综述这些可用的API以及系统的功能,同时帮你做出最优的选择 1.1 动画 Android框架提供了两种动画系统:属性动画(在Android3.0中加入)以及View动画.这两种动画系统都有可行的选择,但是总的来说,属性动画系统是更好的选择,因为它更加灵活,并提供了更多的特性.在这两种系统之外,你可以使用Drawable动画(帧动画),就是你可以加载画图资…
第1章 RenderScript RenderScript提供一个独立于平台并在本地运行的计算引擎,用它来加速你需要大量计算能力的应用.RenderScript是一个运行与Android上计算密集型的高性能架构.RenderScript主要是面向数据的并行计算,虽然串行计算密集型负载也不错.RenderScript运行时将在所有可用的处理器上并行工作,如多核CPU,GPU或DSP,让你专注于算法而不是调度工作或负载均衡.RenderScript对于图像处理,计算摄影或计算机视觉这样的应用程序尤其…
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5143192.html 前言 第一节讲CPU的时候留下了一个疑问,就是由于Android手机系统本身的缺陷造成采集CPU百分比数据会有很大的误差,那么如何分析CPU这个指标呢? 这节我们就来讲讲如何用CPU时间片这个指标来衡量系统CPU的占用或者一款App对系统CPU的占用. 概念 首先需要知道,在Linux系统下,CPU利用率分为用户态.系统态.空闲态,分…
◆版权声明:本文出自胖喵~的博客,转载必须注明出处.      转载请注明出处:http://www.cnblogs.com/by-dream/p/4635782.html 啰嗦两句啊.本来以为adb的一些用法一节就能讲完,没想到这个无线的模式还是比较繁琐的,因此打算单独拉出来说说,后续看有没有必要自己实现一个工具,能够一键切换到无线这样,这样就再也不用插着线干事了.好了,开始吧 无线能干什么 有Android设备的人大概都遇到过这样的场景: 1.用手机拍了好多照片,想拷到电脑上: 2.电脑上的…
<Android 开发权威指南(第二版)>是畅销书<Android开发权威指南>的升级版,内容更新超过80%,是一本全面介绍Android应用开发的专著,拥有45 章精彩内容供读者学习. <Android开发权威指南(第二版)>全面介绍了Android应用开发的各种技术,主要内容包括Android的四大应 用程序组件(Activity.Service.Content Provider和Broadcast Receiver).布局.菜单.控件.资源和本地化.可视化UI设计…
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_35564145/article/details/90005345 1.首先,让日落可逆.也就是说,点击屏幕,等太阳落下后,再次点击屏幕,让太阳升起来. 动画集不能逆向执行,因此,你需要新建一个AnimatorSet. 2.第二个挑战是添加太阳动画特效,让它有规律地放大.缩小或是加一圈旋转的光线.(这实际是反复执行一段动画特效,可考虑使…
Task and Back Stack 英文原文: http://developer.android.com/guide/components/tasks-and-back-stack.html 采集(更新)日期:2014-12-16 在本文中 保存 Activity 状态 管理多个 Task 指定启动模式 处理 affinity 清理回退栈 启动任务 相关文章 Multitasking the Android Way 参阅 Android 设计 : 导航 <activity> manifes…
现代java开发指南 第二部分 第二部分:部署.监控 & 管理,性能分析和基准测试 第一部分,第二部分 =================== 欢迎来到现代 Java 开发指南第二部分.在第一部分中,我们已经展示了有关 Java 新的语言特性,库和工具.这些新的工具使 Java 变成了相当轻量级的开发环境,这个开发环境拥有新的构建工具.更容易使用的文档.富有表现力的代码还有用户级线程的并发.而在这部分中,我们将比代码层次更高一层,讨论 Java 的运维---- Java 的部署.监控&管理…
<Android编程权威指南> 基本信息 原书名:Android programming: the big nerd ranch guide 原出版社: Big Nerd Ranch Guides 作者: (美)Bill Phillips    Brian Hardy 译者: 王明发 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:9787115346438 上架时间:2014-3-18 出版日期:2014 年4月 开本:16开 页码:523 版次:1-1 所属分类:计算机 &g…
Android SDK 开发指南 视频详解 以下视频是对融云 Android SDK 开发使用的详细讲解,您可以在阅读文档时配合学习.   更多视频教程如下: CSDN 融云 Android SDK 开发使用教学视频 InfoQ 融云 Android SDK 开发使用教学视频 前期准备 注册开发者帐号 开发者在集成融云即时通讯.实时网络能力前,需前往融云官方网站注册创建融云开发者帐号. 下载 SDK 您可以到融云官方网站下载融云 SDK.融云 SDK 各部分功能以插件化的形式独立提供,开发者可以…
Android SDK上手指南:下一步学习方向 2014-02-28 11:01 核子可乐 译 51CTO 字号:T | T 到目前为止,我们已经介绍过的知识足以帮助大家从非常理想的起点开始进行Android应用程序开发,但Android所提供的发挥空间还远不止这些.因此开发中的可能性也几乎没有穷尽.因此,我们需要为自己的下一步学习选择明确的方向.在今天的文章中,我们将把全部注意力集中在可资选择的未来学习对象上. AD:51CTO 网+ 第十二期沙龙:大话数据之美_如何用数据驱动用户体验 [51…
因为去年双十二购买了一折的<Android 编程权威指南(第一版)>,在第二版出来后图灵社区给我推送了第二版的优惠码,激动之余就立马下单购买电子书,不得不说Big Nerd Ranch Guide的书都特别棒,本书详细地介绍了Android开发的相关内容,而且使用的IDE是Android Studio这款比Eclipse先进多的工具,相比之下国内大部分书还在介绍基于Eclipse的Android开发环境搭建 orz,拜托进取下好不好.在暑假时候,一个人根据这本书自学了Android开发,虽然目…
第二节:布局入门 一.线性布局 需要掌握的属性: 1.orientation:排列方式 vertical:垂直 Horizontal:水平 2.weight:水平布局的权重 3.gravity:子控件对齐方式 4.layout_gravity控件自身相对于父容器的对齐方式 小技巧: 按钮default,click,focus等状态图片更改 <?xml version="1.0" encoding="UTF-8"?> <selector xmlns:…
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 三.Android学习第三天——Activity的布局初步介绍 今天总结下Activity相关布局的一些知识: Activity最简单跟常用的布局分为两种: ①LinearLayout -- 线性布局 ②TableLayout -- 表格布局 ③RelativeLayout -- 相对布局(今后将会频繁的使用到这个布局) 下面来简单总结下前两种(线性/表格)布局当中常用到…
原文:Knockout应用开发指南 第二章:监控属性(Observables) 关于Knockout的3个重要概念(Observables,DependentObservables,ObservableArray),本人无法准确表达它的准确含义,所以暂定翻译为(监控属性.依赖监控属性和监控数组),如果有好的建议请指正,多谢. 1     创建带有监控属性的view model Observables Knockout是在下面三个核心功能是建立起来的: 监控属性(Observables)和依赖跟踪…
Android艺术开发探索--第二章:IPC机制(下) 我们继续来讲IPC机制,在本篇中你将会学习到 ContentProvider Socket Binder连接池 一.使用ContentProvider ContentProvider是Android中提供的专门用来不同应用之间数据共享的方式,从这一点来看,他天生就是适合进程间通信,和Messenger一样,ContentProvider的底层实现同样也是Binder,由此可见,Binder在Android系统中是何等的重要,虽然Conten…