本节书摘来自异步社区《Android Studio应用开发实战详解》一书中的第1章,第1.5节Android开发学习路线图,作者 王翠萍,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.5 Android开发学习路线图
Android系统是一个巨大的智能设备系统,从系统架构到最终的问世发布,并经过一步步的完善,整个过程无不体现了科技界巨头——谷歌公司工程师们的智慧结晶。作为一名Android开发初学者来说,刚接触时会有或多或少的迷茫。在本节的内容中,将引领读者一起探讨Android开发的学习之路。

1.5.1 Android开发的两大方向
1.应用程序开发方向
移动应用程序就是经常提到的APP程序,和1.3.5节中的内容相对应,通常使用Java语言实现。这是当前Android开发中最简单的一个方向,也是当今学习者和就业者最多的一个方向。我们现实中所见到的网易客户端APP、火车站购票APP、美团APP、极品飞车游戏等,这些都属于移动应用程序范畴。

和其他几个方向相比,移动应用程序开发方向的门槛要低,需要接触的Android知识点主要涉及1.3节中提到的应用程序框架(Application Framework)层和应用程序(Application)层。开发者一般只需具备Java面向对象编程、Java网络通信和Android API等知识即可。并且移动应用程序开发方向还是其他方向的基础,也就是说,要想学习其他方向的知识,那么必须先掌握移动应用程序开发方向的知识。

2.底层开发方向
底层开发方向的主要工作是开发1.3节中介绍的除顶层之外的程序。例如硬件抽象层的Android驱动开发和移植,中间层的库订制和产品定制,基于底层的内核重构和产品制造。对于广大读者来说,底层开发方向的门槛比较高。首先读者需要对Andoid系统的源码进行完全了解,这就需要具备Java、C语言、C++和Linux内核方面的知识。然后需要具备和硬件开发相关的知识,简单的只需要直接使用市面中的开发板即可,而复杂的需要自定义实现硬件DIV,然后再进行驱动开发。最复杂的当属硬件产品开发,当然这需要一个开发团队的众多工程师联合进行。例如对于1.2.2节中介绍的移动电视来说,APP开发人员需要为用户开发开机后显示的操作界面,通过此界面可以观看电视和玩游戏。而电视设备中各个电器元件的驱动开发需要底层程序员实现,开发对应的驱动实现元器件和APP程序的桥接。

当然,笔者上述两大方向划分只是笼统地根据Android系统的整体架构进行的,具体的开发方向是一个仁者见仁智者见智的问题。下面笔者将对Andoid的开发方向进行一个简单的总结,具体如 图1-3所示。


图1-3 Android开发的两大方向

本书将重点讲解移动应用程序开发方面的知识,极少涉及底层方面的知识。

1.5.2 Android应用开发需要具备的基础知识
作为学习门槛最低的Android应用程序开发方向来说,读者需要具备Java开发的一些知识,这也是学习本书应该必须具备的基础知识。在此建议读者按照如下两个阶段的学习来打基础。

(1)第一阶段:学习并掌握Java语言的基本语法、高级面向对象特性、设计模式以及常用类库。完成该阶段课程学习之后,可以熟练使用Java语言实现文件读写和网络操作等常见功能。本阶段主要学习Java语言、面向对象程序设计以及设计模式,主要内容有。

Java基本数据类型与表达式,分支循环。
String和StringBuffer的使用、正则表达式。
面向对象的抽象、封装、继承、多态、类与对象、对象初始化和回收;构造函数、this关键字、方法和方法的参数传递过程、static关键字、内部类,Java的垃极回收机制,Javadoc介绍。
对象实例化过程、方法的覆盖、final关键字、抽象类、接口、继承的优点和缺点剖析;对象的多态性:子类和父类之间的转换、抽象类和接口在多态中的应用、多态带来的好处。
Java异常处理,异常的机制原理。
常用的设计模式:Singleton、Template、Strategy模式。
JavaAPI介绍:基本数据类型包装类、System和Runtime类、Date和DateFomat类等。
Java集合介绍:Collection、Set、List、ArrayList、Vector、LinkedList、Hashset、TreeSet、Map、HashMap、TreeMap、Iterator、Enumeration等常用集合类API。
Java I/O输入输出流:File和FileRandomAccess类、字节流InputStream和OutputStream、字符流Reader和Writer,以及相应实现类、IO性能分析、字节和字符的转化流、包装流的概念,以及常用包装类和计算机编码。
Java高级特性:反射、代理和泛型。
多线程原理:如何在程序中创建多线程(Thread、Runnable)、线程安全问题、线程的同步和线程之间的通信、死锁。
Socket网络编程。
(2)第二阶段:学习并掌握数据库操作方法,Web应用开发技术以及常见数据格式解析。主要学习内容有。

Java解析XML文件DOM4J。
SQL数据查询语言,SQLite轻量化数据库。
JSP和Servlet应用。
HTTP解析。
Tomcat服务器的应用配置。
WebService服务配置应用。

