首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android,保存即使在卸载应用程序后也不会删除的数据

Android 提供了多种方式来保存即使在卸载应用程序后也不会删除的数据。以下是一些常用的方法:

  1. Shared Preferences(共享首选项):适用于保存简单的键值对数据。可以使用 SharedPreferences 类来读写数据。这种方法适用于保存少量的配置信息或用户偏好设置。腾讯云相关产品:无。
  2. 内部存储:可以使用 File 类来创建和读写文件。内部存储是应用程序私有的,其他应用程序无法访问。这种方法适用于保存较大的数据文件,如用户的个人资料或应用程序的缓存数据。腾讯云相关产品:无。
  3. 外部存储:可以使用 File 类来创建和读写文件,但需要获取相应的权限。外部存储是共享的,其他应用程序可以访问。这种方法适用于保存需要与其他应用程序共享的数据,如图片、音频或视频文件。腾讯云相关产品:无。
  4. SQLite 数据库:Android 提供了 SQLite 数据库来保存结构化的数据。可以使用 SQLiteOpenHelper 类来创建和管理数据库。这种方法适用于保存大量的结构化数据,如用户的聊天记录或应用程序的日志数据。腾讯云相关产品:无。
  5. Content Providers(内容提供者):可以使用内容提供者来共享应用程序的数据给其他应用程序访问。内容提供者可以定义数据的访问权限和 URI。这种方法适用于需要与其他应用程序共享数据的场景,如联系人列表或日历事件。腾讯云相关产品:无。
  6. Firebase 实时数据库:Firebase 提供了实时数据库服务,可以在应用程序中保存和同步数据。实时数据库是一个基于 JSON 的云存储解决方案,可以实时更新数据。这种方法适用于需要实时同步数据的应用程序,如聊天应用或实时协作工具。腾讯云相关产品:云数据库 CDB for MariaDB。

以上是一些常用的保存数据的方法,具体使用哪种方法取决于数据的类型、大小和访问需求。腾讯云提供了多种云计算产品和服务,如云数据库、对象存储、云函数等,可以根据具体需求选择适合的产品。更多关于腾讯云产品的信息可以参考腾讯云官方网站:https://cloud.tencent.com/

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android教程-保存数据-保存文件

本节课描述了如何使用 File APIAndroid文件系统中读写文件. File 对象适用于用一种没有跳跃从开始一直到结尾方式读写大量数据....当用户卸载应用,系统会删除应用程序外部私有路径下所有文件 .例如,你应用下载额外资源或者临时媒体文件 ....每一个通过此方法创建路径都被添加到了一个所有你应用程序外部存储文件父路径 , 它们会在用户卸载应用时被系统删除掉 ....这种信息避免填充数据量超过一定阈值时同样有用 . 不过,系统并不能确保你可以写入同 getFreeSpace() 所获取到剩余空间大小同等量数据....); 注意: 当用户卸载应用时,Android系统会删除下面这些东西 : 所有你保存在外部存储中文件 所有你使用 getExternalFilesDir() 保存在内部存储上文件.

2.6K30

【专业技术】Android数据保存之文件保存

前言: 上一篇文章写了Android中利用SharedPreferences保存数据,SharedPreferences保存数据时候主要是保存一些应用程序设置信息或者少量用户信息,并且是以key-value...当应用被卸载时候应用保存文件会被完全清除掉; 如果你想要保存文件很安全,不会被用户和其他应用读取到,那么你可以选择内部存储这种方式。...,但是对于外部存储文件你需要分两类对待: public files: 这类文件是完全开发,对于其他应用程序或者用户都可以访问,当你应用被卸载时候这部分文件不会删除,比如你拍照程序,用户拍照片不会因为用户卸载了应用而删除照片...,还比如看视频软件,用户下载下来视频不能因为卸载删除。...在用户卸载应用时候Android系统会删除一下文件: 1、所有保存在内部存储文件; 2、所有保存在getExternalFilesDir()目录外部存储文件; 注意:你需要定期手动清理通过

2.1K60

app自动化面试题

