今天开始写一个MP3播放器,部署好了Tomcat服务器,写好了代码,结果总是无法连接,开始苦逼的搜索各种线索,始终无果,最后看到一篇帖子,由于现在的Tomcat服务器版本更新之后,所有的资源放在Webapp下的ROOT目录下面才能正常访问,这也许就是Android开发初级阶段的烦躁吧!
<span style="font-family:Times New Roman;font-size:18px;">package Liu.mp3player;
import Liu.mp3download.Httpdownloader;
import android.R.string;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.app.ListActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.os.Build;
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.fragment_mp3_list);}
//在用点击menu按钮之后,会调用该方法,我们可以在这个方法中加入自己的按钮控件
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
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) {
// TODO Auto-generated method stub
if(item.getItemId()==UPDATE){
//用户点击了更新按钮
String xml=downloadXML("http://192.168.19.231:8080/mp3/resources.xml");
System.out.println("XML"+xml);
}
if(item.getItemId()==ABOUT){
//用户点击了关于按钮
}
//System.out.println(item.getItemId());
return super.onOptionsItemSelected(item);
}
private String downloadXML(String urlStr){
Httpdownloader httpdownloader=new Httpdownloader();
String result=httpdownloader.download(urlStr);
return result;
}
}
</span>
<span style="font-family:Times New Roman;font-size:18px;">package Liu.mp3download;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class Httpdownloader {
private URL url = null;
/**
* 根据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 = 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();
}
}
</span>