爱上Android人民邮电pdf下载pdf下载

爱上Android人民邮电百度网盘pdf下载

作者:
简介:本篇主要提供爱上Android人民邮电pdf下载
出版社:鸿扬千页图书专营店
出版时间:2017-08
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

基本信息

  • 商品名:正版【满48包邮】爱上Android9787115461759人民邮电于连林编著
  • ISBN:9787115461759
  • 定价:69
  • 出版社:人民邮电出版社
  • 作者:于连林

参考信息(以实物为准)

  • 出版时间:2017-08-01
  • 印刷时间:
  • 版次:1
  • 印次:
  • 包装:平装
  • 开本:16开
  • 用纸:胶版纸
  • 页数:
  • 字数:

产品特色

编辑推荐

  12万读者的真实阅读体验,CSDN博客专家的力作,基于新版的Android

  循序渐进地讲述开发过程中必备的知识,宗旨是不重复开发一个“轮子”,在给大家讲明原理的同时,介绍一些好的开发框架,这些框架能够让读者很快上手开发完成一个应用。

  本书前面部分知识点配有相应视频,帮助读者零基础学通Android开发

  作者微信答疑,解决读者学习中的困难


内容简介

  本书深入浅出,详细讲解了Android开发的知识,主要内容包括:Android的体系架构、Android Studio、项目的创建、Android工程目录、调试程序、界面的搭建;常用的控件和属性、提示信息Toast和Snackbar、点击事件3种写法等;Activity之间的跳转、Activity生命周期、Activity启动模式等;数据存储、网络编程;图片的处理;复杂控件的使用;Fragment、广播接收者、Service、动画等;以及Android新特性、Kotlin语言、性能优化、屏幕适配、自定义控件、JNI/NDK开发等高级知识。并通过开发一个真实的项目让读者学以致用。

  本书内容通俗易懂,比较适合初学者阅读,也可以作为专业人员的工具书,以及大专院校相关专业师生的学习用书和培训学校的教材。


前言序言

  欢迎您阅读这本书

  Android已经在短短几年从无到有成为这个□□□□受欢迎的智能手机操作系统。无论您是为公众开发应用程序,还是为自己开发App,都会发现Android是一个令人兴奋和具有挑战性的平台。您会爱上Android开发!

  □重要的是,我衷心希望您能找到它对您开发有用的地方。

  IT知识本身也许是枯燥的,本书尽量把它讲得幽默点。

  本书结构

  本书并不像其他的书那样,把所有的知识点堆到一起。这本书循序渐进地讲述开发过程中必备的知识,虽然可能忽略一些很少用的知识,但大家在实际开发过程中就会发现学的已经够用了。本书宗旨是不重复开发一个“轮子”,在给大家讲明白原理的同时会介绍一些高手开发的框架,这些框架能够让大家很快上手开发完成一个应用。

  读者对象

  本书内容通俗易懂,比较适合初学者阅读,也可以作为专业人员的工具书。学习本书之前您不需要任何的Android基础,但是需要有一定的Java基础(包括数组、运算符、面向对象思想、线程、IO流等),因为大部分Android开发都是使用Java语言的,而本书很少会介绍Java方面的知识。

  阅读本书时,您可以根据自身的情况来决定如何阅读,如果没有Android开发基础,建议不要跳过前面的章节。

  因为考虑到新手初学时很难入门,所以本书刚开始的部分内容会附赠开发教学视频,帮助读者尽快入门学习。

  微信公众号

  为了方便大家看到此书勘误,本书提供一个网址:book.520wcf.com。

  IT行业技术日新月异,本书将尽快更新□新的知识点。为了方便大家及时收到本书更新提醒,建议大家关注微信公众账号。微信添加公众号搜索likeDev,或者扫码加入:

  为了方便交流,可以加QQ交流群:488929846,添加时请输入备注:爱上Android。

  本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。


目录

□□章初识Android1

1.1Android是什么1

1.2Android体系架构1

1.3Android发展史4

第2章选择您的开发工具5

2.1准备软件,认识AndroidStudio5

2.1.1什么是AndroidStudio5

2.1.2为什么使用AndroidStudio6

2.2安装AndroidStudio6

2.2.1安装配置要求6

2.2.2下载地址6

2.2.3安装JDK7

2.2.4安装AndroidStudio7

2.2.5设置JDK和AndroidSDK

目录14

2.3项目的创建16

2.3.1创建项目的步骤16

2.3.2解决错误(没有错误□好)19

2.4AndroidStudio界面预览21

2.5常用设置22

2.5.1设置主题22

2.5.2设置字体和格式22

