开发原生活动(Android)应用程序

Visual Studio 2015预览版(下载 在这里 )介绍开发人员创建Android本机活动应用程序的能力,作为跨平台移动开发的一部分。Android平台具有Android原生活动(API级别9)引入了创建纯C/C++应用程序的能力。虽然在后台有一些隐藏的javajni代码,但我们的想法是从开发人员那里抽象出这些细节。原生活动应用程序在游戏(如Unreal 4)和图形密集型(OpenGL)应用程序中非常流行。这篇文章将引导你通过 有创建本机活动应用程序以及在开发人员生命周期中编辑、构建和调试本机活动代码的经验。当您在visualstudio中回顾这段经历时,我们欢迎您的想法和任何反馈。

null

为了开始创建本机活动应用程序,请获取实现此体验所需的跨平台移动工具。如果您还没有这样做,请参阅 这篇文章 这会让你了解收购的经验。一旦获取了工具,让我们从创建OOTB本地活动应用程序开始,这样做就选择了在Visual C++ +跨平台节点上可用的本地活动应用程序模板。

图片[1]-开发原生活动(Android)应用程序-yiteyi-C++库

让我们从解决方案体系结构开始探索创建的模板。这个 ‘Hello活动’ 解决方案有两个项目 ‘HelloNativeActivity.NativeActivity’ ‘HelloNativeActivity.Packaging’ 项目如下图所示。NATEVIAN项目用于封装所有针对该应用程序的C/C++代码。

图片[2]-开发原生活动(Android)应用程序-yiteyi-C++库 浏览NativeActivity项目的属性页用户可以设置项目属性,例如目标Android API级别、库的名称和平台工具集。请注意,作为跨平台移动支持的一部分,我们添加了对 叮当作响的工具链 (可从本地开发工具包(NDK)获得) 针对Android平台时。这包括在属性页中添加支持,方便地为“代码生成”、“优化”甚至“预编译头”的使用提供编译器构建标志。

图片[3]-开发原生活动(Android)应用程序-yiteyi-C++库

移动到 本土活动。包装项目 ,HelloNativeActivity解决方案中的第二个项目用于绑定动态共享库,并通过调用Ant构建系统创建完整的Android应用程序(.apk)。  因为这是一个NativeActivity解决方案,所以这个项目不包含任何Java代码,但是这个项目也可以用来编译Java代码,作为Ant构建调用的一部分。还要注意所有其他打包细节,如Android清单文件(AndroidManifest.xml)、Ant构建(Build.xml)也可以在这个项目中找到。

跨平台移动体验是为快速编辑-构建-调试周期而设计的。作为这次经历的一部分 全智能感知支持 当t 瞄准Android平台。这是对其他常见代码编写功能的补充,例如 重构、快速导航等 . 下图描述了这些不同的功能。

图片[4]-开发原生活动(Android)应用程序-yiteyi-C++库

接下来让我们探索一下NativeActivity应用程序的源代码。让我们从main.cpp源文件开始, ‘安卓主机’ 函数是任何本机活动应用程序的入口点函数,运行事件循环以接收输入事件并执行其他操作。让我们通过添加以下代码部分和构建来编辑源代码,以记录特定调试目标(仿真器/设备)上可用的传感器数量。您可以在“if(state->savedState!=NULL)’条件块开始。

传感器列表 传感器列表; 内景 计数器=0;

内景 numSensorsDiscovered=ASensorManageru getSensorList(engine.sensorManager,&sensorList);

如果 ((传感器列表= 无效的 )&&(numsensors发现了=0))) {

逻辑 (“ %%在这个装置上发现了四个传感器 “,numsensors发现); }

这个代码部分有一个bug来演示为使用Clang的众所周知的特性提供诊断支持所做的工作,比如修复它和其他正在运行的特性(如下所示)。在这个特殊的例子中,我们添加的代码部分在上面突出显示的行上有一个额外的括号,一旦它被编辑掉,应用程序就会正确构建。

图片[5]-开发原生活动(Android)应用程序-yiteyi-C++库

最后,让我们通过在这个新添加的代码部分中设置断点来调试这个应用程序。自从 基于快速x86的微软仿真器 已启动并正在运行调试目标已配置为启动调试。按F5键时,您可以看到调试器断点是hit,调试器功能(如Autos窗口、Locals窗口)和其他功能(如 监视窗口、表达式求值和在调试模式下遍历源代码,包括步进、步出 所有工作正常,如下图所示。

图片[6]-开发原生活动(Android)应用程序-yiteyi-C++库

本博客将为您提供有关如何使用visualstudio创建Android本机活动应用程序的工作知识。除此之外,这个博客应该可以帮助您理解我们为一个精简的编辑-构建-调试周期添加的各种特性。我们 将 请用以下内容跟进此博客文章 额外的 帖子 深陷 关键功能。  这是一个预览版本,与任何预览版本一样,我们的目标是收集反馈并向您学习。我们也在考虑未来对其他平台的支持,您的反馈对我们产品的发展方向至关重要。 分享反馈很容易!提供功能建议 用户语音 ,记录你在我们的 连接 现场和 向我们微笑或皱眉 从IDE内部。你也可以在下面留言。除此之外如果你是 看 到 有 一 与我们的产品团队直接对话 关于这个话题,请通过电子邮件联系我们( aasthan@microsoft.com ). 我们很想知道更多,并与您联系。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享