[android] android下文件访问的权限
/**************2016年5月4日 更新**************************/
知乎:android编程中写文件(例如a.txt)后存在手机哪个位置啊?
用FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE); fos.write(content.getBytes()); fos.close(); 建立新文件并写入后,在手机中找不到这个文件,用了搜索也没有这个文件。请问有大神知道文件会自动存在哪?或者应该用什么方法来创建一个根目录下的文件?
酱油瓶:
不指定的话,在/data/ data/ 应用包名 文件夹里
手机没有root权限的话,data下的数据是看不到的
/****************************************************/
1. 使用Context上下文对象调用openFileOutput(文件名,mode)可以在/data/data/包名/ 下创建一个文件输出对象,其中mode有
Context.MODE_PRIVATE(私有方式),
Context.MODE_WORLD_READABLE(可读)
Context.MODE_WORLD_WRITEABLE(可写)
当别的应用读取私有文件时会报fileNotFound premission den,
别的应用可以读取可读文件和公开文件
2. 单选框组<RadioGroup><RadioButton>,默认竖直方向android:orientation=”horizontal”水平,获取选中的值,RadioGroup对象的getCheckedRadioButtonId(),可以得到被选中的RadioButton
@suppressLint 是压制警告的作用
3. Linux系统下的文件权限,10个字符,----------
一般情况下android下每一个应用都是一个独立的用户对应一个独立的组
0位置 - 代表文件,d代表目录
1-3位置 当前用户 r 可读,w可写,x可执行
查看当前用户和组,cmd进入adb shell,cd到/data/data 执行ls -l就能看到
4-6位置 当前用户所在的组 r 可读,w可写,x可执行
7-9位置 其他用户的权限,别的应用访问这个文件相当于这个角色,
- - - - - - - - - - 对应0 000
- rw- - - - - - - 对应0 600
- rw- rw- rw- 对应0 666 在shell下可以使用chmod 666 private.txt 来更改权限
业务代码修改:
/**
* 保存用户名和方法的业务方法
* @param context 上下文
* @param username 用户名
* @param password 方法
* @param mode 1私有 2可读 3可写 4公开
* @return
*/
@SuppressWarnings("deprecation")
public static boolean saveUserInfo(Context context,String username,String password,int mode){
File file=new File(context.getFilesDir(),"info1.txt");
try {
FileOutputStream fos = null;
switch (mode) {
case 1:
fos=context.openFileOutput("private.txt", Context.MODE_PRIVATE);
break;
case 2:
fos=context.openFileOutput("readable.txt", Context.MODE_WORLD_READABLE);
break;
case 3:
fos=context.openFileOutput("writeable.txt", Context.MODE_WORLD_WRITEABLE);
break;
case 4:
fos=context.openFileOutput("private.txt", Context.MODE_WORLD_READABLE+Context.MODE_WORLD_WRITEABLE);
break;
default:
break;
}
String info=username+"##"+password;
fos.write(info.getBytes());
fos.close();
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
} }
[android] android下文件访问的权限的更多相关文章
- 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)
1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name= ...
- Android开发学习---android下的数据持久化,保存数据到rom文件,android_data目录下文件访问的权限控制
一.需求 做一个类似QQ登录似的app,将数据写到ROM文件里,并对数据进行回显. 二.截图 登录界面: 文件浏览器,查看文件的保存路径:/data/data/com.amos.datasave/fi ...
- Android下文件访问的权限
* 默认情况下,Android中,应用程序的文件时私有的,其他应用程序不可以读取私有的文件 * 底层用的时Linux文件的权限 - rw- rw- --- - :文件 ...
- 25_android下文件访问的权限
写文件:FileOutputStream fos = 上下文.openFileOutput("private.txt",Context.MODE_PRIVATR);参数1 文件名, ...
- Android学习笔记_20_访问应用权限汇总
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com. ...
- [置顶] Linux下文件和目录权限说明
在Linux下使用ls -l或者ll命令可以查看文件和文件夹的权限.结果显示类似于: drwxrwxrwx,这里分为四组,分别为文件类型,文件所有者的权限(读写执行),文件所有者所在组用户的权限(读写 ...
- 关于 IIS7.0下文件写入无权限的解决办法
1. 在IIS Web站点上右键 --> 编辑权限 2. 在弹出的窗体上选择[安全]选项卡,如图: 3. 在安全选项卡中点击[编辑]按钮,弹出如图对话框: 4. 点击[添加]按钮,弹出如图对话框 ...
- 【翻译】Android多线程下安全访问数据库
为了记录如何线程安全地访问你的Android数据库实例,我写下了这篇小小札记.文章中引用的项目代码请点击这里 假设你已编写了自己的 SQLiteOpenHelper. publicclas ...
- 获取SD卡下Android/data/下文件
通常情况下多数应用程序都会将缓存的位置选择为 /sdcard/Android/data/<application package>/cache 这个路径.选择在这个位置有两点好处:第一,这 ...
随机推荐
- tcp/ip 三次握手和4次挥手
TCP连接两个端口,谁也发起请求,谁就是client端A,另外一个接受请求的server端B.第一次握手:A向B发一个链接请求,带一个seq = x,SYN= x. 第二次握手:B收到链接请求之后向A ...
- Java对象序列化和返序列化
public class SerializeUtil { /** * 序列化 * * @param object * @return */ public static byte[] serialize ...
- MySQL--Skip GTID CAP
import os script_file = "./skip_file.sql" def write_script(script_content): file_handle = ...
- Jenkins 定时构建语法规则
1.Jenkins自由风格任务定时构建 2.语法规则 定时构建语法 * * * * * 第一个*表示分钟,取值0~59 第二个*表示小时,取值0~23 第三个*表示一个月的第几天,取值1~31 第四个 ...
- Java常见开发规范
1 背景概述 作为程序员大军中的一员,笔者工作于沈阳数通畅联软件技术有限公司.在任职工作的第一天就听领导强调开发规范的重要性,但是笔者心里还想为什么开发规范是最重要的,难道是不应该是实现功能就万事大吉 ...
- 《设计模式》学习&理解&总结
教程地址:http://www.runoob.com/design-pattern/design-pattern-tutorial.html 教程书籍:<Android 设计模式解析与实战> ...
- Android JNI 学习(十一):Invocation Api
1. 简介 Invocation API允许软件提供商在原生程序中内嵌Java虚拟机.因此可以不需要链接任何Java虚拟机代码来提供Java-enabled的应用程序. 以下代码演示如何使用: #in ...
- SVG之Path
一.Path概述 1.控制命令 SVG提供了一些基础图形元素标签如<circle>.<rect>.<ellipse>.<line>.<polyli ...
- 用 VSCode 编写 python
一.coding 1.选择一个Python解释器 通过命令选项板(⇧⌘P),键入Python:Select Interpreter命令,然后选择一个解释器. 成功后左下角出现: 2.运行代码 二.重构 ...
- Python - 搭建Jupyter notebook环境
1- Jupyter简介 HomePage:https://jupyter.org/ 安装指南:https://jupyter.org/install.html 官方文档:https://jupyte ...