2.5.3设置文件编码24

2.5.4设置快捷键24

2.5.5其他设置26

2.6常用快捷键26

2.7Android工程目录27

2.7.1工程目录介绍27

2.7.2Gradle使用详解28

2.7.3app/build.gradle28

2.8SDK目录介绍30

2.9调试程序31

2.9.1创建模拟器31

2.9.2连接真实手机33

2.9.3Genymotion模拟器34

2.10程序启动分析34

2.11日志和注释36

2.11.1注释37

2.11.2日志37

2.11.3设置AndroidStudio日志

显示颜色38

2.11.4实际开发中控制日志39

2.11.5Logger的使用41

总结42

第3章界面的搭建43

3.1眼见皆View43

3.2布局的搭建方式43

3.3常用的控件和属性44

3.3.1TextView44

3.3.2Button45

3.3.3EditText46

3.3.4ImageView47

3.3.5ProgressBar49

3.4布局的介绍50

3.4.1LinearLayout(线性布局)50

3.4.2RelativeLayout(相对布局)52

3.4.3FrameLayout(帧布局)55

3.4.4GridLayout(网格布局)56

3.4.5CoordinatorLayout58

3.4.6ConstraintLayout(约束

布局)61

3.5提示信息Toast和Snackbar61

3.5.1Toast使用详解61

3.5.2修改Toast位置63

3.5.3自定义Toast布局63

3.5.4避免内存泄露65

3.5.5Snackbar65

3.6点击事件三种写法68

3.6.1通过匿名内部类或内部类

实现68

3.6.2让类实现接口69

3.6.3在布局文件中注册事件70

3.7使用Lambda表达式代替匿名

内部类70

3.7.1什么是lambda呢70

3.7.2使用Lambda表达式71

3.8AlertDialog提示对话框73

3.8.1一般对话框75

3.8.2MaterialDesign风格的

对话框76

3.8.3列表对话框78

3.8.4单选按钮对话框79

3.8.5多选按钮对话框79

3.8.6自定义AlertDialog80

3.9ProgressDialog81

总结83

第4章Activity介绍84

4.1Activity之间的跳转84

4.1.1显示意图84

4.1.2隐式意图86

4.1.3隐式意图的常见操作88

4.1.4IntentFilter匹配规则89

4.2Activity之间传递数据92

4.2.1通过Intent传递数据92

4.2.2静态工厂设计模式传递

数据93

4.2.3返回数据给之前的Activity93

4.3Android6.0权限的管理95

4.3.1Android6.0新的权限机制96

4.3.2申请权限96

4.3.3第三方库RxPermissions100

4.4Activity生命周期101

4.4.1生命周期的方法101

4.4.2Activity销毁时保存数据102

4.4.3锁定横竖屏103

4.4.4开发时注意事项104

4.5Activity任务栈104

4.6Activity启动模式105

4.6.1standard105

4.6.2singleTop106

4.6.3singleTask106

4.6.4singleInstance107

4.6.5统一管理Activity108

4.7Toolbar和NavigationDrawer109

4.7.1AppBar的简介109

4.7.2创建菜单111

4.7.3Toolbar112

4.7.4Toolbar遇上Navigation

Drawer114

4.8主题样式设置118

总结120

第5章数据存储121

5.1SharedPreference121

5.2MD5加密123

5.3文件存储数据124

5.3.1保存到手机内存(Internal

Storage)124

5.3.2SD卡存储(External

Storage)127

5.4SQLite存储132

5.4.1创建数据库132

5.4.2升级数据库135

5.4.3数据库增删改查(CURD)137

5.4.4SQLite数据库的事务操作144

5.5常见的数据库框架146

总结146

第6章网络编程148

6.1HTTP协议148

6.1.1URL简介148

6.1.2HTTP简介149

6.1.3GET和POST对比151

6.2HttpURLConnection151

6.2.1为什么废弃HttpClient151

6.2.2使用HttpURLConnection

联网152

6.3多线程编程154

6.3.1线程的同步和异步154

6.3.2AsycTask158

6.3.3RxJava161

6.4网络请求实例164

6.5JSON解析168

6.5.1使用Android原生方式解析

JSON169

6.5.2Gson的使用170

6.5.3插件GsonFormat快速实现

JavaBean174

6.5.4完成请求实例176

6.6网络请求框架——Retrofit179

6.6.1使用Retrofit179

6.6.2常用的注解181

6.6.3完成请求案例181

6.6.4RxJava和Retrofit结合183

6.7WebView184

6.7.1WebView配置186

6.7.2WebViewClient方法187

6.7.3设置WebChromeClient189

