《Android应用开发精解》已经投放市场,当当和京东都有售,欢迎大家购买阅读,并且批评指正。写技术书籍,不是为了收入,因为稿费实在是太少了。写书只是希望能够把一些实践经验分享给各位开发者,希望读者能够从本书中有所受益。

图书简介

  本书以Android应用开发所需要的技术为线索,先后讲解了SDK一些工具的使用、UI开发、Service开发、数据存储、图形动画、网络开发、硬件操作、结合Web开发以及如何对应用进行优化等。本书并没有从基础的Eclipse安装、Hello World等讲起,而是以Android应用开发过程中常用的技术作为主线去讲解,很多内容需要读者有一定的开发经验才能够很好地理解。   本书在对各种技术阐述的过程中,并不是仅仅简单地把相关知识点讲完就结束了,而是在各知识点后面分享了大量项目实践的经验。这些都是作者在项目过程中思考的成果,是多年从事软件开发工作的技术沉淀,是项目实践过程中的精华。   本书适合有一定Java基础并且想要自学Android开发的编程爱好者、想要转行从事Android领域开发的程序员,以及正在从事Android的初学者阅读。

图书前言

  如今的Android市场异常火爆,Android手机已经占据智能手机操作系统的半壁江山了。市场的火爆也带动了Android软件的发展,越来越多的开发者开始学习Android开发,开始涌入到Android开发的各个领域,这其中有一些软件开发经验丰富的开发者,也有一些刚刚毕业或者还在学校中的学生。然而,总的来说,大部分开发者在Android平台上的开发时间都不算很多,开发经验不足,需要不断在实际项目中学习和沉淀。   如果您也想学习Android开发,或者正在学习Android开发,您一定对下面的问题最关心:Android开发到底难不难?这个问题没有标准的答案,笔者的理解,可以说简单,也可以说难。   为什么说简单?这是因为Android开发主要使用Java语言,对于有Java基础的开发者入门很容易;即使原来没有基础,Java语言学习起来相对也容易些。还有Android的开发成本相对较低,只要有一台PC机就可以用模拟器学习开发了。   为什么说难?这是因为Android市场的复杂性。一个是Android SDK的版本兼容问题。由于市场上Android设备的SDK版本各不相同,开发软件时就不得不考虑不同SDK版本的兼容问题。一个是硬件兼容问题。Android设备的硬件支持五花八门,包括CPU、内存、屏幕分辨率、是否支持某些硬件特性等,开发软件时就不得不考虑市场上已有的各种Android硬件设备的兼容性问题。一个就是定制ROM的问题。Android是开源的,设备厂商可以修改Android的代码并且定制在自己的设备中,从而导致了大多数Android设备都使用了定制过的ROM,这就需要开发者花更多的时间和力气来解决定制ROM的各种问题。还有一个就是Android在国内的开发资料相对较少,很多时候需要去国外网站,或者直接阅读Android的源代码来解决某些问题,这就增加了学习Android的难度。   总体来说,开发一个Android应用并不难,开发出一个优秀的能够经受住市场考验的Android应用却并不容易,需要开发者有丰富的Android开发经验。无论您是想从头开始学习Android应用开发,还是想学习积累经验,本书都是适合的。   本书特点   现在市场上的Android书籍,要么以讲解知识点为主,点到为止;要么是以某虚拟项目为主,介绍项目的同时附上大量的源代码,很少会把项目过程中积累的实际经验写进去。本书最大的特点就是除了讲解Android应用开发的各知识点以外,还分享了大量的实际经验;这些经验一般都无法从现有的书籍或者网络上获得,这些都是在项目过程中思考的成果,是多年从事软件开发工作的技术沉淀。   本书作者   本书的第1~4章由元凯编写,第5~9章由杨诚编写,第10~12章由高磊编写,全书由高磊审阅。由于本书涉及知识较多,而作者水平有限,很难全部精通,难免有疏漏之处,如果读者朋友发现错误,请批评指正,非常感谢。

