android数据和文件存储概述翻译

合集下载

android data storage

android data storage

Android平台数据存储Android的数据存储机制,以及Android的五大存储操作。

1. SharedPreferences2. 文件存储3. SQLite存储4. 网络存储5. ContentProviderPreference,File, DataBase这三种方式分别对应的目录是/data/data/Package Name/Shared_Pref, /data/data/Package Name/files, /data/data/Package Name/database 。

1. SharedPreferencesSharedPreferences主要用于存储“key-value paires”格式的数据,它是一个轻量级别的键值存储机制,只可以存储基本数据类型。

SharedPreferencesy主要是通过键盘值对来存储简单数据,我们可以通过SharedPreferencesy的putXXX方法来实现键值数据的存储,同样我们也可以使用SharedPreferencesy的getXXX方法来获取键盘值数据的内容。

那么,肯定会有人会问,我们的SharedPreferencesy保存在什么地方呢?我们存储的SharedPreferencesy是以XML文件的格式方式自动保存的,我们可以利用开发环境中DDMS在file explorer中的/data/data//shared_prefs中来查看首先说明SharedPreferences存储方式,它是Android提供的用来存储一些简单配置信息的一种机制,例如:登录用户的用户名与密码。

其采用了Map数据结构来存储数据,以键值的方式存储,可以简单的读取与写入.下面是摘录的某应用代码:SharedPreferences.Editor sharedata = getSharedPreferences("data", 0).edit();sharedata.putString("name","wangxxx");mit();2. 文件存储文件存储是通过java中的IO流来对文件进行操作,然而在android中文件是一个应用程序私有的,一个应用程序无法读写其他应用程序的文件。

安卓文件解释

安卓文件解释
31、VIE:Vignette(晕影相机)的缓存目录。
32、yd_historys:有道词典搜索历史的缓存目录
33、yd_speech:有道词典单词发音的缓存目录。
34、youmicache:删掉后还会自动生成,悠米广告的缓存目录,广告程序内嵌在其程序中。
35、Glu:Glu系列游戏的资料包存放地,如3D猎鹿人,勇猛二兄弟等。
60、apexlauncher:尖端桌面启动器文件夹,位置在andriod/data/,放置桌面设置备份bak文件。
系统数据类——系统文件存储相关文件夹
1、.android_secure:官方app2sd的产物,存储了相关的软件使用认证验证,删除之后SD卡中的软件将无法使用。
2、Android:存放重要的程序数据,比如google:map的地图缓存,误删掉后地图还需重新下载。
3、backups:包含重要的备份文件,比如联系人导出到SD卡会导入到此文件夹。
10、.thumbs:浏览或使用某一软件,以及使用某一文件夹后用于记录次数和内容的文件,随机产生,需要定期不断清除,长时间不清理会大量占用储存卡的有效空间。
11、openfeint:打开联接网络后的一个启动程序,它广泛植入移动类平台发布的软件或游戏,是更新下载或评论反馈信息的记录地址,可删除。
12、com:播放类软件在收看播放影视节目生成的文件将存放于此,可以对制作方反映回馈信息,可以删除。
13、Download(download):大写字母的是网络联接下载文件目录,小写字母的是手机自身(蓝牙,近场等)存放下载传输文件,不要误删。
系统工具类——系统自带工具相关文件夹
1、albumart:音乐专辑封面的缓存文件夹。
2、albums:相册缩略图的缓存文件夹。

简述android中的5种数据存储方式

简述android中的5种数据存储方式

简述android中的5种数据存储方式Android作为一款广泛使用的移动操作系统,其数据存储方式也日益多样化。

目前,Android中主要有5种数据存储方式,分别是Shared Preferences、SQLite数据库、文件存储、网络存储和Content Provider。

一、Shared PreferencesShared Preferences是一种轻量级的数据存储方式,适用于保存应用程序的一些配置信息和用户偏好设置等简单数据。

其本质上是一个键值对(key-value)形式的数据存储,通过SharedPreferences类进行操作。

该类提供了putXXX()和getXXX()等方法来实现对数据的读写操作。

