网站颜色:

包邮第一行代码 Android 第2版 郭霖 第二版Android7.0 Studio软件编程应用开发从入门到精通 安卓手机APP程序设计实战教程需java.

  • 产品名称:第一行代码-Android
  • 是否是套装:否
  • 书名:第一行代码-Android
  • 定价:79.00元
  • 出版社名称:人民邮电出版社
  • 出版时间:2016年12月
  • 作者:郭霖
  • 书名:第一行代码-Android

 

 

无标题文档

第一行代码——Android

定价:(咨询特价)

基本信息

作者: 郭霖   

出版社:人民邮电出版社

ISBN(咨询特价)

上架时间:2016-(咨询特价)

出版日期:2016 年12月

开本:16开

版次:1-1

所属分类:计算机

编辑推荐

 

1. CSDN超人气博主、CSDN十大博客之星、资深Android开发者郭霖力作 

2. 基于Android 7.0、Android Studio 2.2全新升级 

3. Android初学者入门必备,Android开发者进阶首选 

4. 涵盖Material Design、运行时权限、RecyclerView、百分比布局等全新特性 

5. 第1版重印14次,经典畅销,好评如潮,以超高质量的内容赢得了开发者的广泛认可,被誉为“Android学习第一书”。

内容简介

    书籍

    计算机书籍

本书被广大Android 开发者誉为“Android 学习第一书”。全书系统全面、循序渐进地介绍了Android软件开发的必备知识、经验和技巧。

第2 版基于Android 7.0 对第1 版进行了全面更新,将所有知识点都在最新的Android 系统上进行重新适配,使用全新的Android Studio 开发工具代替之前的Eclipse,并添加了对Material Design、运行时权限、Gradle、RecyclerView、百分比布局、OkHttp、Lambda 表达式等全新知识点的详细讲解。

本书内容通俗易懂,由浅入深,既是Android 初学者的入门必备,也是Android 开发者的进阶首选。 

作译者

郭霖

Android软件开发工程师。从事Android开发工作6年,有着丰富的项目实战经验,负责及参与开发过多款移动应用与游戏,对Android系统架构及应用层开发有着深入的理解。

(咨询特价)年3月开始,在CSDN上发表Android技术相关博文,很快获得了大量网友的好评。目前博客访问量已超过500万次,评论超过10000条。荣获CSDN认证专家,并被连续评选为CSDN 2013、2014、2015年度博客之星。 

 

 

目录

第1章 开始启程——你的第一行Android代码 1

1.1 了解全貌——Android王国简介 2

1.1.1 Android系统架构 2

1.1.2 Android已发布的版本 3

1.1.3 Android应用开发特色 4

1.2 手把手带你搭建开发环境 5

1.2.1 准备所需要的工具 5

1.2.2 搭建开发环境 5

1.3 创建你的第一个Android项目 9

1.3.1 创建HelloWorld项目 9

1.3.2 启动模拟器 12

1.3.3 运行HelloWorld 15

1.3.4 分析你的第一个Android程序 16

1.3.5 详解项目中的资源 22

1.3.6 详解build.gradle文件 23

1.4 前行必备——掌握日志工具的使用 26

1.4.1 使用Android的日志工具Log 26

1.4.2 为什么使用Log而不使用System.out 27

1.5 小结与点评 29

第2章 先从看得到的入手——探究活动 30

2.1 活动是什么 30

2.2 活动的基本用法 30

2.2.1 手动创建活动 31

2.2.2 创建和加载布局 32

2.2.3 在AndroidManifest文件中注册 35

2.2.4 在活动中使用Toast 37

2.2.5 在活动中使用Menu 38

2.2.6 销毁一个活动 40

2.3 使用Intent在活动之间穿梭 41

2.3.1 使用显式Intent 41

2.3.2 使用隐式Intent 44

2.3.3 更多隐式Intent的用法 46

2.3.4 向下一个活动传递数据 50

2.3.5 返回数据给上一个活动 51

2.4 活动的周期 53

2.4.1 返回栈 53

2.4.2 活动状态 54

2.4.3 活动的生存期 55

2.4.4 体验活动的周期 56

2.4.5 活动被回收了怎么办 62