ContentProvider内容提供者:内容提供者主要用于不同应用程序之间实现数据共享功能,它提供了一套完整机制,允许一个程序访问另一个程序中数据,同时还能保证被访问数据安全性。...只有需要在多个应用程序间共享数据时才需要内容提供者。例如:通讯录数据被多个应用程序使用,且必须存储一个内容提供者中。它好处:统一数据访问方式。...当某个应用程序进程被杀掉,所有依赖于该进程服务会停止运行(正在听音乐,然后把音乐程序退出) 5 App测试中ios和Android有哪些区别呢?...Back键反馈是否正确;应用数据从内存移动到SD卡能否正常运行等; 5.安装卸载测试:Android下载和安装平台和工具和渠道比较多,ios主要有app store,iTunes和testflight...1)直接删除安装文件夹卸载是否有提示信息。 2)测试系统直接卸载程序是否有提示信息。 3)测试卸载后文件是否全部删除所有的安装文件夹。

1.4K20

毕业设计So Easy:Java实现手机APP安全卫士

程序锁功能就是为了解决以上问题,用户不必给屏幕加密码锁,只需要给特定应用加上应用锁就可以了,只有解屏第一次进入加锁应用程序才会要求输入程序锁密码,应用解锁只要没有锁屏情况下,即使用户退出应用程序界面再次进入时不需要输入密码...为了提升程序锁运行效率,不每次都从数据库中获取最新已加锁应用程序列表,而是用两个集合来分表保存已加锁应用程序和临时不需要保护应用程序每一次收到锁屏事件时候清空临时不需要保护集合,解锁某一个应用程序时候将该应用程序加入到临时停止保护集合中...3.7、手机杀毒实现 Android系统中,每一个应用程序都有一个签名信息。通过反编译360手机安全卫士,获取离线病毒数据库,该数据库中存放了世面上已经存在病毒应用签名MD5信息。...当用户进入手机杀毒界面时,通过系统API提供包管理器获取系统中已安装应用签名MD5信息,并与离线数据库中信息对比,如果该签名信息病毒数据库中存在,则弹出对话框提示用户卸载包含病毒信息应用应用程序...3.8、系统优化实现 通过系统API提供包管理器获取每个应用程序所占存储空间,并通过ListView展示给用户,由于Google工程师为了提升Android系统安全性,没有Root权限不能删除其他应用数据信息

29130

Android 如何获取有效DeviceId

不要使用 MAC 地址 MAC 地址具有全局唯一性,无法由用户重置,恢复出厂设置不会变化。因此,一般不建议使用 MAC 地址进行任何形式用户标识。...应用签署密钥、用户和设备每个组合都具有唯一 ANDROID_ID 值。因此,相同设备上运行但具有不同签署密钥应用将不会再看到相同 Android ID(即使对于同一用户来说,也是如此)。...只要签署密钥相同(并且应用未在 OTA 之前安装到某个版本 O),ANDROID_ID 软件包卸载或重新安装时就不会发生变化。...即使系统更新导致软件包签署密钥发生变化,ANDROID_ID 不会变化。...这样就有一个问题,如果保存到应用内部存储,卸载重装一定要重新生成,这样就无法判断是同一设备了。 所以最好将其保存到外部存储,保证卸载重装还能读取到上次值。

6.3K30

Android Q 适配 之 存储新特性

Android Q 仍然使用 READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STORAGE 作为面向用户存储相关运行时权限,但现在即使获取了这些权限,访问外部存储受到了限制...等 公共目录下文件 APP 卸载不会删除。...2.2.5 应用卸载后文件意外删除 问题原因:将想要保留文件保存在外部存储 App-specific 目录下。...问题分析: Android Q 上,卸载 APP 默认删除 App-specific 目录下数据。 解决方案:APP 应该将想要保留文件通过 MediaStore 接口保存到公共目录下。...这些 APP 如果直接通过路径方式将文件保存到了外部存储上,例如外部存储根目录,那么 APP 被卸载重新安装,新 APP 获得 Filtered View 视图,无法直接通过路径访问到旧数据,导致数据丢失

98630

Android Training Note

当离开你app并且一段时间返回,不要丢失用户使用进度。 当设备发送屏幕旋转时候,不会crash或者丢失用户使用进度。...是大家都可以访问,因此你可能会失去保存在这里文件访问控制权。 当用户卸载app时,系统仅仅会删除external根目录(getExternalFilesDir())下相关文件。...(fileName); Note: 当用户卸载app时,android系统会删除以下文件: 所有保存到internal storage文件。...数据库 就像保存文件到设备internal storage 一样,Android保存db到你程序private空间上。你数据是受保护,因为那些区域默认是私有的,不可被其他程序所访问。...但是由于程序员水平及经验参差不齐,相当大一部分程序员在编写代码时候,没有对用户输入数据合法性进行判断,使应用程序存在安全隐患。

