通过jni在本地创建文件

1.在android studio创建基本的jni工程,并且在APP界面成功显示"Hello from C++"

不会的可以看android studio使用jni

2.在native-lib.cpp文件中创建文件

为了方便,我们直接在stringFromJNI函数中创建文件

#include #include #include #include         //方便用日志查看#define LOG_D(...)  __android_log_print(ANDROID_LOG_DEBUG, "jni", __VA_ARGS__)//使用宏来调用日志库extern "C" JNIEXPORT jstring JNICALLJava_com_example_clientfile_MainActivity_stringFromJNI(        JNIEnv *env,        jobject /* this */) {    std::string hello = "Hello from C++";        FILE* file = NULL;            file = fopen("/data/data/com.example.clientfile/hello.txt","a");    //创建文件    if(file == NULL){        //容错        LOG_D("文件创建失败%s","222");    }        fwrite("1111",3,1,file);            //往文件中写文件    fclose(file);                    //关闭文件    return env->NewStringUTF(hello.c_str());}

其中非常需要注意的一点是创建文件的位置,必须是"/data/data/[project name]/test.txt",否则无法创建。

3.查看是否生成了该文件

点击View->Tool->Windows->Device File Explorer

android通过JNI用C/C++创建本地文件_第1张图片

在弹出的对话框中选择data->data->[你的项目名称]

android通过JNI用C/C++创建本地文件_第2张图片

没有我们想要创建的hello.txt文件

android通过JNI用C/C++创建本地文件_第3张图片

我们在我们的项目明上右击,选择Synchronize

android通过JNI用C/C++创建本地文件_第4张图片

出现了hello.txt

android通过JNI用C/C++创建本地文件_第5张图片

同时我们来看一下该文件的路径

android通过JNI用C/C++创建本地文件_第6张图片

在文件名上右击,选择Copy Path,然后随便找一个地方粘贴

结果是 /data/data/com.example.clientfile/hello.txt

所以,我们在该APP内创建的文件只能在这个目录先,当然我们也可以在项目名下先创建目录,在新建的目录下创建文件也可以。

最后打开hello.txt文件,看内容是否生成,右击选择open

android通过JNI用C/C++创建本地文件_第7张图片

显示111

android通过JNI用C/C++创建本地文件_第8张图片

至此,在android内使用jni创建本地文件已成功。

更多相关文章

  1. Android 定时器实现图片的变换
  2. android 开发之文件下载
  3. Android 第三方库使用实例——编写.so库文件
  4. android下的文件资源类型
  5. Android之文件操作和JUnit
  6. android studio 小技巧之 图片预览
  7. android studio加载so文件报错:dalvik.system.PathClassLoadero
  8. Eclipse+Android解决SDK下无doc文件夹问题 以及关联Android帮助
  9. android 入门之四【应用工程文件组成详解】

随机推荐

  1. android ToolBar使用默认返回键,修改颜色
  2. android 7.0以上 安装本地apk
  3. Android音乐播放器制作 加入控制台(三)
  4. android http通信(二) 英译汉字典实例探
  5. 使用Vitamio打造自己的Android万能播放器
  6. android fragment的显示隐藏生命周期简述
  7. 第八节(Activity布局初步一)
  8. Android(安卓)刷脸神器,颜值价更高
  9. 自定义两行可左右滑动的GridView
  10. Android(安卓)读取工程中的txt文件