2.5 活动的启动模式 63

2.5.1 standard 64

2.5.2 singleTop 65

2.5.3 singleTask 67

2.5.4 singleInstance 68

2.6 活动的最佳实践 71

2.6.1 知晓当前是在哪一个活动 71

2.6.2 随时随地退出程序 72

2.6.3 启动活动的最佳写法 74

2.7 小结与点评 75

第3章 软件也要拼脸蛋——UI开发的点点滴滴 76

3.1 如何编写程序界面 76

3.2 常用控件的使用方法 77

3.2.1 TextView 77

3.2.2 Button 80

3.2.3 EditText 82

3.2.4 ImageView 86

3.2.5 ProgressBar 88

3.2.6 AlertDialog 91

3.2.7 ProgressDialog 93

3.3 详解4种基本布局 94

3.3.1 线性布局 94

3.3.2 相对布局 100

3.3.3 帧布局 103

3.3.4 百分比布局 105

3.4 系统控件不够用?创建自定义控件 108

3.4.1 引入布局 109

3.4.2 创建自定义控件 111

3.5 最常用和最难用的控件——ListView 113

3.5.1 ListView的简单用法 114

3.5.2 定制ListView的界面 115

3.5.3 提升ListView的运行效率 119

3.5.4 ListView的点击事件 120

3.6 更强大的滚动控件——RecyclerView 122

3.6.1 RecyclerView的基本用法 122

3.6.2 实现横向滚动和瀑布流布局 125

3.6.3 RecyclerView的点击事件 130

3.7 编写界面的最佳实践 132

3.7.1 制作Nine-Patch图片 132

3.7.2 编写精美的聊天界面 135

3.8 小结与点评 141

第4章 平板要兼顾——探究碎片 142

4.1 碎片是什么 142

4.2 碎片的使用方式 144

4.2.1 碎片的简单用法 144

4.2.2 动态添加碎片 147

4.2.3 在碎片中模拟返回栈 150

4.2.4 碎片和活动之间进行通信 151

4.3 碎片的周期 151

4.3.1 碎片的状态和回调 151

4.3.2 体验碎片的周期 153

4.4 动态加载布局的技巧 156

4.4.1 使用限定符 156

4.4.2 使用最小宽度限定符 159

4.5 碎片的最佳实践——一个简易版的新闻应用 160

4.6 小结与点评 169

第5章 全局大喇叭——详解广播机制 170

5.1 广播机制简介 170

5.2 接收系统广播 171

5.2.1 动态注册监听网络变化 171

5.2.2 静态注册实现开机启动 174

5.3 发送自定义广播 177

5.3.1 发送标准广播 177

5.3.2 发送有序广播 179

5.4 使用本地广播 183

5.5 广播的最佳实践——实现强制下线功能 185

5.6 Git时间——初识版本控制工具 192

5.6.1 安装Git 192

5.6.2 创建代码仓库 193

5.6.3 提交本地代码 195

5.7 小结与点评 195

第6章 数据存储全方案——详解持久化技术 196

6.1 持久化技术简介 196

6.2 文件存储 197

6.2.1 将数据存储到文件中 197

6.2.2 从文件中读取数据 201

6.3 SharedPreferences存储 203

6.3.1 将数据存储到SharedPreferences中 203

6.3.2 从SharedPreferences中读取数据 206

6.3.3 实现记住密码功能 208

6.4 SQLite数据库存储 211

6.4.1 创建数据库 211

6.4.2 升级数据库 216

6.4.3 添加数据 219

6.4.4 更新数据 222

6.4.5 删除数据 224

6.4.6 查询数据 225

6.4.7 使用SQL操作数据库 228

6.5 使用LitePal操作数据库 229

6.5.1 LitePal简介 229

6.5.2 配置LitePal 230

6.5.3 创建和升级数据库 231

6.5.4 使用LitePal添加数据 236

6.5.5 使用LitePal更新数据 237

6.5.6 使用LitePal删除数据 240

6.5.7 使用LitePal查询数据 241

6.6 小结与点评 243

第7章 跨程序共享数据——探究内容提供器 244

7.1 内容提供器简介 244

7.2 运行时权限 245

7.2.1 Android权限机制详解 245

