猜你喜欢
爱上Android

爱上Android

书籍作者:于连林 ISBN:9787115461759
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:7293
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

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

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


作者简介

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


编辑推荐

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

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

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

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


前言

  欢迎您阅读这本书

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

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

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

  本书结构

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

  读者对象

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

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

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

  微信公众号

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

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

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

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


目录

第1章初识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

第10章广播接收者274

10.1广播简介274

10.2实现一个BroadcastReceiver275

10.3发送自定义广播279

10.4桌面快捷方式283

总结285

第11章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

第12章动画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

第13章新特性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

第14章性能优化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

第15章屏幕适配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

第16章自定义控件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

第17章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

第18章开发一个真实的项目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