在android模拟器中解析不到tomcat中的xml文件,但是在浏览器中使用相同的地址,却可以访问
package xtm.mp3player;
import xtm.download.HttpDownloader;
import android.app.ListActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends ListActivity {
private static final int UPDATE=1;
private static final int ABOUT=2;
/**
当用户点击MENU按钮之后,我们可以在这个方法中加入自己的按钮控件
*/
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, UPDATE, 1, R.string.mp3List_update);
menu.add(0, ABOUT, 2, R.string.mp3List_about);
return super.onCreateOptionsMenu(menu);
}
/*
用来响应menu菜单中的按键,把索引值设置为静态变量,以免混淆。用静态变量也可以在以后容易修改。
*/
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getItemId()==UPDATE){
String xml=downloadXMl("http://192.168.10.194:8080/mp3/resources.xml");
Log.d("xtmm", xml);
}else if(item.getItemId()==ABOUT){
}
return super.onOptionsItemSelected(item);
}
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
private String downloadXMl(String urlStr){
HttpDownloader httpDownloader=new HttpDownloader();
String result=httpDownloader.download("urlStr");
Log.d("xtmm", result);
return result;
}
}
package xtm.download;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpDownloader {
/**
* 根据URL下载文件,前提是这个文件当中的内容是文本,函数的返回值就是文件当中的内容
* 1.创建一个URL对象
* 2.通过URL对象,创建一个HttpURLConnection对象
* 3.得到InputStram
* 4.从InputStream当中读取数据
* @param urlStr
* @return
*/
public String download(String urlStr) {
StringBuffer sb = new StringBuffer();
String line = null;
BufferedReader buffer = null;
try {
// 创建一个URL对象
URL url = new URL(urlStr);
// 创建一个Http连接
HttpURLConnection urlConn = (HttpURLConnection) url
.openConnection();
// 使用IO流读取数据
buffer = new BufferedReader(new InputStreamReader(urlConn
.getInputStream()));
while ((line = buffer.readLine()) != null) {
sb.append(line);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
buffer.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return sb.toString();
}
}
http://bbs.csdn.net/topics/390501873
android代码中的网络获取数据方法不对吧,你换个网址看看能不能读取别的json数据n