6.7.4WebView常用的方法190

6.7.5WebView模板代码191

总结196

第7章图片的处理197

7.1Bitmap和Drawable197

7.2大图的加载199

7.3图片加水印202

7.4图片特效,Matrix205

7.4.1缩放205

7.4.2倒影、镜面207

7.4.3旋转208

7.4.4位移208

7.5图片颜色处理——打造自己的美图

秀秀209

7.5.1颜色过滤器

ColorMatrixColorFilter209

7.5.2实现图片美化功能210

7.6案例——随手涂鸦214

7.7加载网络图片217

7.7.1网络图片的缓存策略217

7.7.2图片加载库Picasso的使用218

总结219

第8章复杂控件的使用220

8.1ListView220

8.1.1初识ListView221

8.1.2定制ListView条目的界面222

8.1.3优化ListView225

8.1.4ListView的点击事件226

8.1.5ListView常用的属性228

8.2GridView229

8.3RecyclerView231

8.3.1初识RecyclerView231

8.3.2使用RecyclerView232

8.3.3不同的布局排列方式234

8.3.4RecyclerView添加点击

事件236

8.3.5RecyclerView添加删除

数据237

8.3.6下拉刷新

SwipeRefreshLayout237

8.4CardView239

8.5ViewPager241

8.6BottomNavigationView(底部

导航)243

8.7TabLayout246

8.7.1TabLayout使用246

8.7.2TabLayout自定义条目

样式249

总结250

第9章探索Fragment251

9.1使用Fragment252

9.1.1Fragment的生命周期252

9.1.2创建Fragment252

9.1.3向Activity添加Fragment254

9.1.4管理片段256

9.1.5Fragment的向下兼容257

9.2FragmentTabHost实现底部标签257

9.3ViewPager和Fragment结合259

总结273

□□0章广播接收者274

10.1广播简介274

10.2实现一个BroadcastReceiver275

10.3发送自定义广播279

10.4桌面快捷方式283

总结285

□□1章Service介绍286

11.1服务的基本用法286

11.1.1创建服务286

11.1.2启动和停止服务287

11.1.3绑定服务289

11.1.4服务的生命周期292

11.2IntentService292

11.3Service和BroadCastReceiver结合

使用的案例(兼容Android7.0)294

11.3.1Android7.0错误原因297

11.3.2使用FileProvider298

总结300

□□2章动画301

12.1补间动画(TweenAnimation)301

12.2.1AlphaAnimation(透明度

动画)302

12.2.2ScaleAnimation(缩放

动画)304

12.2.3TranslateAnimation(平移

动画)305

12.2.4RotateAnimation(旋转

动画)306

12.2逐帧动画(FrameAnimation)308

12.3属性动画310

总结313

□□3章新特性314

13.1Android7.0分屏开发314

13.1.1如何分屏呢315

13.1.2多窗口生命周期315

13.1.3针对多窗口进行配置316

13.1.4多窗口模式中运行应用

注意事项316

13.1.5在多窗口模式中启动新

Activity317

13.1.6支持拖放318

13.2Android7.0快速设定318

13.3约束布局ConstraintLayout321

13.3.1ConstraintLayout简介321

13.3.2添加约束布局322

13.3.3使用约束布局322

13.3.4添加约束323

13.3.5使用自动连接和约束推断325

13.3.6快速对齐Align326

13.4使用Kotlin语言开发Android326

总结330

□□4章性能优化331

14.1性能检测331

14.1.1检测内存泄露331

14.1.2LeakCanary334

14.1.3追踪内存分配335

14.1.4查询方法执行的时间335

14.2过度绘制(OverDraw)336

14.2.1过度绘制概念336

14.2.2追踪过度绘制336

14.2.3去掉不合理背景337

14.2.4不合理的XML布局对

绘制的影响338

14.3避免ANR338

14.3.1ANR分析339

14.3.2ANR解决方式341

总结341

□□5章屏幕适配342

15.1Android屏幕适配出现的原因342

15.2相关重要概念344

15.2.1屏幕尺寸344

15.2.2屏幕分辨率344

15.2.3屏幕像素密度344

15.2.4屏幕尺寸、分辨率、像素

密度三者关系344

15.2.5dip345

15.2.6sp345

15.3尺寸适配解决方案346

15.3.1“布局”适配346

15.3.2尺寸(size)限定符347

15.3.3□小宽度(Smallest-width)

限定符348

15.3.4使用布局别名349

15.3.5屏幕方向(Orientation)

限定符350

15.3.6“布局组件”匹配352

15.3.7Layout_weight详解352

15.3.8“图片资源”匹配355

