如何使用 NativeActivity 写入内部存储文件系统?

2023-12-12

我正在将纯 C++ 游戏移植到 Android,由于我的目标是 Android 3.0+ 平板电脑,因此我选择使用 NativeActivity 以完全避免使用 Java。但是,我看不到任何允许我写入设备内部存储的功能。对 fopen() 的调用将失败,因为我不知道应该写入哪个目录并且内部存储文件系统无法访问

这段代码通常在 Java 上发挥作用,为我的应用程序提供内部可写数据目录的路径:

mContext.getFilesDir();

有人知道 C++ 的替代品吗?否则我将不得不使用 JNI 调用上面的代码片段。

当然,我已经研究过$NDK/..../include/android/标题,但我没有看到我需要的候选方法。


我终于找到了。结果内部存储目录的路径被声明为 ANativeActivity 的成员android/native_activity.h:

/**
 * Path to this application's internal data directory.
 */
const char* internalDataPath;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 NativeActivity 写入内部存储文件系统? 的相关文章

  • 我在哪里可以获得可靠的熵来源(真正的随机性字节[])?

    目前 我正在寻找一种方法来增加随机性的质量 in my Android应用程序 纸牌游戏 之前 估计对于我的情况 52 排列 至少需要 226 位熵 226 个随机位 我打算用这个byte 作为种子SecureRandom SecureRa
  • 如何在 ADB 连接期间禁用电池充电?

    问题描述 每次我在电脑和手机之间连接 USB 线时 电池都会自动充电 我想使用 ADB 协议 但我不想在 ADB 连接期间为电池充电 是否可以关闭此充电功能 当然 我该怎么做呢 环境 Android 操作系统 4 及更高版本的手机 我只需要
  • 使用 dpi 与 dp 缩放图像之间的差异

    我拥有所有由九个补丁位图组成的 dpi 可绘制目录 xxhdpi 和 xxxhdpi 是否必要 可绘制目录中的可绘制资源文件可检索所有缩放的位图 并且我使用可绘制资源文件 现在 我的问题是我还根据大小 小 正常等 创建了 缩放 布局目录 其
  • 使用一个 apk 安装两个应用程序

    我有 2 个应用程序 1 内容提供者 2 使用此 ContentProvider 的应用程序 我需要使用单个 apk 文件安装这 2 个应用程序 我想在 Eclipse 中同时推送这两个应用程序 如果我将另一个项目添加到一个应用程序的构建路
  • 让协程等待之前的调用

    我还没有完全掌握 Kotlin 协程 基本上我希望协程在执行之前等待任何先前的调用完成 下面的代码似乎可以工作 但它正在做我认为它正在做的事情吗 private var saveJob Job null fun save saveJob s
  • Android 应用程序在启动时打开应用程序信息屏幕,而不是启动主 Activity

    我不确定这是否是一个问题 但这是我第一次遇到这个问题 我正在开发一个应用程序 当我在进行一些编码后断开应用程序与 Android Studio 和 PC 的连接时 如果我尝试在手机上打开应用程序 它会启动app info屏幕 我们看到强制停
  • 从历史堆栈中删除活动

    我的应用程序在用户第一次运行应用程序时显示注册活动 如下所示 活动启动画面 欢迎来到游戏 注册帐户 ActivitySplashScreenSignUp 很好 填写此信息 ActivityGameMain 游戏主屏幕 因此 当用户单击每个屏
  • Android 中的 Sugar ORM:更新 SQLite 中保存的对象

    我是在 Android 上使用 SQLite 和 Sugar ORM 进行应用程序开发的新手 并尝试阅读 Sugar ORM 文档 但没有找到有关如何更新 SQLite 中保存的对象的任何信息 更改对象属性后还可以保存对象吗 就像是 Cus
  • 如何访问android库项目中的资源

    我正在构建一个 android 库项目 它内部需要一些静态资源 图像 xml 等 然后我想知道我可以把这些资源放在哪里以及如何访问它们 既然我把资源放到了assets文件夹 我使用 AssetManager 来访问资源 public cla
  • Android:如何使用后台线程?

    我开发了一个应用程序 它从互联网获取内容并相应地在设备的屏幕上显示它 该程序运行得很好 就是有点慢 加载并显示内容大约需要 3 4 秒 我想将获取内容并将其显示在后台线程中的所有代码放在一起 当程序执行这些功能时 我想显示一个进度对话框 你
  • 当不支持 Google Play 应用内结算 V.3 时

    在 Google Play 的应用内结算 V 3 中 有一个选项可以检查用户设备是否支持它 使用是否支持计费 http developer android com google play billing versions html meth
  • 如何向开发人员发送崩溃报告?

    我开发 Android 应用程序 但在某些情况下我的应用程序force close 如果出现以下情况 我如何向开发人员发送包含详细信息的电子邮件force close随时发生 The ACRA https github com ACRA a
  • Android中如何检测WIFI连接何时建立?

    我需要检测何时通过 WIFI 建立网络连接 发送什么广播来确定已建立有效的网络连接 我需要验证是否存在有效的 HTTP 网络连接 我应该监听什么以及需要进行哪些额外测试才能知道是否存在有效连接 您可以注册一个BroadcastReceive
  • 使用 Android Studio 进行调试永远停留在“等待调试器”状态

    UPDATE The supposed重复是一个关于陷入 等待调试器 执行时Run 而这个问题就陷入了 等待调试器 执行时Debug 产生问题的步骤不同 解决方案也不同 每当我尝试使用Android Studio的调试功能时 运行状态总是停
  • SDK >=26 仍需要 mipmap/ic_launcher.png?

    在 Android 中 有两种指定启动器图标 可以说是应用程序图标 的方法 老 方式 在 mipmap 文件夹中指定不同的 png 文件 通常命名为 ic launcher png 但可以通过以下方式设置名称android icon mip
  • 在 Nougat 7.1.1 中点击应用程序快捷方式时出现应用程序未安装错误

    我在向现有应用程序添加静态应用程序快捷方式时遇到一些问题 我按照以下步骤操作https developer android com guide topics ui shortcuts html https developer android
  • 在android中创建SQLite数据库

    我想在我的应用程序中创建一个 SQLite 数据库 其中包含三个表 我将向表中添加数据并稍后使用它们 但我喜欢保留数据库 就好像第一次安装应用程序时它会检查数据库是否存在 如果存在则更新它 否则如果不存在则创建一个新数据库 此外 我正在制作
  • 如何在Android中创建一个简洁的两栏输入表单?

    我想创建一个整洁的两列输入表单 如下所示 到目前为止我的 xml 布局代码
  • 在 Android 手机中通过耳机插孔发送数据

    我目前正在处理一个新项目 我必须通过具有特定电压的耳机插孔发送数据 然后我可以在该电压上工作 所以这里我需要根据我的数据来编程具体电压 我是否可以在android中访问耳机的输出电压 然后创建一个应用程序来控制该电压 这是一篇讨论此问题的
  • Flash 对象未显示在phonegap android 中

    我已经在 android 手机间隙创建了一个应用程序 我有一个屏幕 我想显示一个静态 flash obj 所以我在屏幕 HTML 页面中放入了以下代码