其中,XXX代表不同类型的数据,包括Boolean、Int、Float、Long和String等。

二、SQLite数据库SQLite数据库是Android中最常用的关系型数据库之一,适用于存储结构化数据。

它提供了SQL语言来进行查询和操作数据库,并且支持事务处理。

在Android中使用SQLite数据库需要先创建一个继承自SQLiteOpenHelper类的帮助类,在该类中实现onCreate()和onUpgrade()方法来创建和升级数据库表格。

然后通过SQLiteDatabase类进行增删改查等操作。

三、文件存储文件存储是指将数据以文件形式保存在设备本地或外部存储器中。

它适用于大量非结构化或自定义格式的数据,例如图片、音频、视频等多媒体文件。

在Android中可以通过FileInputStream和FileOutputStream类来读写文件,同时也可以使用BufferedInputStream和BufferedOutputStream等类来提高读写效率。

四、网络存储网络存储是指将数据保存在远程服务器上,通过网络传输获取数据。

它适用于需要与服务器进行交互的应用程序,例如社交媒体、电子商务等应用。

Android数据存储(Data Storage)

Android数据存储(Data Storage)

Android提供几种保存持久化应用程序数据的选择。

依赖具体的需求来选择解决适合的方案,如数据应该是应用程序私有的还是共享的,以及数据所需要的存储空间等。

以下是可选择的数据存储方案:共享偏好(Shared Preferences)用键---值对的形式保存私有的原始数据。

内部存储(Internal Storage)在设备的内存上保存私有的数据。

外部存储(External Storage)在共享的外部存储器上保存公共的数据。

SQLite数据库在私有的数据库中保存结构化的数据。

网络连接(Network Connection)把数据保存在自己的互联网服务器上。

Android提供了内容提供器(content provider),能够你的私有数据公开给其他应用程序。

内容提供器是一种公开应用程序数据的读写访问权限的可选组件,这种读写访问会受到你所施加的任何限制的影响。

使用共享偏好SharedPreference类提供了一个一般性的框架,它允许用原始类型数据的键---值对的形式来保存和获取持久化的数据。

使用SharedPreference能够保存任意类型的原始类型数据:布尔型、浮点型、整数型、以及字符串。

这种数据会跨越用户的会话周期被持久化保存(即使是应用程序进程被杀死)。

有两种方法来为应用程序获取SharedPreferences对象:1.getSharedPreferences()方法---如果需要多个用名称来标识的偏好文件,就要使用这个方法,它的第一个参数要指定偏好文件的名称。

2.getPreferences()方法---如果仅需要针对Activity的一个偏好文件,就使用这个方法。

因为这个方法仅返回当前Activity的偏好文件,不需要提供偏好文件的名称。

以下是向偏好文件中写入数据的方法:1.调用edit()方法来获取一个SharedPreferences.Editor对象;2.调用诸如putBoolean()和putString()等方法来添加要保存的值;3.调用commit()方法来提交要保存的新值。

安卓手机缓存文件夹及文件名释义

安卓手机缓存文件夹及文件名释义

安卓手机缓存文件夹及文件名释义1、.android_secure 是官方app2sd的产物,删了之后装到sd卡中的软件就无法使用了。

2、.Bluetooth 顾名思义,用蓝牙之后就会有这个。

3、.mobo 顾名思义,Moboplayer的缓存文件。

4、.QQ 顾名思义,QQ的缓存文件。

5、.quickoffice 顾名思义,quickoffice的缓存文件。

6、.switchpro 顾名思义,switchprowidget(多键开关)的缓存文件。

7、.ucdlres 顾名思义,UC迅雷的缓存文件。

8、albumart 音乐专辑封面的缓存文件夹。

9、albums 相册缩略图的缓存文件夹。

10、Android 比较重要的文件夹,里面是一些程序数据,比如google map的地图缓存。

11、backups 一些备份文件,比如联系人导出到SD卡时会导入到此文件夹。

12、baidu 顾名思义,掌上百度、百度输入法之类程序的缓存文件夹。

13、bugtogo 系统出现问题的时候会形成一些报告文件,存放于此文件夹。

