查看: 979|回复: 0

【卓跃教育】Java语言与Android系统开发之间的联系

[复制链接]

该用户从未签到

发表于 2013-1-9 10:50:51 | 显示全部楼层 |阅读模式
分享到:
 新出生的事物,除了惊喜外,也会给我们带来一定的迷惑、误解。下面由卓跃教育继续为您介绍Java与安卓系统的关系。  
在Google中搜索“NDK”,很多“Android终于可以使用C++开发”之类的标题,这是一种对Android平台编程方式的误解。其实,Android平台从诞生起,就已经支持C、C++开发。众所周知,Android的SDK基于Java(Java教程Java培训)实现,这意味着基于AndroidSDK进行开发的第三方应用都必须使用Java语言。但这并不等同于“第三方应用只能使用Java”。在AndroidSDK首次发布时,Google就宣称其虚拟机Dalvik支持JNI编程方式,也就是第三方应用完全可以通过JNI调用自己的C动态库,即在Android开发平台上,“Java+C”的编程方式是一直都可以实现的。  
NDK是什么  
对NDK进行了粗略的研究后,我对“NDK是什么”的理解如下:  
1、NDK是一系列工具的集合。  
NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨大的。  
NDK集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。  
NDK可以自动地将so和Java应用一起打包,极大地减轻了开发人员的打包工作。  
2、NDK提供了一份稳定、功能有限的API头文件声明。  
Google明确声明该API是稳定的,在后续所有版本中都稳定支持当前发布的API。从该版本的NDK中看出,这些API支持的功能非常有限,包含有:C标准库(libc)、标准数学库(libm)、压缩库(libz)、Log库(liblog)。  
NDK带来什么  
1、NDK的发布,使“Java+C”的开发方式终于转正,成为官方支持的开发方式。  
使用NDK,我们可以将要求高性能的应用逻辑使用C开发,从而提高应用程序的执行效率。  
使用NDK,我们可以将需要保密的应用逻辑使用C开发。  
2、NDK将是Android平台支持C开发的开端。  
NDK提供了的开发工具集合,使开发人员可以便捷地开发、发布C组件。同时,Google承诺在NDK后续版本中提高“可调式”能力,即提供远程的gdb工具,使我们可以便捷地调试C源码。在支持Android平台C开发,我们能感觉到Google花费了很大精力,我们有理由憧憬“C组件支持”只是GoogleAndroid平台上C开发的开端。  
您有任何关于Android开发的疑问,欢迎咨询在线老师  
它解决了长期令手机制造商头痛不已的问题:业界缺乏一个开源的Java虚拟机,以及统一的应用程序接口。现在,程序员只要写一次程序,就能在各种手机硬件平台之上使用。”  
这段话解释了,为什么Android的应用程序,都必须用Java语言开发。因为不这样做的话,没法让程序做到硬件无关。  
 
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条



手机版|小黑屋|与非网

GMT+8, 2025-1-11 05:03 , Processed in 0.112416 second(s), 15 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.