数据的存储有多种方式,比如数据库存储、SharedPreferences存储、文件存储等;
这里我们将要介绍最简单的文件存储方式;
文件存储简单的来说就是一般的JAVASE中的IO流,只是把他应用于Android手机中而已;
一、文件存储核心代码
文件存储
(1)FileOutputStream out = context.openFileOutput(String filename,int mode); 以mode模式获得文件输出流
(2)out.write(byte[]b);
注意:文件默认会存储到/data/data/package/files中;
文件读取
(1)FileInputStream in = context.openFileInput(String filename); 获得某个文件的文件流
(2)int length = in.read(byte[]);
注意:默认会读取/data/data/package/files的文件;
二、文件模式介绍
1.Context.MODE_PRIVATE:私有覆盖模式
- rw- rw- ---
只能被当前应用访问,并且如果写入,则覆盖;
2.Context.MODE_APPEND:私有追加模式
- rw- rw- ---
只能被当前应用访问,并且如果写入,则追加;
3.Context,MODE_WORLD_READABLE:公有只读模式 - rw- rw- r--
可以被其他应用读取;
4.Context.MODE_WORLD_WRITEABLE:公有可写模式 - rw- rw- -w-
可以被其他应用写入,但不能读取;
注意,如果希望其他使得文件模式叠加,则可以使用加号连接;
比如:Context.MODE_WORLD_READABLE+Context.MODE_WORLD_WRITEABLE 表示其他应用读写;
三、简单应用实例
1.效果图
目标:当点击保存时,将以特定的文件名称和特定的文件内容保存内容,点击读取时,将读取特定的文件的文件内容显示到文件内容文本框;
当点击保存之后,效果如下:
MainActivity.java
四、将文件保存到SDCard
如果一个文件很大,则不适用于存放在手机的存储中;
如果手机存在sdcard,则sdcard的目录为/mnt/sdcard目录;
步骤1:设置模拟器支持sdcard
此时模拟器已经支持sdcard了;
步骤2:在应用中设置权限
在AndroidManifest.xml中设置:
存储到sdcard核心代码:
读取sdcard核心代码:
其实主要就是存储目录问题;
注意:
在Android中1.5、1.6的sdcard目录为/sdcard,而Android2.0以上都是/mnt/sdcard,因此如果我们在保存时直接写具体目录会不妥,因此我们可以使用:
Environment.getExternalStorageDirectory();获取sdcard目录;
建议:
(1)不能纯粹使用sdcard保存法,因为如果不能判定一部手机是否存在sdcard,如果没有,则需要提供其他解决方法,比如
保存到手机存储;
提示不存在sdcard;
可以使用:
分享到:
相关推荐
涵盖了Android入门、常用UI布局介绍、HTTP编程、 XML与Json数据解析、JDBC与Web编程、常用UI控件、 数据储存与文件操作、对话框、通知、菜单、 LoaderManager异步加载、多线程(AsyncTask与Handler)、 百度地图...
react-native-android-file-util 这是为创建的,当前仅具有有限的功能,它使用Android的将文件保存到任何android Document Provider,如果需要,可以随时使用它。 不需要iOS对应版本,因为iOS共享表可以处理文件URI...
目录 应用程序基础Application Fundamentals 4 关键类 4 应用程序组件 5 激活组件:intent 7 关闭组件 7 ...manifest文件 8 ...数据存储Data Storage 52 ... 系统偏好:快速,轻量级存储 52 ...文件特性File Features 73
Android Android Android Android 开发入门 System System System System Requirements Requirements Requirements Requirements The sections below describe the system and software requirements for developing...
该存储库包含适用于USCKI Incognito的Wilson版移动应用程序的Android版本的代码库。 此应用程序由AppCKI委员会维护。 该应用程序处理所有前端逻辑。 通过BADWOLF API处理与数据库的通信,有关该文档的信息,请访问...
入门 git clone git@github.com:theohdv/FileExplorer.git cd FileExplorer npm i cp src/config/config.dist.js src/config/config.js // Do not forget to add the API url in the config.js file react-native ...
《flash+flex+air移动开发入门经典——适用于android、ios和blackberry》 第1章 flash、flex和air简介 1 1.1 adobe flash 1 1.2 actionscript 3.0 2 1.2.1 ecmascript 2 1.2.2 关键概念 3 1.3 flex框架 11 ...
支持一次上传多个文件支持文件和字段入门npm install react-native-fileupload --save 的iOS 在XCode中的项目导航器中,右键单击your project ➜ Add Files to [your project's name] 转到node_modules react-...
带有用于限制上传的密钥使用网络种子洪流下载文件文件到期,删除密钥,文件访问密钥和随机文件名选项屏幕截图 入门 使用Docker 创建目录files和meta然后运行chown -R 65534:65534 meta && chown -R 65534:65534 file
利用AndroidStudio自带的功能制作就行了,图片->右键->create 9-patch file。 其中要注意的是: 1、将9-patch图保存到drawable目录下才管用。 2、要将背景图片处理一下,缩放到足够小,它会自动伸缩。) 1、...
[BETA]:link:链接到突出显示和注释[BETA]:mobile_phone:跨设备:在iOS和Android上保存,查看和整理您的知识:high_voltage:快速入门。 无需注册。 从每个主要的书签服务导入:smiling_face_with_sunglasses:脱机优先。...
该存储库包含入门应用程序以及演示功能和使用模式的示例应用程序。 当我们向WebView2添加更多功能时,我们将定期更新示例。 在GettingStarted文件夹中,您将在下面找到其相应指南的入门代码: 在Sample Apps文件夹...
MD2 基于Angular2的Material Design组件,指令和服务是手风琴,自动完成,芯片(标签),折叠,Colorpicker,数据表,Datepicker,Dialog(模块),...入门 在您的项目中设置MD2 // system.config.js // ============
共享按钮(Vanilla JS) ...从此存储库下载软件包,并包括share-buttons.js和share-buttons.css(将“ font”文件夹与css文件添加到同一目录中)。 <!-- Popup Javascript file --> < scr
License根据MIT许可证发布-http: ##入门###第1步:从dist目录添加所需文件从此存储库下载该软件包,并包含needsharebutton.min.js和needsharebutton.min.css。 <!-- needPopup Javascript file -->< ...
并选择示例的根文件夹或其根 build.gradle 文件,将单个示例导入 Android Studio。 贡献 如果您想贡献自己的示例表盘,请随时 fork 存储库并提交拉取请求。 提交代码时,请务必遵循 。 另外,请继续利用,在给我们...
PA-App(Android) AW应用 HO-门户 推荐应用 服务 建置状态 121服务 PA账户服务 Tykn-SSI-服务 文献资料 121平台的文档可以在GitHub上此存储库的Wiki中找到: : 入门 设置本地开发环境: 在Windows上 安装...