android应用的数据应该保存到哪儿

做android app开发会涉及到不同数据的保存,比如数据缓存,客户登陆信息保存,客户状态的保存等等。

那针对这不同的数据我们应该保存在什么地方呢?

1、应用卸载也不会删除的数据

直接在sdCard根目录创建一个文件夹,保存数据。

优点:保存时间长,应用卸载也不会被删除。缺点:任何人都可以访问这个目录。

2、跟随应用的存在而存在的数据

Context.getExternalFilesDir()方法可以获取到 SDCard/Android/data/你的应用的包名/files/

以上这个目录会随着应用卸载而删除,这个目录对应android手机 设置->应用->应用详情里面的”清除数据   这个选项,用户点击这个时,这个目录数据就会被删除。

Context.getFilesDir()可以获取到"/data/data/<package name>/files" 这种方法获取到的是应用的安装目录下的files目录。

3、应用的缓存目录  系统会自动定时清理,

Context.getExternalCacheDir()方法可以获取到 SDCard/Android/data/你的应用包名/cache/

以上这个目录是 Sd卡的缓存目录,可存放临时缓存数据  这个目录对应 设置->应用->应用详情里面的”清除缓存,用户点击这个选项时会清除这个目录下的数据

Context.getCacheDir可以获取到"/data/data/<package name>/cache"   应用安装目录的缓存目录

以上这个文件里面的数据在设备内存不足的时候,会被系统删除数据。注意:你不能依赖系统帮你删除这些文件,当这个文件夹里面的数据超过1MB的时候,系统会删除这个文件夹里面的数据

http://blog.csdn.net/yihui823/article/details/6722456

时间: 2024-08-01 11:21:29

android应用的数据应该保存到哪儿的相关文章

Android开发学习---android下的数据持久化,保存数据到rom文件,android_data目录下文件访问的权限控制

一.需求 做一个类似QQ登录似的app,将数据写到ROM文件里,并对数据进行回显. 二.截图 登录界面: 文件浏览器,查看文件的保存路径:/data/data/com.amos.datasave/files/LoginTest.txt------/data/data/(包名)/files/(文件名) 导出的文件内容: 三.实现代码 新建一个Android 工程.这里我选择的是2.1即API 7,进行开发的,其它都是默认下一步下一步即可. /datasave/res/layout/activity

Android处理运行时变更保存数据状态恢复Activity

一.概述 运行时变更就是设备在运行时发生变化(例如屏幕旋转.键盘可用性及语言).发生这些变化,Android会重启Activity,这时就需要保存activity的状态及与activity相关的任务,以便恢复activity的状态. 为此,google提供了三种解决方案: 对于少量数据: 通过onSaveInstanceState(),保存有关应用状态的数据. 然后在 onCreate() 或 onRestoreInstanceState() 期间恢复 Activity 状态. 对于大量数据:用

Android native CursorWindow数据保存原理

我们通过Uri查询数据库所得到的数据集,保存在native层的CursorWindow中.CursorWindow的实质是共享内存的抽象,以实现跨进程数据共享.共享内存所采用的实现方式是文件映射. 在ContentProvider端透过SQLiteDatabase的封装查询到的数据集保存在CursorWindow所指向的共享内存中,然后通过Binder把这片共享内存传递到ContentResolver端,即查询端.这样客户就可以通过Cursor来访问这块共享内存中的数据集了. 那么CursorW

Android中突发情况Activity数据的保存和恢复

Android中突发情况Activity数据的保存和恢复 写在前面:在我们的APP使用的过程中,总有可能出现各种手滑.被压在后台.甚至突然被杀死的情况.所以对APP中一些临时数据或关键持久型数据,就需要我们使用正确的方式进行保存或恢复. 突发情况都有哪些? 因为本文讨论的是当一些突发情况的出现时,对数据的保存和恢复.所以现在总结一下突发情况应该都有哪些? 点击back键 点击锁屏键 点击home键 其他APP进入前台 启动了另一个Activity 屏幕方向旋转 APP被Kill 当这些突发情况发

Android Studio 之 数据存活【2】,返回桌面切换回来,内容还保存着

使用ViewMode SavedState来使得ViewModel在系统杀死后台进程的时候得以存活. 本集使用到的库,需要在gradle中添加: implementation 'androidx.lifecycle:lifecycle-viewmodel-savedstate:1.0.0-alpha01' 方法1:只用 savedInstanceState package com.example.viewmodelrestore; import android.os.Bundle; import

Android Studio 之 SharedPrefences 数据持久性保存

SharedPreferences 会在应用包目录中生成一个xml文件,将数据保存在里面 可以实现数据持久性保存. 创建的数据,保存在 Data -> Data -> 包名 -> shared_prefs 文件夹中 实例化接口的时候: 1. 不指定文件名,直接保存在 MainActivity.xml 文件中 SharedPreferences shp = getPreferences(Context.MODE_PRIVATE); SharedPreferences.Editor edit

[Android] 拍照、截图、保存并显示在ImageView控件中

最近在做Android的项目,其中部分涉及到图像处理的内容.这里先讲述如何调用Camera应用程序进行拍照,并截图和保存显示在ImageView控件中以及遇到的困难和解决方法. PS:作者购买了本<Android第一行代码 著:郭霖>,参照里面的内容完成(推荐该书,前面的布局及应用非常不错).网上这类资料非常多,作者仅仅分享给初学者同时在线记录些内容,希望对大家有所帮助. 首先,设置activity_main.xml为LinearLayout布局且 android:orientation=&q

Android Learning:数据存储方案归纳与总结

前言 最近在学习<第一行android代码>和<疯狂android讲义>,我的感触是Android应用的本质其实就是数据的处理,包括数据的接收,存储,处理以及显示,我想针对这几环分别写一篇博客,记得我的学习心得,也希望跟各位新手同学相互努力促进.今天这篇博客,我想介绍一下数据的存储,因为数据的接收,存储,处理以及显示这几环环环相扣,而数据的存储直接关系到数据的处理和显示,所以显得尤为重要. 所以本文针对数据存储的常见方案和其使用进行了归纳.分为程序内存储和程序间数据访问,程序内存储

安卓实训第十天:利用SharedPreferences来实现数据的保存和读取,以及实现手机电话备份,XMLserializer

一.利用SharedPreferences来实现数据的保存和读取: 1.Mainactivity: package com.example.sharedpreferencesdemo; import com.example.sharedpreferencesdemo.util.SharedPreferencesUtil; import android.app.Activity; import android.app.AlertDialog; import android.content.Cont