Android开发和JAVA开发有什么区别?
Android开发是java开发的一个分支,android种的类库有一部分和java类库基本一致,也就是类名一致,不过java种的swing这些类库在android种就没有了,也就是说android种只用了java种的常用的类库。
安卓开发和java开发哪个更吃香?
从整体来讲,Java和Android的区别在于Android程序是基于组件和配置的,而且Android开发以Java语言为开发工具,表面上看他们有点同宗不同门,但实际上区别十分大,Android是一个主流智能手机操作系统,Java是一种开发语言,两者没有好坏之分,而且两者也是不同的岗位,从工作岗位来看,安卓从事的是移动互联方向,Java则是从事开发方向。
计算机本科生,已经学完Java,想自学一下android开发,两者差别多大?
正好是一路按照这个路线走下来的老工程师。
在2009年之前一直是JAVA开发,然后就在手机公司转向了Android开发。
先说说相同点:
上层的开发基本上转安卓后没啥障碍,JAVA的各种面向对象编程,在安卓上是一样的。
如果原来有用过一些应用框架Spring,Hibernate,mysql之类的,
转到安卓平台就是相当于用新的应用框架来开发。
安卓基本也是MVP开发框架,模型层、展示层、处理层。
安卓的UI交互界面,各类控件,开发起来也比较好理解。也要编写大量的事件处理逻辑。
安卓应用开发
像这个手机应用主界面,称为Launcher,这是开机就加载的主界面。
上面有Widget也就是小插件。
安卓UI开发中要处理大量的消息,有系统发来的各种通知消息,这些消息的处理,会非常关键。
安卓应用的生命周期的函数处理也是非常关键,直接决定了垃圾回收是否及时。
垃圾回收,是要重点处理的问题之一。
费精力的地方之一是,需要看安卓的应用开发框架了解各个API跟类。
应用之下是FrameWork层
一定要了解Android系统,实际就是Linux系统+JAVA虚拟机(安卓彻底改造过的)。
所以底层系统跟上层虚拟机直接,还有个FrameWork层。
对于应用开发工程师来说,也要了解Framework层。
比如通讯录机制、Camera、音乐这些基础功能都会跟下面有点关系。
上层通过JNI接口,来调用下层的功能。
工作会比较辛苦,但是挺有意思的
如果开始了安卓开发,那是打开了另一个世界。需要持之以恒的努力。
学无止境。
一个非常好的问题。Java是一门完整的开发语言,使用场景非常广泛,Web开发、PC程序开发、嵌入式开发,等等。
一,UI界面开发不同
1)Java Swing
现在Java开发基本上都是Web服务,提供REST接口给前端页面调用。其实Java有一个很好用的UI界面开发库。Swing是GUI(图形用户界面)开发工具包,包括容器JFrame、组件JBox, JPanel和布局BorderLayout等。
2)Android Activity
Android界面通过Activity实现,是用户操作入口,接收指令。Activity之间通过Intent进行通信,调用服务实现处理逻辑。
二,业务逻辑开发相同
实现业务逻辑的代码,从开发语言来讲两者没有大的区别,面向对象编程、数据封装、类和实例,只是针对不同的业务场景做不同的事情。比如Java开发Web服务时常使用MySQL数据库、Redis缓存、Quartz定时任务,Android开发时则使用SQLite、本地文件缓存等方式。
三,其它模块
Android四大组件有Activity,Service,Content Provider,Broadcast Receiver。以Android Service后台服务为例,可以理解成多了一层Android系统上的封装,实现部分还是类似甚至一样的,多线程、定时任务调度、数据共享,等等。
我是工作多年的Web应用架构师,欢迎关注我,了解更多IT专业知识。
作为一名IT从业者,我来回答一下这个问题。
首先,Android开发是Java语言的一个重要应用场景,当前有不少本科生也把Android作为自己的主攻方向,从大的发展趋势来看,未来Android开发领域的人才需求量依然比较大。
Andriod开发虽然是针对于移动端的开发,但是整体的开发技术则涉及到两大部分,其一是Android端开发,其二是后端开发,也就是服务端开发,这两部分都可以采用Java语言,所以在掌握了Java语言之后,后续的学习选择空间还是比较大的。
不论是Java后端开发,还是Android端开发,Java的基本语法是统一的,只是要面对不同的技术框架和API,所以难度并不算高,通过大量的实验都是能够逐渐掌握的。从技术体系结构来看,二者的差别主要集中在以下三个方面:
第一:开发模式不同。Android开发的内容并不多,说到底也就是一个前端开发,重点在于图形界面的构建和各种事件的处理,所以学习Android开发的难度并不算高,但是由于Android的组件比较多,所以要想能够熟练应用需要完成大量的实验。
第二:开发场景不同。Android开发场景与后端开发场景存在比较明显的区别,后端开发重在资源的整合、调度和利用,涉及到各种系统级别问题,比如并发等,但是Android开发更注重的是用户的使用体验,而且在开发工具方面也存在较多的差异。
第三:运行场景不同。Android程序是运行在智能终端的本地系统上,而后端开发则多部署在云端,相对于后端系统来说,Android系统的更新则需要一个过程,并不能马上进行修改,所以Android系统的测试压力也比较大。
我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。
如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以私信我!
还没有评论,来说两句吧...