Android移动开发基础案例教程pdf/doc/txt格式电子书下载
本站仅展示书籍部分内容
如有任何咨询
请加微信10090337咨询
书名:Android移动开发基础案例教程pdf/doc/txt格式电子书下载
推荐语:移动应用开发
作者:黑马程序员著
出版社:人民邮电出版社
出版时间:2017-01-01
书籍编号:30485363
ISBN:9787115439383
正文语种:中文
字数:371369
版次:1
所属分类:教材教辅-中职/高职
版权信息
书名:Android移动开发基础案例教程
作者:黑马程序员
ISBN:9787115439383
版权所有 · 侵权必究
内容提要
本书从初学者的角度出发,采用案例驱动式教学方法,对Android基础知识进行讲解。在案例设计上力求贴合实际需求,真正做到把书本上的知识应用到实际开发中,非常适合初学者学习。
本书共10章,第1~2章主要讲解Android的基础知识,包括Android起源、Android体系结构、开发环境搭建、UI布局等。第3~8章主要讲解Android中的数据存储以及四大组件,包括文件存储、SharedPreferences、SQLite数据库、Activity、BroadcastReceiver、Service、ContentProvider等。第9章主要讲解Android中的网络编程,包括HTTP协议、消息机制、开源项目等。第10章主要讲解Android开发中的高级知识,包括多媒体、动画、Fragment等。上述内容都是Android中最核心的知识,掌握这些知识可以让初学者在编写Android程序时得心应手。
本书附有配套视频、源代码、习题、教学课件等资源;另外,为了帮助初学者更好地学习本书讲解的内容,还提供了在线答疑服务,希望可以帮助更多的读者。
本书既可作为高等院校本、专科计算机相关专业的教材,也可作为社会培训教材,是一本适合初学者学习和参考的读物。
序言
PREFACE
江苏传智播客教育科技股份有限公司(简称传智播客)是一家致力于培养高素质软件开发人才的科技公司,“黑马程序员”是传智播客旗下高端IT教育品牌。
“黑马程序员”的学员多为大学毕业后,想从事IT行业,但各方面条件还不成熟的年轻人。“黑马程序员”的学员筛选制度,非常严格,筛选制度包括了严格的技术测试、自学能力测试,还包括性格测试、压力测试、品德测试等。百里挑一的残酷筛选制度确保了学员质量,并降低了企业的用人风险。
自“黑马程序员”成立以来,教学研发团队一直致力于打造精品课程资源,不断在产、学、研3个层面创新自己的执教理念与教学方针,并集中“黑马程序员”的优势力量,有针对性地出版了计算机系列教材30多册,制作了教学视频数十套,发表各类技术文章数百篇。
“黑马程序员”不仅斥资研发IT系列教材,还为高校师生提供以下配套学习资源与服务。
为大学生提供的配套服务:
1.专业的辅助学习平台“博学谷”( http://yx.boxuegu.com),专业老师在线为您答疑解惑。
2.针对高校学生在学习过程中存在的压力等问题,我们还面向大学生量身打造了“播妞”。播妞不仅致力推行快乐学习,还有定期的助学红包雨。同学快来添加播妞微信/QQ:208695827。
3.高校学生也可扫描下方二维码,加入播妞粉丝团,获取最新学习资源,与播妞一起快乐学习。
为IT教师提供的配套服务:
针对高校教学,“黑马程序员”为IT系列教材精心设计了“教案+授课资源+考试系统+题库+教学辅助案例”的系列教学资源,高校老师可关注码大牛老师微信/QQ:2011168841,获取配套资源,也可以扫描下方二维码,加入专为IT教师打造的师资服务平台——“教学好助手”,获取“黑马程序员”最新教师教学辅助资源相关动态。
传智播客和黑马程序员
2016年9月
前言
FOREWORD
Android是Google公司开发的基于Linux的开源操作系统,主要应用于智能手机、平板电脑等移动设备。经过短短几年的发展,Android系统在全球得到了大规模推广,除智能手机和平板电脑外,还可用于穿戴设备、智能家具等领域。据不完全统计,Android系统已经占据了全球智能手机操作系统的80%以上份额,中国市场占有率更是高达90%以上。由于Android的迅速发展,导致市场对Android开发人才需求猛增,因此越来越多的人学习Android技术,以适应市场需求寻求更广阔的发展空间。
为什么要学习本书
市面上真正适合初学者的Android书籍并不多,为此,我们推出了《Android移动开发基础案例教程》供初学者使用。本书采用全新的开发工具Android Studio,站在初学者的角度,知识讲解由浅入深,并采用当前最流行的案例驱动式教学,通过40余个案例来讲解Android基础知识在实际开发中的运用,是一本非常适合初学者学习的书籍。
如何使用本书
在学习本书之前,一定要具备Java基础知识,众所周知Android开发使用的是Java语言。初学者在使用本书时,建议从头开始循序渐进地学习,并且反复练习书中的案例,以达到熟能生巧为我所用;如果是有基础的编程人员,则可以选择感兴趣的章节跳跃式的学习,不过书中的案例最好动手全部实践。
本书共分为10个章节,接下来分别对每个章节进行简单的介绍,具体如下。
• 第1~2章主要讲解了Android的基础知识,包括Android起源、Android体系结构、开发环境搭建、UI布局等。通过这两章的学习,初学者可以创建简单的布局界面,如QQ登录界面。
• 第3章主要讲解了Activity,包括Activity 创建、生命周期、数据传递等,并通过注册用户信息以及选择宝宝装备来巩固所学知识,实现简单的界面交互操作。
• 第4~5章主要讲解了Android中的数据存储,包括文件存储、SharedPreferences、SQLite数据库等知识。这两章的知识非常重要,几乎每个Android程序都会涉及到数据存储,因此初学者一定要熟练掌握。
• 第6~8章主要讲解了Android中的三个重要组件,广播接收者、服务以及内容提供者,通过这三章的学习,初学者可以使用广播接收者和服务实现后台程序。
• 第9章主要讲解了Android中的网络编程,包括HTTP协议、HttpURLConnection、数据提交方式以及消息机制原理。并通过网络图片浏览器以及新闻客户端案例练习网络程序的开发。
• 第10章主要讲解了Android开发中的高级知识,包括图形图像处理、多媒体、Fragment、Android5.0新特性等知识。通过本章的学习,初学者可以掌握音视频的播放、Fragment 的使用以及前沿的Android技术。
另外,初学者在学习技术的过程中难免会遇到困难,此时不要纠结于某个地方,可以先往后学习,通常情况下,看过后面的知识讲解或者其他小节的内容后,前面不懂的技术就能理解了。如果初学者在实战演练的过程中遇到问题,建议多思考理清思路,认真分析问题产生的原因,并在问题解决后多总结。
致谢
本教材的编写和整理工作由传智播客教育科技股份有限公司完成,主要参与人员有吕春林、陈欢、张鑫、柴永菲、马丹、高美云、张泽华、李印东、邱本超、马伟奇、刘峰、刘松、金兴等,全体人员在这近一年的编写过程中付出了很多辛勤的汗水,在此一并表示衷心的感谢。
意见反馈
尽管我们尽了最大的努力,但教材中难免会有不妥之处,欢迎各界专家和读者朋友们来信来函给予宝贵意见,我们将不胜感激。您在阅读本书时,如发现任何问题或有不认同之处可以通过电子邮件与我们取得联系。
请发送电子邮件至itcast_book@vip.sina.com。
黑马程序员
2016-9-8于北京
第1章 Android基础入门
学习目标
● 了解通信技术,包括1G、2G、3G、4G技术;
● 掌握开发环境的搭建,学会使用Android Studio开发工具;
● 掌握Android程序的开发方法,并学会编写HelloWorld程序。
Android是Google公司基于Linux平台开发的手机及平板电脑的操作系统,自问世以来,受到了前所未有的关注,并成为移动平台最受欢迎的操作系统之一。本章将针对Android基础知识进行详细的讲解。
1.1 Android简介
1.1.1 通信技术
在学习Android系统之前有必要了解一下通信技术。随着智能手机的发展,移动通信技术也在不断地升级,从最开始的1G、2G技术发展到现在的3G、4G技术。
• 1G:是指最初的模拟、仅限语音的蜂窝电话标准。摩托罗拉公司生产的第一代模拟制式手机使用的就是这个标准,类似于简单的无线电台,只能进行通话,并且通话是锁定在一定频率上的,这个频率也就是手机号码。这种标准存在一个很大的缺点,就是很容易被窃听。
• 2G:是指第2代移动通信技术,代表为GSM,以数字语音传输技术为核心。相对于1G技术来说2G已经很成熟了,它增加了接收数据的功能。以前常见的小灵通手机采用的就是2G技术,信号质量和通话质量都非常好。不仅如此,2G时代也有智能手机,可以支持一些简单的Java小程序,如UC浏览器、搜狗输入法等。
• 3G:是指将无线通信与国际互联网等多媒体通信相结合的移动通信系统。它能够处理图像、音乐、视频流等多种媒体形式,提供包括网页浏览、电话会议、电子商务等多种信息服务。相比前两代通信技术来说,3G技术在传输声音和数据的速度上有很大的提升。
• 4G:是指第4代移动通信技术,该技术包含TD-LTE和FDD-LTE两种制式。严格意义上来讲,LTE只是3.9G,尽管被宣传为4G无线标准,但还未达到4G的标准。只有升级版的LTE Advanced才满足国际电信联盟对4G的要求。4G集3G与WLAN于一体,能够快速传输数据、音频、视频和图像等。4G能够以100Mbit/s以上的速度下载,比家用宽带ADSL(4Mbit/s)快25倍,并能够满足几乎所有用户对于无线服务的要求。
以上四种通信技术,除了1G 技术以外,其他的三种技术最本质的区别就是传输速度,2G通信网的传输速度为9.6kbit/s,3G 通信网在室内、室外和行车的环境中能够分别支持至少2Mbit/s、384kbit/s以及144kbit/s的传输速度,4G通信网可以达到100Mbit/s。
1.1.2 Android起源
Android是一款基于Linux平台的开源操作系统,主要用于移动设备中,如智能手机和平板电脑等,由Google公司和开放手机联盟领导及开发。
Android操作系统最初由Andy Rubin(安迪·鲁宾)开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信运营商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。
Android一词最早出现于法国作家利尔亚当(Auguste Villiers de l\'Isle-Adam)在1886年发表的科幻小说《未来夏娃》中,将外表像人的机器起名为Android。Android本意指“机器人”,Google公司将Android的标识设计为一个绿色机器人,表示Android系统符合环保概念。Android图标如图1-1所示。
图1-1 Android图标
2008年9月发布Android第1个版本Android 1.1。Android系统一经推出,版本升级非常快,几乎每隔半年就有一个新的版本发布。从Android 1.5版本开始,Android用甜点作为系统版本的代号。具体版本如下。
• 2009年4月30日,Android 1.5 Cupcake(纸杯蛋糕)正式发布。
• 2009年9月15日,Android 1.6 Donut(甜甜圈)版本发布。
• 2009年10月26日,Android 2.0/2.1 Éclair(松饼)版本发布。
• 2010年5月20日,Android 2.2/2.2.1 Froyo(冻酸奶)版本发布。
• 2010年12月7日,Android 2.3 Gingerbread(姜饼)版本发布。
• 2011年2月2日,Android 3.0 Honeycomb(蜂巢)版本发布。
• 2011年5月11日,Android 3.1 Honeycomb(蜂巢)版本发布。
• 2011年7月13日,Android 3.2 Honeycomb(蜂巢)版本发布。
• 2011年10月19日,Android 4.0 Ice Cream Sandwich(冰激凌三明治)版本发布。
• 2012年6月28日,Android 4.1 Jelly Bean(果冻豆)版本发布。
• 2012年10月30日,Android 4.2 Jelly Bean(果冻豆)版本发布。
• 2013年7月25日,Android 4.3 Jelly Bean(果冻豆)版本发布。
• 2013年9月4日,Android 4.4 KitKat(奇巧巧克力)版本发布。
• 2014年10月15日,Android 5.0 Lollipop(棒棒糖)版本发布。
• 2015年9月30日,Android 6.0 Marshmallow(棉花糖)版本发布。
• 2016年8月22日,Android 7.0Nougat(牛轧糖)版本发布。
以Android版本图标代表的Android发展史如图1-2所示。
图1-2 Android发展史
1.1.3 Android体系结构
Android系统采用分层架构,由高到低分为4层,依次是应用程序层、应用程序框架层、核心类库和Linux内核,如图1-3所示。
图1-3 Android体系结构
从图1-3可以看出Android体系的具体结构,接下来分别针对这几层进行分析。
1.应用程序层(Applications)
应用程序层是一个核心应用程序的集合,所有安装在手机上的应用程序都属于这一层,例如系统自带的联系人程序、短信程序,或者从Google Play上下载的小游戏等都属于应用程序层。
2.应用程序框架层(Application Framework)
应用程序框架层主要提供了构建应用程序时用到的各种API。Android自带的一些核心应用就是使用这些 API 完成的,例如视图(View)、活动管理器(Activity Manager)、通知管理器(Notification Manager)等,开发者也可以通过这些API来开发自己的应用程序。
3.核心类库(Libraries)
核心类库中包含了系统库及 Android 运行时库。系统库这一层主要是通过 C/C++库来为Android系统提供主要的特性支持,如OpenGL/ES库提供了3D绘图的支持,Webkit库提供了浏览器内核的支持。
Android运行时库(Android Runtime)主要提供了一些核心库,能够允许开发者使用Java语言来编写 Android 应用程序。另外,Android 运行时库中还包括了 Dalvik 虚拟机,它使得每一个Android应用都能运行在独立的进程当中,并且拥有一个自己的Dalvik虚拟机实例。相比于Java虚拟机,Dalvik虚拟机是专门为移动设备定制的,它针对手机内存、CPU性能等做了优化处理。
4.Linux内核(Linux Kernel)
Linux内核层为Android设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、电源管理驱动等。
1.1.4 Dalvik虚拟机
通过1.1.3小节的学习可知,在Android运行时库中包含了Dalvik虚拟机。Dalvik是Google公司自己设计用于Android平台的虚拟机,它可以简单地完成进程隔离和线程管理,并且可以提高内存的使用效率。每一个 Android应用程序在底层都会对应一个独立的 Dalvik 虚拟机实例,其代码在虚拟机的解析下得以执行。
很多人都认为Dalvik虚拟机是一个Java虚拟机,因为Android开发的编程语言恰恰是Java语言,但是这种说法并不准确。Dalvik虚拟机并不是按照Java虚拟机的规范来实现的,两者不兼容,而且也有很多的不同之处,接下来通过一个图进行对比说明,如图1-4所示。
图1-4 Java虚拟机和Dalvik虚拟机对比
从图1-4可以看出,Java虚拟机和Dalvik虚拟机主要有两大区别,一是它们编译后的文件不同,二是它们基于的架构不同,具体如下。
1.编译后的文件不同
Java虚拟机运行的是.class字节码文件,而Dalvik虚拟机运行的则是其专有的.dex文件。在Java程序中Java类会被翻译成一个或者多个字节码文件(.class),然后打包成.jar文件,之后Java虚拟机会从.class文件和.jar文件中获取相应的字节码。Android程序虽然也是使用Java语言进行编程,但是在翻译成.class文件后,还会通过工具将所有的.class文件转换成一个.dex文件,然后Dalvik虚拟机从其中读取指令和数据,最后的.odex文件是为了在运行过程中进一步提高性能,对.dex文件的进一步优化,能加快软件的加载速度和开启速度。
2.基于的架构不同
Java虚拟机是基于栈的架构,栈是一个连续的内存空间,取出和存入的速度比较慢,而Dalvik是基于寄存器的架构,寄存器是CPU上的一块缓存,寄存器的存取速度要比从内存中存取的速度快很多,这样就可以根据硬件来最大程度优化设备,更适合移动设备的使用。
需要说明的是,Android系统下的Dalvik虚拟机默认给每一个应用程序最多分配16MB内存,如果Android加载的资源超过这个值,就会报出OutOfMemoryError异常,因此一定要注意这个问题。
多学一招:ART模式
ART模式英文全称为Android Runtime,是谷歌Android 4.4系统新增的一种应用运行模式。与传统的 Dalvik 模式不同,ART 模式可以实现更为流畅的 Android 系统体验,不过只能在Android 4.4以上系统中采用此模式。
事实上谷歌的这次优化源于其收购的一家名为 Flexycore 的公司,该公司一直致力于Android系统的优化,而ART模式也是在该公司的优化方案上演进而来。
ART模式与Dalvik模式最大的不同在于,在启用ART模式后,系统在安装应用的时候会进行一次预编译,在安装应用程序时会先将代码转换为机器语言存储在本地,这样在运行程序时就不会每次都进行编译了,执行效率也大大提升。
1.2 Android开发环境搭建
在开发Android程序之前,首先要在系统中搭建开发环境。Google公司已经发出声明,到2015年年底不再对Eclipse提供支持服务,Android Studio将全面取代Eclipse,因此本书会使用Android Studio作为开发工具进行详细讲解。
1.2.1 Android Studio安装
Android Studio 是Google提供的一个Android开发环境,基于IntelliJ IDEA。类似Eclipse ADT,它集成了Android 所需的开发工具。需要注意的是,Android Studio对安装环境有一定的要求,其中所需 JDK 版本最低为1.7,系统空闲内存至少为2GB。接下来我们将针对 Android Studio的下载、安装与配置进行详细讲解。
1.Android Studio的下载
Android Studio 安装程序可以从中文社区进行下载,网址为 http://www.android-studio. org/。在浏览器中打开该网址,如图1-5所示。
图1-5 Android Studio下载页
在下载Android Studio时,需要符合自己的操作系统,本书以Windows操作系统为例下载android-studio-bundle-141.2288178-windows.exe(该版本为Android Studio 1.4,它集成了SDK,推荐下载)安装程序。
2.Android Studio的安装
在Android Studio安装之前,要确定JDK的版本必须是1.7或以上,否则Android Studio安装之后会报错。双击Android Studio的安装文件,进入Welcome to Android Studio Setup界面,如图1-6所示。
在图1-6中,单击【Next】按钮,此时会进入Choose Components界面,如图1-7所示。
图1-6 Welcome to Android Studio Setup界面
图1-7 Choose Components界面
在图1-7中,有3个组件供选择,其中第1项“Android Studio”为必选项,第2项如果电脑中有SDK可以不用勾选,第3项与虚拟机有关,如果不使用虚拟机,可以不用勾选。通常情况下会全部勾选。
单击【Next】按钮,进入License Agreement界面,如图1-8所示。
在图1-8中,单击【I Agree】按钮进入路径设置界面,选择Android Studio和 Android SDK的安装目录,如图1-9所示。
图1-8 License Agreement界面
图1-9 Configuration Settings界面
在图1-9中,单击【Next】按钮进入Choose Start Menu Folder界面。该界面用于设置在“开始”菜单中的文件夹名称,如图1-10所示。
在图1-10中,单击【Install】按钮进入Installing界面,如图1-11所示。
图1-10 Choose Start Menu Folder界面
图1-11 Installing界面
在图1-11中,Installing界面中的程序安装完成后,进入Installation Complete界面,如图1-12所示。
在图1-12中,单击【Next】按钮进入Completing Android Studio Setup界面,如图1-13所示。
图1-12 Installation Complete界面
图1-13 Completing Android Studio Setup界面
至此,Android Studio的安装全部完成。单击【Finish】按钮,关闭安装程序。
3.Android Studio的配置
安装完成之后运行Android Studio,会进入选择导入Android Studio配置文件的界面,如图1-14所示。
在图1-14中,共有3个选项,第1个选项表示使用以前版本的配置文件夹,第2个选项表示导入某一个目录下的配置文件夹,第3个选项表示不导入配置文件夹。如果以前使用过Android Studio,可以选择第1项。如果是第一次使用,可以选择第3项,这里可以根据个人情况进行选择。
完成配置文件之后,进入Downloading Components界面,如图1-15所示。
图1-14 导入Android Studio配置文件界面
图1-15 Downloading Components界面
当下载完成之后,显示下载完成界面,如图1-16所示。
图1-16 下载完成界面
在图1-16中,单击【Finish】按钮,进入Welcome to Android Studio界面,如图1-17所示。
图1-17 Welcome to Android Studio界面
至此,Android Studio的安装已经完毕,接下来就可以对Android程序进行开发。
1.2.2 模拟器创建
在使用Android Studio进行程序开发时,一定会用到模拟器。所谓的模拟器就是一个程序,它能在电脑上模拟Android环境,可以代替手机在电脑上安装并运行Android程序。接下来针对模拟器的创建进行详细讲解。
单击工具栏中的【AVD Manager】按钮,进入到Your Virtual Devices界面,如图1-18所示。
图1-18 Your Virtual Devices界面
在图1-18中,单击【Create Virtual Device】按钮,此时会进入Select Hardware界面,如图1-19所示。
图1-19 Select Hardware界面
在图1-19中,选择Category类型为Phone,表示创建应用于手机的模拟器,然后选择模拟器的屏幕尺寸,在此以3.7\"FWVGA slider模拟器为例,单击【Next】按钮,进入System Image界面,如图1-20所示。
图1-20 System Image界面
在图1-20中,有多个SDK版本可供选择,这些都是已经下载好的SDK,若想下载其他版本的SDK,可以选
....
本站仅展示书籍部分内容
如有任何咨询
请加微信10090337咨询