14、cmp 个人初步判断是音乐的缓存文件夹。

15、data 同样是缓存数据的文件夹,与Android性质类似。

16、DCIM 相机的缓存文件夹。

17、documents Documents To Go 的相关文件夹。

18、etouch 易行的缓存文件夹。

19、extracted androzip等解压缩软件默认的解压目录。

20、gameloft 顾名思义,gameloft游戏数据包存放的文件夹。

21、handcent 顾名思义handcent(超级短信)数据文件夹。

22、handyCurrency 货币汇率相关的文件夹,装了handycalc(科学计算器)之后才会有。

23、ireader 顾名思义,ireader的缓存文件夹。

24、KingReader 顾名思义,开卷有益的缓存文件夹。

25、LazyList Applanet(黑市场)的缓存目录,也许和其他程序也有关,暂时不太清楚。

安卓手机SD卡里英文名目录文件夹解释

安卓手机SD卡里英文名目录文件夹解释

13、KingReader这个是开卷有益的文件,
14、KuwoMusic这个是酷我音乐的文件夹,
15、MxBrowser这个是傲游浏览器的文件件,
16、UCDownloads这个是优势浏览器的下载文件存放地。
17、Backup这个lAPK这个是自动安装安卓软件的文件夹。
26、Glu是Glu系列游戏的资料包存放地。如3D猎鹿人等。
27、gameloft是gameloft系列游戏的资料包存放地。如地牢猎手等
28、Mstore这个是魅族商店(详细信息请看69楼)。
29、QQBrowser是QQ浏览器文件夹。
30、TTPod是天天动听的文件夹(里面四个文件夹,类似music文件夹)。
3、Camera第三个是相机照片存放的地方,拍照之后照片在此。
4、Download这个是系统自带浏览器下载东西所存放的地方。
5、LOST.DIR这个是系统产生的,好像没什么实质的意思,其实是一些缓存文件
6、Music这个是放音乐的地方。有人提到里面还有三个文件夹。我分别说一下,第一个是artist文件件,这个是艺术家的照片(解释得很生硬,呵呵),第二个是cover,封面,这个是专辑封面吧。第三个是lyric,歌词的存放地。
19、moji这个是墨迹天气的文件夹。
20、DCIM 相机文件夹;
21、uniquepic 图像编辑器;
22、albumthumbs通知铃声文件夹;
23、contacts联系人备份
24、ezPdfreader是EasyPdf阅读器产生的
25、Camera360 看名字就知道是什么产生的
31、documents这个是Office 办公套件 Documents To Go的文件夹。

Android数据与文件存储

Android数据与文件存储

步骤4. 设计列表项界面 layout_item.xml (在 layout 节点上按鼠标右键,在弹出菜单中选择“New|Android XML File” 输入文件名:layout_item.xml,按“finish”按钮)
步骤5. 设计列表项界面 layout_dialog.xml (在 layout 节点上按鼠标右键,在弹出菜单中选择“New|Android XML File” 输入文件名:layout_dialog.xml,按“finish”按钮)
写入参数值 读出参数值
参数文件名 MODE
默认值
文件操作
文件目录: /data/data/<package name>/files Context类中的文件操作方法: • openFileInput(String name)
– 打开文件,获得InputStream • openFileOutput(String name , int mode)
类型文件
(7)根据文件 后缀名决定 MIME类型
(8)处理文件 重命名
判断重命名后是 否重名?
文件重命名
显示重命名对话 框
(9)处理文件 删除
(10)处理文件 拷贝
(11)处理文件 粘贴
步骤9:在 AndroidManifest.xml中添加权限 步骤10:运行测试
读取Resources文件和Assets文件
• Resources目录下的文件: – 存放于res/raw目录 – getResources().openRawResource(R.raw.文件名)
• Assets目录下的文件 – 存放于assets目录 – getResources().getAssets().open(“文件名”) – 或者直接用文件名访问:file:///android_asset/文件名

安卓手机系统中各类英文文件夹的含义详解

安卓手机系统中各类英文文件夹的含义详解