68160

Android Training Note

当离开你app并且一段时间返回,不要丢失用户使用进度。 当设备发送屏幕旋转时候,不会crash或者丢失用户使用进度。...是大家都可以访问,因此你可能会失去保存在这里文件访问控制权。 当用户卸载app时,系统仅仅会删除external根目录(getExternalFilesDir())下相关文件。...(fileName); Note: 当用户卸载app时,android系统会删除以下文件: 所有保存到internal storage文件。...数据库 就像保存文件到设备internal storage 一样,Android保存db到你程序private空间上。你数据是受保护,因为那些区域默认是私有的,不可被其他程序所访问。...但是由于程序员水平及经验参差不齐,相当大一部分程序员在编写代码时候,没有对用户输入数据合法性进行判断,使应用程序存在安全隐患。

30910

Android so热升级尝试

通过分析Android代码,这种方法最终会调用到上图中dvmSetNativeFunc等函数,将函数地址保存到虚拟机中供下次调用。...重新加载so 分析代码可得知,由于so已经使用System.loadLibrary加载过,我们之前卸载时也没有触及到JNI层,因此重复调用loadLibrary并不会重新加载so。...即使能够加载到同一地址,如果升级造成so文件变化,那函数地址也是不准确。所以要使新so工作,那我们必须要设法更新虚拟机已经保存函数指针,将其指向新加载so正确地址。...[gm2rXUV.png] 使用RegisterNatives注册即使so地址发生变化,能够更新虚拟机中记录函数地址。...3、使用NewGlobalRef分配并持有Java对象,丢失指针后会造成虚拟机Java内存泄漏。 综上所述,对于所有可能丢失,造成泄露资源,必须在卸载so前设法保存删除

1.6K00

笔记(十)——安卓存储知识

外部存储上应用私有文件价值,在于卸载之后这些文件会被删除。类似于内部存储,只是和内部储存不同是这个部分可以给用户和其他应用访问,所以才叫外部储存私有部分嘛。...内部存储和外部存储私有文件(也就是app包名下)都是属于该app,app卸载了他们也就跟着删除了。 ?...应用程序(进程)内存(RAM)一般限制16M,也有的是24M(早期Android系统G1,就是只有16M),根据开发人员定义可以扩展;进程是作为资源分配基本单位,可以创建多进程来获取系统分配更多资源内存...错误不会回收这种对象如果想中断强引用和某个对象之间关联,可以显示地将引用赋值为null,这样一来的话,JVM合适时间就会回收该对象。...因此,多个并发提交commit时候,一个commit操作会先等待正在处理commit保存到磁盘再操作,从而降低了效率。

1.2K31

Android so热升级尝试

通过分析Android代码,这种方法最终会调用到上图中dvmSetNativeFunc等函数,将函数地址保存到虚拟机中供下次调用。...发现有时候会成功,但有时候会crash。经过追踪注意到,报错函数地址和卸载前一样,但so加载地址变化了。 ? 由于dlopen加载so时,并不能保证每次都加载同一地址上。...即使能够加载到同一地址,如果升级造成so文件变化,那函数地址也是不准确。所以要使新so工作,那我们必须要设法更新虚拟机已经保存函数指针,将其指向新加载so正确地址。...即使so地址发生变化,能够更新虚拟机中记录函数地址。...3、使用NewGlobalRef分配并持有Java对象,丢失指针后会造成虚拟机Java内存泄漏。 综上所述,对于所有可能丢失,造成泄露资源,必须在卸载so前设法保存删除

1.5K20

Android 获取系统各个目录方法

Android开发过程中,我们经常会对文件系统进行操作——存放、释放我们应用数据Android系统中提供了各种功能文件目录,每个目录都有相应特点和功能。...这篇文章主要介绍和记录一下实际开发过程中常用各个文件目录。 (1)内部存储(Internal Storage) 内部存储是App私有目录,当一个应用卸载之后,内部存储中这些文件删除。...,该目录内文件设备内存不足时会优先被删除掉,所以存放在这里文件是没有任何保障,可能会随时丢掉。...,外部存储中目录实际上分为两种: -公共文件(目录) 文件是可以被自由访问,且文件数据对其他应用或者用户来说都是由 意义,当应用被卸载之后,其卸载前创建文件仍然保留。...外部存储上,应用私有文件价值在于卸载之后,这些文件会被删除。类似于内部存储。

