当前位置: 首页 > news >正文

Android开发最佳学习路线图


      为了帮助大家更好的学习Android开发的相关知识,尚观4G智能操作系统研究室(www.up4g.com)为大家制作下面学习路线图;希望能帮助到广大的android爱好者。 在開始之前我们先来对相关知识进行一个简单的了解:
 
行业背景:
       今天,涉及通信产业链中的每一个环节,都有Android的身影,Android是第一款全然完整打通了整个通信产业链中的操作系统,手机方案商、集成商、运营商、内容提供商、用户,都在玩Android,都吃惊于Android的爆发式增长速度,Android如今每天有超过50万台新的Android设备启用。
       随着Android平台的扩张,引发了Android人才荒,未来人才需求缺口将达百万。但符合条件的Androidproject师屈指可数,企业招聘难度可想而知。据新京报等媒体报道Androidproject师一年经验月薪8000元,对此李开复曾在微博谏言学生转学Android软件开发。我们相信,在未来几年内,Android开发project师将成为3G行业炙手可热的岗位之中的一个。

什么是Android: 
       Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备。眼下尚未有统一中文名称,中国大陆地区较多人使用安卓(非官方)或安致(官方)。Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由Google收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其它领域上。 2010年末数据显示,仅正式推出两年的操作系统的Android已经超越称霸十年的诺基亚Symbian系统,跃居全球最受欢迎的智能手机平台。

行业薪资: 
       必学 Android的理由:
       更快的薪酬提升通道    更好的热门就业岗位    很多其它的行业人才需求    最热门的新技术行业
据新京报等媒体报道Androidproject师一年工作经验月薪可达8000元。李开复在微博上谏言学生转学Android软件开发。尚观已毕业学员薪资最高16000元/月(税后),最低3000元/月(在读专科),平均起薪4828.84元/月。 

                                                                                                                                                  查看尚观Android学员就业详情

Android开发整体路线图:
        

基础学习——JavaSE:
       非常多朋友一上手就開始学习Android,似乎太着急了一些。Android应用程序开发是以Java语言为基础的,所以没有扎实的Java基础知识,仅仅是机械的照抄别人的代码,是没有不论什么意义的。那么Java学到什么程度才算是过关呢?下面的JAVA的基础(JavaSE)语法知识必须全面掌握。

经典学习视频教程

Java 概述标示符、keyword1标示符、keyword2运算符

流程控制1

流程控制2字符串数组面向对象编程特征1面向对象编程特征2面向对象编程特征方法
面向对象编程特征 构造方法面向对象编程特征this面向对象编程特征 staticpackage訪问控制
继承1继承2继承3接口1接口2
接口3多态1多态2异常处理1异常处理2
集合1集合2集合3集合4集合5
集合6集合7集合8文件文件和文件夹1
文件和文件夹2IO简单介绍文件流缓冲流缓冲流读写
DBEclipse多线程1多线程2多线程3
多线程4多线程5网络编程1网络编程2网络编程3
网络编程4文件读写转换流打印流随机訪问
GUI-AWTGUIAWT2GUIEVentGUI-作业GUIswing
GUIswing2    

基础学习扩展——JavaEE:
       因为非常多Android应用程序都须要server端的支持,所以掌握一些server端开发知识还是非常有必要的。Java EE:SSH—Struts+Spring+Hibernate。这样的技术的长处的功能完整、强大,已经使用了非常多年,而传统的互联网应用,大多数都是採用JAVA为其构造平台,这使得众多的内容提供商可高速的通过学习进入到Android的产品开发中来,而且可依据自己的内容特色很多其它的将精力放到交互设计以及UI表现力方面,大大缩短了移动互联网应用的开发周期。

经典学习视频教程:

JDBC-简单介绍jdbc_connectionjdbc_statementjdbc_statementjdbc_resultset
jdbc_metadatajdbc_preparedstajdbc_callablestjdbc_dao01jdbc_dao02
WEBproject结构Servlet简单介绍Servlet Fom表单处理Servlet请求头信息Servlet对应头信息
Servlet CookieServlet SessionServlet-ScopeServlet-FilterServlet-Listener
Servlet-ResourceJSP 简单介绍JSP-脚本元素JSP-指令元素JSP-动作元素
JSP-内建对象JSP-自己定义标签JSP-JSTLJSP-ELJSP-MVC
JSP_Project01JSP_Project02Struts简单介绍Struts actionStrutsActionForm
Struts标签Struts Dispatch自己主动生成StrutsStruts1自己主动验证1Struts1自己主动验证2
Struts1tags2struts tags3Struts tags4Struts project1Struts project2
Struts project3Struts project4hibernate_配置01hibernate_配置02hibernate_基础配置
hibernate_CompositeKeyhibernate_Componenthibernate_大数据类型hibernate_继承映射hibernate_继承映射实例
hibernate_关联映射hibernate_HQLhibernate_autoGenhibernate_pro2struts2_config
struts2_actionstruts2_action2struts2converter上次课作业commons-fileupload
struts2_Interceptor01struts2_Interceptor02struts2_Validationstruts2_I18Nstruts2_tags01
struts2_tags02struts2_project1Spring简单介绍Spring简单介绍2Spring-IOC
Spring-DISpring-AOPspring-AOP-APIspring-AOP-XMLspring-AOP-Transaction
spring-JDBC01Spring集成Hibernate   

经典学习书籍推荐:
       Java学习的书籍眼下有非常多,我们在这里为大家推荐几本入门书籍适合初中级学习者,供大家參考。
《Java编程规范》
适合对象:0基础,中级
介绍:作者James Gosling(Java之父),对基础解说的非常不错。
《Java编程思想》
适合对象:0基础,中级
介绍:这本书的作者就是著名的C++编程思想,对OO的理解非常好,Java作为一门面向对象的语言,你学习Java最好也同一时候參考这本书进行入门学习。

《Java核心技术:卷Ⅰ基础知识》
适合对象:0基础,中级
介绍:官方机构图书,你怎么也得有一本,这本书比較全面并且易懂。放在案旁用到的时候查一查,看一看。是学习入门必备书。


基础学习扩展——Linux基础:
       Android是一种以Linux为基础的开放源代码操作系统,在将来的学习和工作其中我们都会与linux命令打交道,补充一些Liunx基础知识还是非常有必要的。

经典学习视频教程
Linux学习建议1Linux学习建议2UNIX like系统的特点UNIX原则系统结构与终端控制台
RHEL5 Linux安装Linux下寻求帮助文件相关命令初步系统命令初步用户及组管理初步
文件属性目录属性及umaskLinux编辑器及VIM初步Linux查找及压缩文本处理及正則表達式
输入输出重定向及管道进程控制进程优先级前台后台bash变量快捷键bash运算符及启动脚本
shell脚本及交互shell脚本流程控制shell脚本sed&awkLinux安装软件linux下X图形显示体系

经典学习书籍推荐:
       《鸟哥的私房菜》非常不错非常适合刚開始学习的人。
                                                     

Android开发学习——基础理论:系统架构分析:
       Android系统从底向上一共分了4层,每一层都把底层实现封装,并暴露调用接口给上一层。
1. Linux内核(Linux Kernel)
       Android执行在linux kernel 2.6之上,可是把linux内受GNU协议约束的部分做了代替,这样在Android的程序能够用于商业目的。 Linux 内核是硬件和软件层之间的抽象层。

2. 中间件 中间件包含两部分:
       核心库和执行时(libraries & Android runtime) 核心库包含,SurfaceManager 显示系统管理库,负责把2D或3D内容显示到屏幕;Media Framework 媒体库,负责支持图像,支持多种视频和音频的录制和回放;SQlite 数据库,一个功能强大的轻量级嵌入式关系数据库;WebKit 浏览器引擎等。
Dalvik虚拟机:
       差别于Java虚拟机的是,每个Android 应用程序都在它自己的进程中执行,都有一个属于自己的Dalvik 虚拟机,这一点能够让系统在执行时能够达到优化,程序间的影响大大减少。Dalvik虚拟机并不是执行Java字节码,而是执行自己的字节码。
3. 应用程序框架(Application Framework)
       丰富而又可扩展性的视图(Views),能够用来构建应用程序, 它包含列表(lists),网格(grids), 文本框(text boxes),按钮( buttons), 可嵌入的web 浏览器。内容提供者(Content Providers)使得应用程序能够訪问还有一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据。资源管理器(Resource Manager)提供非代码资源的訪问,如本地字符串,图形,和布局文件( layoutfiles )。通知管理器(Notification Manager) 使得应用程序能够在状态栏中显示自己定义的提示信息。活动管理器( Activity Manager) 用来管理应用程序生命周期并提供经常使用的导航回退功能。