图书目录

  第1章工欲善其事 必先利其器—Android SDK工具1   1.1巧妇难为无米之炊—Android SDK的安装1   1.2设备管理工具—调试桥(ADB)3   1.2.1ADB简介3   1.2.2ADB常用命令4   1.3没有真机一样开发—Android模拟器7   1.4Android调试—调试工具DDMS9   1.5UI布局分析工具—视图工具(Hierarchy Viewer)14   1.6Log打印—Log输出工具logcat17   1.6.1启动logcat17   1.6.2过滤日志输出17   1.6.3控制日志输出格式18   1.6.4查看可用日志缓冲区19   1.7图片拉伸不失真—九宫格绘制工具Draw 9Patch20   1.7.1什么是“点九”文件20   1.7.2点九文件的制作20   第2章吸引你的眼球—UI编程24   2.1UI基础—常用UI组件24   2.1.1文本显示—文本框(TextView)24   2.1.2按钮(Button)27   2.1.3文本编辑—编辑框(EditText)29   2.1.4图片显示—图片视图(ImageView)32   2.1.5多项选择—多选框(CheckBox)和单项选择—单选框   (RadioBox)34   2.1.6图片拖动—拖动效果(Gallery)38   2.1.7列表组件(ListView)41   2.2彰显你的个性—自定义UI组件48   2.3简单明了的消息提示框(Toast)和对话框(Dialog)51   2.3.1Toast提示51   2.3.2Dialog提示52   2.4Menu键的呼唤—Menu菜单56   第3章界面UI的基石—UI布局61   3.1用户界面的基本单元—View视图61   3.2百花齐放—各种Layout布局64   3.2.1Layout布局的简单介绍64   3.2.2线性布局(LinearLayout)64   3.2.3相对布局(RelativeLayout)67   3.2.4框架布局(FrameLayout)70   3.2.5表单布局(TableLayout)72   3.2.6绝对布局(AbsoluteLayout)74   3.3样式(Style)和主题(Theme)的使用76   3.3.1样式(Style)的使用76   3.3.2主题(Theme)的使用77   Android应用开发精解   第4章Android开发三大基石—Activity、Service和Handler79   4.1应用程序的接口—Activity窗口79   4.1.1Activity生命周期79   4.1.2Activity栈81   4.1.3Activity的创建81   4.1.4Activity的4种加载模式82   4.1.5Activity交互—Activity跳转83   4.1.6Activity中数据传递86   4.2千变万化的服务-Service开发87   4.2.1Service的生命周期87   4.2.2Service的启动和停止88   4.2.3我的服务我来用—本地服务开发89   4.2.4开机自启动的服务93   4.3Android线程间的通信—消息机制95   4.3.1消息的传递—Handler的使用95   4.3.2Android中消息机制的详细分析97   第5章以数据为中心—数据存取100   5.1文件操作100   5.1.1读写一般的文本文件100   5.1.2结构性的文件—读写XML文件103   5.1.3自由操作,随心所欲—序列化和反序列化113   5.2通用的数据操作方式—数据库116   5.2.1SQLite数据库介绍116   5.2.2创建并打开数据库116   5.2.3添加、删除和修改操作117   5.2.4游标的操作—使用Cursor120   5.3安全方便简单—使用SharedPreferences121   5.4我的数据大家用—ContentProvider、ContentResolver123   第6章一张白纸好作画—Canvas画布126   6.1Canvas画布简介126   6.1.1View Canvas—使用普通View的Canvas画图126   6.1.2Bitmap Canvas—使用普通Bitmap的Canvas画图128   6.1.3SurfaceView Canvas—使用SurfaceView的Canvas画图128   6.2Canvas常用绘制方法131   6.3对Canvas进行变换133   6.4Canvas绘制的辅助类134   6.4.1画笔android.graphics.Paint134   6.4.2字体android.graphics.Typeface135   6.4.3颜色android.graphics.Color136   6.4.4路径android.graphics.Path137   6.4.5路径的高级效果android.graphics.PathEffect139   6.4.6点类android.graphics.Point和android.graphics.PointF141   6.4.7形状类android.graphics.Rect和android.graphics.RectF142   6.4.8区域android.graphics.Region与Region.Op144   6.4.9千姿百态,矩阵变换android.graphics.Matrix145   第7章实现炫酷效果—图像和动画149   7.1Android的几种常用图像类型149   7.2图片的基础—Bitmap(位图)150   7.2.1如何获取位图资源150   7.2.2如果获取位图的信息151   7.2.3位图的显示与变换152   7.3变化多端—Drawable(绘图类)154   7.3.1Drawable的一些常用子类154   7.3.2BitmapDrawable154   7.3.3点九图片—NinePatchDrawable155   7.3.4会动的图片—StateListDrawable156   7.3.5颜色填充的另一种方法—PaintDrawable157   7.3.6超炫的特效—ShapeDrawable157   7.3.7简单的帧动画—AnimationDrawable165   7.4轻量级图片—Picture167   7.5Drawable、Bitmap、byte[]之间的转换167   7.6Android提供的几种动画效果(Animation)168   7.7渐变动画—Tween Animation169   7.7.1Tween Animation简介169   7.7.2Tween Animation共同的属性169   7.7.3淡进淡出—AlphaAnimation170   7.7.4忽大忽小—ScaleAnimation171   7.7.5平移—TranslateAnimation172   7.7.6旋转—RotateAnimation173   7.7.7实现一个自己的TweenAnimation174   7.8渐变动画—Frame Animation176   7.9随意组合动画效果—AnimationSet177   7.10加速的工具—Interpolator178   第8章网络的时代—网络开发180   8.1Android中网络开发概述180   8.2直接基于Socket编程181   8.2.1Socket编程简介181   8.2.2基于TCP协议的Socket编程183   8.2.3基于UDP协议的Socket编程184   8.3基于最成熟的Web协议—HTTP协议编程185   8.3.1HTTP协议简介185   8.3.2使用URL类读取HTTP资源187   8.3.3使用HttpURLConnection类访问HTTP资源189   8.3.4使用Apache的HttpClient190   8.4耗时操作的通用方式—多线程与异步处理192   8.4.1多线程和异步处理简介192   8.4.2Handler方式193   8.4.3AsyncTask类实现后台任务的处理197   8.5轻量级的数据交换格式—JSON199   8.5.1客户端与服务器端的数据交互199   8.5.2XML格式与JSON格式的比较201   8.5.3解析JSON格式数据202   第9章多语言环境的支持和多屏幕的适配205   9.1Android程序的资源文件205   9.1.1资源文件的目录结构205   9.1.2资源文件目录的修饰语206   9.1.3程序加载资源文件的步骤208   9.2国际化和本地化的支持209   9.3多屏幕的适配210   9.3.1屏幕参数的基本概念210   9.3.2屏幕参数的各种单位及相互转换211   9.3.3处理屏幕自适应的方法212   9.3.4详细说明Density214   第10章利用手机特性—结合硬件进行开发217   10.1炫酷的人机交互—触摸和手势217   10.1.1实现滑动翻页—使用ViewFlipper217   10.1.2支持多个手指一起操作—实现多点触摸222   10.1.3识别手势—使用GestureDetector227   10.2我在哪里—使用定位功能230   10.3电话拨打和短信发送233   10.3.1调用系统的电话拨打功能233   10.3.2实现发送短信的功能234   10.4拍照和摄像235   10.5使用传感器238   10.5.1传感器概述238   10.5.2加速度传感器241   10.5.3方向传感器242   10.5.4其他传感器243   第11章避重就轻—结合Web开发Android应用245   11.1Android上的Web应用概述245   11.2使用WebView载入Web页面247   11.2.1Webkit引擎和WebView控件247   11.2.2浏览基本的Web页面247   11.2.3开启对于JavaScript的支持249   11.2.4监听Web页面的载入250   11.2.5让WebView支持文件下载250   11.3本地代码与Web页面交互252   11.3.1向Web页面传递数据252   11.3.2本地代码调用Web页面JavaScript方法254   11.3.3Web页面调用本地Java方法254   11.4Web页面的JavaScript调试259   11.5常用移动设备Web开发框架260   11.5.1jQuery Mobile框架简介260   11.5.2Sencha Touch框架简介262   11.5.3PhoneGap开发平台简介262   第12章细节决定成败—Android应用程序的优化264   12.1对应用内存的优化264   12.1.1Android程序的内存概述264   12.1.2追踪内存—使用内存优化辅助工具266   12.1.3吃内存大户—Bitmap的优化270   12.1.4想回收就回收—使用软引用和弱引用274   12.1.5注重细节—从代码角度进行优化277   12.2对界面UI的优化281   12.2.1多利用Android系统的资源281   12.2.2抽取相同的布局284   12.2.3精简UI层次285   12.2.4界面延迟加载技术287   12.3留条后路—对Crash进行处理288   12.3.1为什么需要捕获Crash288   12.3.2如何捕获和处理Crash289