6K10

【Flutter 实战】文件系统目录

app_flutter/dbName:使用 sqlite 默认路径,sqlite 可以指定位置。 SharePreferences 和 sqlite 是两种保存数据第三方插件。...内部存储特点: 安全性,其他应用无法访问这些数据。 当应用卸载时候,这些数据会被删除,避免垃圾文件。 不需要申请额外权限。...此目录特点: 当应用卸载时候,这些数据会被删除,避免垃圾文件。 不需要申请额外权限。 空间大且不会被系统清除,通过 设置 中 清除数据 可以清除此目录数据。...用户可以直接对文件进行删除、导入操作。 外部存储除了 Android/data/ 目录,还有和此目录同级目录,特点: 所有应用程序均可访问。 用户可以直接对文件进行删除、导入操作。...Documents:应用程序数据文件写入到这个目录下。这个目录用于存储用户数据保存应用程序重要数据文件和用户数据文件等。

2.7K10

Flutter下Android Studio配置gradle方法

注:获取文件路径中Android Studio.app中间加上\,即Android\ Studio.app否则路径无法识别 终端保存.bash_profile文件。...可能由于没有删除干净,导致配置出问题 可能原因二:关联Android Studio方式有问题,搜了很久没找到解决方法,遂弃之… 可能原因三:Flutter配置会有些不同,未找到结果。...前提是没有做过Android Studio配置,也没有老版本配置残留,否则出现其他奇特问题不是不可能。如果可以,建议清空所有Android Studio内容及相关配置,重新安装和配置。...Android Studio 终端中进行操作,打开终端,依次执行语句 卸载Android Studio应用及相关配置 rm -Rf /Applications/Android\ Studio.app...Projects rm -Rf ~/AndroidStudioProjects 删除gradle相关文件–gradle配置出问题时候尤其要注意 rm -Rf ~/.gradle 卸载所有卸载所有Android

6.3K30

Android 应用程序签名

这个数字签名由应用程序作者完成,并不需要权威数字证书签名机构认证,它只是用来让应用程序包自我认证。 3、为什么我开发Android应用程序没有做什么签名能在模拟器和手机上运行?      ...通常我们自己所开发所有应用程序,都是使用同样签名,即使用同一个数字证书,这就意味着:如果你是第一次做Android应用程序签名,上面的3个工具都将用到;但如果你已经有数字证书了,以后再给其它apk签名时...,然后选择一个存储位置保存即可。这样就得到了一个未经签名apk文件。...两个程序如果包名不一样,即使其它所有代码完全一样,不会被视为同一个程序不同版本;       2)两个程序所采用签名是否相同。...如果两个程序所采用签名不同,即使包名相同,不会被视为同一个程序不同版本,不能覆盖安装。 另外,可能有人可能会认为反正debug签名应用程序能安装使用,那也没有必要自己签名了嘛。

1.6K20

APP测试面试题汇总

安装:需考虑安装时中断、弱网、安装删除安装文件,全新安装、升级安装、第三方工具安装等情况; 卸载:需考虑第三方工具卸载、直接卸载卸,载是否删除app相关文件; 更新:分强制更新、非强制更新、增量包更新...ContentProvider内容提供者:内容提供者主要用于不同应用程序之间实现数据共享功能,它提供了一套完整机制,允许一个程序访问另一个程序中数据,同时还能保证被访问数据安全性。...只有需要在多个应用程序间共享数据时才需要内容提供者。例如:通讯录数据被多个应用程序使用,且必须存储一个内容提供者中。它好处:统一数据访问方式。...当某个应用程序进程被杀掉,所有依赖于该进程服务会停止运行(正在听音乐,然后把音乐程序退出)。 2、Activity生命周期?...此刻并不会被销毁,只是失去了与用户交互能力,其所有的状态信息及其成员变量都还在,只有系统内存紧张情况下,才有可能被系统回收掉。

1.6K31

移动端测试通用覆盖点

