文件管理 · 2023年8月19日

android保存文件files|在喜马拉雅听书上下载的音乐保存在手机哪个文件夹

❶ Android数据存储之File总结

在使用File存储App数据时,我们需要了解Android系统的存储系统。Android的存储分为内部存储和外部存储。 由于Android系统的厂商比较多,对于外部存储目录的定义有所不同,可能在根目录下的mnt,sdcard和storage下。以storage为例,打开emulated/0目录,外部存储目录就出现了。虽然可以通过多种路径打开外部存储文件,但是最终他们的路径是相同的: mnt: storage: sdcard: 外部存储目录下包含两大类:公有目录和私有目录 私有目录: 对比下来External有以下几点优点: 缺点: 内部存储与外部存储权限申请对比如下: 首先我们要获取外部存储目标文件的路径: 然后确定自己需要创建的文件名,结合上面的到的路径,创建一个File对象: Android系统默认数据清理的路径是,内部存储目录中相应的cache文件夹中的文件和外部存储中相应的cache文件夹中的文件。 你的app的internal storage 目录是以你的app的包名作为标识存放在Android文件系统的特定目录下[data/data/com.example.xx]。 从技术上讲,如果你设置文件为可读的,那么其他app就可以读取你的internal文件。然而,其他app需要知道你的包名与文件名。若是你没有设置为可读或者可写,其他app是没有办法读写的。因此只要你使用MODE_PRIVATE ,那么这些文件就不可能被其他app所访问。 另外记住一点,内部存储在你的APP卸载的时候,会一块被删除,因此,我们可以在cache目录里面放置我们的图片缓存,而且cache与files的差别在于,如果手机的内部存储空间不够了,会自行选择cache目录进行删除,因此,不要把重要的文件放在cache文件里面,可以放置在files里面,因为这个文件只有在APP被卸载的时候才会被删除。还有要注意的一点是,如果应用程序是更新操作,内部存储不会被删除,区别于被用户手动卸载。 不管你是使用 () 来存储可以共享的文件,还是使用 getExternalFilesDir() 来储存那些对于你的app来说是私有的文件,有一点很重要,那就是你要使用那些类似DIRECTORY_PICTURES 的API的常量。那些目录类型参数可以确保那些文件被系统正确的对待。例如,那些以DIRECTORY_RINGTONES 类型保存的文件就会被系统的media scanner认为是ringtone而不是音乐。 在开发中,不建议往内部存储中写太多的数据,毕竟空间有限。外部存储在使用的时候最好能够将文件存放在私有目录下,这样有利于系统维护,也避免用户的反感。 彻底理解android中的内部存储与外部存储 Android存储挖坑记 缓存文件可以放在哪里?它们各自的特点是什么

❷ android app文件目录结构

原来,只要把文件写在这里的话,可以不用动态申请权限,只要在manifest里面声明权限就ok了; 应用程序在运行的过程中如果需要向手机上保存数据,一般是把数据保存在SDcard中的。 大部分应用是直接在SDCard的根目录下创建一个文件夹,然后把数据保存在该文件夹中。 这样当该应用被卸载后,这些数据还保留在SDCard中,留下了垃圾数据。 并且在API 6.0之后,根目录文件存储是需要用户授权的,就算你在AndroidManifest.xml中配置了存储权限,用户不授权也是写不进去了。 SD卡读写权限: 如果你想让你的应用被卸载后,与该应用相关的数据也清除掉,该怎么办呢? 通过 可以得到 这个目录里面,一般放一些长时间保存的数据 方法可以获取到 SDCard/ Android /data/你的应用的包名/files/ 目录,一般放一些长时间保存的数据 通过 方法可以获取到 如果使用上面的方法,当你的应用在被用户卸载后,SDCard/Android/data/你的应用的包名/ 这个目录下的所有文件都会被删除,不会留下垃圾信息。并且 这个方法获得的文件存储路径适用于6.0以后系统,只要AndroidManifest.xml配置读写权限了,就不需要用户再授权了。 正常开发中获取存储路径的方法是: 可以看到,当SD卡存在或者SD卡不可被移除的时候,就调用getExternalCacheDir()方法来获取缓存路径,否则就调用getCacheDir()方法来获取缓存路径。前者获取到的就是 /sdcard/Android/data/<application package>/cache 这个路径,而后者获取到的是 /data/data/<application package>/cache 这个路径。 设置->应用->应用详情里面的”清除数据“与”清除缓存“选项分别对应的是data/data/<application package>/和data/data/<application package>/cache external storage (外部存储): Environment.getExternalStorageDirectory()SD根目录:/mnt/sdcard/ (6.0后写入需要用户授权) context.getExternalFilesDir(dir)路径为:/mnt/sdcard/Android/data/< package name >/files/… context.getExternalCacheDir()路径为:/mnt/sdcard//Android/data/< package name >/cache/… internal storage(内部存储): context.getFilesDir()路径是:/data/data/< package name >/files/… context.getCacheDir()路径是:/data/data/< package name >/cach/…

❸ android开发怎么存储数据

Android平台开发过程中,进行数据存储的方式有五种,一下是这五种数据存储的总结:

第一种:使用SharedPreferences存储数据

适用范围:保存少量的数据,且这些数据的格式非常简单:字符串型、基本类型的值。比如应用程序的各种配置信息(如是否打开音效、是否使用震动效果、小游戏的玩家积分等),解锁口 令密码等

