我在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中正常转换的方法。
答案 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'