怎样获得 Android 的工程目录,并读写其中的文件。

达达拉 2011-10-17 02:53:12
我想在 Android 的工程目录中建立一个文件夹,里面放入一个 txt 文件,运行时可以对该文件进行读写操作。
...全文
1118 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yueting123 2013-08-26
  • 打赏
  • 举报
回复
引用 6 楼 xs3627575 的回复:
[Quote=引用 2 楼 yiyaaixuexi 的回复:] android不支持读取与工程直接子级的文件。 解决办法是: 在res文件夹下新建raw文件夹,然后将文件放入raw文件夹下。 Java code InputStream input = getResources().openRawResource(R.raw.xxx); BufferedReader read = new BufferedReader(new InputStreamR…… [/Quote] 这个我试过了,可以达到我要的效果。TKS
raw文件夹怎么新建的?新建raw文件夹后,R.java文件并没有自动创建,求楼主帮忙
达达拉 2011-10-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yiyaaixuexi 的回复:]

android不支持读取与工程直接子级的文件。
解决办法是:
在res文件夹下新建raw文件夹,然后将文件放入raw文件夹下。
Java code

InputStream input = getResources().openRawResource(R.raw.xxx);
BufferedReader read = new BufferedReader(new InputStreamR……
[/Quote]
这个我试过了,可以达到我要的效果。TKS
达达拉 2011-10-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fmworld 的回复:]

getFilesDir()获取用于存放内部文件的文件夹的绝对路径
getDir(String name, int mode)创建或者打开已存在的文件夹,会获得一个File对象,通过这个对象生成并操作你的文件。
试下吧, 在SDK里面有介绍。
[/Quote]

getFilesDir 这个得到的是 /data/data/com.huawei/files ,里面为空,因为我打算是在建立项目的时候就建立一个文件夹,然后自己写的配置文件放入其中,加载时再放入系统中,所以这个可能没法达到效果。
达达拉 2011-10-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yiyaaixuexi 的回复:]

android不支持读取与工程直接子级的文件。
解决办法是:
在res文件夹下新建raw文件夹,然后将文件放入raw文件夹下。
Java code

InputStream input = getResources().openRawResource(R.raw.xxx);
BufferedReader read = new BufferedReader(new InputStreamR……
[/Quote]

先试试。
傲慢的上校 2011-10-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fmworld 的回复:]

getFilesDir()获取用于存放内部文件的文件夹的绝对路径
getDir(String name, int mode)创建或者打开已存在的文件夹,会获得一个File对象,通过这个对象生成并操作你的文件。
试下吧, 在SDK里面有介绍。
[/Quote]
念茜 2011-10-17
  • 打赏
  • 举报
回复
android不支持读取与工程直接子级的文件。
解决办法是:
在res文件夹下新建raw文件夹,然后将文件放入raw文件夹下。

InputStream input = getResources().openRawResource(R.raw.xxx);
BufferedReader read = new BufferedReader(new InputStreamReader(input));
String line = "";
while((line=read.readLine()) != null){
System.out.println(line);
}

fmworld 2011-10-17
  • 打赏
  • 举报
回复
getFilesDir()获取用于存放内部文件的文件夹的绝对路径
getDir(String name, int mode)创建或者打开已存在的文件夹,会获得一个File对象,通过这个对象生成并操作你的文件。
试下吧, 在SDK里面有介绍。
高焕堂<应用框架原理与程序设计>源代码(Eclipse) 36计本人全部测试通过。比较难的地方而书中没有相关解释的有加注释。 关于第36计windows下编译.so文件: 写C组件注意事项:将NativeHalfAdder抽出只有类定义和函数定义部分,用javac NativeHalfAdder.java, 然后将编译出的.class文件放于test\cn\目录下 用javah test.cn.NativeHalfAdder产生.h头文件。 写完各个C文件和H文件后(关于这些文件书中有源码)。开始编译.so文件 Windows下编译.so文件步骤(这里我使用NDK(android-ndk-1.6_r1)加Cygwin 在windows下编译,如果没有请安装, 注:android-ndk-1.6_r1只支持android 1.6或更早版本,所以这里必须将你的android工程的Target设为1.6): 关于安装Cygwin,到http://www.cygwin.cn/site/install/ 上下载setup.exe 进入后选择install from internet 然后根据说明下一步,到Select Packages页面时,在All @ Default 选项上单击Default,使其状态变为All @ Install,为防止麻烦我选择全部安装, 按提示安装完(下载的时候有点慢,耐心等待,1.5G左右)。 关于NDK的安装,http://android.group.javaeye.com/group/blog/494016 上下载android-ndk-1.6_r1.rar 注意是windows版本的。 解压该文件,打开Cygwin进入其目录(Cygwin指令:cd D:/android-ndk-1.6_r1)下运行Cygwin指令 build/host-setup.sh 提示安装成功。 在Ex36CModel目录下创建Application.mk文件,并创建jni目录,该目录下包含Android.mk,HalfAdder.c等文件,目录结构如下 (关于MK文件的语法请看NDK安装目录docs下的ANDROID-MK.TXT,或者网上查找相关资料) Ex36CModel   ├ Application.mk   ├ jni ├ Android.mk ├ HalfAdder.c ├ HalfAdder.h ├ lw_oopc.h ├ test_cn_NativeHalfAdder.c ├ test_cn_NativeHalfAdder.h Application.mk内容: APP_PROJECT_PATH := $(call my-dir) APP_MODULES := NativeHalfAdder Android.mk内容: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := NativeHalfAdder LOCAL_SRC_FILES := HalfAdder.c test_cn_NativeHalfAdder.c include $(BUILD_SHARED_LIBRARY) 由于ndk规定Application.mk必须放在 目录>/apps/project_name,我们在目录>下创建一个符号连接: Cygwin指令:ln -s <工程目录> 目录>/apps/jnitest 如:Cygwin指令:ln -s D:/wu/android/Ex36CModel D:/android-ndk-1.6_r1/apps/Ex36CModel 这样,我们就可以开始编译共享库了: 在目录>下运行: Cygwin指令:make APP=NativeHalfAdder 可以看到编译成功,并在<工程目录>/libs/armeabi/下生成了libNativeHalfAdder.so。 将so文件拷贝到AVD的/system/lib目录下(这里需要AVD的root权限,但是adb shell 就是root权限,所以用adb 指令来拷贝): 用cmd窗口 启动AVD(必须的,否则会有out of memory错误),输入:CMD指令: emulator -avd m9 -partition-size 512 运行,运行成功后,另开一个cmd输入 : CMD指令: adb remount 运行, 该指令更改系统文件属性使可读写 (必须的,否则会有file read-only错误), 然后在该cmd运行指令: adb push D:/wu/android/Ex36CModel/libs/armeabi/libNativeHalfAdder.so /system/lib 将指定文件拷到AVD相应目录下, 工程中记得加入NativeHalfAdder.java 文件,该文件加载了库文件并声明外部方法 运行本程序 大功告成

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