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

来源:互联网 发布:上海安硕信息技术 知乎 编辑:程序博客网 时间:2024/04/29 06:33
今天早上看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按钮 之后,会调用该方法,我们可以在这个方法当中加入自己的按钮控件@Overridepublic 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);} @Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);} @Overridepublic 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;}}

下面是效果截图: