本人正在做一个项目,大致是这么一个情况,有一个传感器会不定时地采集数据上传到后台服务器中,本人现在就是做一个个app,传感器每给服务器上传一个数据,本人就要取过来存到数据库里以便画图。但是本人今天在创建数据库的时候,发现了六种MODE_,本人想问一下一下六种的区别,以及想要实现本人这种功能,应该使用哪一个模式?
解决方案
20
就是读写范围的区别,
MODE_PRIVATE 私有(只能创建它的应用访问) 重复写入时会文件覆盖
MODE_APPEND 私有 重复写入时会在文件的末尾进行追加,而不是覆盖掉原来的文件
MODE_WORLD_READABLE 公用 可读
MODE_WORLD_WRITEABLE 公用 可读写
MODE_PRIVATE 私有(只能创建它的应用访问) 重复写入时会文件覆盖
MODE_APPEND 私有 重复写入时会在文件的末尾进行追加,而不是覆盖掉原来的文件
MODE_WORLD_READABLE 公用 可读
MODE_WORLD_WRITEABLE 公用 可读写
20
这几个flag都是Context的预定义常量,这说明跟Android的数据存储有关了
MODE_PRIVATE:创建的文件只能被该应用所访问
MODE_APPEND:跟openFileOutPut()函数有关,这个flag表示接下来的数据将会在写在文件末尾,而不会是默认的擦除原先数据
MODE_ENABLE_WRITE_AHEAD_LOGGING:打开数据库用的flag,默认启动预写式日志,就是在修改在提交前会先写入日志,系统可以通过查看日志知道数据能否正确提交了,可以保证原子性
MODE_MULTI_PROCESS:这个flag和SharedPreference有关,使得一个SharedPreference可以被多个进程同时使用,系统会一直检查文件能否被修改
剩下的MODE_WORLD_READABLE和MODE_WORLD_WRITABLE表示文件可被任何应用读写,这是很危险的,官方建议不要使用这两个flag
MODE_PRIVATE:创建的文件只能被该应用所访问
MODE_APPEND:跟openFileOutPut()函数有关,这个flag表示接下来的数据将会在写在文件末尾,而不会是默认的擦除原先数据
MODE_ENABLE_WRITE_AHEAD_LOGGING:打开数据库用的flag,默认启动预写式日志,就是在修改在提交前会先写入日志,系统可以通过查看日志知道数据能否正确提交了,可以保证原子性
MODE_MULTI_PROCESS:这个flag和SharedPreference有关,使得一个SharedPreference可以被多个进程同时使用,系统会一直检查文件能否被修改
剩下的MODE_WORLD_READABLE和MODE_WORLD_WRITABLE表示文件可被任何应用读写,这是很危险的,官方建议不要使用这两个flag