15.3.9.9的制作355

15.3.10“用户界面流程”匹配357

15.4屏幕密度适配359

15.4.1“布局控件”适配359

15.4.2百分比布局360

15.4.3约束布局362

总结362

□□6章自定义控件363

16.1自定义控件简介363

16.2View的生命周期364

16.2.1构造函数365

16.2.2onAttachedToWindow369

16.2.3onMeasure370

16.2.4onLayout372

16.2.5onDraw372

16.2.6View更新373

16.2.7动画374

总结374

□□7章JNI/NDK开发375

17.1NDK配置(□新的CMake

方式)375

17.1.1下载376

17.1.2创建项目376

17.1.3运行项目378

17.1.4手动添加native方法379

总结380

□□8章开发一个真实的项目381

18.1项目需求分析381

18.2创建项目382

18.3界面实现383

18.3.1启动界面383

18.3.2引导页面385

18.3.3主界面388

18.3.4列表界面390

18.4请求网络395

18.5新闻列表和详情400

18.6完成整个项目409

总结412


精彩书摘

  毫无疑问,你肯定急于开始学习Android应用程序开发。毕竟,编程对程序员来说吸引力也是很大的。然而,在开始实际编程前,需要先了解Android的系统。

  1.1Android是什么

  Android,中文名为安卓,直接翻译是机器人的意思,它是Google公司推出的一款开源免费的智能操作系统,不仅限于手机,现在很多终端都在使用Android操作系统,如手表、电视、汽车、平板电脑、微波炉等,如图1-1和图1-2所示。一般而言,还是以手机开发为主,本书也是介绍如何进行手机软件开发。

  ▲图1-1Android系统的微波炉

  ▲图1-2Android智能电视

  由于Android系统是免费的,所以推广得很快。目前Android手机市场占有率已经超过80%。

  1.2Android体系架构

  为了更好地理解Android系统是如何工作的,接下来解剖一下Android系统,看看其内部是如何构建的,如图1-3所示。

  ▲图1-3Android系统架构

  Android大致可以分为4层架构、5块区域。图1-3从下到上依次为:

  (1)Linux内核层;

  (2)系统运行库层;

  (3)应用框架层;

  (4)应用层。

  1.Linux内核层

  如图1-4所示,Android系统是基于Linux2.6内核的,这一层为Android的各种硬件提供了驱动程序,如显示驱动、照相机驱动、声音驱动、电池管理等。当手机开机的时候,这一层肯定先运行。

  ▲图1-4Linux内核层

  2.系统运行库层

  如图1-5所示,这一层通过一些C或者C++库为Android系统提供了主要的特性支持。如Webkit提供了浏览器支持(保证手机能够正常使用浏览器),SQLite库提供了数据库的支持(可以用来存储一些数据),OpenGLES库提供了3D绘图的支持等。

  这一层还有Android运行时库,它主要提供了一些核心库,能够允许开发者使用Java语言编写Android应用。另外,Android运行时库中还包含了Dalvik虚拟机(Android5.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/screenshow?key=17074a593354f8a3164f)

  ▲图1-7应用层

  应用层和应用框架层大部分都是采用Java代码编写的,Linux内核层和系统运行库层大部分采用C或者C++编写。

  计算机语言核心就是0和1,理论上用一个电闸都能编程,闭合就是1,打开就是0,一开一闭程序就运行了,估计干这行的肯定瞧不上做C开发的。编程语言不分好坏,只是功能划分不一样。千万不要和资深程序员争论哪门编程语言好,他们眼中只有0或者1,基本上他能说的让你高山仰止。

  1.3Android发展史

  Android从2008年发布1.0至今已经发布了20多个版本了,目前□新版本是Android8,每一个系统版本都对应一个开发的API版本号,如Android5.1对应API版本号21。每一个Android版本还都有一个代号,包括甜甜圈、姜饼、三明治、果冻豆、棒棒糖等。

  如图1-8所示,表中□右面一栏就是当前版本的市场份额,可以发现Android4.4是当前□流行的版本,Android5.0以上的会越来越多,而Android4.1以下的手机基本上没有了,Android7.0还不到百分之一。所以本书重点讲解Android5.0~7.1的知识,兼容到Android4.1。

  数据来源Android官网

  ▲图1-8Android各个版本市场占有率

  好了,Android基本信息就介绍到这,接下进入真正的Android开发之旅。

  ……


作者简介

   于连林,CSDN博客专家,从事Android开发和教育多年,做过很多个项目,包括办公类,O2O等类型,曾在培训机构从事Android教育,有上千课时讲课经验,收到过许多好评。