Android开发中访问本机服务器(localhost)的解决方法

今天早上看mars老师的第一季视频,跟着做播放器的小项目,由于我在宿舍用的是自动获取IP的方法,
配置了tomcat需要用localhost访问本机服务器,但是总是不能下载服务器上面的xml资源,
后来找找资料才发现Android模拟器把localhost作为了他自己,
所以localhost(127.0.0.1)就不是访问了本机服务器了
解决方法:
10.0.2.2 来代替就行了。。

当然在AndroidManfiset.xml文件要加入  <uses-permission android:name="android.permission.INTERNET"/>的权限

package mars.mp3palyer;

 

import mars.download.HttpDownloader;

import android.app.ListActivity;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

 

public class Mp3ListActivity extends ListActivity

{

private static final int UPDATE = 1;

private static final int ABOUT = 2;

 

/** Called when the activity is first created. */

// 在用户点击Menu按钮 之后,会调用该方法,我们可以在这个方法当中加入自己的按钮控件

@Override

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);

}

 

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

}

 

@Override

public boolean onOptionsItemSelected(MenuItem item) {

// System.out.println("itemId----->"+item.getItemId());

if (item.getItemId() == UPDATE) {

// 用户点击了更新列表按钮

String xml = downLoadXML("http://10.0.2.2/mp3/resouces.xml");

System.out.println("xml---->"+xml);

} else if (item.getItemId() == ABOUT) {

// 用户 点击关于按钮

}

return super.onOptionsItemSelected(item);

}

// 进行文件的下载

private String downLoadXML(String urlStr) {

 

HttpDownloader httpDownloader = new HttpDownloader();

String result = httpDownloader

.download(urlStr);

return result;

}

}

下面是效果截图:

 

你可能感兴趣的:(android,xml,String,list,服务器,menu)