当前课程知识点:智能设备应用开发(基于Android平台) > 单元5 Android数据存储 > 任务二 应用程序数据文件夹里的文件读写 > 文件存储
返回《智能设备应用开发(基于Android平台)》慕课在线视频课程列表
Android中提供了两个方法用来打开应用程序的数据文件夹IO流。
1.FileInputStream openFileInput(String name):参数name表示某个文件名,该方法用于打开应用程序文件夹下name文件对应的输入流。
2.FileOutputStream openFileOutPut(String name,int mode):该方法用于打开应用程序的文件夹下name文件对应的输出流。
同时,Android中提供了如下方法用来对应用程序的文件夹进行操作。
1.getDir(String name,int mode):用于创建name对应的子目录。
2.File getFilesDir():获取绝对路径。
3.Stirng[] fileList():返回文件夹下所有文件。
4.deleteFile(String name):删除指定文件。
关于文件存储,Activity提供了openFileOutput()方法可以用于把数据输出到文件中,具体的实现过程与在J2SE环境中保存数据到文件中是一样的。
文件可用来存放大量数据,如文本、图片、音频等。
默认位置:/data/data/<包>/files/***.***。
public void write()
{
try {
FileOutputStream outStream=this.openFileOutput("sict.txt",Context.MODE_WORLD_READABLE);
outStream.write(text.getText().toString().getBytes());
outStream.close();
Toast.makeText(MyActivity.this,"Saved",Toast.LENGTH_LONG).show();
} catch (FileNotFoundException e) {
return;
}
catch (IOException e){
return ;
}
}
openFileOutput()方法的第一参数用于指定文件名称,不能包含路径分隔符“/”,如果文件不存在,Android 会自动创建它。
创建的文件保存在/data/data/<package name>/files目录,如: /data/data/cn.itcast.action/files/itcast.txt ,依次选择Eclipse菜单“WindowàShow ViewàOther”,在对话窗口中展开android文件夹,选择下面的File Explorer视图,然后在File Explorer视图中展开/data/data/<package name>/files目录就可以看到该文件。
openFileOutput()方法的第二参数用于指定操作模式,有四种模式。
1.Context.MODE_PRIVATE = 0
2.Context.MODE_APPEND = 32768
3.Context.MODE_WORLD_READABLE = 1
4.Context.MODE_WORLD_WRITEABLE = 2
其中,Context.MODE_PRIVATE为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中,可以使用Context.MODE_APPEND。Context.MODE_APPEND模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件。MODE_WORLD_READABLE表示当前文件可以被其他应用读取,MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入。
如果希望文件被其他应用读和写,可以传入: openFileOutput("itcast.txt", Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE); android有一套自己的安全模型,当应用程序(.apk)在安装时系统就会分配给他一个userid,当该应用要去访问其他资源比如文件的时候,就需要userid匹配。默认情况下,任何应用创建的文件,sharedpreferences,数据库都应该是私有的(位于/data/data/<package name>/files),其他程序无法访问。
除非在创建时指定了Context.MODE_WORLD_READABLE或者Context.MODE_WORLD_WRITEABLE ,只有这样其他程序才能正确访问。
返回《智能设备应用开发(基于Android平台)》慕课在线视频列表
-任务一 开发第一个Android应用程序
--外部链接
-单元1 开发第一个Android应用程序--任务一 开发第一个Android应用程序
-任务一 唐诗赏析软件
--html
--外部链接
-任务一 唐诗赏析软件--作业
-任务二 用户注册界面设计
--用户注册界面设计
-单元2 界面编程--任务二 用户注册界面设计
-任务三 用户登录界面设计
--用户登录界面设计
-单元2 界面编程--任务三 用户登录界面设计
-任务四 游戏开始界面设计
--游戏开始界面设计
-单元2 界面编程--任务四 游戏开始界面设计
-任务五 图片浏览器
--2-5-1
--2-5-2
-任务五 图片浏览器--作业
-任务六 个人信息收集界面设计
--个人信息收集界面
--RadioButton(单选按钮)和CheckBox(复选框)
--html
-任务六 个人信息收集界面设计--作业
-任务七 日期和时间选择器
--日期和时间选择器
-任务七 日期和时间选择器--作业
-任务八 猜拳游戏
--2-8-1
--2-8-2
-任务八 猜拳游戏--作业
-任务九 制作选项菜单
--制作选项菜单
--选项菜单
-任务九 制作选项菜单--作业
-任务十 简单的文本编辑器
--简单的文本编辑器
-任务十 简单的文本编辑器--作业
-任务十一 制作滚动视图界面
--制作滚动视图界面
-任务十一 制作滚动视图界面--作业
-任务一 用户登录功能实现
--3-1-1
--3-1-2
--3-1-3
--html
--Video
-任务一 用户登录功能实现--作业
-任务二 Activity的一生
--3-2-1
--3-2-2
--3-2-3
--3-2-4
-任务一 使用Intent的Action属性实现页面之间的跳转
--4-1-1
--4-1-2
--Intent的Action、Category属性与intent-filter配置
-任务二 返回系统HOME页面
--4-2-1
--4-2-2
--通过标准Action和Category调用系统Activity
-任务三 浏览Google首页、打开一幅图片、启动给指定号码打电话、发短信页面
--4-3-1
--4-3-2
--html
-任务一 使用SharePreferences存储和读取数据
--5-1-1
--5-1-2
-任务一 使用SharePreferences存储和读取数据--作业
-任务二 应用程序数据文件夹里的文件读写
--5-2-1
--5-2-2
--文件存储
--文件读取
-任务二 应用程序数据文件夹里的文件读写--作业
-任务三 基于SQLite的用户信息存储器
--5-4-1
--5-4-2
-任务三 基于SQLite的用户信息存储器--作业
-任务一 启动和关闭一个Service
--html
--html
--html
-任务一 启动和关闭一个Service--作业
-任务二 来电监听器
--来电监听器
--html
-任务二 来电监听器--作业
-任务一 基于TCP协议的点对点通信
--默认
--7-1-2
--7-1-3
-任务一 基于TCP协议的点对点通信--作业
-任务二 使用HTTP访问网络资源
--默认
--7-2-2
--html
-任务二 使用HTTP访问网络资源--作业
-任务三 天气预报软件实现
--7-3-1
--7-3-2
--7-3-3
--7-3-4
--7-3-5
--html
-课程介绍
--课程定位
--内容选取
--内容组织
--教学模式
--教学平台
-课程建设
--建设目标
--建设思路
--建设规划
--教材建设
--政策支持
-教学设计
--教学设计
--教学改革
-教学资源
--课程标准
--教案
--企业案例
-模拟题库
--技术答疑
--习题库
-实践教学
--实训项目指导书
--实训项目资源
--教学条件
-拓展资源
--案例库
--素材库
--培训项目包
-特色创新
--课程特色