限制或使用本地连接 限制/允许使用手机拍照或录音 限制/允许使用手机读取用户数据 限制/允许使用手机写人用户数据 安装/卸载安全性: 能够安装设备驱动程序上找到应用程序相应图标 安装路径应能指定...数据安全性: 输人密码将不以明文形式进行显示 密码, 信用卡明细, 或其他敏感数据将不被储存在它们预输人位置上 不同应用程序密码长度必须至少4一8 个数字长度之间 当应用程序处理信用卡明细...当将敏感数据输入到应用程序时, 其不会被储存在设备中 备份应该加密, 恢复数据应考虑恢复过程异常,通讯中断等, 数据恢复再使用前应该经过校验 应用程序应考虑系统或者虚拟机器产生用户提示信息或安全警告...应用程序不能忽略系统或者虚拟机器产生用户提示信息或安全警告, 更不能在安全警告显示前,利用显示误导信息欺骗用户,应用程序不应该模拟进行安全警告误导用户 在数据删除之前,应用程序应当通知用户或者应用程序提供一个...没有用户明确许可前提下不损坏删除个人信息管理应用程序任何内容 应用程序读和写数据正确。

1.1K41

解决Android 5.1限制外置SD卡写入权限问题

Android开发者网站 “外部存储技术信息”文档中描述道 : WRITE_EXTERNAL_STORAGE只为设备上主要外部存储授予写权限,应用程序无法将数据写入二级外部存储设备,除非综合权限指定了应用程序包目录...Android 4.4中,如果你同时使用了机身存储和SD卡, 那么应用程序将无法SD卡中创建、修改、删除数据。...比如,你无法使用酷我音乐盒下载保存Mp3到外置存储卡了,也无法使用快读免费小说将TXT版小说下载保存到外置存储卡了。但是应 用程序仍然可以往主存储(机身存储)任意目录中写入数据,不受任何限制。...Google表示, 这样做目的是,,通过这种方式进行限制,系统可以应用程序卸载清除遗留文件。 破解方法其实很简单,就是添加外置存储卡写入权限。前提是手机必须Root。...然后保存退出。 3、完成上面两步重启手机,你会发现可以往外置存储卡(SD卡)创建、修改、删除数据了。

3.2K20

笔记——安卓存储知识(十)

用于存储Andoid设备操作系统和应用程序存储介质,Android设备中Android系统和应用程序(APK文件)都是存在内部存储区。例如手机/system/目录、/data/目录等。...外部存储上,应用私有文件价值在于卸载之后,这些文件会被删除。类似于内部存储,只是和内部储存不同是这个部分可以给用户和其他应用访问。所以才叫外部储存私有部分嘛。...内部存储和外部存储私有文件(也就是app包名下)都是属于该app,app卸载了他们也就跟着删除了。 ?...优秀数据库框架:GreenDao、OrmLite、Litepal等 3、android应用程序(进程)内存(RAM)一般限制16M,也有的是24M(早期Android系统G1,就是只有16M),根据开发人员定义可以扩展...如我们常定义和实例化:String a="123";只要某个对象有强引用与之关联,JVM必定不会回收这个对象,即使在内存不足情况下,JVM宁愿抛出OutOfMemory错误不会回收这种对象如果想中断强引用和某个对象之间关联

68530

互联网App应用程序测试流程及测试总结

11)卸载是否影响其他软件功能 12)卸载应该移除所有的文件 2.1.3数据安全性 1)当将密码或其他敏感数据输人到应用程序时,其不会被储存在设备中,同时密码不会被解码 2)输人密码将不以明文形式进行显示...7)当将敏感数据输人到应用程序时,其不会被储存在设备中 8)备份应该加密, 恢复数据应考虑恢复过程异常通讯中断等,数据恢复再使用前应该经过校验 9)应用程序应考虑系统或者虚拟机器产生用户提示信息或安全替告...6) 当客户端有新版本时,本地不删除客户端情况下,检查资源同名文件如图片是否能正常更新成最新版本。如果以上无法更新成功都属于缺陷。...2)当表不存在时是否能自动创建,当数据库表被删除能否再自建,数据是否还能自动从服务端中获取回来并保存。 3)在业务需要从服务端取回数据保存到客户端时候,客户端能否将数据保存到本地。...检查客户端数据不存在时,app数据能否自动从服务器端获取到并保存到客户端 5)当业务对数据进行了修改、删除,客户端和服务端是否会有相应更新。

1.6K41
领券