安卓⼿机系统中各类英⽂⽂件夹的含义详解说到⼿机,不管是安卓版还是苹果版的⼿机,总是会有很多地⽅让⼈头疼,不是因为不好⽤,⽽是因为不认识,完全不知道⼲嘛⽤的。

看来使⽤⼿机,还需要将⾃⼰的英⽂学好,这样才不会导致⾃⼰的⼿机内存不够⽤和误删除⼀些重要的数据,下⾯就来为⼤家详细的介绍⼀些这个英⽂⽂件夹的含义与作⽤。

1.Android(系统数据)作⽤:存放⼀些系统数据⽂件夹。

这个⾥⾯的数据⼀边最好不要随意清理,不能删除会有提醒的。

2.Alibaba(阿⾥巴巴)作⽤:保存阿⾥巴巴⽹站的⽂件夹。

这个功能不可有可⽆,⽤不上就可以直接删掉。

3.Data(数据)作⽤:存储数据信息⽂件夹。

这⾥⾯的数据清理⼀定要注意,否则删除的数据⽆法恢复。

4.autonavi(⾼德地图)作⽤:缓存的浏览地图的数据⽂件夹。

这个⾥⾯的内容是可以清理的,⼿机完全不会受到影响。

5.backup(备份⽬录)作⽤:存放通讯录、短信或是当时其他数据⽂件备份的位置⽂件夹。

若你的⼿机中数据被损坏或是丢失,可以在这⾥到导⼊,但若是你不需要的话,那就可以删掉。

6.cache(缓存)作⽤:临时缓存⽂件夹。

⼀些软件开启后,都会⾃动缓存⽂件,所以这个⽂件夹⼀定要及时清理掉,不然时间久了就会缓存很多垃圾。

7.DCIM(相册)作⽤:存放照⽚的⽂件夹,⼀般⼿机相机拍出来的照⽚都会保存在这个⽂件夹⾥,若是你需要这些照⽚了,那就可以删除。

8.documents(⽂档)作⽤:存放⼀些在⼿机中编辑的⽂档⽂件夹。

若是这个⾥的⽂件都不需要了,那你就不需要留着了。

9.system(系统⽂件)作⽤:存放系统默认的软件⽂件夹。

这个⾥⾯的⽂件都不要轻易改动,严重可能会导致你的⼿机系统崩溃。

10.Alipay(⽀付宝)作⽤:存放⽀付宝临时⽂件的⽂件夹。

这个⽂件夹没什么太⼤⽤处,是可以删除的。

11.tencent(腾讯)作⽤:缓存QQ和微信聊天内容、图⽚和视频的⽂件夹。

这个⽂件夹要定时清理⼀下,否则很占内存的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

android数据和文件存储概述翻译Android使用的文件系统类似于其他平台上基于磁盘的文件系统。

系统提供了几个选项供您保存应用程序数据:应用程序特定存储:存储仅用于应用程序的文件,可以位于内部存储卷中的专用目录中,也可以位于外部存储中的不同专用目录中。

使用内部存储中的目录保存其他应用程序不应访问的敏感信息。

共享存储:存储应用程序打算与其他应用程序共享的文件,包括媒体、文档和其他文件。

首选项:将私有的原始数据存储在键值对中。

数据库:使用Room持久性库将结构化数据存储在私有数据库中。

另一种分类法如下:共享首选项将私有原始数据存储在键值对中。

内部存储器将私有数据存储在设备内存中。

外部存储将公共数据存储在共享的外部存储上。

SQLite数据库将结构化数据存储在专用数据库中。

网络连接使用您自己的网络服务器将数据存储在Web上下表总结了这些选项的特点:您选择的解决方案取决于您的特定需求:您的数据需要多少空间?内部存储空间有限,无法存储应用程序特定的数据。

如果需要保存大量数据,请使用其他类型的存储。

数据访问需要多可靠?如果应用程序的基本功能需要某些数据,例如应用程序启动时,请将数据放置在内部存储目录或数据库中。

存储在外部存储中的应用程序特定文件并不总是可访问的,因为某些设备允许用户删除与外部存储相对应的物理设备。

