如何学习Android开发

如何学习Android开发

新葡京娱乐场:如果不想休息了,它们也可以与其他狗狗玩、做指甲或者吃吃为它们精心定制的狗粮。

学习Android开发,对每个新手都是一个很大的挑战,就好像在异国他乡学会生存一样。即使会说当地的语言,一开始也绝不会有在家的感觉,因为你不能完全理解周围的人所理解的东西。原有的知识储备在新环境下可能完全派不上用场。

Android有自己的语言文化——使用Java语言。但仅掌握Java远远不够,还需要通过学习很多新的理论和技术知识来理清头绪,从而指引你穿越陌生的领域。

该我们登场了。在Big Nerd Ranch,我们认为,要成为Android开发人员,必须做到:

  • 着手开发一些Android应用;

  • 彻底理解你的Android应用。

本书将协助你完成以上两件事情。我们已用它成功培训了数千名专业的Android开发人员。本书将指导你完成多个Android应用的开发,并根据需要逐步介绍各种理论概念及技术知识。在学习过程中,如果遇到知识疑难点,请勇敢面对;我们也会尽最大努力抽丝剥茧,让你知其然更知其所以然。

我们的教学方法是:在学习理论的同时,就着手运用它们开发实际的应用,而非先学习一大堆理论,再考虑如何将理论应用于实践。读完本书,你将具备必要的开发经验及知识。以此为起点,深入学习,逐渐成长为一名合格的Android开发者。

阅读前提

使用本书,你需要熟悉Java语言,包括类、对象、接口、监听器、包、内部类、匿名内部类、泛型类等基本概念。

如果不熟悉这些概念,很可能刚翻几页就已无法继续下去。对此,建议先放下本书,找本Java入门书看一看。市面上有很多优秀的Java入门书,你可以基于自己的编程经验及学习风格去挑选。

如果你熟悉面向对象编程,但Java知识忘得差不多了,阅读本书应该不会有太大的问题。对于接口、匿名内部类等重要的Java语言点,我们会提供必要的简短回顾。建议在学习过程中手边备上一本Java参考书,方便查阅。

第3版有哪些新内容

本书第3版介绍了一些新工具:constraint layout(包括其编辑器)和数据绑定(data binding)。新增加了几个章节,内容涉及单元测试、辅助功能(accessibility)、MVVM架构和应用本地化。本书末尾还介绍了Android的新运行时权限系统。此外,我们还进一步扩充了挑战练习和深入学习部分的内容,并修订了全书的一些不够完善的部分。

如何使用本书

本书基于Big Nerd Ranch培训机构的5天教学课程编写而成。课程从基础知识讲起,各章节内容以循序渐进的方式编排,建议不要跳读,以免学习效果大打折扣。显然,本书不适合作为参考书。本书旨在帮你跨越学习的初始障碍,进而充分利用其他各种参考资料和代码实例类图书来深入学习。

我们为学员提供了良好的培训环境:专门的培训教室、可口的美食、舒适的住宿条件、动力十足的学习伙伴,以及随时答疑解惑的指导老师。

你同样需要类似的良好环境。因此,应保证充足的睡眠,找一个安静的地方开始学习。参考以下建议也很有帮助:

(1) 组织朋友或同事组成兴趣小组学习;

(2) 集中安排时间逐章学习;

(3) 参与本书论坛的交流讨论(forums.bignerdranch.com);

(4) 寻求Android开发高手的帮助。

本书内容

本书带你学习开发8个Android应用。有些应用很简单,一章即可讲完;有些则相对复杂。最复杂的一个应用跨越了13章。通过这些精心编排的应用,你能学到很多重要的理论知识和开发技巧,并获得最直接的开发经验。

  • GeoQuiz

    本书的第一个应用,借此学习Android应用的基本组成、activity、界面布局以及显式intent。

  • CriminalIntent

    本书中最复杂的应用,用来记录办公室同事的种种陋习。借此应用学习fragment、主从用户界面、list-backed用户界面、菜单选项、相机调用、隐式intent等内容。

  • BeatBox

    一个可以震慑坏人的应用,借此深入学习fragment、媒体文件的播放与控制、MVVM架构、数据绑定、单元测试、主题以及drawable资源。

  • NerdLauncher

    一个个性化启动器,借此深入学习intent以及Android任务。

  • PhotoGallery

    一个从Flickr网站下载并显示照片的客户端应用,借此学习Android服务、多线程、网络内容下载等知识。

  • DragAndDraw

    一个简单的画图应用,借此学习触摸手势事件处理以及如何创建个性化视图。

  • Sunset

    一个漂亮的日落动画应用,借此学习Android动画。

  • Locatr

    一个查询当前位置的Flickr图片并显示在地图上的应用。借此应用学习如何使用定位服务和地图。