随机推荐

  • 如何解决 pmd 违规“NullAssignment”?

    PMD报告NullAssignment以下代码 修复它的最佳实践是什么 将对象分配给 null 是一种代码味道 考虑重构 下面的代码不是我写的 我也有一个疑问为什么要创建一个临时定时器实例 然后将这个实例分配给定时器 startTimer
  • Java找不到main方法

    我在一个简单的 hello world 程序上遇到了麻烦 哈哈 我希望有人能对此有所启发 所以接收错误如下 javac Hello java java Hello Exception in thread main java lang NoS
  • iOS 如何创建倒计时器 [小时,分钟,秒] Swift 4

    我想要创建倒计时时间 但我找不到此类信息如何做到这一点 例如我有200分钟了3 3小时 为了这3 3小时我想要制作倒计时器 我可以在标签上看到这些信息吗 我怎样才能做到这一点 我在论坛上找到了这样的代码 func startTimer le
  • 在使用 NetBeans 进行远程构建期间将 Git 修订版本嵌入到可执行文件中

    我想在构建时将 Git 修订版 SHA1 嵌入到我的可执行文件中 我可以在本地这样做 git log 1 format h gt version objcopy input binary output elf64 x86 64 versio
  • 在 MVC 5 中创建了一个新视图,打开新视图会导致 HTTP 404

    当我打开默认的 MVC 视图 索引和创建 时 它工作正常 我可以添加数据并从数据库获取数据 当我创建新视图时 它不起作用 它得到 Http 404 即使我复制创建视图 只是使用不同的文件名也是如此 错误信息 应用程序中的服务器错误 无法找到
  • IMU速度估计

    你知道我在哪里可以找到根据 IMU acc 陀螺仪 磁力计 数据进行速度估计的代码或示例吗 我根据 IMU 静止的数据计算了偏差 我想用某种滤波器 卡尔曼 互补 来实现速度估计 但我找不到任何滤波器 我还有相机速度估计 也许它可以作为某种融
  • 登录尝试 5 次失败后阻止用户 IP?

    伙计们 我在 ASP net C 中有一个简单的客户登录页面 其中有 2 个文本框和一个按钮 一个用于用户名 另一个用于密码和提交按钮 按提交后 密码文本框文本将被加密 然后与已存储在数据库中的密码加密值进行比较 现在我想要做的是 在每次登
  • 本地主机上应用程序引擎 std 的 devappserver.py 正在清除 os.uname 并在 ctypes 中崩溃

    我愚蠢地重新安装了所有 Python 2 7 依赖项 但它损坏了某些东西 如果您注意到第 1 行 os uname 有一个有效值 但当 GAE 调用 ctypes 模块 第 3 行 时 它已被清空 我的本地服务器将无法响应客户端 这感觉有点
  • 为 Web API 1、.net 4.0 启用 CORS 时出现的问题

    我需要为我的 Web API 启用 CORS 但无法升级到 Framework 4 5 我尝试将以下内容添加到我的 Web config 中以查看它是否有效 但没有成功
  • 禁用所选文本的拖放

    当我使用 chrome 时 输入或文本框中的任何选定文本都可以拖放到另一个输入 文本区域中 有什么办法可以禁用所选文本的拖动吗 document getElementById test addEventListener dragstart
  • 如何为图像的映射部分分配唯一的 ID 并将其与数据库链接[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我创建了建筑物平面图的图像
  • 如何关闭 FBWebDialogs

    如何以编程方式关闭 FBWebDialogs 我已经看过所有文档和堆栈溢出问题 但似乎没有办法做到这一点 这不可能吧 所以我找到了一种 hacky 方法来做到这一点 此代码将以编程方式触发关闭按钮 TouchUpInside 从而关闭对话框
  • 在Python中读取Fortran的默认输出[重复]

    这个问题在这里已经有答案了 我有 Fortran 77 中旧代码的输出 输出是用 write NUM 线 基本上 默认格式 以下是部分输出 1 25107598E 67 1 89781536E 61 1 28064971E 94 5 857
  • 如何使用.NET core 3.1为任何请求的HTTP客户端设置默认代理?

    我正在使用 interfax api dll 向用户发送传真 如何添加代理服务器配置以将传真发送给用户 实际上我想在 net core 中启用代理服务器设置 最好的方法是什么 问题似乎不在于 interfax api 这可以通过向 net
  • 无法在 mac 上导入 gi 模块 python 3.6

    我正在使用 python 3 6 在 mac 上集成 gstreamer 和 pocketsphinx 然而 第一行代码 从 gi 导入 pygtkcompat 引发错误 命令 python3 demoapp chinese py retu
  • 设计类别、子类别和相关书籍的数据库

    我知道对于与我所问的问题类似的几个问题已经有了一些答案 但他们的方法看起来并不令人信服 我的问题是如何为可以包含书籍的类别和也可以包含书籍的子类别构建数据库 我已经设计了一个数据库 但不相信这种方法 因此 如果有经验的人给我一些建议或改进或
  • 如何在 iPhone 上更长时间地显示启动画面?

    如何在 iPhone 上显示比默认时间更长的启动屏幕 阅读 Apple iPhone 人机界面指南 HIG 启动画面 不应该用于品牌推广或显示徽标 它应该看起来像应用程序的默认状态 因此它看起来可以快速启动 让它在那里停留更长时间将违反 H
  • 从 C 中的 char 数组获取数字值

    我有这个字符数组 char movimiento L30 G10 L50 G 45 L 10 G50 我想获取字母后面的数字的值 L 并将它们存储到整数变量中以供以后使用 eg 30 50 10 我尝试过这样做 因为 ASCII 代码数字从
  • CSS 边距计算

    虽然我在理论上确实了解整个 CSS 盒子模型 如填充 边框 边距 但我的理解仅限于这些单独的部分 我经常对浏览器实际上如何呈现它感到困惑 例如 就像padding是在边框之内一样 但是margin是如何计算的呢 是相对于盒子边框还是相对于屏
  • 如何使用 NativeActivity 写入内部存储文件系统?

    我正在将纯 C 游戏移植到 Android 由于我的目标是 Android 3 0 平板电脑 因此我选择使用 NativeActivity 以完全避免使用 Java 但是 我看不到任何允许我写入设备内部存储的功能 对 fopen 的调用将失