2. 中间件 中间件包含两部分:
       Android 系统会内置一些应用程序包包含email client,SMS 短消息程序,日历,地图,浏览器,联系人管理程序等。眼下基本全部的应用程序都是使用JAVA 语言编写的。

经典学习视频教程
Android发展现状及前景Android 简单介绍Android-HelloWorldAndroid 应用程序基本原理Android 布局简单介绍
Android 选项菜单Android 通过XML配置文件创建菜单Android 上下文菜单Android 子菜单Android 对话框
Android 其他常见对话框Android 用户界面ToastAndroid 用户界面-布局-线性布局Android 用户界面-相对布局Android 用户界面-表格布局
Android 用户界面-表格布局2Android 事件处理Android 用户界面-经常使用组件Android 用户界面-自己主动完毕文本Android 用户界面-列表视图
Android用户界面列表视图2Android时间选择对话框Android 用户界面-进度条Android 用户界面-表格视图Android 用户界面-选项卡
Android 播放器Android无线点餐系统博客登陆client1博客登陆client2俄罗斯方块1
俄罗斯方块2    


经典学习书籍推荐:
       《Android应用开发具体解释》书内容具体,案例丰富比較适合大家学习用。
                                                     
---------------------------------------------------------------------------------------------------------
很多其它精彩内容:
    1、Android在线学习视频
    2、尚观Android学员最高月薪破16000(税后)!
    3、Android开发架构师 V3.2版课程(底层、框架、应用全涵盖)

 

转载于:https://www.cnblogs.com/blfshiye/p/4060262.html

相关文章:

  • 相对友好的 AVL Tree 教程
  • oracle中sql优化读书笔记1-优化器
  • SpringBoot之devtools热部署
  • Web自动化测试框架Watir(基于Ruby) - 第2章 使用Watir写自动化测试脚本
  • JSP 动作元素
  • Git很好的教程
  • 效果逆天的通用语言模型GPT 2.0来了,它告诉了我们什么?
  • [转]页面换肤功能浅析
  • 域名在QQ微信被拦截怎么办 怎么样才能让被微信屏蔽的网址正常访问使用
  • Cocos2dX Android 编译出错
  • 关于Mobius反演
  • 常用的正则表达式
  • 四边形不等式优化-石子合并
  • 机器学习笔记(一)线性回归
  • 【OCP-12c】CUUG 071题库考试原题及答案解析(18)
  • [NodeJS] 关于Buffer
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • C++类的相互关联
  • Javascript Math对象和Date对象常用方法详解
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • vue2.0项目引入element-ui
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • - 概述 - 《设计模式(极简c++版)》
  • 给github项目添加CI badge
  • 微信小程序:实现悬浮返回和分享按钮
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • 进程与线程(三)——进程/线程间通信
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • #考研#计算机文化知识1(局域网及网络互联)
  • (4)(4.6) Triducer
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (循环依赖问题)学习spring的第九天
  • (一)python发送HTTP 请求的两种方式(get和post )
  • .bat批处理出现中文乱码的情况
  • .NET 设计模式—适配器模式(Adapter Pattern)
  • .NET/MSBuild 中的发布路径在哪里呢?如何在扩展编译的时候修改发布路径中的文件呢?
  • .net连接oracle数据库
  • .NET企业级应用架构设计系列之开场白
  • .NET使用存储过程实现对数据库的增删改查
  • .vollhavhelp-V-XXXXXXXX勒索病毒的最新威胁:如何恢复您的数据?
  • @Transactional 竟也能解决分布式事务?
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(朱雀组)
  • [100天算法】-二叉树剪枝(day 48)
  • [BROADCASTING]tensor的扩散机制
  • [C#] 我的log4net使用手册
  • [C++进阶篇]STL中vector的使用
  • [FT]chatglm2微调
  • [IE编程] IE中使网页元素进入编辑模式
  • [js]- 两个对象的合并(Object.assign)
  • [LeetCode][LCR190]加密运算——全加器的实现
  • [LeetCode]Spiral Matrix
  • [MSSQL]GROUPING SETS,ROLLUP,CUBE初体验