Android应用程序开发是以Java语言为基础的,所以需要有扎实的Java基础知识。首先熟悉java基本语法,然后熟悉设计模式等。
a) Java基础语法:看下面的《Java知识点列表》
b)设计模式:由于在Android系统的框架层当中,使用了大量的设计模式,如果没有这个方面的知识,对于Android的理解就会大打折扣。设计模式
的种类非常之多(设计模式大概有28种,具体请看设计模式系列 ),一个一个的全部掌握,是不现实的,必须首先掌握面向对象的基础设计原则,有
了这些基础原则的支持,理解android容易很多。
有了这些知识,然后再来学习Android开发,一定会事半功倍。
《Java知识点列表》:这些是别人总结,我只是加些说明。
开发环境:
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 的使用方法
深入理解java异常处理机制
34 自定义异常的使用方法
35 内部类的定义方法
36 匿名内部类的定义方法
37 内部类的常见使用方法
线程
38 线程的基本定义
39 在 Java 当中实现线程的两种方法(使用Thread 或Runnable)
40 线程运行状态介绍(准备,运行,阻塞,死亡)
41 线程间通信的方法
42 线程同步
43 线程死锁
这些知识是操作系统的基本内容。查看博文:作业、进程、线程
Java线程
IO
44 IO 基本概念
45 输入流和输出流的作用
46 Java当中IO 流的分类方法
47 常见 IO 类的使用方法(File,FileInput,FileOutput,Reader,Writer以及其子类的使用方法)
详解:JAVA输入输出流
常见类库
48 类 集框架中常见类的使用方法(ArrayList,LinkedList,Queue,Stack,HashSet,HashMap)
49 日期相关类的使用方法(Data,DataFormat,Calander)
50 数据库关系型数据库的基本概念
51 SQL 分类
52 DDL,DML,查询
您好,作为过来人说两句,我是大一下学期开始主攻Java的(学校的课程只有C++),都是自己课余自学得。根据我的经验,Java基础好的话,转安卓是很快的。Java Web开发,比较死板框架化。看你喜欢做哪一行?我是今年毕业的,现在在公司做安卓平板上的开发。不过很喜欢做手机平板上得应用,现在业余也在做安卓应用赚钱,以后想学习Windows Phone和Iphone开发。 但是在公司做安卓的时候,发现底层的C/C++代码还是很重要的。 如果你只是单纯想深入做安卓,C/C++还是很重要的。
今年人才市场的需求,就是安卓开发和Linux嵌入式开发(C/C++)
现在各个公司招安卓的人很多,像华为就找过我的。不过我们公司也很缺安卓的人。
但是安卓的薪资,目前来看,跟Linux嵌入式开发没法比的。
啊~如果只是想开发安卓的话 那么你Java只需要学习基础就好了,包括基本语法、容器、多线程管理等,有精力的话多学一些常用的工具api(如Apache、String工具、正则表达式等),多学的这些会在你开发项目中起到很大的帮助。
然后提示一下,既然入了行,Java只学习J2SE是不够的,以后安卓掌握够了之后在想往高去发展,Java前端可以不学但JavaWeb确实必不可少。