我的新书《Android App开发从入门到精通》终于出版啦
前言
经过了两年多终于完成了这本书,2016年9月份开始写的,到今天为止2年零2个月,本书的内容大部分是去年完成的,看过我去年总结的读者可能知道,去年事情很多太忙了,导致本命年这本书没有上架(有点小小的遗憾)。
工作之余喜欢写写技术文章,对自己的技术做一个总结同时也让后来者站在我的肩膀上,之前一直在CSDN发表文章,也是CSDN博客专家,单篇文章上万阅读量,在这里感谢这个平台,让我的文章被更多人看到。
为什么要写这本书?
现在Android方面的书也蛮多的,但是都是讲基础的书籍或者技术都过时了,本书会结合我多年Android开发经验,讲解企业最常用的Android基础,并且学习最前沿的技术,让有Java SE基础的人能快速上手开发项目。
章节内容介绍
本书一共10个章节,从基础入门到高级初步。
第1章学习了开发工具Android Studio,孔子云:“工欲善其事,必先利其器”,一个好的开发工具可以让开发人员的工作效率有大幅度的提高。
第2章节讲解了Android控件相关知识,一个UI界面是由多个控件组成,只有熟练使用各种控件才能做出好看的App,达到UI设计师想要的效果。
第3章节学习了Android中四大组件,在真实的企业开发中,四大组件的其中三个:Activity(活动)、Service(服务)、Broadcast Receiver(广播接收器)使用及其频繁,ContentProvider(内容提供者)使用频率相对少一些,只有某些需求需要用到时才会使用。
第4章节学习了Fragment(碎片),从Fragment简单使用,到最后的案例开发,一步步深入的学习Fragment,使用了Fragment让我们的App模块化,还能解决手机跟平板适配问题。
第5章学习了多线程开发,从多线程的创建,到字线程如何更新UI,通过阅读源码分析了Handle的实现原理,最后介绍了线程池的使用。
第6章首先学习了Android网络编程,通过Get/Post方式向服务器发送Http请求,现在市面上大部分App跟服务器交互都是返回Json数据,所以介绍了Gson框架,还学习了OkHttp开源项目的使用以及封装,让我们站在巨人的肩膀上。最后还学习了数据存储的三种方式。
第7章节学习了Android高级初步知识点,内容比较多、比较杂。主要介绍了Notification使用、多媒体开发、WebView使用、定位的三种方式、NDK跟JNI开发、Git管理项目等。
第8章节学习介绍了Android中各大版本的更新,让我们的App解决版本适配问题,完美兼容5.0以上各个版本。站在技术的最前言,不输在起跑线上。
第9章节学习了常用功能模板,这些功能是大家在企业开发中可能会碰到的需求,通过模版的学习,让我们知道对一个App中功能的划分,以及如何封装模块。
第10章节通过模仿一个商业App,从零开始搭建一个项目,使用了前面9个章节所学内容,让我们所学知识点能达到融会贯通的地步,进一步熟练掌握。有了项目经验,在真实的企业开发中也能成为一名合格的开发人员。
行业大佬推荐
安辉是我们团队里的的Android专家,本书讲解清晰、示例丰富,是他的倾心力作,同时也是技术经历的真实写照,能帮助大家快速提升开发经验,少走弯路。
------------------------------ 郭鹏 上海翼成CTO
万丈高楼平地起,这本书带你稳扎稳打,筑造更高的Android大厦。
------------------------------ 徐宜生 《Android群英传》作者
这是一本有特色的Android 入门书籍,有基础、有新特性还有实战,推荐一读。
------------------------------ 刘望舒《Android进阶之光》、《Android进阶解密》作者
本书是一本非常实用的Android 入门到进阶教材,也是Android 开发者加深强化基础知识的教材,内容简明扼要,重点突出,值得大家阅读!
------------------------------ Tamic 美团Android高级工程师
感谢一些人
首先得感谢清华出版社编辑卞诚君先生,没有他的邀请就没有本书的诞生,并且在排版以及审核上花费了很多时间,因为有他的努力付出使本书能够更快的完成。
第二个要感谢的就是我的好朋友王帅,本书的早期大纲是我们两共同完成的(后面有修改),并且计划跟我一起写这本书,但是由于个人原因放弃了。
还要感谢王帅跟芮成兵他两担任本书的审阅工作,给本书提供了宝贵的意见,同时感谢四位行业大佬推荐,最后感谢翼成的小伙伴们,在我写书的这段时间里对我的帮助。
封面
封面也改了好几次,最后还是觉得这个好看,简洁明了,希望大家喜欢。

购买
目前已经上线了京东、天猫、当当这三个平台,有需要的小伙伴点击下面链接购买:
京东购买地址
天猫购买地址
当当网购买地址
资源与勘误
由于技术水平有限,书中难免会有错误,欢迎大家向我反馈:androidcoder666@163.com,邮箱在沟通上难免会有延迟,大家也可以加入我创建的QQ群。
本书互动地址
CSDN博客:https://blog.csdn.net/lowprofile_coding
QQ群:202928390
微信公众号:Android开发666
书中案例源码下载
如果你想第一时间看我的后期文章,扫码关注公众号,长期推送Android开发文章、最新动态、开源项目,让你各种涨姿势。
Android开发666 - 安卓开发技术分享
扫描二维码加关注

