一、把文件存储到该应用下
在我们实际的开发中,很多的时候都需要对数据进行存储和读写,下面是我们常用的保存文件和读取文件的方法:
1、首先我们准备这样的一个布局()
1、Xml文件的代码为:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity"
android:layout_margin="10dp" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/text_name"/>
<EditText
android:id="@+id/file_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:singleLine="true"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/file_context"/>
<EditText
android:id="@+id/file_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minLines="3"/>
<Button
android:id="@+id/save"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/save_btn"/>
<EditText
android:id="@+id/file_name1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="请输入需要读取的文件名"
/>
<Button
android:id="@+id/read"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="读取文件"/>
<EditText
android:id="@+id/file_con"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minLines="3"
/>
</LinearLayout>
2、在java代码中把各个控件找到:
3、在按钮监听中对数据进行存储到文件当中
a、获取文件用户输入框里的文件名和需要存储的内容
b、创建一个保存数据的对象
c、调用保存数据对象类中保存文件的方法
4、在新建的SaveService类中创建保存数据的方法
这里有一个地方需要注意的是(图中用红笔标出的参数)
a、Context.MODE_PRIVATE 为系统的默认操作模式,表示文件只能被应用本身所使用,别的应用不能使用;在该模式下新写入的内容会会覆盖旧的内容,因此需要把新写入的内容追加到到原文件当中不能用这个方法。
b、Context.MODE_APPEND 这中方法就是专门为上一种方法存在的缺点而生的,该模式会检验文件是不是存在,如果文件存在则往文件追加新写入的内容,如果文件不存在,则创建新文件
c、Context.MODE_WORLD_READABLE 这种操作模式表示文件能够被其他应读取
d、Context.MODE_WORLD_WRITEABLE 这种操作模式表示文件能被其他应用写入
我们可以根据我们项目的实际需求选取响应操作模式。
5、文件保存到的地方
然后再第二个data下面找到你项目所对应的包名就能找到你所存储的数据了
这样就能轻松地把数据存储到文件当中了
上面介绍了数据存储的方法,有存储就肯定也有数据的读取
数据的读取也是很简单:
1、在activity那边的代码为:
2、在SaveService中的读取文件的方法为:
文件的读取需要一点小小的技巧,我们读出来的是直接用文件输入流读出来的是字节数组,这样我们可以借助io包里面的内存流来进行对数据的暂时保存,然后再从内存流中吧数据取出来,具体代码如上图。
二、把文件存储到SDcard
上面我们介绍了了其中一种把数据存储到应用当中去,但这种存储的方式是存在一定的局限性,当我们需要存储的文件比较大(比如:视频)的时候就不能采用上面的这一种存储方式了,但我们可以把文件存储到SDcard当中。那么又是如何把文件存储到SDcard当中的呢?下面我分享一下:
步骤一:在activity中的代码
步骤二:在SaveService 类中的把数据存储到SDcard中的文件当中的方法为
这里有个小的细节就是我对文件目录书写的技巧,我们可以直接把SDcard的路径写上,如:”/mnt/sdcard”,但这样的写法随着版本的更新可能会导致版本兼容的问题,所以一般不采用这种方法,而是直接用Environment提供的getExternalStorageDirectory()方法来获得sdcard的目录。
步骤三:添加权限,因为这些方法已经涉及到文件的读写,所以要添加一些权限,权限的具体意义看下图的注释
这样把上面的三个步骤完成就能把数据写入到sdcard当中去了。
那么我们储存的文件是在哪里呢?
- 大小: 14.8 KB
- 大小: 22.5 KB
- 大小: 31.1 KB
- 大小: 39.2 KB
- 大小: 19.6 KB
- 大小: 45.8 KB
- 大小: 19.9 KB
- 大小: 19 KB
- 大小: 33.9 KB
- 大小: 35.1 KB
- 大小: 31 KB
- 大小: 13.8 KB
- 大小: 58.5 KB
分享到:
相关推荐
android 文件存储
android 介绍使用文件如何对数据进行存储
android 文件存储实例源代码,根据我的博客文章写的。可以去我的博客上看看。
android文件存储工具类及相关笔记,详情请查看博客http://blog.csdn.net/u012702547/article/details/50269639
Android不需要文件存储权限将文件保存至手机,Android不需要文件存储权限将文件保存至手机
sklad一个Android文件存储库,加密和流媒体支持
Android文件存储方式之openFileOutput与获取数据 ,更多请查看博客:http://blog.csdn.net/xiayiye5/article/details/79613896
Android文件存储方式之openFileOutput与获取数据 ,更多请查看博客:http://blog.csdn.net/xiayiye5/article/details/79613896
Android文件存储
要理解Android的文件存储,首先要明白Android是如何用什么方式获取和存入数据的。Android的文件操作都是通过流的方式进行的,即IO。Android的文件操作跟Java是一样的,文件操作分为输入流(InputStream)和输出流...
数据存储与访问之——文件存储读写
http://blog.csdn.net/charein/article/details/12676805 文章的工程文件,导入eclipse即可。
下面通过本文给大家介绍Android文件存储数据方式。 1.文件存储数据使用了Java中的IO操作来进行文件的保存和读取,只不过Android在Context类中封装好了输入流和输出流的获取方法。 创建的存储文件保存在/data/data/...
名字为FilePersistenceTest的项目,android studio打开即用
Android本地数据存储中的文件存储,写入,重写和删除Android中.txt格式的文件
2.掌握各种文件存储的区别与适用情况; 3.了解SQLite数据库的特点和体系结构; 4.掌握SQLite数据库的建立和操作方法; 5.理解ContentProvider的用途和原理; 6.掌握ContentProvider的创建与使用方法。 源码和整个...
Android 3种数据保存(SharedPreferences存储 内部文件存储 数据库存储),如项目包有问题请联系我谢谢