Android JNI保存到SD卡
我的目标很简单:将代码生成的数据保存到sd卡的某个位置(真实的,而不是模拟的)!但事实证明并非如此简单。我将Android SDK与JNI(用于使用Tango C-API)和联想phab 2 pro一起使用,我还阅读了 然而,我发现了一些帖子,他们只是使用目录“/sdcard”来存储文件。对我来说不起作用。接下来,我在我的主要活动中尝试了以下代码来首先查找外部设备:Android JNI保存到SD卡,android,c,android-ndk,save,android-sdcard,Android,C,Android Ndk,Save,Android Sdcard,我的目标很简单:将代码生成的数据保存到sd卡的某个位置(真实的,而不是模拟的)!但事实证明并非如此简单。我将Android SDK与JNI(用于使用Tango C-API)和联想phab 2 pro一起使用,我还阅读了 然而,我发现了一些帖子,他们只是使用目录“/sdcard”来存储文件。对我来说不起作用。接下来,我在我的主要活动中尝试了以下代码来首先查找外部设备: File sdCard = Environment.getExternalStorageDirectory(); File dir
File sdCard = Environment.getExternalStorageDirectory();
File dir = new File (sdCard.getAbsolutePath());
导致:
/storage/emulated/0
不幸的是,这不是我真正的SD卡。
我尝试了更多的方法来查找我的外部目录,但都得到了相同的路径。(如果有人感兴趣,我可以再次搜索)
无论我尝试什么,我总是在一个错误或fiktive SD卡土地
以下是我使用的代码:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.projecttango.examples.cpp.hellodepthperception"
android:versionCode="0"
android:versionName="0" >
<uses-sdk
android:minSdkVersion="19"
android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-feature android:glEsVersion="0x00020000" android:required="true" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<uses-library
android:name="com.projecttango.libtango_device2"
android:required="true" />
<activity
android:label="@string/app_name_long"
android:name=".DepthPerceptionActivity"
android:screenOrientation="nosensor">
<intent-filter android:label="@string/app_name">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
sdCard=Environment.getExternalStorageDirectory()代码>。不,这不是sd卡的路径。但是,正如函数名告诉您的那样,外部存储。您最好专注于如何找到sd卡路径。根据android版本和设备的不同,这可能是因为我已经识别了绿色应用程序,因为它确实给了我正确的路径。你对如何正确地做这件事有更好的想法吗?正如我所写的,我已经尝试了很多方法来获得正确的路径。所有这些都让我走上了虚拟外部存储的同一条道路。正如所说的,它取决于android版本。您没有对版本做出反应。请查看getExternalFilesDirs()
。第二个条目是sd卡上的路径。。
chdir("/sdcard);
FILE * f_sdcard = fopen("Test.txt", "a");
if(f_sdcard == NULL) {
LOGE("Error: File not created: %d", f_sdcard);
}