首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用C和C++开发安卓系统

用C和C++开发安卓系统
EN

Software Engineering用户
提问于 2011-12-30 16:06:09
回答 3查看 186.4K关注 0票数 49

我是一个C,C++开发人员。我对移动开发很感兴趣。我想知道如何使用C和C++开发安卓应用程序,我有朗读,他们正在为C,C++开发人员提供一个工具包,但它并不具备Java的所有功能。我应该选择C/C++开发工具包,还是学习java更好,因为它们可能不会在将来提供所有功能?

EN

回答 3

Software Engineering用户

回答已采纳

发布于 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++特有的原因,而且它是可用的开发工具,例如,太多的编译时间可能会扼杀您的有效生产力。

尽管如此,这并不是移动应用程序最简单的工作方式。

票数 33
EN

Software Engineering用户

发布于 2011-12-30 16:21:54

我会建议你去C++,如果你有一个坚定的计划进入游戏发展。但是,如果不是,您最好选择Java。以下是android官方网站上给你的一个很好的入门:

Android的游戏开发:一个快速入门

注意:请阅读教程的第二步(第二步:选择一种语言)。

如果你根本不懂Java,并且长期喜欢在Android上开发应用程序,那么学习Java是非常重要的。官方网站上有很棒的教程。有一本很好的书,你可以拿来专门为Android开发学习:这里是:学习用于Android开发的Java

票数 8
EN

Software Engineering用户

发布于 2011-12-30 17:19:57

我应该选择C/C++开发工具包,还是学习java更好,因为它们可能不会在将来提供所有功能?

答案是两者都是。

  • 如果您正在编写性能是主要考虑因素的任何应用程序,则它们几乎必须在java之外的其他应用程序中。(C/C++是最受欢迎的)游戏是大门票项目,但也有其他项目。
  • 如果您正在进行任何android开发,您还应该花时间学习java,使其达到一个合理的水平。
票数 7
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/127735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档