7.2.2 在程序运行时申请权限 249

7.3 访问其他程序中的数据 254

7.3.1 ContentResolver的基本用法 254

7.3.2 读取系统 256

7.4 创建自己的内容提供器 260

7.4.1 创建内容提供器的步骤 261

7.4.2 实现跨程序数据共享 265

7.5 Git时间——版本控制工具进阶 275

7.5.1 忽略文件 275

7.5.2 查看修改内容 276

7.5.3 撤销未提交的修改 278

7.5.4 查看提交记录 279

7.6 小结与点评 280

第8章 丰富你的程序——运用多媒体 281

8.1 将程序运行到上 281

8.2 使用通知 283

8.2.1 通知的基本用法 283

8.2.2 通知的进阶技巧 289

8.2.3 通知的高级功能 291

8.3 调用摄像头和相册 293

8.3.1 调用摄像头拍照 294

8.3.2 从相册中选择照片 298

8.4 播放多媒体文件 303

8.4.1 播放音频 303

8.4.2 播放视频 307

8.5 小结与点评 311

第9章 看看精彩的世界——使用网络技术 312

9.1 WebView的用法 312

9.2 使用HTTP协议访问网络 314

9.2.1 使用HttpURLConnection 315

9.2.2 使用OkHttp 319

9.3 解析XML格式数据 321

9.3.1 Pull解析方式 324

9.3.2 SAX解析方式 326

9.4 解析JSON格式数据 329

9.4.1 使用JSONObject 330

9.4.2 使用GSON 331

9.5 网络编程的最佳实践 334

9.6 小结与点评 338

第10章 后台默默的劳动者——探究服务 339

10.1 服务是什么 339

10.2 Android多线程编程 340

10.2.1 线程的基本用法 340

10.2.2 在子线程中更新UI 341

10.2.3 解析异步消息处理机制 345

10.2.4 使用AsyncTask 347

10.3 服务的基本用法 349

10.3.1 定义一个服务 349

10.3.2 启动和停止服务 352

10.3.3 活动和服务进行通信 355

10.4 服务的周期 359

10.5 服务的更多技巧 359

10.5.1 使用前台服务 359

10.5.2 使用IntentService 361

10.6 服务的最佳实践——完整版的下载示例 365

10.7 小结与点评 378

第11章 Android特色开发——基于位置的服务 379

11.1 基于位置的服务简介 379

11.2 申请API Key 380

11.3 使用百度定位 384

11.3.1 准备LBS SDK 384

11.3.2 确定自己位置的经纬度 386

11.3.3 选择定位模式 391

11.3.4 看得懂的位置信息 393

11.4 使用百度地图 395

11.4.1 让地图显示出来 395

11.4.2 移动到我的位置 397

11.4.3 让“我”显示在地图上 400

11.5 Git时间——版本控制工具的高级用法 402

11.5.1 分支的用法 403

11.5.2 与远程版本库协作 404

11.6 小结与点评 406

第12章 最佳的UI体验——MaterialDesign实战 407

12.1 什么是Material Design 407

12.2 Toolbar 408

12.3 滑动菜单 415

12.3.1 DrawerLayout 415

12.3.2 NavigationView 418

12.4 悬浮按钮和可交互提示 423

12.4.1 FloatingActionButton 424

12.4.2 Snackbar 427

12.4.3 CoordinatorLayout 428

12.5 卡片式布局 430

12.5.1 CardView 431

12.5.2 AppBarLayout 437

12.6 下拉刷新 440

12.7 可折叠式标题栏 443

12.7.1 CollapsingToolbarLayout 443

12.7.2 充分利用系统状态栏空间 453

12.8 小结与点评 456

第13章 继续进阶——你还应该掌握的高级技巧 457

13.1 全局获取Context的技巧 457

13.2 使用Intent传递对象 461

13.2.1 Serializable方式 461

13.2.2 Parcelable方式 463

13.3 定制自己的日志工具 464

13.4 调试Android程序 466

13.5 创建定时任务 469

13.5.1 Alarm机制 469

13.5.2 Doze模式 471

13.6 多窗口模式编程 472

13.6.1 进入多窗口模式 473