你需要存储什么样的数据?如果您有只对应用程序有意义的数据,请使用特定于应用程序的存储。

对于可共享的媒体内容,请使用共享存储,以便其他应用程序可以访问该内容。

对于结构化数据,请使用首选项(对于键值数据)或数据库(对于包含两列以上的数据)。

数据应该是你的应用的私有数据吗?当存储任何其他应用程序都无法访问的敏感数据时,请使用内部存储、首选项或数据库。

内部存储还有一个额外的好处,就是可以对用户隐藏数据。

存储位置的类别Android提供两种类型的物理存储位置:内部存储和外部存储。

在大多数设备上,内部存储比外部存储小。

但是,所有设备上都有内部存储,这使得它成为放置应用程序所依赖的数据的更可靠的地方。

可移动卷(如SD卡)作为外部存储的一部分出现在文件系统中。

Android使用路径(如/sdcard)表示这些设备。

注意:保存文件的确切位置可能因设备而异。

因此,不要使用硬编码文件路径。

默认情况下,应用程序本身存储在内部存储中。

但是,如果您的APK 大小非常大,则可以在应用程序的清单文件中指示将应用程序安装到外部存储的首选项:<manifest ...android:installLocation="preferExternal">...</manifest>对外部存储的权限和访问:Android定义了对外部存储器的读写访问权限:读外部存储器和写外部存储器。

在早期版本的Android上,应用程序需要声明这些权限才能访问外部存储上应用程序特定目录之外的任何文件。

最新版本的Android更多地依赖于文件的用途,而不是它的位置来决定应用程序访问该文件的能力。

这种基于用途的存储模式提高了用户的隐私,因为应用程序只能访问它们实际使用的设备文件系统区域。

范围存储:为了让用户更好地控制他们的文件并限制文件混乱,默认情况下,针对Android 10(API级别29)及更高版本的应用程序被授予外部存储或范围存储的范围访问权限。

此类应用程序只能访问外部存储上的特定于应用程序的目录,以及应用程序创建的特定类型的媒体。

注意:如果应用程序在运行时请求与存储相关的权限,则面向用户的对话框指示应用程序正在请求对外部存储的广泛访问,即使启用了作用域存储。

使用作用域存储,除非您的应用程序需要访问存储在特定于应用程序的目录之外和mediastoreapi可以访问的目录之外的文件。

如果将特定于应用程序的文件存储在外部存储上,则可以通过将这些文件放置在外部存储上特定于应用程序的目录中,使采用范围存储更加容易。

这样,当启用作用域存储时,应用程序将保持对这些文件的访问。

如果您的应用程序有另一个未包含在作用域存储中的用例,请提交功能请求并使用平台提供的应用程序兼容性功能。

操作文件的最佳实践本节介绍一些从应用程序打开和共享文件的一般最佳实践。

不要重复打开和关闭文件为了帮助保持应用程序的性能,请不要多次打开和关闭同一文件。

对于系统来说,第一次打开文件和读取文件是很昂贵的。

共享单个文件如果要与其他应用程序共享单个文件或应用程序数据,Android提供以下API:如果要与其他应用程序共享特定文件,请使用文件提供程序API。

如果要向其他应用程序公开数据,可以使用内容提供商。

内容提供商让您完全控制哪些读写访问可用于其他应用程序。

尽管可以将内容提供程序用于任何存储介质,但它们通常用于数据库。

查看设备上的文件要查看存储在设备上的文件,请使用Android Studio的设备文件资源管理器。

额外资源有关数据存储的更多信息,请参阅以下参考资料。