《Android Studio应用开发实战详解》——第1章,第1.5节Android开发学习路线图相关推荐

  1. 《Android 平板电脑开发实战详解和典型案例》——1.1节平板电脑基础知识概览...

    本节书摘来自异步社区<Android 平板电脑开发实战详解和典型案例>一书中的第1章,第1.1节平板电脑基础知识概览,作者 吴亚峰 , 杜化美 , 索依娜,更多章节内容可以访问云栖社区&q ...

  2. libraries 和android runtime之间的关系,《Android Studio应用开发实战详解》——第1章,第1.3节Android系统架构...

    本节书摘来自异步社区<Android Studio应用开发实战详解>一书中的第1章,第1.3节Android系统架构,作者 王翠萍,更多章节内容可以访问云栖社区"异步社区&quo ...

  3. 《Android Studio应用开发实战详解》——第1章,第1.2节Android系统基础

    本节书摘来自异步社区<Android Studio应用开发实战详解>一书中的第1章,第1.2节Android系统基础,作者 王翠萍,更多章节内容可以访问云栖社区"异步社区&quo ...

  4. 《Android Studio应用开发实战详解》——第1章,第1.4节Android和Linux的关系

    本节书摘来自异步社区<Android Studio应用开发实战详解>一书中的第1章,第1.4节Android和Linux的关系,作者 王翠萍,更多章节内容可以访问云栖社区"异步社 ...

  5. 《Android Studio应用开发实战详解》版权信息

    版权信息 书名:Android Studio应用开发实战详解 ISBN:978-7-115-43673-3 本书由人民邮电出版社发行数字版.版权所有,侵权必究. 您购买的人民邮电出版社电子书仅供您个人 ...

  6. 《Android Studio应用开发实战详解》——第1章,第1.1节移动智能设备系统发展现状...

    本节书摘来自异步社区<Android Studio应用开发实战详解>一书中的第1章,第1.1节移动智能设备系统发展现状,作者 王翠萍,更多章节内容可以访问云栖社区"异步社区&qu ...

  7. 《Android Studio应用开发实战详解》——导读

    本节书摘来自异步社区<Android Studio应用开发实战详解>一书中的目录,作者 王翠萍,更多章节内容可以访问云栖社区"异步社区"公众号查看 目 录 第1章 An ...

  8. 《Java和Android开发实战详解》——2.2节构建Java应用程序

    本节书摘来自异步社区<Java和Android开发实战详解>一书中的第2章,第2.2节构建Java应用程序,作者 陈会安,更多章节内容可以访问云栖社区"异步社区"公众号 ...

  9. 《Java和Android开发实战详解》——2.5节良好的Java程序代码编写风格

    本节书摘来自异步社区<Java和Android开发实战详解>一书中的第2章,第2.5节良好的Java程序代码编写风格,作者 陈会安,更多章节内容可以访问云栖社区"异步社区&quo ...

最新文章

  1. iOS 上常用的两个功能:点击屏幕和return退出隐藏键盘和解决虚拟键盘
  2. 对话吴恩达:为什么说制造业会是首个聚焦AI转型的行业?
  3. XML学习总结(2)——XML简单介绍
  4. UWP 文件读写API
  5. 新手入门深度学习 | 2-1:图像数据建模流程示例
  6. Linux最大线程数限制及当前线程数查询
  7. Codeforces Round #268 (Div. 1) C. Hack it! 数位dp + 构造数位
  8. 0基础讲解机器学习算法-朴素贝叶斯分类器
  9. 前端怎么画三角形_WEB前端-CSS三角形绘制方法
  10. 【Kafka】Kafka如何开启SSL 控制台消费与生产 代码消费与生产
  11. 在framework和hal添加log
  12. python中数据存入execle、读取excel数据
  13. 绿色版Mysql数据库快速搭建
  14. SpringBoot的优点及缺点
  15. 对《骨骼运动变换的数学计算过程详解》一文的理解
  16. 移动apn接入点哪个快_电信和联通以及移动物联卡哪个较好
  17. 网页显示不全的原因css,css 页面显示不全怎么办
  18. 51单片机流水灯现象1
  19. win10双 cd linux,win10系统将CdLinux装入硬盘的还原方案
  20. 思科路由器和交换机的配置命令全集

热门文章

  1. GeoTools深入解析:GeoTools概述
  2. 财路网每日原创推送:区块链3.0时代:资产上链将助攻实体经济未来?
  3. Zifeng Wu的38层网络:Wider or Deeper: Revisiting the ResNet Model for Visual Recognition
  4. 笔记本电脑死机重启故障
  5. 7个好用的运维监控工具,你在用哪个?
  6. ERP的核心管理思想
  7. 碎片化阅读对我的影响
  8. 【SMS】SMS协议介绍之SMS-GMSC
  9. SMT集成电路板MES系统解决方案
  10. 互联网程序员各个职位技能图