`
Lirongheng
  • 浏览: 5120 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Android文件的存储

阅读更多

一、把文件存储到该应用下
在我们实际的开发中,很多的时候都需要对数据进行存储和读写,下面是我们常用的保存文件和读取文件的方法:
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文件存储源码及笔记

    在Android系统中,文件存储是应用开发中必不可少的一部分。它涉及到如何有效地管理应用程序的数据,包括保存用户设置、缓存文件、数据库记录等。本资源"android文件存储源码及笔记"提供了一个名为`SDCardHelper`的...

    安卓文件储存访问

    本主题将深入探讨安卓文件存储读写的各个方面,包括本地存储的选择、权限管理、文件操作API以及最佳实践。 1. **存储区域选择** 安卓提供了多种存储方式,包括内部存储、外部存储(SD卡)和外部存储公共目录。内部...

    Android案例:备忘录。利用数据存储的文件内部存储

    - Android提供了多种数据存储方式,如SharedPreferences、SQLite数据库、文件存储、ContentProvider以及网络存储等。在这个案例中,我们主要关注的是文件内部存储,适合于存储小量的非结构化数据。 2. **文件内部...

    android文件存储

    在Android应用开发中,文件存储是一种常见的数据持久化方法,尤其适用于存储小量的数据,例如登录凭证、配置信息等。这种存储方式简单易用,且适用于不需频繁读写的场景。下面将详细介绍Android中的文件存储机制及其...

    Android本地数据存储之文件存储读写

    本文将深入探讨Android系统中的文件存储机制,包括如何读取、写入、重写和删除.txt格式的文件。理解这些知识点对于任何Android开发者来说都极其必要。 一、Android文件存储基础 Android提供了多种本地数据存储方式...

    安卓学习FilePersistence实现安卓文件存储和文件读取

    首先,我们要理解Android的文件存储机制。Android提供了多种存储方式,包括内部存储、外部存储、SQLite数据库和SharedPreferences。在`FilePersistenceTest`项目中,我们将重点探讨内部存储和外部存储的使用。 1. *...

    Android-sklad一个Android文件存储库加密和流媒体支持

    **Android-sklad:Android文件存储库加密与流媒体支持** `Android-sklad` 是一个专门为Android平台设计的文件存储库,它提供了强大的文件管理功能,包括加密和流媒体支持。这个开源库旨在帮助开发者更高效、安全地...

    安卓学习SharedPreferences实现安卓文件存储

    在这个名为"FilePersistenceTest"的项目中,我们将探讨如何使用SharedPreferences来实现安卓文件存储。 SharedPreferences的工作原理是基于XML文件,这些文件存储在设备的内部存储区域,通常是`/data/data/包名/...

    Android文件存储

    在Android系统中,文件存储是应用程序管理数据的重要方式之一。Android提供了多种文件存储机制,以满足不同场景下数据持久化的需要。以下是对Android文件存储的详细解析: 1. **内部存储** - 内部存储是Android...

    Android不需要文件存储权限将文件保存至手机

    在Android系统中,传统的文件存储方式通常需要应用获取相应的文件读写权限,以便在外部存储(如SD卡)上保存和访问数据。然而,随着Android系统的更新,特别是自Android 6.0(Marshmallow)引入运行时权限管理以来,...

    Android 3种数据保存(SharedPreferences存储 内部文件存储 数据库存储)

    本教程将详细介绍Android中的三种主要数据存储方式:SharedPreferences存储、内部文件存储以及数据库存储。 1. SharedPreferences存储 SharedPreferences是Android提供的一种轻量级的数据存储方式,用于保存应用...

    android安卓文件管理器

    本文将深入探讨Android安卓文件管理器的相关知识点,包括其功能、操作方式以及如何优化文件管理体验。 1. 文件管理器的基本功能: - 浏览:文件管理器可以浏览设备内部存储、外部SD卡(如果支持)、下载目录以及...

    Android的文件存储

    要理解Android的文件存储,首先要明白Android是如何用什么方式获取和存入数据的。Android的文件操作都是通过流的方式进行的,即IO。Android的文件操作跟Java是一样的,文件操作分为输入流(InputStream)和输出流...

    Android 文件创建 存储 源码

    压缩包中的`FileStorage`可能包含用于演示或分析Android文件存储的代码。这个文件可能涵盖如何创建、读取、写入和管理Android设备上的文件,以及如何处理存储权限的示例。 通过理解这些概念和实践,开发者可以更好...

    Android存储字符串数据到txt文件

    "Android存储字符串数据到txt文件" Android存储字符串数据到txt文件是Android开发中的一种常见需求,对于大多数开发者来说,存储字符串数据到txt文件是一种非常有用的功能。今天,我们将详细介绍如何在Android中...

    android文件系统浏览器

    其中,SDCard是Android设备用于扩展存储空间的外部存储区域,通常用来存放用户数据和应用文件。 Android文件系统浏览器的首要任务是提供一个图形化的界面,使用户能够查看和管理SDCard上的文件和文件夹。这包括浏览...

    Android文件内部存储和SDCard存储

    在Android系统中,文件存储是应用开发中必不可少的一部分。Android为开发者提供了多种文件存储方式,以适应不同的需求,包括内部存储和外部存储(通常指SDCard)。这两种存储方式各有特点,适用场景不同,下面我们将...

Global site tag (gtag.js) - Google Analytics