我是一个C,C++开发人员。我对移动开发很感兴趣。我想知道如何使用C和C++开发安卓应用程序,我有朗读,他们正在为C,C++开发人员提供一个工具包,但它并不具备Java的所有功能。我应该选择C/C++开发工具包,还是学习java更好,因为它们可能不会在将来提供所有功能?
发布于 2011-12-30 16:49:18
简短的版本:每个Android /NDK版本都可以和C++一起使用,但是它比使用Java还要困难。
长篇版本:
对于每个版本,Google为添加了更多的功能,使其越来越独立于Java代码。
有关更多详细信息,请阅读http://developer.android.com/sdk/ndk/overview.html:
编写一个本机活动,它允许您在本机代码中实现生命周期回调。Android提供了NativeActivity类,它是一个方便类,可以将任何活动生命周期回调(onCreate()、onPause()、onResume()等)通知您的本机代码。您可以在本机代码中实现回调,以便在发生这些事件时处理它们。使用本机活动的应用程序必须在Android2.3 (API级别9)或更高版本上运行。您不能以本地方式访问诸如服务和内容提供程序等特性,因此如果您想使用它们或任何其他框架API,您仍然可以编写JNI代码来这样做。
问题是,如果您使用最新的NDK,您将无法部署和许多非最新的Android版本。
无论如何,即使使用以前的NDK版本,您也可以使用最少的Java代码(用于与操作系统交互)和C++或任何本机的完整应用程序代码。
还努力帮助本地开发人员在C或C++中充分工作,通过像这样的IDE插件Vs-Android,这是一个用于VisualStudio201X的插件,向您隐藏了所有编译和生成过程:http://code.google.com/p/vs-android/。
另外,如果您计划将您的应用程序移植到其他操作系统,那么使用C++作为应用程序的核心(也许上面有一种脚本语言)是个好主意。它只是在开发时间上比其他选择更昂贵--这是C++特有的原因,而且它是可用的开发工具,例如,太多的编译时间可能会扼杀您的有效生产力。
尽管如此,这并不是移动应用程序最简单的工作方式。
发布于 2011-12-30 16:21:54
我会建议你去C++,如果你有一个坚定的计划进入游戏发展。但是,如果不是,您最好选择Java。以下是android官方网站上给你的一个很好的入门:
Android的游戏开发:一个快速入门
注意:请阅读教程的第二步(第二步:选择一种语言)。
如果你根本不懂Java,并且长期喜欢在Android上开发应用程序,那么学习Java是非常重要的。官方网站上有很棒的教程。有一本很好的书,你可以拿来专门为Android开发学习:这里是:学习用于Android开发的Java
发布于 2011-12-30 17:19:57
我应该选择C/C++开发工具包,还是学习java更好,因为它们可能不会在将来提供所有功能?
答案是两者都是。
https://softwareengineering.stackexchange.com/questions/127735
复制相似问题