13.6.2 多窗口模式下的周期 475

13.6.3 禁用多窗口模式 479

13.7 Lambda表达式 481

13.8 总结 485

第14章 进入实战——开发酷欧天气 486

14.1 功能需求及技术可行性分析 486

14.2 Git时间——将代码托管到GitHub上 489

14.3 创建数据库和表 494

14.4 遍历全国省市县数据 499

14.5 显示天气信息 509

14.5.1 定义GSON实体类 509

14.5.2 编写天气界面 514

14.5.3 将天气显示到界面上 520

14.5.4 获取必应每日一图 526

14.6 手动更新天气和切换城市 532

14.6.1 手动更新天气 532

14.6.2 切换城市 535

14.7 后台自动更新天气 540

14.8 修改图标和名称 542

14.9 你还可以做的事情 543

第15章 最后一步——将应用发布到360应用商店 545

15.1 生成正式签名的APK文件 545

15.1.1 使用Android Studio生成 546

15.1.2 使用Gradle生成 548

15.1.3 生成多渠道APK文件 551

15.2 申请360开发者账号 554

15.3 发布应用程序 556

15.4 嵌入广告进行盈利 560

15.4.1 注册腾讯广告联盟账号 560

15.4.2 新建媒体和广告位 562

15.4.3 接入广告SDK 564

15.4.4 重新发布应用程序 569

15.5 结束语 570

 

 

前言

 

虽然我从事Android开发工作已经很多年了,但是之前从来没有想过自己要去写一本Android技术相关的书。在我看来,写一本书可以算是一个很庞大的工程,写一本好书的难度并不亚于开发一款好的应用程序。

由于我长期坚持在CSDN上发表技术博文,因而得到了大量网友的认可,也积累了一定的名气。很荣幸的是,人民邮电出版社图灵公司的前副总编辑陈冰老师上了我,希望我可以写一本关于Android开发技术的书,这着实让我受宠若惊。

在写本书第1版的时候,我可以说是费了相当大的心思。写书和写博客最大的区别在于,书的内容不能像博客那样散乱,不能想到哪里写到哪里,而是一定要系统化,要循序渐进,基本上在写第1章的时候就应该把全书的内容都确定下来了。

令我非常欣慰的是,本书的第1版在推出之后获得了广大读者的强烈认可,在短短两年时间内,已经成为了国内最畅销的Android技术书。各大书店、图书馆都能看到《第一行代码》的身影,许多学校和培训机构也纷纷将《第一行代码》选为Android课程的教材。

不过,在科技高速发展的今天,各种技术的发展都是日新月异的。在两年的时间里,Android操作系统经历了5.0、6.0、7.0的飞速升级。不可否认的是,本书第1版中的不少知识点都已经过时,而且这两年间出现的很多新知识,第1版中也没有涵盖。因此,这让我坚定了写作本书第2版的想法。

刚开始写的时候,我以为只是小修小补,但事实上并没有我想象得那么轻松。除了介绍新知识点以外,书中之前的所有项目都需要重新编写和测试,以保证代码在新老系统上的兼容性。另外,由于Android从5.0系统开始,UI风格变化很大,因此第1版中所有的截图都需要更新。毫不夸张地说,我几乎重写了整本书。

而现在,你手中捧着的正是全新版的《第一行代码》,同时这也竖内第一本基于Android 7.0系统写作的技术书。我真诚地希望你可以用心去阅读这本书,因为每多掌握一份知识,你就会多一份喜悦。Enjoy it!

第2版的变化

由于第2版修改内容繁多,因此这里我只列举出最主要的变化。首先是开发工具上的改变,本书第1版使用的开发工具是Eclipse,而第2版使用了目前最新的Android Studio 2.2版本。另外,本书第1版是基于Android 4.x系统的,而第2版是基于Android 7.0系统的,其中囊括了新系统中的诸多知识点,包括Android 5.0系统中引入的Material Design、Android 6.0系统中引入的运行时权限和Doze模式、Android 7.0系统中引入的多窗口模式等。

除此之外,第2版还加入了Gradle、RecyclerView、百分比布局、OkHttp、Lambda表达式等全新知识点的讲解,内容将前所未有地充实。

读者对象

