本文章转自http://www.marschen.com/forum.php?mod=viewthread&tid=163&page=1#pid=1566

========================

Android学习路线

很多朋友都对学习路线问题感到迷茫,特别是还在上学的朋友们。在这里就详细的为大家介绍一下。

1.Java基础
很多朋友一上手就开始学习Android,似乎太着急了一些。Android应用程序开发是以Java语言为基础的,所以没有扎实的Java基础知识,只是机械的照抄别人的代码,是没有任何意义的。那么Java学到什么程度才算是过关呢?我个人认为至少要掌握以下两个方面的内容:

a) Java基础语法:
具体的知识点列表可以在这里下载:《Java知识点列表》V1.0。这部分内容没有讨价还价的余地,必须烂熟于胸。至于具体的学习方法,可以看书或者是看视频,但是关键是要多加练习,无论是书上的练习还是视频里面的练习,都需要仔仔细细的完成;
b)设计模式:由于在Android系统的框架层当中,使用了大量的设计模式,如果没有这个方面的知识,对于Android的理解就会大打折扣。设计模式的种类非常之多,一个一个的全部掌握,是不现实的,必须首先掌握面向对象的基础设计原则,有了这些基础原则的支持,就可以举一反三。这部分内容可以在《Effective Java》和《Agile.Software.Development:Principles,Patterns.and.Practices》这两本书中找到。

2.Linux基础知识:
大家都知道,Android系统的基础是Linux操作系统。在开发过程当中,我们也需要使用到一些Linux命令。所以说一些Linux的基础知识是必须的(话说现在的程序员,不懂Linux都不好意思跟人家打招呼),推荐大家看看《鸟哥的私房菜》这本书,写的相当不错;

3.数据库基础知识
这个比较简单,就是一个增删改查的数据库操作,可以看一下这本书:《SQL编程练习与解答》

4.网络协议
至少需要学习两种基础的协议,HTTP协议与Socket协议;

5.Android基础知识
有了以上的铺垫,再来看Android,是不是觉得轻松了很多呢?至于基础知识的学习顺序,最好的方法就是按照Android SDK帮助文档当中的Dev Guide里面的顺序,我的《Android视频教程》也基本上是按照这个顺序录制的;

6.服务器端开发知识:
由于很多Android应用程序都需要服务器端的支持,所以掌握一些服务器端开发知识还是非常有必要的。至于选择哪一种服务器端知识进行学习,就比较麻烦了,因为技术的种类实在是太多了:

a)Java EE:
就是上面邮件当中所提到的SSH—Struts+Spring+Hibernate。这种技术的优点的功能完整、强大,已经使用了很多年,而且既然大家已经非常熟悉Java了,那么学习SSH看起来也顺理成章。但是使用这种技术开发服务器端程序,非常麻烦。即使是一些简单的功能,也可能需要大量的代码和配置文件来实现;

b)PHP:
简单易学,开发快速。但是我们需要多学一种语言,是否得不偿失,就要大家自己判断了;

c).NET:
这项技术的特点和Java EE差不多,但是要想掌握.NET,则需要掌握c#,也是个麻烦的事情;

d)ruby on rails:
这是我个人最喜欢的服务器端技术,简洁,优雅,寥寥几行代码,就可以实现很复杂的功能,但是这需要Ruby语言知识作为基础;
至于选择哪一种技术,就看大家自己的判断了。

要成为一个专业的Android开发者,以上的这些知识都必不可少。看起来好像很多,多的可怕。所以还是那句话--“耐心,耐心很重要”。

================

《Java知识点列表》V1.0

1 开发环境Java SDK 下载和安装
2 环境变量的配置(path和classpath)
3 编程基础 标识符命名规范
4 Java数据类型
5 运算符
6 分支语句(if,switch)
7 循环语句(for,while)
8 函数的定义方法
9 面向对象基础 面向对象与面向过程语言之间的区别
10 面向对象基本思想(封装)
11 类的定义方法
12 对象和类的关系
13 对象的创建方法
14 通过对象使用成员变量和成员函数的方法
15 构造函数的作用
16 函数的重载
17 static 的作用
18 this的作用
19 面向对象高级面向对象基本思想(继承)
20 继承的作用
21 继承的语法特点
22 super的使用方法
23 面向对象基本思想(多态)
24 对象的向上转型和向下转型
25 final关键字的作用
26 抽象类和接口的定义方法
27 接口和抽象类的语法特征
28 抽象类和接口在面向对象编程当中的地位和意义
29 设计模式(工厂方法模式)
30 Java当中异常的定义
31 异常的分类以及各自的特点
32 try…catch…finally 结构的处理方法
33 throw和throws 的使用方法
34 自定义异常的使用方法
35 内部类的定义方法
36 匿名内部类的定义方法
37 内部类的常见使用方法
38 线程 线程的基本定义
39 在 Java 当中实现线程的两种方法(使用Thread 或Runnable)
40 线程运行状态介绍(准备,运行,阻塞,死亡)
41 线程间通信的方法
42 线程同步
43 线程死锁
44 IO IO 基本概念
45 输入流和输出流的作用
46 Java当中IO 流的分类方法
47 常 见 IO 类的使用方法(File,FileInput,FileOutput,Reader,Writer以及其子类的使用方法)
48 类库 类 集框架中常见类的使用方法(ArrayList,LinkedList,Queue,Stack,HashSet,HashMap)
49 日期相关类的使用方法(Data,DataFormat,Calander)
50 数据库关系型数据库的基本概念
51 SQL 分类
52 DDL,DML,查询

更多相关文章

  1. Android(安卓)自定义view(二) 如何实现自定义组件
  2. Android的onCreateOptionsMenu()创建菜单Menu详解
  3. Unity3D游戏引擎实现在Android中打开WebView的实例
  4. Android中的okHttp
  5. Android知识储备
  6. 浅谈Java中Collections.sort对List排序的两种方法
  7. 箭头函数的基础使用
  8. NPM 和webpack 的基础使用
  9. Python list sort方法的具体使用

随机推荐

  1. android仿QQ的UI界面
  2. 【Android Studio】Manifest Merger
  3. android各个版本的区别——API变更
  4. Android中颜色透明度对应16进制值
  5. android jni 多线程编程 join thread
  6. Android中解析xml的几种方式
  7. Android NDK, Revision 8b 发布
  8. Android Studio 3.0 gradle提示太老 解决
  9. android 数据库
  10. Android开发视频教程