前言

经过了两年多终于完成了这本书,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

书中案例源码下载

https://github.com/ansen666/book_source_code

如果你想第一时间看我的后期文章,扫码关注公众号,长期推送Android开发文章、最新动态、开源项目,让你各种涨姿势。

      Android开发666 - 安卓开发技术分享
扫描二维码加关注

我的新书《Android App开发从入门到精通》终于出版啦的更多相关文章

  1. 我的新书《C++服务器开发精髓》终于出版啦

    一.千呼万唤始出来 亲爱的各位读者,我的新书<C++ 服务器开发精髓>终于终于终于与大家见面了,图书如下: 图书的封面设计很精美,当然内容一定不负众望.因出版社老师要求提供一张照片放到封面 ...

  2. 《H5+移动应用实战开发》已出版

    <H5+移动应用实战开发>终于出版了,最近在忙着Vue和Webpack相关的前端书籍写稿.本书面向的读者为:从后端转前端,或零基础开始学习移动端开发的人.前后端完全分离的开发方式越来越成为 ...

  3. C#自制Web 服务器开发:用C#开发自己的Web服务器

    当输入: GET / HTTP/1.1 Accept: text/html, application/xhtml+xml, */* Accept-Language: zh-CN User-Agent: ...

  4. (转)C#自制Web 服务器开发:用C#开发自己的Web服务器

    当输入:127.0.0.1:5050 GET / HTTP/1.1 Accept: text/html, application/xhtml+xml, */* Accept-Language: zh- ...

  5. C++服务器开发之笔记三

    为什么需要原子性操作? 我们考虑一个例子:(1)x++这个常见的运算符在内存中是怎样操作的?从内存中读x的值到寄存器中,对寄存器加1,再把新值写回x所处的内存地址 若是有两个线程同时对同一个变量++, ...

  6. Python09作业思路及源码:高级FTP服务器开发(仅供参考)

    高级FTP服务器开发 一,作业要求 高级FTP服务器开发 用户加密认证(完成) 多用户同时登陆(完成) 每个用户有不同家目录且只能访问自己的家目录(完成) 对用户进行磁盘配额,不同用户配额可不同(完成 ...

  7. linux服务器开发浅谈

    [开发前准备] 在进行linux服务器开发之前,必须很清楚地了解所开发的对象需要考虑的相关问题比如:功能架构:提供服务的模块体系结构稳定性:服务器的出core率,内存泄露情况性能:请求与返回的速度与正 ...

  8. linux下http服务器开发

    linux下http服务器开发 1.mystery引入 1)超文本传输协议(HTTP)是一种应用于分布式.合作式.多媒体信息系统的应用层协议 2)工作原理 1)客户端一台客户机与服务器建立连接后,会发 ...

  9. NIO原理剖析与Netty初步----浅谈高性能服务器开发(一)

    除特别注明外,本站所有文章均为原创,转载请注明地址 在博主不长的工作经历中,NIO用的并不多,由于使用原生的Java NIO编程的复杂性,大多数时候我们会选择Netty,mina等开源框架,但理解NI ...

  10. openfire:基于开源 Openfire 聊天服务器 - 开发Openfire聊天记录插件

    基于开源 Openfire 聊天服务器 - 开发Openfire聊天记录插件 上一篇文章介绍到怎么在自己的Java环境中搭建openfire插件开发的环境,同时介绍到怎样一步步简单的开发openfir ...

随机推荐

  1. [Swift]LeetCode576. 出界的路径数 | Out of Boundary Paths

    There is an m by n grid with a ball. Given the start coordinate (i,j) of the ball, you can move the ...

  2. [Swift]LeetCode695. 岛屿的最大面积 | Max Area of Island

    Given a non-empty 2D array grid of 0's and 1's, an island is a group of 1's (representing land) conn ...

  3. Python内置函数(57)——setattr

    英文文档: setattr(object, name, value) This is the counterpart of getattr(). The arguments are an object ...

  4. ios 自动化构建 code-select: error: tool 'xcodebuild' requires Xcode, but active developer directory.....

    问题描述: Pod installation complete! There are 2 dependencies from the Podfile and 3 total pods installe ...

  5. Guava 源码分析(Cache 原理)

    前言 Google 出的 Guava 是 Java 核心增强的库,应用非常广泛. 我平时用的也挺频繁,这次就借助日常使用的 Cache 组件来看看 Google 大牛们是如何设计的. 缓存 本次主要讨 ...

  6. VS 2013 professional版在win10上安装出错的解决方法

    VS 2013 professional版在win10上安装出错的解决方法 win10上安装完VS 2012 professional和VS 2017 professional后,由于项目的需要,要在 ...

  7. 带着萌新看springboot源码05

    上一节走了一遍从浏览器发出请求到得到向页面的流程,基本的功能是已经实现了.但是现在啊,我想自定义一个拦截器(拦截器可以做用户登录验证,如果登录了,就让你通过,如果没有登录,就重定向登录页面),这里就不 ...

  8. LeetCode专题-Python实现之第21题:Merge Two Sorted Lists

    导航页-LeetCode专题-Python实现 相关代码已经上传到github:https://github.com/exploitht/leetcode-python 文中代码为了不动官网提供的初始 ...

  9. 阿里云HBase携X-Pack再进化,重新赋能轻量级大数据平台

    一.八年双十一,造就国内最大最专业HBase技术团队 阿里巴巴集团早在2010开始研究并把HBase投入生产环境使用,从最初的淘宝历史交易记录,到蚂蚁安全风控数据存储.持续8年的投入,历经8年双十一锻 ...

  10. 在Flutter中嵌入Native组件的正确姿势是...

    引言 在漫长的从Native向Flutter过渡的混合工程时期,要想平滑地过渡,在Flutter中使用Native中较为完善的控件会是一个很好的选择.本文希望向大家介绍AndroidView的使用方式 ...