Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java库中使用Uri.encode实现_Java_Android - Fatal编程技术网

在Java库中使用Uri.encode实现

在Java库中使用Uri.encode实现,java,android,Java,Android,我正在实现一个Java库。在库中,我需要使用Android的Uri.encode()方法的Java等价物。虽然最初我想用以下方法: 但我注意到Android对Uri.encode()的实现只依赖于StringBuilder类(因此可以通过对命名的细微更改进行复制粘贴)到我的库中。在使用这段代码之前,我需要注意哪些事项。您可以在返回字符串之前转换字符串: return new StringBuilder(encodedString); 或者使用方法(速度更快,但如果在宽循环中使用,则不会有任

我正在实现一个Java库。在库中,我需要使用Android的Uri.encode()方法的Java等价物。虽然最初我想用以下方法:



但我注意到Android对Uri.encode()的实现只依赖于StringBuilder类(因此可以通过对命名的细微更改进行复制粘贴)到我的库中。在使用这段代码之前,我需要注意哪些事项。

您可以在返回字符串之前转换字符串:

return new StringBuilder(encodedString);
或者使用方法(速度更快,但如果在宽循环中使用,则不会有任何区别):


我最感兴趣的是许可方面。。我可以直接在我的库中复制粘贴Android SDK代码吗?或者我需要添加一些注释或文件吗?为什么我在这个问题上被否决了?我对将字符串转换为生成器不感兴趣,而是对使用Android的Uri.encode实现感兴趣
return new StringBuilder(encodedString);
StringBuilder encodedString = new StringBuilder();
encodedString = URLEncoder.encode(originalString, "UTF-8")
  .replace(0, originalString.length(), "\\+", "%20")
  .replace(0, originalString.length(), "\\%21", "!")
  .replace(0, originalString.length(), "\\%27", "'")
  .replace(0, originalString.length(), "\\%28", "(")
  .replace(0, originalString.length(), "\\%29", ")")
  .replace(0, originalString.length(), "\\%7E", "~");