我可以在 Android 设备上存储数据以在安装之间保留吗?

2023-12-27

我想以在应用程序安装之间保留少量数据的方式存储少量数据。我显然无法使用 SharedPreferences,因为它们在卸载时会被删除。有没有什么方法可以存储数据,以便在重新安装应用程序后数据仍然存在?

我想要存储的数据是一个唯一的 ID,以便在应用程序用户行为不当时阻止他们。如果我无法存储 ID,我可以访问 Google 帐户电子邮件地址以将其用作指示符吗?

这篇博文清楚地表明操作系统生成的 ID 没有任何用处,尤其是在考虑平板电脑时Android:识别应用程序安装 http://android-developers.blogspot.com/2011/03/identifying-app-installations.html


您可以将数据存储在共享首选项中并使用备份管理器 http://developer.android.com/guide/topics/data/backup.html自动备份它们。重新安装应用程序后,它们应该会恢复。

没有真正的方法可以阻止某些人使用该应用程序。您可以让所有用户创建一个帐户来使用该应用程序并阻止这些帐户,但他们始终可以重新创建帐户。您可以在 SD 卡上存储一些内容并检查它,但恶意用户可以找到它并删除它。您可以尝试让用户使用他们的谷歌帐户针对您的应用程序进行身份验证(正在使用类似的身份验证方法),但用户可以将手机重置为出厂设置并创建一个新的谷歌帐户。

