计算机本科生,已经学完Java,想自学一下android开发,两者差别多大,求详解?

cyyaizyh


Android开发是java开发的一个分支,android种的类库有一部分和java类库基本一致,也就是类e799bee5baa6e79fa5e9819331333365633964名一致,不过java种的swing这些类库在android种就没有了,也就是说android种只用了java种的常用的类库。

具体介绍:

1、Android 是在java基础之上的一门语言,Android是用来开发手机APP的,学Android 需要先学java基础语法。

2、简单地说,一种是操作系统,一种是开发语言。具体来说,Android是一种基于Linux的开放源码操作系统,主要用于便携设备(智能手机,平板电脑)。Java是一种面向对象的编程语言,它的最大的特点就是开源和免费,这因为如此,中国的大部分大型的软件系统是用Java开发的。

3、Android的应用层上的应用程序是用Java编写的,以Java作为开发语言,但是,Java并不等同于Android,因为Android SDK引用了Java SDK的大部分,少数部分被Android SDK所抛弃。所以,要想从事Android的开发,就必须有Java基础。另外,在Windows系统中可以搭建Android的Java开发环境,这样就可以实现在Windows系统中测试Android项目了。

4、Android开发与JAVA两者是相辅相成的。JAVA给Android提供了开发的语言环境,Android的开发通过JAVA语言去实现。


李天允


正好是一路按照这个路线走下来的老工程师。

在2009年之前一直是JAVA开发,然后就在手机公司转向了Android开发。

先说说相同点:

上层的开发基本上转安卓后没啥障碍,JAVA的各种面向对象编程,在安卓上是一样的。

如果原来有用过一些应用框架Spring,Hibernate,mysql之类的,

转到安卓平台就是相当于用新的应用框架来开发。

安卓基本也是MVP开发框架,模型层、展示层、处理层。

安卓的UI交互界面,各类控件,开发起来也比较好理解。也要编写大量的事件处理逻辑。

安卓应用开发

像这个手机应用主界面,称为Launcher,这是开机就加载的主界面。

上面有Widget也就是小插件。

安卓UI开发中要处理大量的消息,有系统发来的各种通知消息,这些消息的处理,会非常关键。

安卓应用的生命周期的函数处理也是非常关键,直接决定了垃圾回收是否及时。

垃圾回收,是要重点处理的问题之一。

费精力的地方之一是,需要看安卓的应用开发框架了解各个API跟类。

应用之下是FrameWork层

一定要了解Android系统,实际就是Linux系统+JAVA虚拟机(安卓彻底改造过的)。

所以底层系统跟上层虚拟机直接,还有个FrameWork层。

对于应用开发工程师来说,也要了解Framework层。

比如通讯录机制、Camera、音乐这些基础功能都会跟下面有点关系。

上层通过JNI接口,来调用下层的功能。

工作会比较辛苦,但是挺有意思的

如果开始了安卓开发,那是打开了另一个世界。需要持之以恒的努力。

学无止境。


智能情感里奥


您好,很高兴回答您的问题。

作为资深Android开发工程师,也是从JAVA一路走过来,简单说一下吧。

初、中级开发

最直白的说,初中级JAVA和Android几乎没有差别,可以简单的理解为,Android开发就是使用JAVA语言调用Android SDK而已,所以说JAVA工程师基本上可以直接转Android开发,熟悉熟悉开发流程,学一下SDK就,基本上就可以上手开发一些小APP了,然后在网上学习一些开发框架,就可以应对大多数开发场景了。

中、高级开发

Android是基于在Lnux上的,应用是运行在虚拟机上,这点完全继承于JAVA,但就Android 框架来说分为,linux驱动、libs层、framework、Application四层,要应对与framework以下的开发,必须要熟悉Android 服务架构,NDK,C/C++linxu驱动等技术,这点跟JAVA是不一样的,对于新手而言,如果您熟悉C/C++可以考虑有下往上的技术路线,但如果熟悉JAVA,建议由上往下的技术路线。



分享到:


相關文章: