
《Android应用开发精解》
文章平均质量分 85
要什么昵称嘛
做技术好多年了,期间有过彷徨,但是我还是选择了坚持,决心把技术这条路执着的走下去。座右铭:付出才有回报。
展开
-
第九章 多语言环境的支持和多屏幕的适配(3)
9.3.4详细说明DensityDensity值,表示每英寸有多少个显示点,它与屏幕分辨率是两个概念。HVGA屏density=160;QVGA屏density=120;WVGA屏density=240;WQVGA屏density=120。apk的资源包中,当屏幕density=240时,使用hdpi标签的资源;当屏幕density=160时,使用mdpi标签的资源;当屏幕density=120时原创 2016-03-23 13:49:49 · 2810 阅读 · 1 评论 -
第六章 一张白纸好作画—Canvas画布(3)
6.4 Canvas绘制的辅助类通过前面对Canvas的介绍,我们明白Canvas可以做很多事,绘画图形,变换等,当然在手机世界里我们看到的远远不是简单的图形就可以表现完全的,还有颜色,字体,等各种各样的元素组成,专门的工作交给专门的类来处理。下面我们介绍一些Canvas常用到的一些辅助类。6.4.1画笔android.graphics.Paint在Canvas绘制的辅助类中,使用频率最多的是画笔原创 2015-02-24 09:20:46 · 3461 阅读 · 0 评论 -
第六章 一张白纸好作画—Canvas画布(5)
6.4.8区域 android.graphics.Region与Region.Op在Canvas的绘画时,我们可能碰到止需要显示半个矩形,或者显示一部分图片,那么我们就要用到Canvas的设置区域的方法,有clipRect(Rect rect,Region.Op op)、clipRegion(Region region)这两个方法。Region表示的是一个区域和Rect不同的是,它可以表示的一个不原创 2015-02-24 09:31:08 · 3520 阅读 · 1 评论 -
第六章 一张白纸好作画—Canvas画布(4)
6.4.4路径android.graphics.Path当我们的需求是一个不规则的图形的时候,Canvas的drawRect等方法就不行了,这里就要用到drawPath(Path path, Paint paint)方法来按路径绘画一个形状。Canvas还有一个方法clipPath(Path path)。这个方法用于按照设计的路径来设置Canvas中的有效区域。下面我们就介绍下路径类,它是一个多个原创 2015-02-24 09:23:06 · 3638 阅读 · 1 评论 -
第四章 Android开发三大基石—Activity、Service和Handler(4)
4.2 千变万化的服务-Service开发Service是Android系统中运行在后台、不和用户交互应用组件。它和Activity的级别差不多,只能在后台运行。每个Service必须在manifest文件中 通过来声明。4.2.1 Service的生命周期Service的生命周期并不像Activity那么复杂,它只继承了onCreate(),onStart(),onDestroy()三个方法,当原创 2015-01-21 09:52:07 · 3354 阅读 · 0 评论 -
第六章 一张白纸好作画—Canvas画布(2)
6.2 Canvas常用绘制方法前面一节我们了解到如果创建一个画布,接下来我们就将要在这个画布上进行绘制。Android SDK的Canvas类中包含了一系列用于绘制的方法,方法分为3种类型,下面简单介绍这些常用的绘制方法。 1)Canvas类的几何图形(Geometry)方面的方法用于绘制点、绘制线、绘制矩形、绘制圆弧等。其中一些主要的方法如表6-1所示: 方法 返回值 说明 dr原创 2015-02-06 21:24:54 · 2110 阅读 · 2 评论 -
第四章 Android开发三大基石—Activity、Service和Handler(5)
2)和Activity交互的本地服务刚刚我们介绍的Service是不需要与Activity进行交互的,现在我们再来看看与Activity交互的本地服务。首先,我们新建一个BindLocalServide类继承自Serivce,代码如下: // import略 public class BindLocalServideextends Service { private sta原创 2015-01-21 09:55:38 · 2211 阅读 · 2 评论 -
第四章 Android开发三大基石—Activity、Service和Handler(3)
4.1.5Activity交互—Activity跳转一般的,我们的应用程序都不会简单到只有一个界面,而是会有很多个界面,这个时候我们就会创建多个Activity,然后根据业务逻辑在多个Activity之间进行跳转。我们可以用切换Layout的方式进行手机页面间的转换。但是如果要转换的页面并不单单只是背景、颜色或文字内容的不同,而是需要对整个Activity进行置换,并将主控权交给新的Activit原创 2015-01-21 09:45:26 · 2469 阅读 · 0 评论 -
第三章 界面UI的基石—UI布局(5)
3.3 样式(Style)和主题(Theme)的使用3.3.1样式(Style)的使用不管是应用开发还是游戏开发,我们开发出来的产品,大部分的时候还是要让更多的人来使用的。因此,除了功能上的完善之外,布局上的合理而美观也是我们需要考虑的问题。Style和Theme的设计就是提升用户体验的关键之一。Style和Theme都是为了改变样式,但是二者又略有区别:1)Style是针对窗体元素级别的,改变指原创 2015-01-15 10:26:37 · 1740 阅读 · 0 评论 -
第二章 吸引你的眼球—UI编程(1)
第二章 吸引你的眼球—UI编程学习Android应用程序的开发技术,除了先要熟悉相关工具以外,最直接的,就是学习如何使用各种UI组件。我们开发的应用程序,一般都会包含一组用户可见的界面,而这些界面就是由一个个的AndroidUI组件组成的。我们在学习界面开发技术的过程中,首先就要熟悉这些组件,然后才能将它们有效的组织起来,构成一个美观、合理的界面。本章会先详细讲解一些常用的UI组件,及如何自定义组原创 2014-12-29 18:41:25 · 2049 阅读 · 0 评论 -
第二章 吸引你的眼球—UI编程(6)
2.2 彰显你的个性—自定义UI组件很多时候,Android的常用控件并不能满足我们的需求。为了吸引更多的眼球,达到标新立异的效果,我们可以自己来定义各种控件。我们可以通过继承基础控件来重写某些环节,当然我们也可以将多个控件组合成一个新控件来使用。我们先来看看下面一个例子,在这个例子当中,我们实现了一个带有图片和文字的按钮。首先,定义一个layout,实现按钮内部的布局。代码如下:原创 2015-01-04 09:25:39 · 2386 阅读 · 1 评论 -
第一章 工欲善其事 必先利其器—Android SDK工具(7)
1.7 图片拉伸不失真—九宫格绘制工具(Draw 9-Patch)1.7.1 什么是“点九”文件有的时候,我们需要拉伸图片来满足我们的需求,但是有的图片一旦拉伸,就会产生一个很严重的问题-图片失真。那么怎么样既可以拉伸图片而又不失真呢?Android平台上的.9.png格式的图片就是为了解决这一问题而产生的。为了方便,这里我们将.9.png格式的图片称作“点九”文件。那么,我们先来了解一下什么是点原创 2014-12-27 09:27:38 · 1874 阅读 · 0 评论 -
第四章 Android开发三大基石—Activity、Service和Handler(6)
4.3 Android线程间的通信—消息机制在Android程序运行中,线程之间或者线程内部进行信息交互时经常会使用到消息,如果我们熟悉这些基础的东西及其内部原理,将会使我们的Android开发变的更加容易,从而更好地架构系统。下面,就让我们来看看Android中的消息机制到底是怎样一回事吧。4.3.1消息的传递—Handler的使用在Android中,线程之间进行信息交互时经常会使用消息,那么,原创 2015-01-24 10:26:19 · 2125 阅读 · 0 评论 -
第四章 Android开发三大基石—Activity、Service和Handler(7)
4.3.2Android中消息机制的详细分析下面,我们就来详细分析一下Android中的消息机制。熟悉Windows编程的朋友知道Windows程序是消息驱动的,并且有全局的消息循环系统。Google参考了Windows的消息循环机制,也在Android系统中实现了消息循环机制。Android通过Looper、Handler来实现消息循环机制。Android的消息循环是针对线程的,每个线程都可以有原创 2015-01-24 10:28:49 · 2576 阅读 · 0 评论 -
第七章 实现炫酷效果—图像和动画(1)
第七章实现炫酷效果—图像和动画学完上一章,相信读者对Android画图核心部分有了一定的了解。为了实现更加炫酷的效果,我们可能会在我们的应用中使用大量的图像和动画效果。本章我们将详细介绍Android中的各种图像对象的使用,以及动画的使用。学习完本章,相信读者可以独立开发出有着绚丽的视觉效果的Android应用了。7.1 Android的几种常用图像类型Android中的图像对象,主要有andro原创 2015-05-31 12:24:28 · 3560 阅读 · 0 评论 -
第九章 多语言环境的支持和多屏幕的适配(2)
9.3多屏幕的适配9.3.1屏幕参数的基本概念Android手机屏幕大小不一,有480x320、640x360、800x480等等,还包括不同屏幕密度,怎样才能让应用程序自动适应不同的屏幕呢?首先我们来了解几个基本概念:1)屏幕尺寸Screensize即显示屏幕的实际大小,按照屏幕的对角线进行测量。为简单起见,Android把所有的屏幕大小分为四种尺寸:小、普通、大、超大(分别对应:small、n原创 2016-03-23 13:47:51 · 2735 阅读 · 0 评论 -
第九章 多语言环境的支持和多屏幕的适配(1)
第九章 多语言环境的支持和多屏幕的适配资源是在代码中使用到的,并且在编译时被打包进应用程序的附加文件。出于加载效率的考虑,资源被从代码中分离出来,而且XML文件被编译进二进制代码中。在Android中,程序代码可以不直接和资源发生关系,而是通过R文件提供的索引来间接的引用某一个资源。Android系统会自动根据用户当前的环境,和屏幕分辨率情况,自动选用最合适的资源。正是基于Android系统这种独原创 2016-03-23 13:46:33 · 3107 阅读 · 0 评论 -
第八章 网络的时代—网络开发(4)
8.5轻量级的数据交换格式—JSON8.5.1 客户端与服务器端的数据交互在Android应用开发中,尤其是网络应用的开发,我们经常需要从网络上获取数据,而不仅仅从本地数据库或者本地文件中取得数据,这个时候就涉及到客户端与服务器端的数据交互了。客户端如何需要与服务器端进行数据交互,就需要约定一种协议或者是数据交换格式。那么一般的,Android客户端与服务器端进行数据交互有哪些方式呢?根据业务需求原创 2016-03-21 11:43:11 · 3144 阅读 · 0 评论 -
第八章 网络的时代—网络开发(3)
8.4耗时操作的通用方式—多线程与异步处理Android通过一个主线程对用户界面进行更新,这个线程是UI线程。如果程序不使用任何并发构建、Android的所有代码都会在这个线程中运行。当我们在进行网络连接等比较耗时的操作时,如果此连接动作直接在主线程,也就是UI线程中处理,会发生什么情况呢?整个程序处于等待状态,界面似乎是“假死”掉了。如果5秒钟以上没有响应,系统就会弹出对话框提示是否要强制关闭应原创 2016-03-21 11:41:10 · 2806 阅读 · 0 评论 -
第八章 网络的时代—网络开发(2)
8.3基于最成熟的Web协议—HTTP协议编程8.3.1 HTTP协议简介超文本传输协定(HTTP,HyperTextTransferProtocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。HTTP是一个客户端和服务器端请求和应答的标准(TCP)。客户端是终端用户,服务器端是网站。通过使用Web浏原创 2016-03-21 11:37:03 · 2728 阅读 · 0 评论 -
第八章 网络的时代—网络开发(1)
在最近几年里,移动互联网已经是一个炙手可热的领域。移动互联网,简单的说,就是互联网的延伸,将互联网从电脑延伸至手机等移动设备上。伴随着智能手机的普及,以及基于智能手机的各种应用和服务的滋生,如今的移动互联网真正意义上进入了高速发展的阶段。而Android作为智能手机的重要平台之一,必然就会有越来越多的Android应用瞄准这个市场。在现有的Android应用中,有很大一部分都是网络相关的应用。所以原创 2016-03-21 11:35:06 · 3297 阅读 · 0 评论 -
第七章 实现炫酷效果—图像和动画(6)
7.8 渐变动画—Frame AnimationFrameAnimation是按顺序播放事先做好的图像,跟播放电影类似。可以参考前面的7.3.7章节——《简单的帧动画—AnimationDrawable》。 经验分享: AnimationDrawable也可以通过代码来生成AnimationDrawable对象: AnimationDrawable mAnimationDrawable原创 2015-05-31 12:45:45 · 3295 阅读 · 2 评论 -
第七章 实现炫酷效果—图像和动画(4)
7.4 轻量级图片—PictureDrawable、Bitmap都是比较常用的图形对象类。我们在阅读Android SDK文档还会发现一个类:android.graphics.Picture。那么Picture又是做什么用的呢?相对于Drawable和Bitmap而言,Picture对象就小巧的多,它并不存储实际的像素,仅仅记录了每个绘制的过程。整个类提供了两个重载形式,其中比较特别的是Pictu原创 2015-05-31 12:37:36 · 2557 阅读 · 0 评论 -
第七章 实现炫酷效果—图像和动画(5)
7.7 渐变动画—Tween Animation7.7.1Tween Animation简介一个Tween动画将对视图对象中的内容进行一系列简单的转换(位置,大小,旋转,透明性)。如果你有一个文本视图对象,你可以移动它,旋转它,让它变大或让它变小,如果文字下面还有背景图像,背景图像也会随着文件进行转换。可以使用XML来定义Tween Animation。首先将动画的XML文件在工程中res/ani原创 2015-05-31 12:43:18 · 3153 阅读 · 1 评论 -
第七章 实现炫酷效果—图像和动画(3)
7.3.6超炫的特效—ShapeDrawable当你想去使用一些常用的图形,ShapeDrawable对象可能会对你有很大的帮助。当然通过ShapeDrawable,你可以通过编程画出任何你想到的图像与样式,因为ShapeDrawable有自己的draw()方法。ShapeDrawable继承了Drawable,所以你可以调用Drawable里有的函数,使用方法和其他的Drawable的子类差不多原创 2015-05-31 12:33:53 · 3057 阅读 · 0 评论 -
第七章 实现炫酷效果—图像和动画(2)
7.3 变化多端—Drawable(绘图类)Drawable资源是Android系统中使用最广泛、最灵活的资源,可以直接使用png、jpg、gif、9.png等图片做为资源文件,也可以使用多种XML文件做为资源文件。下面详细介绍下各种Drawable资源。7.3.1Drawable的一些常用子类Android平台的Drawable代表可以绘制在屏幕上的资源,可以使用getDrawable(int)原创 2015-05-31 12:29:59 · 2947 阅读 · 1 评论 -
第四章 Android开发三大基石—Activity、Service和Handler(2)
4.1.3Activity的创建在 Android 中创建一个 Activity 是很简单的事情,编写一个继承自 android.app.Activity的类,并在 AndroidManifest.xml文件中声明即可。下面,我们来看一个例子,我们创建一个MyActivity类继承自Activity,代码如下: public class MyActivity extends Activity原创 2015-01-18 15:27:19 · 2298 阅读 · 0 评论 -
第三章 界面UI的基石—UI布局(3)
3.2.4框架布局(FrameLayout)FrameLayout是五大布局中最简单的一个布局,也称为层布局或者是帧布局。在这个布局中,整个界面被当成一块空白备用区域,所有的子元素都不能被指定放置的位置,它们统统放于这块区域的左上角,层叠式排列。此布局无法控制子控件的大小和位置,但是子控件自身可以控件其大小和位置。后一个子元素将会直接在前一个子元素之上进行覆盖填充,把它们部份或全部挡住(除非后一个原创 2015-01-08 09:16:43 · 1956 阅读 · 0 评论 -
第三章 界面UI的基石—UI布局(4)
3.2.5表单布局(TableLayout)TableLayout,即表单布局,以行和列的形式管理控件。每行为一个TableRow对象,也可以为一个View对象。当为View对象时,该对象将横跨该行所有列。同样的,我们也以一个简单的例子来加以说明,看完例子之后相信大家对TableLayout的应用会有一个比较全面的了解。 android:layout_width="fill_p原创 2015-01-12 10:45:04 · 1755 阅读 · 0 评论 -
第二章 吸引你的眼球—UI编程(5)
2.1.7列表组件(ListView)ListView在Android中也是一个使用比较频繁的组件。它相对于其他的基本组件来说,使用起来稍微复杂一些,需要注意的也比较多,尤其是和其他一些组件组合起来使用的情况。在Android中,ListView用来显示一个列表的组件,它以列表的形式展示具体的内容,并且能够根据数据的长度自适应显示。用户可以选择并操作这个列表,同时会触发相应的事件:当鼠标滚动时会触原创 2014-12-31 09:33:07 · 2365 阅读 · 3 评论 -
第六章 一张白纸好作画—Canvas画布(1)
第六章 一张白纸好作画—Canvas画布前面的相关章节,我们详细说明过Android UI组件的使用。通过前面章节的学习,开发者已经可以开发出令人满意的UI效果了。但是有的时候,我们需要实现更加漂亮的UI效果,此时可能就无法直接使用UI组件,而是需要自己画出各种UI效果了。在Android中,Canvas就是一个画布,开发者可以在画布上绘制想要的任何东西。在本章中,我们将介绍Canvas及相关的技原创 2015-02-04 09:53:13 · 3107 阅读 · 0 评论 -
第五章 以数据为中心—数据存取(6)
5.3 安全方便简单—使用SharedPreferences前面操作文件和数据库都相对比较复杂,需要打开,读取,关闭等等操作。可能有人就想,如果我只是需要存取几个简单的数据,有没有简单点的方法呢?的确,在Android中也封装了一种轻便的数据存取的方法—Preferences。Preferences是一种轻量级的数据存储机制,它将一些简单数据类型的数据,包括boolean类型、int类型、floa原创 2015-02-03 09:11:06 · 2222 阅读 · 1 评论 -
《Android应用开发精解》目录
目录 前言... 3 第一章 工欲善其事 必先利其器—Android SDK工具... 9 1.1 巧妇难为无米之炊—Android SDK的安装... 9 1.2 设备管理工具—调试桥(ADB)... 11 1.2.1 ADB简介... 11 1.2.2 ADB常用命令介绍... 11 1.3 没有真机一样开发--Android模拟器... 13 1.4 Android调试—调试工具( DDMS原创 2014-12-23 16:04:39 · 1906 阅读 · 2 评论 -
《Android应用开发精解》前言
前言如今的Android市场异常火爆,Android手机已经占据智能手机操作系统的半壁江山了。Android市场的火爆也带动了Android软件的发展,越来越多的开发者开始学习Android开发,开始涌入到Android开发的各个领域。这其中,有一些软件开发经验丰富的开发者,也有一些刚刚毕业或者还在学校中的学生。然而,总的来说,大部分开发者在Android平台上的开发时间都不算很多,开发经验尚还不原创 2014-12-23 16:01:22 · 1967 阅读 · 0 评论 -
《Android应用开发精解》内容简介
内容简介本书以Android应用开发所需要的技术为线索,先后讲解了SDK一些工具的使用、UI开发、Service开发、数据存储、图形动画、网络开发、硬件操作、结合Web开发,以及如何对应用进行优化等等。本书并没有从基础的Eclipse安装、Hello World等等讲起,而是以Android应用开发过程中常用的技术作为线索去讲解,很多内容需要读者有一定的开发经验才能够很好的理解。本书在对各种技术的原创 2014-12-23 15:59:30 · 1512 阅读 · 0 评论 -
第五章 以数据为中心—数据存取(5)
5.2.3 添加、删除和修改操作下面具体说明如何进行添加、删除、修改的操作。下面我们将这些动作封装在一个类DBHelper中,通过这个类的几个方法,可以具体看到如何进行数据库的各种操作。 // import略 public class DBHelper { private static final String[] COLS = new String[] { "_id",原创 2015-01-29 09:51:44 · 1746 阅读 · 0 评论 -
第五章 以数据为中心—数据存取(4)
5.2 通用的数据操作方式—数据库说到数据的存取,数据库肯定是一个常用的解决方案。Android中也有它自己的数据库,下面我们来看看Android中的数据库与一般的数据库有什么不一样的地方。5.2.1SQLite数据库介绍目前在Android系统中集成的是SQLite3版本,它支持SQL语句,它是一个轻量级的嵌入式数据库。SQLite支持NULL、INTEGER、REAL、TEXT和BLOB数据类原创 2015-01-29 09:49:47 · 1607 阅读 · 0 评论 -
第五章 以数据为中心—数据存取(3)
5.1.3自由操作随心所欲—序列化和反序列化在Android开发中,除了经常会操作普通的文本文件和XML文件以外,也会经常使用序列化和反序列化的方式传递或者存取数据。Android序列化对象主要有两种方法,实现Serializable接口、或者实现Parcelable接口。实现Serializable接口是Java SE本身就支持的,而Parcelable是Android特有的功能,效率比实现Se原创 2015-01-29 09:47:02 · 1743 阅读 · 0 评论 -
第五章 以数据为中心—数据存取(1)
第五章以数据为中心—数据存取典型的桌面操作系统提供一种公共文件系统——任何应用软件可以使用它来存储和读取文件,该文件也可以被其它的应用软件所读取(会有一些权限控制设定)。而Android 采用了一种不同的系统。在Android 中,所有的应用软件数据(包括文件)为该应用软件所私有。然而,Android 同样也提供了一种标准方式供应用软件将私有数据开放给其它应用软件。这一章将描述一个应用软件存储和获原创 2015-01-26 19:51:47 · 2477 阅读 · 0 评论 -
第一章 工欲善其事 必先利其器—Android SDK工具(5)
1.5 UI布局分析工具—视图工具(Hierarchy Viewer)在Android的SDK工具包中,有很多十分有用的工具,可以帮助程序员开发和测试Android应用程序,大大提高其工作效率。其中的一款叫Hierachy Viewer的可视化调试工具,可以很方便地在开发者设计、调试和调整界面时,提高用户的开发效率,达到事半功倍的效果。它主要有以下两个功能:1)从可视化的角度直观地获得UI布局设计原创 2014-12-25 09:45:35 · 1789 阅读 · 0 评论