【问题标题】:View in Native Activity在 Native Activity 中查看
【发布时间】:2012-10-01 09:01:56
【问题描述】:

我正在尝试在 Android NDK 中创建本机活动。我已按照以下链接中给出的步骤进行操作 http://developer.android.com/reference/android/app/NativeActivity.html 如链接中所述,Activity 是用 OpenGL 编写的,并且行为类似。 但我想通过 OpenGL 在本机活动中添加简单视图而不是全部。 有什么方法可以通过 java 代码在 Native 活动中添加视图? 请给我任何解决方案。 提前致谢。

【问题讨论】:

  • 您不能使用 Java API,如果您关注该链接中的内容,很明显您正在将 Java 和 JNI 与 C/C++ 混合,这意味着您的清单文件的入口点是一个 Java 类,因此您的应用程序基于 Java 线程运行,并且您应该使用 Java 管理您的 UI;使用 JNI 对 C 或 C++ 中的 UI 编码没有多大意义,我什至不确定这是否可能。您可以使用 NDK 仅使用 C 或 C++ 编写整个 Android 应用程序,但这不是您要讨论的内容,所以我将避免谈论这个。
  • NativeActivity 接管提供给您的活动的绘图表面。使用 NativeActivity 和 Android 视图实际上是不兼容的。
  • 可以通过使用 SurfaceView 并执行所有 C/C++ 代码来呈现类似的行为。但是你失去了 NativeActivity 提供的框架
  • 您可以使用 PopupWindow 作为视图的持有者 - 以下是如何为 admob 执行此操作的示例:[dynadream.com/ddweb/index.php/Special_Blog?id=20](blog post)

标签: android android-ndk


【解决方案1】:

基本上答案是否定的。

no - 使用原生活动,android 框架处理原生活动的显示。所以原生活动负责初始化和绘制屏幕,​​而不是通过java代码。

是的 - 您可以在 java 中设计活动并将部分流程转换为本机代码。通过这样做,您不再实现本机活动。但仍然使用ndk和jni。如果这是你想要的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-18
    • 2020-09-01
    • 2018-05-02
    • 2017-02-13
    • 1970-01-01
    • 2023-03-04
    • 2021-01-28
    • 1970-01-01
    相关资源
    最近更新 更多