视频准备作用域存储(Android Dev Summit'19)共享存储概述对其他应用程序可以或应该访问并保存的用户数据使用共享存储,即使用户卸载了您的应用程序。

Android提供了用于存储和访问以下类型可共享数据的API:媒体内容:系统为这些类型的文件提供标准的公共目录,因此用户对其所有照片有一个公共位置,对其所有音乐和音频文件有另一个公共位置,等等。

您的应用程序可以使用平台的MediaStore API访问此内容。

文档和其他文件:系统有一个特殊的目录,用于包含其他文件类型,如PDF文档和使用EPUB格式的书籍。

您的应用程序可以使用平台的存储访问框架访问这些文件。

有关这些API的详细信息,请参阅以下指南:媒体内容文件和其他文件媒体内容从共享存储访问媒体文件为了提供更丰富的用户体验,许多应用允许用户贡献和访问外部存储卷上可用的媒体。

该框架为媒体集合提供了一个优化的索引,称为媒体存储,允许更容易地检索和更新这些媒体文件。

即使卸载了应用程序,这些文件仍保留在用户的设备上。

注意:如果你的应用使用的媒体文件只在你的应用中为用户提供价值,最好将它们存储在外部存储中特定于应用的目录中。

要与媒体存储抽象交互,请使用从应用程序上下文中检索的ContentResolver对象:String[] projection = new String[] {media-database-columns-to-retrieve};String selection = sql-where-clause-with-placeholder-variables;String[] selectionArgs = new String[] {values-of-placeholder-variables};String sortOrder = sql-order-by-clause;Cursor cursor = getApplicationContext().getContentResolver().query( MediaStore.media-type.Media.EXTERNAL_CONTENT_URI,projection,selection,selectionArgs,sortOrder);while (cursor.moveToNext()) {// Use an ID column from the projection to get// a URI representing the media item itself.}系统会自动扫描外部存储卷,并将媒体文件添加到以下定义良好的集合中图片,包括照片和截图,它们存储在DCIM/和Pictures/目录中。

系统将这些文件添加到MediaStore.图像桌子。

视频,存储在DCIM/、Movies/和Pictures/目录中。

系统将这些文件添加到MediaStore.视频桌子。

存储在Alarms/、Audiobooks/、Music/、Notifications/、Podcast/和铃声/目录中的音频文件,以及存储在Music/或Movies/目录中的音频播放列表。

系统将这些文件添加到MediaStore.音频桌子。

下载的文件,存储在Download/目录中。

在运行Android10(API级别29)及更高版本的设备上,这些文件存储在MediaStore.下载桌子。

此表在Android 9(API级别28)及更低版本上不可用。

媒体商店还包括一个名为MediaStore.Files文件. 它的内容取决于您的应用程序是否使用范围存储,该存储可用于针对Android 10或更高版本的应用程序:如果启用了作用域存储,则集合仅显示应用程序创建的照片、视频和音频文件。

如果作用域存储不可用或未使用,则集合将显示所有类型的媒体文件。

请求必要的权限在对媒体文件执行操作之前,请确保您的应用已声明访问这些文件所需的权限。

但是,请记住,你的应用不应该声明它不需要或使用的权限。

存储权限访问应用程序中媒体文件的权限模型取决于应用程序是否使用针对Android 10或更高版本的应用程序提供的作用域存储。

已启用作用域存储如果你的应用程序使用范围存储,它应该只为运行Android9(API级别28)或更低版本的设备请求与存储相关的权限。

您可以通过添加android:maxSdkVersion属性应用程序清单文件中的权限声明:<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"android:maxSdkVersion="28" />对于运行Android10或更高版本的设备,不要不必要地请求与存储相关的权限。

您的应用程序可以为定义良好的媒体集合做出贡献,包括MediaStore.下载集合,而不请求任何与存储相关的权限。

例如,如果您正在开发照相机应用程序,则不需要请求与存储相关的权限,因为您的应用程序拥有要写入媒体存储的图像。

要访问其他应用程序创建的文件,必须满足以下条件:您的应用程序已被授予读取外部存储权限。

文件位于下列定义良好的媒体集合之一:MediaStore.图像MediaStore.视频MediaStore.音频特别是,如果你的应用想要访问MediaStore.下载应用程序未创建的集合,必须使用存储访问框架。

若要了解有关如何使用此框架的详细信息,请参阅有关如何访问文档和其他文件的指南。

作用域存储不可用如果您的应用程序在运行Android 9或更低版本的设备上使用,或者如果您的应用程序正在使用存储兼容性功能,则必须请求“读取外部存储”权限才能访问媒体文件。

相关文档
最新文档