【问题标题】:couple of questions about using Uri.Builder in android?关于在 android 中使用 Uri.Builder 的几个问题?
【发布时间】:2015-12-05 20:25:48
【问题描述】:

问题 #1:Uri 中的原始字符串和编码字符串之间有什么区别,为什么使用其中一个更合适?例如

  Uri.Builder builder = new Uri.Builder(); 
        builder.scheme("http://");
          builder.encodedScheme("http://");  //vs the encoded version

问题 #2:在 Uri.Builder() 对象上设置“scheme://authority/path?#fragment”时,“:, //, ?, #” 与设置的方法有关Builder 对象的各个部分?假设它是一个层次结构的 URI E.G.

  builder.scheme("http://"); //or
    builder.scheme("http:"); // or just
      builder.scheme("http"); //and then append the ":" and "//" elsewhere?

任何帮助将不胜感激,因此在此先感谢您:)。

【问题讨论】:

    标签: android networking uri


    【解决方案1】:

    Uri 中的原始字符串和编码字符串有什么区别

    编码字符串是已经进行了 URL 编码的字符串。原始字符串不是。

    注意没有encodedScheme()方法on Uri.Builder

    为什么使用其中一个更合适?

    如果您的字符串已经编码,无论您从何处获得该字符串,请使用encoded...()。如果没有,不要。

    ":, //, ?, #" 去哪里

    无处可去。 UriUri.Builder 背后的重点部分是为您添加这些内容。

    【讨论】:

    • 我会再次查看源代码,我想我错过了它如何为您附加字符,并且编码是否意味着字符集而不是什么? “UTF-8”?
    • @3alto:“我想我错过了它为你添加字符的方式”——嗯,实际上,那是UriUri.Builder 只是构建了Uri 的元素。 Uri 在需要时将它们组装成 String。 “编码是否意味着字符集,而不是什么,例如“UTF-8”?” -- 不,它的意思是URL encoding (a.k.a., percent encoding)
    猜你喜欢
    • 1970-01-01
    • 2011-04-09
    • 1970-01-01
    • 2022-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-12
    相关资源
    最近更新 更多