android无法连接到网站
嗨,我正在尝试连接到一个站点,下载一个xml。但是在android无法连接到网站,android,connection,Android,Connection,嗨,我正在尝试连接到一个站点,下载一个xml。但是在 URLConnection ucon = url.openConnection(); 行被调用时,程序似乎什么都不做 以下是我的代码片段: 第一个系统输出被调用(11-09 21:35:50.820:INFO/system.out(8043):连接到:http://mysite/calls2.xml)。但是第二个System.out.println(“出口点”)未被调用,并且不会引发异常 有什么问题吗?(http://mysite/cal
URLConnection ucon = url.openConnection();
行被调用时,程序似乎什么都不做
以下是我的代码片段:
第一个系统输出被调用(11-09 21:35:50.820:INFO/system.out(8043):连接到:http://mysite/calls2.xml
)。但是第二个System.out.println(“出口点”)代码>未被调用,并且不会引发异常
有什么问题吗?(http://mysite/calls2.xml 不存在,我只是写了,但不是url的问题,我尝试了另一个url,但它也不起作用。)
我更新了,这是我的完整下载类
public class Downloader extends AsyncTask<String, Void, String>{
public interface DownloadCompleteListener {
public void onTaskComplete(String aText);
public void onError();
}
private Context context = null;
private DownloadCompleteListener listener;
public Downloader(Context context, DownloadCompleteListener aListener){
this.context = context;
listener = aListener;
}
@Override
protected String doInBackground(String... params) {
//params[0] - url
//params[1] - path
//params[2] - filename
try {
URL url = new URL(params[0]); //you can write here any link
File file = new File(params[1]+params[2]);
long startTime = System.currentTimeMillis();
/* Open a connection to that URL. */
System.out.println("connecting to: "+url.toString());
URLConnection ucon = url.openConnection();
System.out.println("exit point");
/*
* Define InputStreams to read from the URLConnection.
*/
InputStream is = ucon.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
/*
* Read bytes to the Buffer until there is nothing more to read(-1).
*/
ByteArrayBuffer baf = new ByteArrayBuffer(50);
int current = 0;
while ((current = bis.read()) != -1) {
baf.append((byte) current);
}
/* Convert the Bytes read to a String. */
FileOutputStream fos = new FileOutputStream(file);
fos.write(baf.toByteArray());
System.out.println("fos: "+fos.toString());
fos.close();
Log.d("download", "download ready in"
+ ((System.currentTimeMillis() - startTime) / 1000)
+ " sec");
} catch (Exception e) {
Log.d("download", "Error: " + e);
System.out.println("Exception: "+e);
return null;
}
System.out.println("params: "+params[1]+params[2]);
return params[1]+params[2];
}
@Override
protected void onPostExecute(String result)
{
if(result==null){
System.out.println("onerror");
listener.onError();
}
else{
System.out.println("ontaskcomplete");
listener.onTaskComplete(result);
}
}
}
您的代码语法不正确,还有一个}。请让我们看更多的代码。请发布logcat输出!e、 prinstacktraceI在HttpUrlConnection方面遇到了一些问题,在某些网络上建立连接需要异常长的时间。另外,Android 2.2及更早版本上的HttpUrlConnection也存在一些问题。发布android版本,在那里你会看到这种行为我简直不敢相信在失败的连接尝试中不会引发异常…使用调试器并跟踪你的代码。它可能只是挂在URL连接上。您看到服务器端的连接了吗?
11-09 22:00:31.840: INFO/System.out(8741): connecting to: http://mysite/calls2.xml
11-09 22:01:00.280: DEBUG/jdwp(8773): adbd disconnected
11-09 22:01:00.950: DEBUG/jdwp(8783): adbd disconnected
11-09 22:01:08.560: INFO/System.out(8741): connecting to: http://mysite/calls2.xml
11-09 22:01:55.280: WARN/GDataClient(305): Unable to execute HTTP request.org.apache.http.conn.ConnectTimeoutException: Connect to /74.125.232.224:443 timed out
11-09 22:01:55.640: INFO/System.out(8741): connecting to: http://mysite/calls2.xml