在Android中使用IOUtils将Uri / Url转换为字符串

时间:2016-04-10 18:12:28

标签: android

我在android studio项目中研究并创建了以下代码

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Utils.onActivityCreateSetTheme(this);
    setContentView(R.layout.activity_main);
    TextView notificationsText = (TextView) findViewById(R.id.notifications_text);
    Uri one = Uri.parse("http://textfiles.com/adventure/221baker.txt");
    Uri two = Uri.parse("http://textfiles.com/adventure/adventureland.txt");
    Uri three = Uri.parse("http://textfiles.com/adventure/adventur.txt");

    notificationOne = IOUtils.toString(one);
    notificationTwo = IOUtils.toString(two);
    notificationThree = IOUtils.toString(three);
    notificationsText.setText(notificationOne);

}

到目前为止,它没有将Uri转换为字符串,而是声明它无法解析方法.toString(android.net.Uri)

我已导入IOUtils import org.apache.commons.io.IOUtils; 并在我的清单文件<uses-permission android:name="android.permission.INTERNET" />中启用了互联网访问。

那么,我该如何解决它,或者,是否有更简单的方法将Url转换为字符串?

您可能希望在回答之前检查网址的内容。

这个toString方法不同于在没有IOUtils的情况下在android中正常转换的方法。

2 个答案:

答案 0 :(得分:0)

IOUtils.toString()java.net.URI为参数。您传递的是android.net.Uri

调用IOUtils.toString()时,还应确保将内容编码作为第二个参数传递。

答案 1 :(得分:0)

就我而言,我是第一次使用错误的版本1.3.2

然后我发现这个gradle配置修复了它

compile group: 'commons-io', name: 'commons-io', version: '2.4'