大一新生该怎样学习安卓开发
泻药。
才大一,时间还是大把大把的。当年我要是有这个劲头就好了……不过话说回来,坚持最重要。
作为一个初级开发给你点建议吧,但愿你的学习之路走的顺畅。
推荐入门书 《Android 编程权威指南》,把里面的例子都写出来运行一遍,大概就算入门了。
------------------------------以下干(shuǐ)货(huò)不少--------------------------------
我一直觉得 Android 开发就是会 Android API 的 Java 工程师,基础很重要。大学期间把专业课好好学学,这个学习不是说看了书,考试不挂科,而是尽可能的去理解书里的思想。开发技能分几个方面:编程基础,Android 相关技能,网络基础,以及其他一些相关知识,比如数据库,服务端,前端等等。
1/ 编程基础
一是数据结构,设计模式,MVC/MVP 分层等,这些属于基础类的,需要不断的积累,很多东西读了但是并不能理解,需要在实践中慢慢体会。日常开发中常用的数据结构 Map,Set ,List 等等,一边看一边对照源码,能收获不少。
二是 Java 语言本身,对语言特性的了解,JVM 虚拟机实现,性能优化措施,多线程编程等等,推荐《Java 编程思想》,通读或者当成工具书都可以。反正 Java 也是开源的,装个 Open JDK,有疑问翻源码。Kotlin 我也不会……自己写项目可以尝试,没准儿将来大家都会用。
三是计算机组成原理,这个应该是专业课,好好学习一下。好像还有编译原理,抱歉我作为非科班生我这个确实不懂。
2/ Android 技能
Android 技能相对比较杂,这部分我觉得可以先从实践入手,做一个小项目,哪里不会的去官网查文档。一定要养成看文档和看源码的习惯,遇到问题不能仅仅百度解决就好了,记得还有谷歌,还有 GitHub,还有 StackOverFlow。要知道为什么,这个很重要。不知道做什么项目就仿写一个什么软件吧,功能不说,起码能把布局研究一下。
Android 很多的机制需要好好去理解。比如 Handler 机制,View 的绘制机制,事件的传递机制,很多bug 其实就是不了解这些机制,理解了之后就容易解决了。
还有就是开发工具,现在都已经是 Android Studio 3.0 时代了,研究一下工具怎么用,很强大。包括 Gradle ,Maven 等等。
再深一些的时候就要研究第三方类库的实现了。这个可以在你基础开发没有问题的去作,配合设计模式以及数据结构,去分析别人的实现,代码为什么这么组织,为什么这么设计,相信这个阶段你已经是一个合格的开发者了。BTW,Android 其实就是个很好的开源项目啊,有很多实现都很值得学习。
3/ 网络基础
推荐《计算机网络 第5版》,《TCP/IP 详解 卷一》。不解释。看了这两本书估计会让你有好好学习高数,现代和概率统计的欲望。学不好看起来太费劲了。
有精力可以去翻 RFC 文档,就当锻炼英文了。
4/ 其他
其他的东西就看你自己平时的积累了。数据库相关的知识需要了解,但是开发中用数据库其实不太多。服务端的东西多少要知道点,将来没准要和服务端打交道。还有前端 JS 框架,有能力就了解点。
还有一些就是偷懒的技巧。比如写个 Shell 脚本干重复的工作,琢磨琢磨 Python 怎么玩,这个都随意,不研究也没啥,反正就是忙活点。
特别重要的一点,尽早养成良好的开发习惯。比如命名习惯,类/方法/变量命名一定要规范且有意义;使用 Git 来管理你的代码,将来你是要和其他人一块协同工作的;合理的组织文件目录等等等等。所有这些大家觉得不重要的小事在工作中特别重要,特别特别特别重要。我已经受够了种种不规范给协同工作带来的麻烦。
以上。
■网友
Java基础和安卓基础熟悉了后可以做个类似课程管理的app,通过模拟登陆教务系统,爬取课程,成绩等信息,还可以知道上同一门课的其他同学的信息,建一个聊天室,或者加一个抢课功能。看你自己的想法了,做好了没准同学都在用你的软件呢!也不要去管市面上有很多这样的软件,做起来没意义。毕竟你的目的是学习,按照已有的软件做也可以的。这里后台技术涉及还是挺多的,比如数据库操作,本地存储,模拟登陆,HTTP请求协议,爬虫,Session会话,有验证码的话还能涉及图形识别。总之就是尽可能做一个完整的项目出来,很多功能都是看上去简单,做起来就会遇到各种问题,自己耐心的去解决,做完之后,受益匪浅啊。以上
推荐阅读
- 聪明人养花,这3种“花”怎样也要养一盆,每年能省不少医药费
- 吉林女农民画家的笔下“新生”
- 互联网怎样解决“家政服务上门速度慢”的问题
- 怎样看待从1月8号起,QQ钱包开始提现收费
- 银行it人怎样转型
- 汽车|冬天怎样让车内温度快速升高?座椅加热的最佳使用方式二,外循环的作用总结
- 怎样进入通信行业
- 怎样评价扶他柠檬茶的小说《云养汉》的结尾
- 怎样成为一名合格的Python程序员?
- 怎样评价华为、诺基亚、中兴中标中国移动高端路由交换设备扩容集采
