Android19之移动存储(内部存储)

本文详细介绍了Android手机内部存储的特点,包括私有数据存储、文件操作模式,如`Context.openFileOutput()`和`Context.openFileInput()`的使用,以及`getCacheDir()`和`getFilesDir()`方法的功能。通过实例展示了如何向内部存储写入和读取数据,帮助开发者掌握Android内部存储的管理技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

         由一张图可知移动存储的大概。
图片


重点是介绍手机内部存储。
                一、手机内部存储的特点:
图片
1、存放本应用中的私有数据       
2、当应用卸载时,/data/data/《包名》/... 这个目录会同步被删除,即手机内部存储的文件会被删除       
3、存放位置:data/data/《包名》/files/...    
            
            二、关注点:
1、Context.openFileOutput(String name, int mode):写数据到文件
            作用:打开一个文件,返回一个FileOutputStream
                        -name:文件名,有则打开,无则创建
                        -mode:文件的操作模式:两种 1、Context.MODE_PRIVATE :MOREN 默认模式 ,私有模式,覆盖模式     2、Context.MODE_APPEND:追加模式,私有模式
                        -文件的存储的位置:data/data/<包名>/files  存放的是私有数据
                        -return:FileOutputStream

2、 Context.openFileInput(String name) 从手机内部存储中读取文件
         - 作用:从手机内部存储中读取文件
         - name :文件名
         - FileInputStream

3、 context.getCacheDir()    方法用于获取/data/data/<package name>/cache目录
         - 返回的是File对象  (文件夹)

4、context.getFilesDir()     方法用于获取/data/data/<package name>/files目录、、
          - 返回的是File对象  (文件夹)

实例:向内存存储数据和从内存提取数据
效果图如下:输入文件名,文件体,点击写入内存,
    图片
           实现代码:
    //写内存,写数据到手机内部存储中
    public void writeToPhone(View v){
        //trim():将字符串的前后空白字段切除。
        //mFilenameEdt:定义的全局变量。代表文件名的EditText   mBodyEdt:代表文件提的EditText
        String filename = mFilenameEdt.getText().toString().trim();
        String body = mBodyEdt.getText().toString().trim();
       
        try {
            /**
             * Context.MODE_APPEND:追加模式,私有模式
             * Context.MODE_APRIVATE:默认模式(覆盖模式,私有模式)
             */
            FileOutputStream fos = context.openFileOutput(filename, Context.MODE_APPEND);
            fos.write(body.getBytes());
            fos.close();
            Toast.makeText(context, "写数据到手机内部存储成功", 0).show();
        } catch (Exception e) {
            e.printStackTrace();
        }
       
    }
图片
输入文件名,就能从相对应的文件名中提取出数据

图片

图片



从内存中提取数据有两种方式,如上所示,利用缓冲流或者直接用字节输入流。


总结:学会了如何将数据存储内存中和从内存中提取数据。并且复习了IO流的有关知识。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值