我的新书《Android App开发从入门到精通》终于出版啦的更多相关文章
- 我的新书《C++服务器开发精髓》终于出版啦
一.千呼万唤始出来 亲爱的各位读者,我的新书<C++ 服务器开发精髓>终于终于终于与大家见面了,图书如下: 图书的封面设计很精美,当然内容一定不负众望.因出版社老师要求提供一张照片放到封面 ...
- 《H5+移动应用实战开发》已出版
<H5+移动应用实战开发>终于出版了,最近在忙着Vue和Webpack相关的前端书籍写稿.本书面向的读者为:从后端转前端,或零基础开始学习移动端开发的人.前后端完全分离的开发方式越来越成为 ...
- C#自制Web 服务器开发:用C#开发自己的Web服务器
当输入: GET / HTTP/1.1 Accept: text/html, application/xhtml+xml, */* Accept-Language: zh-CN User-Agent: ...
- (转)C#自制Web 服务器开发:用C#开发自己的Web服务器
当输入:127.0.0.1:5050 GET / HTTP/1.1 Accept: text/html, application/xhtml+xml, */* Accept-Language: zh- ...
- C++服务器开发之笔记三
为什么需要原子性操作? 我们考虑一个例子:(1)x++这个常见的运算符在内存中是怎样操作的?从内存中读x的值到寄存器中,对寄存器加1,再把新值写回x所处的内存地址 若是有两个线程同时对同一个变量++, ...
- Python09作业思路及源码:高级FTP服务器开发(仅供参考)
高级FTP服务器开发 一,作业要求 高级FTP服务器开发 用户加密认证(完成) 多用户同时登陆(完成) 每个用户有不同家目录且只能访问自己的家目录(完成) 对用户进行磁盘配额,不同用户配额可不同(完成 ...
- linux服务器开发浅谈
[开发前准备] 在进行linux服务器开发之前,必须很清楚地了解所开发的对象需要考虑的相关问题比如:功能架构:提供服务的模块体系结构稳定性:服务器的出core率,内存泄露情况性能:请求与返回的速度与正 ...
- linux下http服务器开发
linux下http服务器开发 1.mystery引入 1)超文本传输协议(HTTP)是一种应用于分布式.合作式.多媒体信息系统的应用层协议 2)工作原理 1)客户端一台客户机与服务器建立连接后,会发 ...
- NIO原理剖析与Netty初步----浅谈高性能服务器开发(一)
除特别注明外,本站所有文章均为原创,转载请注明地址 在博主不长的工作经历中,NIO用的并不多,由于使用原生的Java NIO编程的复杂性,大多数时候我们会选择Netty,mina等开源框架,但理解NI ...
- openfire:基于开源 Openfire 聊天服务器 - 开发Openfire聊天记录插件
基于开源 Openfire 聊天服务器 - 开发Openfire聊天记录插件 上一篇文章介绍到怎么在自己的Java环境中搭建openfire插件开发的环境,同时介绍到怎样一步步简单的开发openfir ...
随机推荐
- Android 音视频开发(四):使用 Camera API 采集视频数据
本文主要将的是:使用 Camera API 采集视频数据并保存到文件,分别使用 SurfaceView.TextureView 来预览 Camera 数据,取到 NV21 的数据回调. 注: 需要权限 ...
- CS231n 第一次作业KNN中本地CIFAR10数据集的载入
一.问题描述 网上绝大多数作业参考都是在jupyter下运行的,数据集载入过程一般如下: from cs231n.data_utils import load_CIFAR10 #导入数据集,并打印出数 ...
- [Java]LeetCode237. 删除链表中的节点 | Delete Node in a Linked List
Write a function to delete a node (except the tail) in a singly linked list, given only access to th ...
- python网络-计算机网络基础(23)
一.网络简介 网络是由节点和连线构成,表示诸多对象及其相互联系. 一个人玩: 两个人玩: 多个人玩: 说明 网络就是一种辅助双方或者多方能够连接在一起的工具 如果没有网络可想单机的世界是多么的孤单 使 ...
- 使用npm安装配置vue
npm安装很慢(国外服务器),所以一般推荐使用npm淘宝镜像cnpm,先安装下cnpm: npm install -g cnpm --registry=https://registry.npm.tao ...
- Python爬虫入门教程 39-100 天津市科技计划项目成果库数据抓取 scrapy
爬前叨叨 缘由 今天本来没有打算抓取这个网站的,无意中看到某个微信群有人问了一嘴这个网站,想看一下有什么特别复杂的地方,一顿操作下来,发现这个网站除了卡慢,经常自己宕机以外,好像还真没有什么特殊的.. ...
- 洛谷:P1182:数列分段`Section II`
题目描述 对于给定的一个长度为N的正整数数列 A-iA−i ,现要将其分成 M(M≤N)M(M≤N) 段,并要求每段连续,且每段和的最大值最小. 关于最大值最小: 例如一数列 4 2 4 5 1424 ...
- TypeScript 素描 - 高级类型、迭代器
/* 交叉类型,在TypeScrpt中是很特有的.所以值得认真学习 交叉类型是将多个类型合并为一个类型,这让我们可以把现有的多种类型叠加到一起成为一种 类型 交叉类型同时拥有 Person 和 Emp ...
- linux(centos)搭建.net core 运行环境
总的来说,非常简单,我记录一下: 1.打开https://www.microsoft.com/net/download?initial-os=linux 这里"Instal .NET C ...
- 【Vue】----- computed与watch的区别
1.computed computed是一种计算属性,用来监听属性的变化: computed里面的方法调用的时候不需要加(),并且里面的方法必须要有一个返回值: computed里面的方法不是通过事件 ...