Android 是在java基础之上的一门语言Android是用来开发手机APP的学Android 需要先学java基础语法。下边是网上找的,回答比较全面些。

Android和Java的区别: 简单地说,一种是操作系统,一种是开发语言。具体来说,Android是一种基于Linux的开放源码操作系统,主要用于便携设备(智能手机,平板电脑)。
Java是一种面向对象的编程语言,它的最大的特点就是开源和免费,这因为如此,中国的大部分大型的软件系统是用Java开发的。
Android和Java的联系: Android的应用层上的应用程序是用Java编写的,以Java作为开发语言,但是,Java并不等同于Android,因为Android SDK引用了Java SDK的大部分,少数部分被Android SDK所抛弃。 所以,要想从事Android的开发,就必须有Java基础。
另外,在WINDOWS系统中可以搭建Android的Java开发环境,这样就可以实现在Windows系统中测试Android项目了。
java作为一种时髦的开发工具,拥有非常完善的体系。
当它还没有出现时,谁也不曾想过会有这样一种程序语言改变许多人的生活或工作,
也给程序界带来翻天覆地的变化。
直至今天,java程序开发一直是一个热门行业,
诞生的时间长不代表它已过时,而是说明java程序开发的技术越来越成熟。
java从诞生至今,一直未被大家抛弃,
虽然有各种新兴的程序语言出现,但是java依然得到程序员的青睐。
很多科班出身的学员如果想继续深造,或者非科班出身的毕业生想学java,
来我们这正规的学校不失为一条好的出路。
毕业后由就业老师推荐就业,无需担忧就业问题!
Android开发是java开发的一个分支,android种的类库有一部分和java类库基本一致,也就是类名一致,不过java种的swing这些类库在android种就没有了,也就是说android种只用了java种的常用的类库。
RxJava要比EventBus的应用更广泛,EventBus仅仅是作为一种消息的传递工具,但是RxJava里面几乎可以做任何事情。
如果是Android开发的话,可以使用RxAndroid,这是对RxJava的一个扩展,结合sqare公司的retrofit可以很轻松的完成网络的访问。
我们知道,在Android中异步操作一般使用AsycTask来完成,但是AsycTask有很多缺点,如不能方便的终止任务的执行等。
RxAndroid完全可以替代AsycTask来完成各种异步操作,而且还有BindActivity和BindFragment方法,你根本不需要考虑异步操作时的Activity和Fragment的生命周期问题,还有更加强大的的链式调用,可以使程序很简洁。
EventBus有个缺点就是凡是使用了EventBus的类都不能进行混淆了,否则Evnetbus就找不到OnEvent方法了。