您必须选择阻止用户的重要性,以及您希望因某些用户未按预期使用您的应用程序而惹恼其他用户的程度。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以在 Android 设备上存储数据以在安装之间保留吗? 的相关文章

  • 尝试在 WebView 中加载时“使用完成操作”

    我正在测试 Android 应用程序中的内置 WebView 我的问题是下面的代码 WebView webView WebView findViewById R id webView1 webView loadUrl http google
  • 使用动画更新布局

    我有一个继承自 LinearLayout 的自定义视图 它包含一个按钮 和一个编辑文本 EditText 的初始可见性设置为 GONE 什么时候 按下按钮我希望 EditText 出现动画效果 所以 我制作了一个 ScaleAnimatio
  • 有多少用户获得了更新的应用版本

    我最近将新版本的 Android 应用程序推送到了 Play 商店 并想看看有多少用户已经成功获取更新 似乎有关于 Android 版本和正在使用的设备的统计数据 但我似乎无法找到有关我的用户正在使用的应用程序版本的任何信息 Go to h
  • LazyAdapter 上的 TextView 显示错误数据

    我已经基于此成功使用 ListView 和 LazyAdapter 构建了一个应用程序link https stackoverflow com questions 541966 android how do i do a lazy load
  • 如何使用 Google App Engine 作为 Android 应用程序的后端数据库

    我实际上是 android 的初学者 需要很多帮助 我制作了一个带有嵌入式数据库的应用程序 现在想将其放在某个动态位置 具有简单的数据形式 一些地址和分支机构信息等 我实际上不知道如何使用放置在动态位置的动态服务器 我怎样才能做到这一点 请
  • 如何以编程方式检查应用程序是否在调试模式下运行?

    我必须在应用程序中的某个位置确定我的应用程序是在调试模式还是实时模式下运行 是否有任何函数或代码可用于检查 在开 关两种情况下都会返回 true false 如果是这样 请帮助我 提前致谢 从问题中尚不清楚调试模式是否指的是 应用程序是否可
  • 错误的本机调用堆栈

    我在 crashylitics 显示本机崩溃的正确调用堆栈时遇到问题 它以前可以工作 但现在调用堆栈要么没有意义 要么名称丢失 我已通过查看 crashylitics 日志文件来确保符号正在上传 那里一切看起来都很好 我进行了一次崩溃测试
  • 如何从 Android 中的 DatePicker 小部件获取日期?

    I use a DatePickerAndroid中的小部件供用户设置日期 并希望在单击确认按钮时获取日期值 我该怎么做 尝试这个 DatePicker datePicker DatePicker findViewById R id dat
  • ANDROID:膨胀类 android.support.design.widget.AppBarLayout 时出错

    我在布局中添加了一个工具栏 现在运行时出现此错误 java lang RuntimeException Unable to start activity ComponentInfo com example myapp mainactivit
  • 当选择edittext时,主题/样式不会改变

    我的注册表单中有 Edittext 当用户触摸编辑文本时 编辑文本框变为绿色 表示选择了编辑文本 我不希望这样 当用户选择任何编辑文本时 行吹编辑文本保持白色 请检查此图片以获取更多说明 https i stack imgur com sl
  • 如何在 Android Fragments 中添加操作栏选项菜单

    我想在其中有一个选项菜单安卓碎片 ActionBar选项菜单未显示在我的片段中 这是我的代码 我都有onCreateOptionsMenu and onOptionSelected 功能 我的代码没有显示任何错误 但选项菜单未显示 pack
  • 尝试使用 FileProvider(Android) 获取 URI 时出现 NullPointerException [重复]

    这个问题在这里已经有答案了 我想在单击按钮后拍照 但我越来越NullPointerException当试图得到URI with FileProvider 这是我的错误代码 Caused by java lang NullPointerExc
  • 在 Java 和 PHP 之间加密/解密字符串

    我使用 AES 加密来加密和解密服务器端的 php 和 Android 应用程序 作为客户端 之间的字符串 PHP 中的加密字符串为 HaxRKnMxT24kCJWUXaVvqDHahzurJQK sYA4lIHql U 在 Java 中是
  • Android 上的推送通知:IBM MQTT

    我对 Android 环境非常陌生 必须使用上给出的 wmqtt jar 示例应用程序来设置客户端http www 01 ibm com support docview wss http www 01 ibm com support doc
  • 手势检测器不工作

    我有以下手势监听器 public class BookListener extends SimpleOnGestureListener implements OnTouchListener private LibraryActivity m
  • unityLibrary:compileDebugJavaWithJavac

    所以当我单击 构建项目 时 它显示 零错误 但我仍然得到这个 Executing tasks clean unityLibrary assembleDebug launcher assembleDebug in project C User
  • Spotify API:INVALID_APP_ID

    我目前正在开发一个实现 Spotify API 的 Android 应用程序 我已经使用教程将我的应用程序连接到 Spotify 的所有代码 并且已经在我的应用程序上工作了一段时间了 当我在验证用户身份后通过我的应用程序播放歌曲时 它在我的
  • 为什么Android模拟器这么慢?我们怎样才能加快Android模拟器的速度呢?

    想要改进这篇文章吗 提供此问题的详细答案 包括引用和解释为什么你的答案是正确的 不够详细的答案可能会被编辑或删除 我有一个2 67GHz 赛扬处理器 以及1 21GB RAM 上x86视窗XP专业机器 我的理解是安卓模拟器在这样的机器上应该
  • java.lang.NoClassDefFoundError:com.google.ads.AdView

    我正在尝试将 admob 广告合并到我的应用程序中 到目前为止我已经添加了以下代码 在我的应用程序主要活动的 onCreate 方法中 adView new AdView this AdSize BANNER my code number
  • 在 Android 上使用 pocketsphinx 未检测到关键字

    谁能解释一下如何使用 pocketsphinx 将语音转换为文本 我试试这个 import com example speechtutor SpeechRecognizerRecorder import com example speech

