Android:将 android.net.Uri 对象保存到数据库

2024-01-12

我想做的是从用户那里获取选定的铃声,设置 AlarmManager 闹钟以在闹钟关闭时播放该铃声。但我需要将铃声保存在数据库中,以便在手机重启后重置所有警报。

我的问题是将铃声 Uri 保存到数据库以便稍后检索的最佳方法是什么?

我尝试了以下方法:

1) 将铃声标题保存在数据库中,然后检索它并将其附加到默认铃声路径中。但问题是铃声可能是从不同的位置加载的 2) 存储uri方案、方案特定部分和片段,然后调用Uri.fromParts创建Uri。 3) 从 Uri 创建一个 inputStream、byte[] 数组并将其保存为 blob,然后读回并将结果转换为 Uri

这些都不起作用。

非常感谢您的帮助。


将 URI 作为字符串存储在数据库中,然后再加载。

// This will get the uri in a string format
String s = mUri.toString();

当您从数据库检索字符串时,请像这样重建 URI:

// This will decode the string into a URI
Uri mUri = Uri.parse(s);

希望有帮助。祝你好运!

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

Android:将 android.net.Uri 对象保存到数据库 的相关文章

随机推荐

  • Ktor 中的 URL 生成器示例

    我正在使用 Ktor 客户端调用 API 但没有找到任何有关如何使用查询参数构造 URL 的示例 我想要这样的东西 protocol HTTPS host api server com path get items queryParams
  • AngularJS 访问指令模板内的 DOM 元素

    是否有一种更 有角度 的方式在指令模板中选择 DOM 元素 例如 假设您有以下指令 app directive myDirective function return template div ul li li ul div link fu
  • C# 将字符串解析为 int32 - 值太大

    我从外部接口收到一个字符串 其中包含INT32价值 该值表示 100 一个有符号整数 因此看起来像这个字符串 4294967196 如果它看起来像 100 我可以使用Int32 TryParse 将其转换为有符号值 但就我而言 它按原样解释
  • Android 联系人提供程序:如何设置主要电话号码

    添加或更新联系人以构建自定义联系人提供程序时 如何将联系人的电话号码设置为主要号码 添加和更新联系人工作正常 但我不知道如何将联系人的一个号码设置为主要号码或默认号码 mValues put Phone IS PRIMARY 1 mValu
  • gvim 中的错误 - 到哪里报告? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我最近在 LaTeX 的 gvim 即 vim 的 gui 语法突出显示中遇到了一个错误 它可以在多个平台上重现 debian ubuntu 中的 v
  • 无法捕获的 ChuckNorrisException

    是否可以构造一段代码Java http en wikipedia org wiki Java 28programming language 29这将产生一个假设java lang ChuckNorrisException无法捕捉 想到的想法
  • Ruby on Rails - 捆绑包安装期间出错

    我一直在下面搜索这个错误 但无法解决这个错误 Gem Ext BuildError ERROR Failed to build gem native extension usr bin ruby2 1 extconf rb mkmf rb
  • 使用 mina 部署子目录

    有没有办法通过 Mina 部署 repo 的子目录 我见过人们使用自定义部署策略通过 Capistrano 来实现这一点 我希望能够通过 Mina 来实现这一点 请查看这个回购协议 https github com thopham mina
  • chrome.tabs.executeScript 抛出错误“运行 tabs.executeScript 时未检查runtime.lastError:无法访问 url 的内容...”

    所以我试图在background js 中执行来自外部源 例如www script google com 的脚本 但我收到这个错误 Unchecked runtime lastError while running tabs execute
  • 返回对向量成员变量的引用

    我有一个向量作为类中的成员 我想通过 getVector 函数返回对它的引用 以便以后能够修改它 将函数 getVector 练习为 const 不是更好吗 但是 我在以下代码中收到错误 限定符在类型的绑定引用中被删除 应该修改什么 cla
  • 填充 CSV 文件中的空白

    我有一个 CSV 文件 其中某些列为空 例如 oski14 safe 0 13 53 4 oski15 Unknow 0 oski16 Unknow 0 oski17 Unknow 0 oski18 unsafe 0 55 1 2 oski
  • codeigniter php 有论坛吗? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有基于codeigniter的论坛软件 免费还是商业 我自己还没有尝试过其中任何一个 但我听说过非常
  • Java 中的 SQLite 连接池 - 锁定数据库

    我已经阅读了一些有关多线程环境中 SQLite 的相关主题 但我找不到明确的说法 所以请原谅我再次提出这个主题 我需要从多个线程访问应用程序的数据库以执行更新语句 数据库本身可以是 SQLite 或 MySQL 具体取决于用户的选择 对于
  • Nestjs 的 Swagger Codegen

    我已经使用 Swaggerhub 创建了 api 端点 并成功导出以与 asp net core 一起运行 我想用 Nestjs 测试相同的 api 但我发现用 openapi 进行记录 但反之则不然 将 yaml 转换为 Nodejs 有
  • Grails 日期绑定

    在 Grails 中 可以在控制器中 bindData Book b new Book bindData b params 如果我有一个来自用户输入的具有特定格式 例如 yyyy MM dd 的日期字段怎么办 在Spring中 我们可以使用
  • 如果未找到 Wi-Fi AP,则不会调用 NetworkCallback 的 onUnavailable() 方法

    我正在尝试将我的智能手机连接到 IOT 设备制作的 AP 我将connectivitymanager requestNetwork 与NetworkCallback 一起使用 一切正常 直到我关闭我的AP 并且显然requestNetwor
  • 文件错误(文件,“rt”):无法打开连接[重复]

    这个问题在这里已经有答案了 我是 R 新手 在广泛研究此错误后 我仍然无法找到解决方案 这是代码 我检查了我的工作目录 并确保文件位于正确的目录中 欣赏它 谢谢 pollutantmean lt function directory pol
  • 在选项卡内切换选项卡

    MainActivity java public class MainActivity extends FragmentActivity Fragment TabHost as mTabHost private FragmentTabHos
  • 从一个领域异步复制到另一个领域

    据我了解 Realm只能 应该从主线程访问 我使用两个领域 一个用于存储 脏 数据 这些数据在验证后将被移动到真实领域 到目前为止一切顺利 但我找不到在主线程之外执行此操作的方法 如果我使用写入真实领域realm executeTransa
  • Android:将 android.net.Uri 对象保存到数据库

    我想做的是从用户那里获取选定的铃声 设置 AlarmManager 闹钟以在闹钟关闭时播放该铃声 但我需要将铃声保存在数据库中 以便在手机重启后重置所有警报 我的问题是将铃声 Uri 保存到数据库以便稍后检索的最佳方法是什么 我尝试了以下方