详细介绍:http://baike.baidu.com/view/9357192.htm

当当网:http://product.dangdang.com/product.aspx?product_id=22870231

《Android应用开发精解》相关推荐

  1. ComeFuture英伽学院——2020年 全国大学生英语竞赛【C类初赛真题解析】(持续更新)

    视频:ComeFuture英伽学院--2019年 全国大学生英语竞赛[C类初赛真题解析]大小作文--详细解析 课件:[课件]2019年大学生英语竞赛C类初赛.pdf 视频:2020年全国大学生英语竞赛 ...

  2. ComeFuture英伽学院——2019年 全国大学生英语竞赛【C类初赛真题解析】大小作文——详细解析

    视频:ComeFuture英伽学院--2019年 全国大学生英语竞赛[C类初赛真题解析]大小作文--详细解析 课件:[课件]2019年大学生英语竞赛C类初赛.pdf 视频:2020年全国大学生英语竞赛 ...

  3. 信息学奥赛真题解析(玩具谜题)

    玩具谜题(2016年信息学奥赛提高组真题) 题目描述 小南有一套可爱的玩具小人, 它们各有不同的职业.有一天, 这些玩具小人把小南的眼镜藏了起来.小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的 ...

  4. 信息学奥赛之初赛 第1轮 讲解(01-08课)

    信息学奥赛之初赛讲解 01 计算机概述 系统基本结构 信息学奥赛之初赛讲解 01 计算机概述 系统基本结构_哔哩哔哩_bilibili 信息学奥赛之初赛讲解 02 软件系统 计算机语言 进制转换 信息 ...

  5. 信息学奥赛一本通习题答案(五)

    最近在给小学生做C++的入门培训,用的教程是信息学奥赛一本通,刷题网址 http://ybt.ssoier.cn:8088/index.php 现将部分习题的答案放在博客上,希望能给其他有需要的人带来 ...

  6. 信息学奥赛一本通习题答案(三)

    最近在给小学生做C++的入门培训,用的教程是信息学奥赛一本通,刷题网址 http://ybt.ssoier.cn:8088/index.php 现将部分习题的答案放在博客上,希望能给其他有需要的人带来 ...

  7. 信息学奥赛一本通 提高篇 第六部分 数学基础 相关的真题

    第1章   快速幂 1875:[13NOIP提高组]转圈游戏 信息学奥赛一本通(C++版)在线评测系统 第2 章  素数 第 3 章  约数 第 4 章  同余问题 第 5 章  矩阵乘法 第 6 章 ...

  8. 信息学奥赛一本通题目代码(非题库)

    为了完善自己学c++,很多人都去读相关文献,就比如<信息学奥赛一本通>,可又对题目无从下手,从今天开始,我将把书上的题目一 一的解析下来,可以做参考,如果有错,可以告诉我,将在下次解析里重 ...

  9. 信息学奥赛一本通(C++版) 刷题 记录

    总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716 信息学奥赛一本通(C++版) 刷题 记录 http://ybt.ssoier. ...

  10. 最近公共祖先三种算法详解 + 模板题 建议新手收藏 例题: 信息学奥赛一本通 祖孙询问 距离

    首先什么是最近公共祖先?? 如图:红色节点的祖先为红色的1, 2, 3. 绿色节点的祖先为绿色的1, 2, 3, 4. 他们的最近公共祖先即他们最先相交的地方,如在上图中黄色的点就是他们的最近公共祖先 ...