随机推荐

  • 即使将“verbose”设置为“False”后,Moviepy 仍然打印进度条

    我试图在调用 write videofile 方法时抑制 moviepy 产生的控制台输出 我将冗长的论点作为 False 传递 但无济于事 它仍然输出类似的内容 0 0 1624 00 00
  • Vim 与用户输入的映射

    我想知道 Vim 是否可以创建一个映射 对于正常模式 允许用户在映射执行之前输入 我想为我最常用的 grep 命令创建快捷方式的映射 我希望该命令允许输入我正在搜索的内容 然后在输入时执行 这就是我想要的 nmap F grep user
  • 如何使用 momentjs 管理每月付款的日期?

    大家好 我已经每周和每两周实施一次 但我需要使用 momentjs 每月实施一次 以满足以下特定要求 可能的付款频率是 每周 每月 每月的同一天 例如3月5日 4月5日 5月5日 对于每月频率 如果某个行项目的开始日期在某些月份中不存在 我
  • PHP - 将 数据作为包含加载是愚蠢的吗

    这可能是一个非常愚蠢的问题 但是加载文件中标签之间的数据并通过 PHP include 加载它是愚蠢的吗 这样可以更轻松地进行编辑 谢谢 不 这不会是愚蠢的 重复代码越少越好
  • HTML 链接尾部斜杠[重复]

    这个问题在这里已经有答案了 The w3学校 http www w3schools com html html links asp文档说 如果子文件夹地址末尾没有斜杠 您可能会向服务器生成两个请求 许多服务器会自动在地址中添加尾部斜杠 然后
  • 在设计数据库时,存储多个真/假值的首选方式是什么?

    如标题中所述 在设计数据库时 处理具有多个列的表的首选方法是什么 这些列仅将真 假值存储为单个或值 例如 Y N 或 0 1 同样 不同数据库 例如 Oracle 和 SQL Server 之间是否可能出现一些问题 这些问题可能会影响列的处
  • R中二项式数据的置信区间?

    我知道我需要 Mean 和 s d 来找到间隔 但是 如果问题是 对随机抽取的 1 000 名工人进行的调查显示 其中 520 名是女性 根据调查为女性工人比例创建 95 的置信区间 我如何找到平均值和标准差 您还可以使用prop test
  • Spring MVC 控制器方法什么时候应该有@ResponseBody?

    我用 ResponseBody使用我的 Spring 控制器进行注释 但我不确定何时使用它 另外 我将我的方法命名为index我想知道这是否重要 我的方法头是 RequestMapping value addproduct method R
  • Ansible 中根据特定值对 dict 进行排序

    我在 Ansible 中将以下字典设置为变量 my users name1 value some value1 id 99 type some type1 name2 value some value2 id 55 type some ty
  • WPF 窗口未关闭

    您能告诉初学者为什么这个小型 WPF 应用程序在 WorkflowTermulated 事件触发后没有按预期关闭吗 使用的工作流程立即终止 使用 WPF 应用程序 Net Framework 3 5 public partial class
  • 在 UITabBar 顶部查看

    Similar to what the Spotify or Apple Music app does when a song is playing it places a custom view on top of the UITabBa
  • 如何使用 Xcode Storyboards 创建 Popover

    如何在 iPad Storyboard 中为 iOS 5 0 应用程序创建弹出框 Xcode 项目模板 实用程序应用程序 已经有了一个设置 但我似乎不明白 Apple 是如何让它工作的 我试图模仿它 但只出现错误 我什至查看了苹果的开发网站
  • 通过 Xaml 将代码隐藏中定义的依赖属性绑定到 UserControl 的 DataContext 中的属性

    我想使用与找到的代码类似的代码here https stackoverflow com questions 2404080 expose usercontrol property to xaml我遇到的问题是我想扩展它以允许使用 XAML
  • Spring Boot上传BootRepackage可执行Jar

    我正在使用 Spring Boot 来开发我的新项目 在我的 build gradle 文件中 我使用 bootRepackage classifier 因此我可以单独生成项目的默认 jar 和使用 Spring Boot 生成的可执行 j
  • 如何处理内存中的Excel文件?

    我正在尝试创建一个 API 它将接受来自客户端的 Excel 文件的表示形式 我希望在处理第一个工作表后返回一个 List gt 作为 JSON 数组 但是 我无法将文件写入磁盘 并且所有处理must happen 在记忆中 有哪些方法可以
  • 确定 connect-msolservice 是否已成功调用

    我正在 PowerShell 中编写 Office 365 辅助工具 并且有一个我认为是简单的问题但找不到答案 我如何判断连接是否由Connect MsolService是否存在且活跃 必须有某种方法可以知道 因为其他 cmdlet 可以检
  • 使用 AWS CLI 通过标签终止 EC2 实例上的一组

    对 AWS 不太熟悉 但是我希望通过按标签名称进行过滤来使用 AWS CLI 终止一组 ec2 实例 如果我使用describe instances I can filter按标签 键 value For terminate instanc
  • 尽管已安装但未找到 Python 模块

    我试图告诉 pandoc 使用用 python 编写的自定义 pandocfilter 我使用的是 MacBook M1 因此安装了 2 7 和自制的 3 9 7 版本的 python 由于某种原因 尽管已正确安装 但未找到 pandocf
  • 匹配一个“.”在java中[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我有下面的
  • 我可以在 Android 设备上存储数据以在安装之间保留吗?

    我想以在应用程序安装之间保留少量数据的方式存储少量数据 我显然无法使用 SharedPreferences 因为它们在卸载时会被删除 有没有什么方法可以存储数据 以便在重新安装应用程序后数据仍然存在 我想要存储的数据是一个唯一的 ID 以便