核心原理:保存基于XML文件存储的key-value键值对数据,通常用来存储一些简单的配置信息。通过DDMS的File Explorer面板,展开文件浏览树,很明显SharedPreferences数据总是存储在/data/data/<package name>/shared_prefs目录下。SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过SharedPreferences.edit()获取的内部接口Editor对象实现。SharedPreferences本身是一 个接口,程序无法直接创建SharedPreferences实例,只能通过Context提供的getSharedPreferences(String name, int mode)方法来获取SharedPreferences实例,该方法中name表示要操作的xml文件名,第二个参数具体如下:

Context.MODE_PRIVATE: 指定该SharedPreferences数据只能被本应用程序读、写。

Context.MODE_WORLD_READABLE:指定该SharedPreferences数据能被其他应用程序读,但不能写。

Context.MODE_WORLD_WRITEABLE:指定该SharedPreferences数据能被其他应用程序读,写

Editor有如下主要重要方法:

SharedPreferences.Editor clear():清空SharedPreferences里所有数据

SharedPreferences.Editor putXxx(String key , xxx value):向SharedPreferences存入指定key对应的数据,其中xxx 可以是boolean,float,int等各种基本类型据

SharedPreferences.Editor remove():删除SharedPreferences中指定key对应的数据项

boolean commit():当Editor编辑完成后,使用该方法提交修改

实际案例:运行界面如下

Android sqlite3数据库管理工具

Android SDK的tools目录下提供了一个sqlite3.exe工具,这是一个简单的sqlite数据库管理工具。开发者可以方便的使用其对sqlite数据库进行命令行的操作。

程序运行生成的*.db文件一般位于"/data/data/项目名(包括所处包名)/databases/*.db",因此要对数据库文件进行操作需要先找到数据库文件:

1、进入shell 命令

adb shell

2、找到数据库文件

#cd data/data#ls –列出所有项目#cd project_name –进入所需项目名#cd databases #ls –列出现寸的数据库文件

3、进入数据库

#sqlite3 test_db –进入所需数据库

会出现类似如下字样:

SQLite version 3.6.22Enter ".help" for instructionsEnter SQL statements terminated with a ";"sqlite>

至此,可对数据库进行sql操作。

4、sqlite常用命令

>.databases –产看当前数据库>.tables –查看当前数据库中的表>.help –sqlite3帮助>.schema –各个表的生成语句

以上便是android开发存储数据的五种方法!

❹ 在喜马拉雅听书上下载的音乐保存在手机哪个文件夹

安卓系统中(华为V10为例)

内部存储位置:/Android/data/com.ximalaya.ting.android/files/download

安卓系统有个专门的文件管理,下面根专据步骤指引属,找到最终的文件放置位置。

1.首先到手机桌面菜单查找“文件管理”

❺ 安卓手机版腾讯视频缓存文件在哪里具体哪个文件夹急,怎么转到电脑上

1、在自己的手机上点一下“文件管理”,先打开那个文件夹。

拓展资料

1、Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。

2、Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。

❻ Android本地存储的几种方式

Android 提供了5种方式存储数据: –使用SharedPreferences存储数据; –文件存储数据; –SQLite数据库存储数据; –使用ContentProvider存储数据; –网络存储数据; 先说下,Preference,File, DataBase这三种方式分别对应的目录是/data/data/Package Name/Shared_Pref, /data/data/Package Name/files, /data/data/Package Name/database 。 在Android中通常使用File存储方式是用 Context.openFileOutput(String fileName, int mode)和Context.openFileInput(String fileName)。 Context.openFileOutput(String fileName, int mode)生成的文件自动存储在/data/data/Package Name/files目录下,其全路径是/data/data/Pac

❼ Android 文件存储-将数据保存在data目录下

  在平常使用Android手机的时候,我们都知道,几乎每一个app都在/data/data/<相应的包名>的文件夹下保存数据。那这些数据怎么进行保存的呢?在这里,将简单的介绍一下。   Context类中有一个openFileOutPut方法,这个方法可以将我们的数据保存在data目录下的文件里面。   openFileOutput(String name, int mode)方法中带两个参数,第一个参数是文件名,这里只能写文件的名字,不能包含路径,因为所有的数据都保存在/data/data/<应用包名>/files/目录下;第二个参数是文件的操作模式,有MDOE_PRIVATE,MODE_APPEND,MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE。   其中MODE_PRIVATE模式的是默认的操作模式,每一次写入的内容时,都会覆盖前面的内容;MODE_APPEND模式表示的是每次写入的内容追加在前面的后面;MODE_WORLD_READABLE表示的是其他应用程序可以对该文件进行写的操作;MODE_WORLD_WRITEABLE表示的是其他应用程序可以对该文件进行读的操作。不过在后面的两种模式过于危险,google已经在Android 4.2中废弃了。   openFileOutput()方法返回的是一个FileOutPutStream的对象,得到了这个对象,就可以使用Java的IO流来对文件的使用了。   点击保存过后,就会把我们的数据保存在data目录下。   如果我们想要查看的话,就可以在Android studio(我是2.3.2的版本)中找到Tools->Android->Android Device Monitor   再打开/data/data/<应用包名>/files/,发现有一个文件,就是我们之前创建的一个文件。   我们可以点击右上角的图标进行相应的导出工作,对相应的文件进行导出操作。   在Context类中,与openFileOutput方法对应的是openFileInput方法,用户从data目录读取相应的数据。这个方法相较于openFileOutput方法简单一些。 效果示意图: