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