【云驻共创】学Android前你都要知道的:知识体系、书必看籍及职业发展

举报
G-washington 发表于 2021/03/30 09:31:34 2021/03/30
【摘要】 本次是面向零基础入门者,整体上讲解下Android工程师所需要掌握的知识,以及它的就业前景。

本次是面向零基础入门者,整体上讲解下Android工程师所需要掌握的知识,以及它的就业前景。
Android知识体系总览

Android开发有四大组件,包括activity、broadcast、contentprovider以及service。Activity需要掌握它的生命周期、启动模式、以及相关组件间的通信方式。FragmentFragment是Android3.0后引入的一个新的API,他出现的初衷是为了适应大屏幕的平板电脑,它可以将一个大的界面划分成几块,然后进行分组,进行一个模块化的管理,从而可以更加方便的在 运行过程中动态地更新Activity的用户界面。
除了相关组件外,还要掌握Android的基础布局,Android中有六大布局,分别是: LinearLayout(线性布局),RelativeLayout(相对布局),TableLayout(表格布局) FrameLayout(帧布局),AbsoluteLayout(绝对布局),GridLayout(网格布局)。我们调整屏幕的适配一般是将RelativeLayout + LinearLayout的weight属性搭配使用。
Android的基本控件包括textview(文本框)、edittext(编辑框)、button(按钮)与imagebutton(图像按钮)、imageview(图像视图)、RadioButton(单选按钮)与Checkbox(复选框)、ToggleButton(开关按钮)与Switch(开关)等等。
Android的系统框架是安卓系统的体系结构,android的系统架构和其操作系统一样,采用了分层的架构是应用层(applications)、应用框架层(application framework)、类库层以及系统内核层(linux kernel)。除了上面提到的以外,还要了解数据持久化、图片、音视频等等。还有轮子,轮子其中包括相关的网络请求、异步通信、图片加载以及依赖注入。当我们搭架完一个应用以后,还要进行相关的优化,从屏幕适配、绘制优化、卡顿优化、内存优化、存储优化和稳定性等多个方面进行优化。
除了Android相关知识以外还要对相关的编程语言有所了解,主流的有JAVA和kotlin。其中java语言包括八大基本数据类型以及相关的引用类型,还有JDK开发环境的使用,和数组相关知识。
Kotlin 是一个基于 JVM 的新的编程语言,由 JetBrains 开发。JetBrains,作为目前广受欢迎的 Java IDE IntelliJ 的提供商,在 Apache 许可下已经开源其Kotlin 编程语言。Kotlin开发之初就是希望能够替代java,但是因为Java的庞大市场,因此替代是很难的。
除了编程语言以外,还要对计算机基础课程有一定的了解,比如数据结构和计算机网络。
数据结构是计算机存储、组织数据的方式,是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。它能够帮助你编写出高效的算法,可以在性能上有很高的提升。计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统,它能够帮助你进行端与端之间的通信等等。我们还要了解相关跨平台知识,手机系统主要是Android和IOS,很多应用基本都是支持两个系统的。

职业方向

从事Android开发人员,主要岗位是Android开发工程师,Android工程师是指从事Android移动应用操作系统、游戏和各种Android平台功能的应用、开发和测试的技术人员。
随着Android平台的扩张,引发了Android人才荒,2011年移动开发人才需求几十万,未来人才需求缺口将达百万。加上5G的推出对整个行业的巨大推动作用,无疑将引爆智能手机手机开发工程师这个黄金职位。但符合条件的Android工程师屈指可数,在未来几年内,Android开发工程师将成为3G行业炙手可热的岗位之一。由此可见Android开发工程师就业前景还是挺好的。

常用工具与必备技能

Android应用开发一般是在集成环境中进行,这里IDE推荐使用Android studio,在团队协作版本控制要会使用Git/SVN,还要学会使用抓包工具Charles,会解决相关的接口问题。除此还要会使用webview,调试Chrome://inspect。
除了会使用一些常用的工具,还要掌握一些必备技能包括,Gradle、签名、打包、混淆、加固和防破解。随着用户对于个人信息的重视度越来越高,所以应用要格外的重视用户信息的保护,提高安全性,避免被不法分子所破解,泄露客户隐私。

书籍推荐

Android方面的书籍有很多,这个主要看个人喜好,找到适合自己的书籍,在这里向大家推荐基本,《Java编程思想》适合学习Java编程语言,除此还有《Effective java》,关于Android入门书籍推荐《第一行代码Android》,进阶书籍推荐《深入理解Android》。因为Android系统是基于Linux系统开发而来,所以学有余力的同学也可以看一下linux相关书籍,比如《深入理解Linux内核》。除此再推荐几本其他有关的书籍,《重构》能够帮助你搭架一个好的框架,《大话设计模式》能够帮助你有个好的设计模式。

学习站点推荐

除了学习书籍以外,再给大家推荐几个适合学习的网站,比如github,github是最大的开源网站,上面有很多相关的Android案例项目,大家可以自己去实践操作一下,也可以将自己的开源项目、学习笔记放在上面和大家一起分享讨论,相互促进,一起进步。当然除了github还有其他的一些网站,比如StackOverflow、CSDN、简书、鸿洋等等。美团技术团队也会时常发一些相关项目案例,还有Android开发技术周报以及老罗的Android之旅等等。
在文章结尾给大家在拓展一些其他的知识,手机平台基本就是Android与IOS的天下,开发手机端应用,一般尽量两个平台都支持。微信小程序开发,依赖于微信客户端,它有个缺点就是微信版本有所改动,可能就会引起接口的改变,有些功能可能就要发生改变,代码要重写。快应用的开发,基本和微信小程序一样,知识扩大了范围,可以在平台上进行,不再是单单的只是支持微信客户端。
本文整理自华为云社区内容共创活动第二期之【线上直播】1小时戏说Android进阶路。
查看活动详情:https://bbs.huaweicloud.com/forum/thread-111494-1-1.html

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。