황현정*_*황현정 97 android urlconnection android-asynctask android-3.0-honeycomb
我尝试过本教程: 从Web获取数据
我尝试在平板电脑的最新平台Android 3.0上实现它,但是,我收到此错误:" 无法解析主机"www.anddev.org"没有与主机名关联的地址. "
您可以签出我用来证明该文件存在的URL. http://www.anddev.org/images/tut/basic/getdatafromtheweb/loadme.txt
我创建了一个私有类,并使用asynctask扩展它.这是代码:
private class Downloader extends AsyncTask<String,Void,String>{
String myString = null;
@Override
protected String doInBackground(String... arg0) {
try{
URL myURL = new URL("http://www.anddev.org/images/tut/basic/getdatafromtheweb/loadme.txt");
URLConnection ucon = myURL.openConnection();
InputStream is = ucon.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
ByteArrayBuffer baf = new ByteArrayBuffer(50);
int current = 0;
while((current=bis.read())!=-1){
baf.append((byte)current);
}
myString = new String (baf.toByteArray());
}catch(Exception e){
myString = e.getMessage();
}
return myString;
}
@Override
protected void onPostExecute(String result){
tv.setText(result);
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
lee*_*ech 148
我敢打赌,你忘了给你的应用程序使用互联网的许可.尝试将此添加到您的Android清单:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Run Code Online (Sandbox Code Playgroud)
Pra*_*ani 63
愿你接受许可
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Run Code Online (Sandbox Code Playgroud)
但
由于您的主机导致的此错误无法通过DNS转换为IP地址.
解决这个问题:
1-确保连接到互联网(检查网络质量).
2-确保您获得访问网络的适当权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
134187 次 |
| 最近记录: |