最新文章

  1. 如何让Visual Studio 2010支持HTML5和CSS3
  2. 国家发钱了!研究生补贴一览表!
  3. c语言wb和wb 区别,C语言文件 w+与wb+区别
  4. 关闭Android电池温度告警框,android电源信息查看(电量、温度、电压)实例代码
  5. linux 4.9 内核 nptl,【linuxThread和NPTL】
  6. KubeSphere
  7. 2018-2019-2 20175320实验五《网络编程与安全》实验报告
  8. plecs / plexim 学习随笔
  9. win7怎样修改文件后缀名
  10. 10月24日——程序猿的节日
  11. 2021年北京市级企业技术中心申报时间及流程是什么,补贴300万
  12. 线程1(Thread)
  13. 菜刀、冰蝎、蚁剑、哥斯拉
  14. 计算机论文答辩注意哪些问题,计算机毕业设计答辩(问题+技巧)
  15. Alexnet详解以及tesnsorflow实现alexnet;什么是alexnet alexnet能做什么;alexnet教程
  16. 如何快速转行产品经理 少走弯路
  17. 2022年全国最新中级消防设施操作员模拟题库及答案
  18. 丢人了,我都不知道4D啊
  19. C语言不定参数的作用,分享:C语言的三种不定参数,省略号用法
  20. AtCoder Beginner Contest 205 A~E 题解

热门文章

  1. esp32之MicroPython开发工具
  2. Pandownload关闭了,百度网盘真的提速高达10Mb/s?
  3. 网络安全-技术与实践 | 第三章作业布置 by cdut 赵老师
  4. 转转二手交易网成为更多人选择的交易平台
  5. Android方向传感器学习之指南针示例
  6. C语言数据结构,边界标识法
  7. Linux九阴真经之九阴白骨爪残卷9(存储引擎MyISAM、MySQL服务器变量)
  8. TencentOS tiny 移植到STM32F103全教程(基于标准库)
  9. 转载:关于动漫与动画
  10. Excel如何从复杂文本中提取汉字