替换 Android 中 Uri.Builder 中的查询参数?

2024-01-04

我传递一个 Uri.Builder 对象作为子类的机制,以便在执行之前将任何必要的参数填充到 Uri 中Android.

问题是,基类添加的参数之一使用builder.appendQueryParameter("q",searchPhrase);需要在子类中替换,但是我只能找到appendQueryParameter(),没有替换或设置方法。appendQueryParameter()使用相同的参数名称添加该参数的另一个实例,但不会替换它。

我应该放弃并尝试其他方法吗?或者有没有办法替换我还没有找到的查询参数?


由于没有内置方法,我发现最好的方法是构建一个新的 Uri。您迭代旧 Uri 的所有查询参数,然后用新值替换所需的键。

private static Uri replaceUriParameter(Uri uri, String key, String newValue) {
    final Set<String> params = uri.getQueryParameterNames();
    final Uri.Builder newUri = uri.buildUpon().clearQuery();
    for (String param : params) {
        newUri.appendQueryParameter(param, 
            param.equals(key) ? newValue : uri.getQueryParameter(param));
    }

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

替换 Android 中 Uri.Builder 中的查询参数? 的相关文章

  • Android - 保存动态更改布局的状态

    我有一个布局 用户可以在其中添加按钮并将其放置在他们想要的位置 我想允许用户保存他们的布局 以便下次打开应用程序时加载它 有谁知道我是否可以将文件保存到 SD 卡上 或者 我可以使用某种layout getXml 方法并将其放入我的应用程序
  • Firebase 管理 SDK Android

    在 Android 中初始化 Firebase Admin SDK 的代码 Override protected void onCreate Bundle savedInstanceState super onCreate savedIns
  • Android - 如何一次只允许播放一个 MediaPlayer 实例?

    我正在尝试创建一个简单的 Sound board Android 应用程序 使用 ListView 项目作为按钮 顺便说一句 我是一个新手程序员 我的想法是 我按下一个按钮 就会播放一个特定的声音文件 如果我在播放声音时按下任何按钮 它应该
  • Android 应用程序在后台运行时保存数据

    目前我正在开发 xmmp 客户端 当应用程序位于前台时 该客户端工作得很好 但由于事实上 当应用程序处于后台时 我在 Application 类中保存了大量数据 复杂的 ArrayList 字符串和布尔值作为公共静态 每个字段都被垃圾收集
  • 导航组件重复 NavArgs 的问题

    我有一个片段 class SomeFragment private val args by navArgs
  • 与 Admob 广告单元 ID 混淆

    我跟着tutorial https developers google com admob android quick start在我的应用程序中创建广告横幅 到目前为止 这有效 我可以看到测试广告 但是 本教程指示我在两个不同的位置使用两
  • 如何更新 Firebase 中的节点密钥?

    如何重命名14 04 2017 node 没有用于重命名节点的 API 您必须获取节点的值 使用新名称将其保存到数据库并删除旧节点
  • 如何将安卓手机从睡眠状态唤醒?

    如何以编程方式将 Android 手机从睡眠状态唤醒 挂起至内存 我不想获取任何唤醒锁 这意味着手机在禁用 CPU 的情况下进入 真正的 睡眠状态 我想我可以使用某种RTC 实时时钟 机制 有人有例子吗 Thanks 为了让Activity
  • 为什么将函数参数声明为最终的?

    我目前正在阅读 Sams 出版的 24 小时自学 Android 应用程序开发 一书 我对 Java Android 或其他方面还比较陌生 我对 ActionScript 3 有非常扎实的背景 它与 Java 有足够的相似之处 因此该语言本
  • 接近语法错误(代码1)插入Android SQLite

    我正在创建一个通讯录应用程序 用户可以在其中输入姓名 电子邮件地址和号码 我希望将此数据保存在数据库中 但我似乎无法使插入方法起作用 我收到的错误是 android database sqlite SQLiteException near
  • 如果我们使用后退按钮退出,为什么 Android 应用程序会重新启动?

    按住主页按钮并返回应用程序时 应用程序不会重新启动 为什么使用后退按钮会重新启动 如果我们使用后退按钮退出 有什么方法可以解决在不重新启动的情况下获取应用程序的问题吗 请帮忙 当您按下Home按钮 应用程序将暂停并保存当前状态 最后应用程序
  • 在 Android 中使用 DataOutputStream 在 POST 正文中发送特殊字符 (ë ä ï)

    我目前正在开发一个具有大量服务器端通信的 Android 应用程序 昨天 我收到一份错误报告 称用户无法发送 简单 特殊字符 例如 我搜索过但没有找到任何有用的东西 可能重复 没有答案 https stackoverflow com que
  • 已经使用 AsyncTask doInBackground 但新数据未显示

    我使用 AsyncTask 创建一个聊天室来接收消息 因此它总是检查即将到来的消息并将其显示给客户端 但代码似乎无法按我希望的方式工作 在客户端只显示所有旧数据 新数据不显示 因为当我尝试从服务器发送消息时 新数据没有显示在客户端中 我对这
  • Android 原理图内容提供程序库配置?

    Jake Wharton 在最近的一次演讲中提到了这个库 它看起来是避免大量样板文件的好方法 所以我尝试了一下 但没有任何成功 https github com SimonVT schematic https github com Simo
  • minHeight 有什么作用吗?

    在附图中 我希望按钮列与图像的高度相匹配 但我也希望按钮列有一个最小高度 它正确匹配图像的高度 但不遵守 minHeight 并且会使按钮向下滑动 我正在为按钮列设置这些属性
  • Android相机意图:如何获取全尺寸照片?

    我正在使用意图来启动相机 Intent cameraIntent new Intent android provider MediaStore ACTION IMAGE CAPTURE getParent startActivityForR
  • Android构建apk:控制MANIFEST.MF

    Android 构建 APK 假设一个 apk 包含一个库 jar 例如 foo jar 该库具有 META INF MANIFEST MF 这对于它的运行很重要 但在APK中有一个包含签名数据的MANIFEST MF 并且lib jar
  • 当手机旋转(方向改变)时如何最好地重新创建标记/折线

    背景 开发一个使用 Android Google Map v2 的本机 Android 应用程序 使用android support v4 app FragmentActivity 在 Android v2 2 上运行 客观的 在更改手机方
  • Android中webview的截图方法

    我在 webview 中的 html5 canvas 上画了一些线 并尝试使用下面的代码截取 webview 的屏幕截图 WebView webView WebView findViewById R id webview webView s
  • android Accessibility-service 突然停止触发事件

    我有一个 AccessibilityService 工作正常 但由于开发过程中的某些原因它停止工作 我似乎找不到这个原因 请看一下我的代码并告诉我为什么它不起作用 public class MyServicee extends Access

随机推荐

  • 如何使用 @Template() 引用多个树枝

    我计划更新在 Symfony 3 0 上运行的应用程序 我曾经使用 Template 但是更新时 我必须在 中指定twig文件的根目录 但是 您需要更改 format 中index csv twig 和index html twig 的读取
  • 如何在react-native中为webView请求设置自定义标头

    我希望能够在 ruby on Rails 服务器端检测到 http 请求来自我的应用程序中的 webView 组件 该应用程序正在使用react native 特别是 我想区分来自应用程序的请求和来自在 ios 设备上运行的移动 safar
  • 请求变量如何由encodeURIComponent 使用 ISO-8859-1 字符集而不是 utf-8 进行编码?

    我在使用 ISO 8859 1 字符集的网站上工作 请求应该由encodeURIComponent 部分编码 但该函数使用utf 8编码 请求变量如何由encodeURIComponent使用ISO 8859 1字符集而不是utf 8进行编
  • 比较日期以检查旧文件

    我想检查文件是否早于一定时间 例如 2 天 我设法以这种方式获取文件创建时间 gt gt gt import os path time gt gt gt fileCreation os path getctime filePath gt g
  • Spring Cloud AWS - 无效标头发布 SNS 通知

    我正在尝试使用org springframework cloud aws messaging core NotificationMessagingTemplate 来自 Spring Cloud AWS 将通知发布到 SNS 主题 每次发布
  • 易失性数组的替代方案

    从其他问题中 我了解到易失性数组的元素不是易失性的 只有引用本身是不稳定的 volatile int data Thread A data 4 457 Thread B System out println data 4 在这里 线程 B
  • Python 2.7:如何在 Windows 上将新行的分隔符限制为 '\n'?

    当我在 Windows 上运行的 python 2 7 脚本中写入文本文件时 新行分隔符是 r n 但我希望它是 n 我尝试过使用open http docs python org 2 library io html io open wit
  • iframe 用于嵌入 flash 内容时的 Webkit 字体渲染

    请参见http jsfiddle net CVwXV 2 http jsfiddle net CVwXV 2 如果您使用的是 Mac 当您在 Mac 上的 Chrome 或 Safari webkit 上查看此内容时 文本会跳至更浅的阴影
  • 根据outlook邮件更新excel表[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我的目标是每当我收到特定主题的邮件时
  • 如何使用另一个 python 脚本文件中的参数执行 python 脚本文件

    我的问题是我想使用另一个 python 文件中的参数执行一个 python 文件以获取返回的值 不知道我有没有解释清楚 example 从外壳我执行这个 getCameras py path to the scene 这会返回给我一个相机列
  • Celery 不注册任务

    你好 我刚刚开始将 Celery 与 Django 一起使用 我有一项需要定期执行的任务 在管理界面中 我可以在名为 任务 已注册 的下拉列表中看到我的任务 但是当 Celery Beat 尝试执行它时 会抛出 NotRegistered
  • 用 C# 编写“原始”HTTP 客户端

    我正在尝试用 C 编写一个 原始 HTTP 客户端 你可能会问为什么 我的目标是在 J2ME 中实现 HTTP 客户端 只能执行 GET 和有限的 POST 但首先我需要更好地理解 HTTP 协议 因此进行 C 尝试 我的第一次尝试失败了
  • 选择数据库后进行身份验证

    我的 MongoDB 服务器中有 3 个数据库 我正在使用 pymongo 用 Python3 编写一些脚本 我想使用最新的版本和做法 一旦我打开客户端并选择数据库 pymongo MongoClient mydatabase authen
  • 具有标题和项模板列的 Windows 8 XAML ListView 应具有相同的动态宽度

    我正在使用带有 Itemtemplate 和 Headertemplate 的 Listview 两个模板都包含 6 列 如果我为模板设置固定的列宽 一切都可以 如图一所示 但我想将项目的宽度设置为 自动 但后来我得到图 2 这要怎么处理呢
  • 创建组件实例并传递给另一个组件渲染为 [object HTMLelement]

    从我的组件 例如 Component 中 我尝试实例化一个 Angular 组件 例如 CustomComponent 设置一些属性 然后将其发送到表格 例如 CustomTable 进行渲染 但我不断收到 object HTMLEleme
  • Minio:使用 docker-compose 添加公共存储桶

    下面是我的 docker compose 中的一个服务 minio image minio minio edge environment MINIO ACCESS KEY minio123 MINIO SECRET KEY minio123
  • SQLite 中的“如果、那么、否则”

    在不使用自定义函数的情况下 SQLite 是否可以执行以下操作 我有两个表 它们通过通用 ID 号链接 在第二个表中 有两个变量 我想要做的是能够返回一个结果列表 其中包括 行 id 如果这两个变量的所有实例 可能有两个以上 均为 NULL
  • 如何中止 Python 脚本的执行? [复制]

    这个问题在这里已经有答案了 我有一个简单的 Python 脚本 如果满足条件 我想停止执行该脚本 例如 done True if done quit stop exit else do other stuff 本质上 我正在寻找与函数体中的
  • Google Books API 403 访问未配置

    我正在尝试联系 Google Books API 并执行书名搜索 这仅需要公共 API 密钥 不需要 OAUTH2 我得到的只是以下错误 error errors domain usageLimits reason accessNotCon
  • 替换 Android 中 Uri.Builder 中的查询参数?

    我传递一个 Uri Builder 对象作为子类的机制 以便在执行之前将任何必要的参数填充到 Uri 中Android 问题是 基类添加的参数之一使用builder appendQueryParameter q searchPhrase 需