Android 请问如何更改android 数据库的存储路径

Android 请问如何更改android 数据库的存储路径,第1张

These files will be ones that get deleted first when the device runs low on storage There is no guarantee when these files will be deleted

但是,最好不要依赖系统来管理,应该自己设定一个最大容量,当超出这个值时自己删除。

ContextgetFilesDir(),ContextopenFileOutput(String, int),ContextgetFileStreamPath(String),ContextgetDir(String, int)

/data/data/files

Android支持在SD卡上的应用私有目录,在Froyo版本后,通过getExternalFilesDir()可以获得具体路径。该路径依赖与应用的包名,如果你包为hellofile那么SD开上的应用私有目录为\mnt\sdcard\Android\data\hellofile\files\

在使用SD卡目录时,需注意SD卡是否挂载,可通过EnvironmentgetExternalStorageState()方法进行判断,如果返回值为EnvirnmentMEDIA_MOUNTED表示SD卡处于挂载状态,可以放心使用。

getExternalCacheDir()和getCacheDir()比较

共同点:

files will be deleted when the application is uninstalled

不同点:

1、The platform does not monitor the space available in external storage, and thus will not automatically delete these files Note that you should be managing the maximum space you will use for these anyway, just like with getCacheDir()

2、External files are not always available: they will disappear if the user mounts the external storage on a computer or removes it See the APIs on Environment for information in the storage state

3、There is no security enforced with these files All applications can read and write files placed here

轻量数据!轻量数据!轻量数据!切记

android数据库是一个轻量级数据库sqlite。我以前测试过,数据量大于3000条的时候查询会有明显延迟,甚至会崩溃。

所以,一般会存储类似于用户信息,简单的log,版本信息。你可以用电脑连接android手机,然后用sqlite命令行工具访问手机里的数据库,看看主流app都存了什么。

建议使用sqlite数据库存数据。 *** 作起来很方便而且android都提供了相应的接口。

存储方式只有那么几种

sharedpreferenced,SQLiteDatabse

,文件存储

第一种只存

SharedPreferences共享偏好

只能存储一些Key/Value类似的成对的基本数据类型,所以一般用来保存配置(Settings)信息。使用简单方便;

Internal Storage内部存储空间

即设备出产前设定的储存空间,一般安装应用就安装在此。比较稳定,存储方便, *** 作简单,更加安全(因为可以控制访问权限)等优点。而它唯一的缺点就是它比较有限,比较可贵。

External Storage外部存储空间

类似SD卡以及一些扩展存储,方便用户存放更多的数据,如音乐下载,视频等。存储在外部存储卡上的数据是所有应用程序都可见,用户也可见(使用FileManager)。外部存储卡不是随时想用就能够用的,所以一定要记得在使用之前检查它的可用性。

SQLite Database数据库

是Android自带的一个小型数据库。效率出众,这是无可否认的。十分适合存储结构化数据。 方便在不同的Activity,甚至不同的应用之间传递数据。由专门的ContentProvider来帮忙管理和维护数据库

Internet网络

网络是比较不靠谱的一个,因为移动终端的网络稳定性,以及所产生的流量让人伤不起,用户更伤不起。但若是对于非常重要的实时数据,或是需要发送给远端服务器处理的,也可以考虑使用网络实时发送。

综上,

1 简单数据和配置信息,SharedPreference是首选;

2 如果SharedPreferences不够用,那么就创建一个数据库

3

结构化数据,一定要创建数据库,虽然这稍显烦锁,但是好处无穷

4

文件就是用来存储文件(也即非配置信息或结构化数据),如文本文件,二进制文件,PC文件,多媒体文件,下载的文件等等。

5 尽量不要创建文件

6

如果创建文件,如果是私密文件或是重要文件,就存储在内部存储,否则放到外部存储

7

不要收集用户数据,更不要发到网络上,虽然你们也有很多无奈。用户也无奈,也无辜,但更无助

平台为开发者准备了这么多的方式固然是一件好事,但我们要认清每一种的优点和缺点,根据实际情况选择最合适的。还有一个原则就是最简单原则,也就是说能用简单的方式处理,就不要用复杂的方式。比如存储几个数据或简单对象,用SharedPreference也能做到,何必还去写个ContentProvider呢

参考自:>

Android采用关系型数据库SQLite3,它是一个支持SQL轻量级的嵌入式数据库,在嵌入式 *** 作系统上有很广泛的应用。

SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是DRichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的 *** 作系统,同时能够跟很多程序语言相结合,比如Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。

以上就是关于Android 请问如何更改android 数据库的存储路径全部的内容,包括:Android 请问如何更改android 数据库的存储路径、android 数据库存什么数据、Android数据库存储方式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9410574.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存