Android 数据存储之内部存储 外部存储

本文介绍了Android设备中的内部和外部存储。内部存储包括/data目录,其中getFilesDir()用于获取应用的files目录,getCacheDir()用于获取缓存文件路径。当应用卸载时,内部存储的数据会被删除。外部存储如SD卡,需要权限读写,通过Environment.getExternalStorageDirectory()获取路径,并通过Environment.getExternalStorageState()检查状态。文件可用空间可使用filename.getFreeSpace()获取。

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

安卓设备中的存储分为两部分:内部存储和外部存储。
手机系统自带的内部存储,相当于windows电脑的系统盘;外部存储,例如sd卡,相当于电脑的外置存储设备。

内部存储

默认只能被应用访问到,且一个应用所创建的所有文件都在这个应用包名相同的目录下。当应用被卸载后,它的内部存储中的这些文件也被删除。内部存储空间十分有限,应尽量避免使用。SharedPreference也是属于内部存储。

  1. 获取内部存储的根路径/data
    Environment.getDataDirectory()

  2. 获取应用在内部存储中的files目录/data/user/0/包名/files
    用于保存文件。可用代码清除,也可通过手机设置里的相应应用列表的选项(清除数据clear data)进行清理。
    getFilesDir()

  3. 获取应用在内部存储中的缓存文件存储路径cache目录/data/user/0/包名/cache
    用于保存缓存文件。该目录下的文件,会由系统根据存储情况进行清理。
    getCacheDir()

  4. SharedPreference的使用参考SharedPreference的使用

getFilesDir():保存数据到/data/data/files

    //    保存用户信息到应用数据
    private void saveUserInfo() {
   
        Log.d(TAG, "saveUserInfo: 保存用户信息...");
        String account = mEt_account.getText().toString();
        String password = mEt_password.getText().toString();

        File fileDir1 = this.getFilesDir();
        File saveFile = new File(fileDir1, "info.txt")<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值