挑战练习

大部分章末都配有练习题。可借此机会学以致用,查阅官方文档,锻炼独立解决问题的能力。

强烈建议你完成这些挑战练习。在练习过程中,尝试另辟蹊径,探索自己独特的学习之路。这有助于巩固所学知识,增强未来开发应用的信心。

若遇到一时难以解决的问题,请访问论坛http://www.wking-china.com/xpjylc求助。

深入学习

部分章末还包含一块名为“深入学习”的内容。这些内容针对相应章节的知识点,提供深入讲解或更多学习信息。本部分内容不属于必须掌握的部分,但还是希望你有兴趣阅读并有所收获。

编码风格

有别于其他Android开发学习社区的编码风格,我们有自己的偏好,主要有以下两个方面。

  • 在监听器代码部分使用匿名内部类

    这纯属个人偏好。我们认为,使用匿名内部类,代码可以更简练,监听器实现方法更一目了然。尽管在高性能要求的场景下或大型应用中,匿名内部类可能会有一些问题,但大多数情况下没有问题。

  • 自第7章引入fragment后,后续所有用户界面都使用它

    我们有理由坚持这一点。相信我们,使用得当的话,fragment就是Android开发人员手中的一大利器。一旦适应,用起来也没那么难。相比activity,fragment在创建和显示用户界面时更加灵活,优势明显,值得为此付出努力。

版式说明

为方便阅读,本书会对某些特定内容采用专门的字体。变量、常量、类型、类名、接口名和方法名会以代码体显示。

所有代码与XML清单也会以代码体显示。需要输入的代码或XML总是以粗体显示。应该删除的代码或XML会打上删除线。例如,在以下实现代码里,我们删除了makeText(...)方法的调用,增加了checkAnswer(true)方法的调用。

@Override
public void onClick(View v) {
    Toast.makeText(QuizActivity.this, R.string.incorrect_toast,
                   Toast.LENGTH_SHORT).show();
    checkAnswer(true);
}

Android版本

本书教学主要针对当前广泛使用的各个系统版本(Android 4.4 至 Android 7.1)。虽然更老的系统版本仍有人在用,但对于大多数开发者来说,为这部分人开发应用就是个赔本的买卖。如果应用确实需要支持 Android 4.4 之前的系统版本,请参考本书第2版(Android 4.1及以上版本)和第1版(Android 2.3及以上版本)的相关内容。

Google还会不断地发布新版本的Android系统。请放心,Android支持向后兼容(详见第6章),即便有了新系统,本书所授知识也不会过时。而且,通过forums.bignerdranch.com论坛,我们也会不断跟踪Android开发新动向,及时为你提供开发指导和支持。

电子书

扫描如下二维码,即可购买本书电子版。

{%}

目录

  • 版权声明
  • 献词
  • 致谢
  • 如何学习Android开发
  • 开发必备工具
  • 第 1 章 Android开发初体验
  • 第 2 章 Android与MVC设计模式
  • 第 3 章 activity的生命周期
  • 第 4 章 Android应用的调试
  • 第 5 章 第二个activity
  • 第 6 章 Android SDK版本与兼容
  • 第 7 章 UI fragment与fragment管理器
  • 第 8 章 使用RecyclerView显示列表
  • 第 9 章 使用布局与组件创建用户界面
  • 第 10 章 使用fragment argument
  • 第 11 章 使用ViewPager
  • 第 12 章 对话框
  • 第 13 章 工具栏
  • 第 14 章 SQLite数据库
  • 第 15 章 隐式intent
  • 第 16 章 使用intent拍照
  • 第 17 章 双版面主从用户界面
  • 第 18 章 应用本地化
  • 第 19 章 Android辅助功能
  • 第 20 章 数据绑定与MVVM
  • 第 21 章 音频播放与单元测试
  • 第 22 章 样式与主题
  • 第 23 章 XML drawable
  • 第 24 章 深入学习intent和任务
  • 第 25 章 HTTP与后台任务
  • 第 26 章 Looper、Handler和HandlerThread
  • 第 27 章 搜索
  • 第 28 章 后台服务
  • 第 29 章 broadcast intent
  • 第 30 章 网页浏览
  • 第 31 章 定制视图与触摸事件
  • 第 32 章 属性动画
  • 第 33 章 地理位置和Play服务
  • 第 34 章 使用地图
  • 第 35 章 material design
  • 第 36 章 编后语
合作: 丰信棋牌 威尼斯真人娱乐 新葡京娱乐场