本书内容通俗易懂,由浅入深,既适合初学者阅读,也同样适合专业人员。学习本书内容之前,你并不需要有任何的Android基础,但是你需要有一定的Java基础,因为Android开发都是使用Java语言的,而本书并不会去专门介绍Java方面的知识。

阅读本书时,你可以根据自身的情况来决定如何阅读。如果你是初学者的话,建议你从第1章开始循序渐进地阅读,这样理解起来就不会感到吃力。而如果你已经有了一定的Android基础,那么就可以选择某些你感兴趣的章节进行跳跃式的阅读。但请记住,很多章最后的最佳实践部分一定是你不想错过的。

本书内容

正如前面所说,本书的内容是非常系统化的,不仅全面介绍了那些你必须掌握的知识,而且保证了各章的难度都是梯度式上升的。全书一共分为15章,涵盖了四大组件、UI、碎片、数据存储、多媒体、网络、定位服务等方方面面的知识。为了让你在学完所有内容之后还可以有综合运用的能力,本书的尾声部分还会带你一起开发一个天气预报程序,并教会你如何将程序发布到应用商店,以及如何在程序中嵌入广告盈利。

除此之外,本书的第5章、第7章、第11章、第14章中都穿插有对Git的讲解,如果想要掌握它的用法,这几章的内容是绝对不能错过的。

本书中各个章节的内容都相对比较独立,因此除了可以循序渐进地学习之外,你还可以把它当成一本参考手册,随时查阅。

源码下载

首先,我建议你在学习本书的时候将所有项目的源码都亲手敲上一遍,因为只有这样才能加深你对代码的理解。不过为了方便于你的学习,我还是提供了书中所有项目的源码,请仅在需要的时候再去参考(如下载项目中的图片资源)。切勿直接将源码复制粘贴就当成自己的东西了,只有亲手敲过的代码才真正是你自己的。

源码下载地址:http://pic.witcp.com/pic/github.com/guolindev/booksource

 

.........

第一章部分内容试读

欢迎你来到Android世界!Android系统是目前世界上市场占有率最高的移动操作系统,不管你在哪里,都可以看到Android几乎无处不在。今天的Android世界可谓欣欣向荣,可是你知道它的过去是什么样的吗?我们一起来看一看它的发展史吧。

(咨询特价)年10月,Andy Rubin等人一起创办了Android公司。2005年8月谷歌收购了这家仅仅成立了22个月的公司,并让Andy Rubin继续负责Android项目。在经过了数年的研发之后,谷歌终于在2008年推出了Android系统的第一个版本。但自那之后,Android的发展就一直受到重重阻挠。乔布斯自始至终认为Android是一个抄袭iPhone的产品,里面剽窃了诸多iPhone的创意,并声称一定要毁掉Android。而本身就是基于Linux开发的Android操作系统,在2010年被Linux团队从Linux内核主线中除名。又由于Android中的应用程序都是使用Java开发的,甲骨文则针对Android侵犯Java知识产权一事对谷歌提起了诉讼……

可是,似乎再多的困难也阻挡不了Android快速前进的步伐。由于谷歌的开放政策,任何厂商和个人都能免费获取到Android操作系统的源码,并且可以自由地使用和定制。三星、HTC、摩托罗拉、索爱等公司都推出了各自系列的Android,Android市场上百花齐放。仅仅推出两年后,Android就超过了已经霸占市场逾十年的诺基亚Symbian,成为了全球第一大智能操作系统,并且每天都还会有数百万台新的Android设备被激活。而近几年,国内的厂商也是大放异彩,小米、华为、魅族等新兴品牌都推出了相当不错的Android,并且也获得了市场的广泛认可,目前Android已经占据了全球智能操作系统70%以上的份额。

说了这些,想必你已经体会到Android系统炙手可热的程度,并且迫不及待地想要加入到Android开发者的行列当中了吧。试想一下,十个人中有七个人的都可以运行你编写的应用程序,还有什么能比这个更诱人的呢?那么从今天起,我就带你踏上学习Android的旅途,一步步地引导你成为一名出色的Android开发者。

好了,现在我们就来一起初窥一下Android世界吧。

1.1 了解全貌——Android王国简介

