读书人

android疑问:文件上载有关问题

发布时间: 2013-01-01 14:04:20 作者: rapoo

android疑问:文件下载问题

第一步就卡住,可能是因为tomcat不太熟悉。我尽可能把自己的程序背景所给出,希望各位能帮我查看问题所在。

过程:
1)tomcat开的服务器,里面有一个xml文件
2)把xml文件里的文本赋值给 一个String ,名为"xml";
3)点击一个按钮的时候。System.out.ptintln("the xml is "+xml);

android疑问:文件上载有关问题


问题:
1)tomcat已经打开,在浏览器里浏览里面的一个测试网页成功打开。
android疑问:文件上载有关问题

2)点击按钮后,它只输出 the xml is ,没有xml的内容。
android疑问:文件上载有关问题

3)似乎是拒绝链接
android疑问:文件上载有关问题

请各位朋友帮忙,实在是想不同,才来求助的。

最后代码如下。
1)Mp3ListActivity 。java
_-----------------------------------------
package comfish.mp3player;

import android.app.ListActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

import comfish.download.HttpDownloader;

public class Mp3ListActivity extends ListActivity {
private static final int UPDATE = 1;
private static final int ABOUT = 2;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mp3_list);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
//组,id,order,title
menu.add(0, UPDATE, 1, R.string.mp3list_update);
menu.add(0, ABOUT, 2, R.string.mp3list_about);
return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getItemId()==UPDATE){
String xml = downloadXML("http://localhost:8080/mp3/resources.xml");
//这里无法输出xml的内容
System.out.println("the xml is "+xml);
}
else if(item.getItemId()==ABOUT) {
}
// TODO Auto-generated method stub
return super.onOptionsItemSelected(item);


}
private String downloadXML(String urlStr) {
HttpDownloader httpDownloader = new HttpDownloader();
String result = httpDownloader.download(urlStr);
return result;
}

}


2)
--------------------------------------
package comfish.download;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

public class HttpDownloader {

public String download(String urlStr) {
StringBuffer sb = new StringBuffer();
String line = null;
BufferedReader buffer = null;
try {

URL url = new URL(urlStr);

HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();

buffer = new BufferedReader(new InputStreamReader(urlConn
.getInputStream()));
while ((line = buffer.readLine()) != null) {
sb.append(line);
}
} catch (Exception e) {
e.printStackTrace();


}
return sb.toString();
}
}

[解决办法]
把loclhost换成具体机子的ip, 模拟器会搞混。
[解决办法]
如果使用模拟器,可以用10.0.2.2代替127.0.0.1和localhost

读书人网 >Android

热点推荐