文章始发于我的知乎专栏:bird-hu
安卓学习步骤:
学习任何一个东西之前,都要学会思考以下几点,这样任何东西都会学的很好。
1.他是什么?
2.他是干什么的,是怎么干的?
3.他为什么这么干?
学习大体步骤:
一,java基础
二,安卓基础
三,学会做程序,以学代练。
下面详细介绍。
JAVA基础部分:以下所有写的都必须掌握。
0.学会使用开发工具:android studio
1.基础语法:数据类型、方法的基本运用、运算符、数组、循环、分支的使用。
2.常用算法:排序(冒泡排序、选择排序、快排(面试常用)),正则表达式(会用、理解即可)
3.设计模式:常用单例模式,工厂模式、监听模式等等~单例必须会。后期设计模式建议仔细看看, 可以提高水平。
4.面向对象:封装,继承,多态,类和对象的概念。
5.常用类:String(Stringbuffer stringbuild string的区别,面试常用),MATH(random等随机数和String和int和double之间的转换常用。)Data和Calender类。常用类太多,当你学到这里你应该已经学会查询API了,如果不会查询API,那就学会查询,再进行下一步的学习。
6.内部类:静态内部类,成员内部类,匿名内部类,很重要,很常用,理解为什么需要内部类和如何使用内部类。
http://7.IO流:理解IO流的概念,和各种流的转换以及区别。此时你应该学会如何将一个图片从一个文件读取到另一个文件里面。如果不会这个,那就重复学习这个。
8.集合:list和set以及map的用法,以及他们互相之间的区别必须全部掌握。学了集合之后,数组很少会去使用了。
9.异常处理:理解异常的概念,以及常用异常,和处理方法。
10.反射:理解反射和应用。
11.网络编程,学会网络链接,聚合数据(随意百度一下)有很多免费的接口可以使用,进行练手。学会json解析。
11.GUI:选学,目前已经遗弃。
************************************************************
学到这里,JAVA基础基本学完,应该也算JAVA入门了,但是这些远远不够,上面只是一些常用的,实际上还缺少很多,要有一颗不断进取,不断学习的心。
学习方式:
1.网上视频教程,记得做笔记,笔记的重要性可以加成%50!文末会提供我以前学习的视频教程。
2.或者拿一本书来啃。
3.遇到不会的,学会Google(百度)。
*****************************************************************
下面这个是我当年学习JAVA做的一个导图,如果你能不看书,整理出来下面这个,基本可以开始学安卓了。
安卓基础篇:(以下需要你写demo)
1.学会使用Androidstudio:现在市面上大部分公司已经抛弃eclipse了,一款好的IDE犹如宝剑在手,伤害力奇高!记得,学会*。
2.常用控件的使用
3.shape和select选择器的使用。
4.四大组件的使用:概念,生命周期,以及应用场景。
5.通知,小组件的使用。
6.学会自定义view,(1.重写控件2,重写view,利用onmeasure ondraw,3,继承布局,加载控件)
7.动画的使用!
8.json解析和xml解析.
9.listview的优化,和图片的处理
10.音视频的应用
11.欢迎大家继续补充。
安卓项目篇:
1.去网上寻找项目,可以找视频跟着写,也可以自己做一个一个自己想做的项目,这时候会遇到各种各样的困难,这时候要做的就是百度+坚持。
2. @stormzhang我的自学编程故事 可以看一下stormzhang 的一些博客和一些文章,打打鸡血,他最近刚买了车。香车美女,好不自在。我很多东西都是看他的博客学的。是国内较早使用as和安卓自学者,很能吃苦的一个人。
3.github的使用!怎样使用 GitHub? - GitHub 知乎的介绍。
而关于我的想法:框架的使用,如果有Google的就使用Google的原生框架,如volley。 如果谷歌没有,那么去github寻找高星的答案,因为高星或者官方意味着使用人数更多,这样你遇到困难,则更容易解决。毫不客气的说,你遇到的%99.9的困难,前人已经遇到过了。
4.在学习中会遇到各种各样的困难,需要你去一点点去解决。
*********************************************************
如果你以上都能完成的话,你已经入门了。如果再有一些项目经验,已经可以养活你自己了,如果你以上都能满足,有1年工作经验,10K基本是有了。
由于我本人目前属于这个阶段,所以关于安卓拔高,就不继续班门弄斧了。不过大致的思路我还是有的:学习java,学懂服务器那边的只是。做一个全栈工程师。
学会再多的知识是一方面,重要的是掌握解决未知问题的能力,在工作的时候,学习能力远远比已掌握的知识量要可怕的多。
如果有想进一步了解程序员日常和开发视频的。
可以加微信:itbird02 回复自学视频。