Android从面世以来到现在已经发布了二十几个版本了。在这几年的发展过程中,谷歌为Android王国建立了一个完整的生态系统。厂商、开发者、用户之间相互依存,共同推进着Android的蓬勃发展。开发者在其中扮演着不可或缺的角色,因为如果没有开发者来制作丰富的应用程序,那么不管多么优秀的操作系统,也是难以得到大众用户喜爱的,相信没有多少人能够忍受没有QQ、的吧。而且,谷歌推出的Google Play更是给开发者带来了大量的机遇,只要你能制作出优秀的产品,在Google Play上获得了用户的认可,你就完全可以得到不错的经济回报,从而成为一名独立开发者,甚至是成功创业!

那我们现在就以一个开发者的角度,去了解一下这个操作系统吧。纯理论型的东西也比较无聊,怕你看睡着了,因此我只挑重点介绍,这些东西跟你以后的开发工作都是息息相关的。

1.1.1 Android系统架构

为了让你能够更好地理解Android系统是怎么工作的,我们先来看一下它的系统架构。Android大致可以分为四层架构:Linux内核层、系统运行库层、应用框架层和应用层。

1 . Linux内核层

Android系统是基于Linux内核的,这一层为Android设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi驱动、电源管理等。

2 . 系统运行库层

这一层通过一些C/C++库来为Android系统提供了主要的特性支持。如SQLite库提供了数据库的支持,OpenGL|ES库提供了3D绘图的支持,Webkit库提供了浏览器内核的支持等。

同样在这一层还有Android运行时库,它主要提供了一些核心库,能够允许开发者使用Java语言来编写Android应用。另外,Android运行时库中还包含了Dalvik虚拟机(5.0系统之后改为ART运行环境),它使得每一个Android应用都能运行在独立的进程当中,并且拥有一个自己的Dalvik虚拟机实例。相较于Java虚拟机,Dalvik是专门为移动设备定制的,它针对内存、CPU性能有限等情况做了优化处理。

3 . 应用框架层

这一层主要提供了构建应用程序时可能用到的各种API,Android自带的一些核心应用就是使用这些API完成的,开发者也可以通过使用这些API来构建自己的应用程序。

4 . 应用层

所有安装在上的应用程序都是属于这一层的,比如系统自带的、短信等程序,或者是你从Google Play上下载的小游戏,当然还包括你自己开发的程序。

结合图1.1你将会理解得更加深刻,图片源自维基百科。

1.1.2 Android已发布的版本

(咨询特价)年9月,谷歌正式发布了Android 1.0系统,这也是Android系统最早的版本。随后的几年,谷歌以惊人的速度不断地更新Android系统,2.1、2.2、2.3系统的推出使Android占据了大量的市场。2011年2月,谷歌发布了Android 3.0系统,这个系统版本是专门为平板电脑设计的,但也是Android为数不多的比较失败的版本,推出之后一直不见什么起色,市场份额也少得可怜。不过很快,在同年的10月,谷歌又发布了Android 4.0系统,这个版本不再对和平板进行差异化区分,既可以应用在上,也可以应用在平板上。2014年Google I/O大会上,谷歌推出了号称史上版本改动最大的Android 5.0系统,其中使用ART运行环境替代了Dalvik虚拟机,大大提升了应用的运行速度,还提出了Material Design的概念来优化应用的界面设计。除此之外,还推出了Android Wear、Android Auto、Android TV系统,从而进军可穿戴设备、汽车、电视等全新领域。之后Android的更新速度更加迅速,2015年Google I/O大会上推出了Android 6.0系统,加入运行时权限功能,2016年Google I/O大会上推出了Android 7.0系统,加入多窗口模式功能,这也是目前最新的Android系统版本。

下表中列出了目前市场上主要的Android系统版本及其详细信息。你看到这张表格时,数据很可能已经发生了变化,查看最新的数据可以访问http://pic.witcp.com/pic/developer.android.com/about/dashboards/。

从上表中可以看出,目前4.0以上的系统已经占据了超过98%的Android市场份额,因此我们本书中开发的程序也只面向4.0以上的系统,2.x的系统就不再去兼容了。

1.1.3 Android应用开发特色

