福利来了!带你“爱上Android”
就是这么任性,又一波送书活动,感谢大家长久以来对我们的喜爱!这次小编自作主张,免费赠书,快来参加。
《爱上Android》
内容提要
本书深入浅出,详细讲解了Android 开发的知识,主要内容包括:Android 的体系架构、AndroidStudio、项目的创建、Android 工程目录、调试程序、界面的搭建;常用的控件和属性、提示信息Toast和Snackbar、点击事件3 种写法等;Activity 之间的跳转、Activity 生命周期、Activity 启动模式等;数据存储、网络编程;图片的处理;复杂控件的使用;Fragment、广播接收者、Service、动画等;以及Android 新特性、Kotlin 语言、性能优化、屏幕适配、自定义控件、JNI/NDK 开发等高级知识。并通过开发一个真实的项目让读者学以致用。
编辑推荐
12万读者的真实阅读体验,CSDN博客专家的力作,基于新版的Android
循序渐进地讲述开发过程中必备的知识,宗旨是不重复开发一个“轮子”,在给大家讲明原理的同时,介绍一些好的开发框架,这些框架能够让读者很快上手开发完成一个应用。
本书前面部分知识点配有相应视频,帮助读者零基础学通Android开发
作者微信答疑,解决读者学习中的困难
样章试读:
第1章 初识Android
毫无疑问,你肯定急于开始学习Android应用程序开发。毕竟,编程对程序员来说吸引力也是很大的。然而,在开始实际编程前,需要先了解Android的系统。
1.1 Android是什么
Android,中文名为安卓,直接翻译是机器人的意思,它是Google公司推出的一款开源免费的智能操作系统,不仅限于手机,现在很多终端都在使用Android操作系统,如手表、电视、汽车、平板电脑、微波炉等,如图1-1和图1-2所示。一般而言,还是以手机开发为主,本书也是介绍如何进行手机软件开发。
▲图1-1 Android系统的微波炉
▲图1-2 Android智能电视
由于Android系统是免费的,所以推广得很快。目前Android手机市场占有率已经超过80%。
1.2 Android体系架构
为了更好地理解Android系统是如何工作的,接下来解剖一下Android系统,看看其内部是如何构建的,如图1-3所示。
▲图1-3 Android系统架构
Android大致可以分为4层架构、5块区域。图1-3从下到上依次为:
(1)Linux内核层;
(2)系统运行库层;
(3)应用框架层;
(4)应用层。
1.Linux内核层
如图1-4所示,Android系统是基于Linux 2.6内核的,这一层为Android的各种硬件提供了驱动程序,如显示驱动、照相机驱动、声音驱动、电池管理等。当手机开机的时候,这一层肯定先运行。
▲图1-4 Linux内核层
2.系统运行库层
如图1-5所示,这一层通过一些C或者C++库为Android系统提供了主要的特性支持。如Webkit提供了浏览器支持(保证手机能够正常使用浏览器),SQLite库提供了数据库的支持(可以用来存储一些数据),OpenGLES库提供了3D绘图的支持等。
这一层还有Android运行时库,它主要提供了一些核心库,能够允许开发者使用Java语言编写Android应用。另外,Android运行时库中还包含了Dalvik虚拟机(Android 5.0系统以后替换成了ART虚拟机),因为Java语言的特性决定它只能通过虚拟机去运行,这个有点像我们在电脑上玩小霸王的游戏需要装模拟器一样。
▲图1-5 系统运行库层
无论是Dalvik虚拟机还是ART虚拟机,都是专门为移动设备定制的,它针对手机内存、CPU性能有限等情况,ART虚拟机安装程序时间稍微长一点,但是运行程序快一点。Google工程师最终决定用ART虚拟机(这点毋容置疑,没人愿意天天装程序)。
不管是Dalvik虚拟机还是ART虚拟机,都要比Java语言官方本身的JVM虚拟机要好用。当然最主要的原因是版权问题,虽然Java语言本身是开源免费的,但是JVM虚拟机不是开源免费的,所以不能直接用JVM虚拟机。
3.应用框架层
如图1-6所示,这一层主要提供了构建应用程序时可能用到的各种API,Android自带的一些核心应用就是使用这些API完成的,开发者也可以通过这些API构建自己的应用程序。这层的使用频率要比上面介绍的两层使用频率高。
▲图1-6 应用框架层
#### 4.应用层 如图1-7所示,所有安装到手机上的应用都属于这一层,例如系统自带的联系人、短信等程序,或者是自己下载的一些应用、游戏,肯定也会包括自己写的程序。 ![](/api/storage/getbykey/original?key=17074a593354f8a3164f)
▲图1-7 应用层
应用层和应用框架层大部分都是采用Java代码编写的,Linux内核层和系统运行库层大部分采用C或者C++编写。
计算机语言核心就是0和1,理论上用一个电闸都能编程,闭合就是1,打开就是0,一开一闭程序就运行了,估计干这行的肯定瞧不上做C开发的。编程语言不分好坏,只是功能划分不一样。千万不要和资深程序员争论哪门编程语言好,他们眼中只有0或者1,基本上他能说的让你高山仰止。
1.3 Android发展史
Android从2008年发布1.0至今已经发布了20多个版本了,目前最新版本是Android 8,每一个系统版本都对应一个开发的API版本号,如Android 5.1对应API版本号21。每一个Android版本还都有一个代号,包括甜甜圈、姜饼、三明治、果冻豆、棒棒糖等。
如图1-8所示,表中最右面一栏就是当前版本的市场份额,可以发现Android 4.4是当前最流行的版本,Android 5.0以上的会越来越多,而Android 4.1以下的手机基本上没有了,Android 7.0还不到百分之一。所以本书重点讲解Android 5.0~7.1的知识,兼容到Android 4.1。
数据来源Android官网
▲图1-8 Android各个版本市场占有率
好了,Android基本信息就介绍到这,接下进入真正的Android开发之旅。
更多关于送书活动的细节,请关注【我们】微信公众号最新内容,幸运属于你。
希望大家多多支持我们。