预告一下,你马上就要开始真正的Android开发旅程了。不过先别急,在开始之前我们再来一起看一看,Android系统到底提供了哪些东西,可供我们开发出优秀的应用程序。

1 . 四大组件

Android系统四大组件分别是活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供器(Content Provider)。其中活动是所有Android应用程序的门面,凡是在应用中你看得到的东西,都是放在活动中的。而服务就比较低调了,你无法看到它,但它会一直在后台默默地运行,即使用户退出了应用,服务仍然是可以继续运行的。广播接收器允许你的应用接收来自各处的广播消息,比如、短信等,当然你的应用同样也可以向外发出广播消息。内容提供器则为应用程序之间共享数据提供了可能,比如你想要读取系统簿中的,就需要通过内容提供器来实现。

2 . 丰富的系统控件

Android系统为开发者提供了丰富的系统控件,使得我们可以很轻松地编写出漂亮的界面。当然如果你品位比较高,不满足于系统自带的控件效果,也完全可以定制属于自己的控件。

3 . SQLite数据库

Android系统还自带了这种轻量级、运算速度极快的嵌入式关系型数据库。它不仅支持标准的SQL语法,还可以通过Android封装好的API进行操作,让存储和读取数据变得非常方便。

4 . 强大的多媒体

Android系统还提供了丰富的多媒体服务,如音乐、视频、录音、拍照、闹铃,等等,这一切你都可以在程序中通过代码进行控制,让你的应用变得更加丰富多彩。

5 . 地理位置定位

移动设备和PC相比起来,地理位置定位功能应该可以算是很大的一个亮点。现在的Android都内置有GPS,走到哪儿都可以定位到自己的位置,发挥你的想象就可以做出创意十足的应用,如果再结合功能强大的地图功能,LBS这一领域潜力无限。

既然有Android这样出色的系统给我们提供了这么丰富的工具,你还用担心做不出优秀的应用吗?好了,纯理论的东西就介绍到这里,我知道你已经迫不及待想要开始真正的开发之旅了,那我们就开始启程吧!

1.2 手把手带你搭建开发环境

俗话说得好,“工欲善其事,必先利其器”,开着记事本就想去开发Android程序显然不是明智之举,选择一个好的IDE可以极大幅度地提高你的开发效率,因此本节我就将手把手带着你把开发环境搭建起来。

1.2.1 准备所需要的工具

我现在对你了解还并不多,但我希望你已经是一个颇有经验的Java程序员,这样你理解本书的内容时将会轻而易举,因为Android程序都是使用Java语言编写的。如果你对Java只是略有了解,那阅读本书应该会有一点困难,不过一边阅读一边补充Java知识也是可以的。但如果你对Java完全没有了解,那么我建议你可以暂时将本书放下,先买本介绍Java基础知识的书学上两个星期,把Java的基本语法和特性都学会了,再来继续阅读这本书。

好了,既然你已经阅读到这里,说明你已经掌握Java的基本用法了,下面我们就来看一看开发Android程序需要准备哪些工具。

  • JDK。JDK是Java语言的软件开发工具包,它包含了Java的运行环境、工具集合、基础类库等内容。需要注意的是,本书中的Android程序必须要使用JDK 8或以上版本才能进行开发。

  • Android SDK。Android SDK嗜歌提供的Android开发工具包,在开发Android程序时,我们需要通过引入该工具包,来使用Android相关的API。

  • Android Studio。在很早之前,Android项目都是用Eclipse来开发的,相信所有Java开发者都一定会对这个工具非常熟悉,它是Java开发神器,安装ADT插件后就可以用来开发Android程序了。而在2013年的时候,谷歌推出了一款官方的IDE工具Android Studio,由于不再是以插件的形式存在,Android Studio在开发Android程序方面要远比Eclipse强大和方便得多。不过由于Android Studio早期的测试版本并不是非常稳定,所以本书的第1版仍然选用的Eclipse来作用开发工具。而如今,Android Studio已经推出了2.2版本,稳定性完全不再是问题,普及程度方面也远超Eclipse,没有比现在更适合的时机来换用Android Studio了,因此本书中所有的代码都将在Android Studio上进行开发。

..........

热门设计服务