package qianxia.mp3player;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.InputSource;
import org.xml.sax.XMLReader;
import qianxia.download.HttpDownloader;
import qianxia.model.Mp3Info;
import qianxia.my3player.R;
import qianxia.xml.Mp3ListContentHandler;
import android.app.ListActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ListView;
import android.widget.SimpleAdapter;
public class Mp3ListActivity extends ListActivity {
private static final int UPDATE = 1;// 更新列表
private static final int ABOUT = 2;// 关于
private List<Mp3Info> mp3Infos=null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
updateListView();
}
@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 boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == UPDATE) {
updateListView();
} else if (item.getItemId() == ABOUT) {
}
return super.onOptionsItemSelected(item);
}
private SimpleAdapter bulidSimpleAdapter(List<Mp3Info> mp3Infos){
List<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();
for (Iterator iterator = mp3Infos.iterator(); iterator.hasNext();) {
Mp3Info mp3Info = (Mp3Info) iterator.next();
HashMap<String, String> map = new HashMap<String, String>();
map.put("mp3_name", mp3Info.getMp3Name());
map.put("mp3_size", mp3Info.getMp3Size());
list.add(map);
}
SimpleAdapter simpleAdapter = new SimpleAdapter(this, list,
R.layout.mp3info_item, new String[] { "mp3_name",
"mp3_size" }, new int[] { R.id.mp3_name,
R.id.mp3_size });
return simpleAdapter;
}
private void updateListView(){
String xml = downloadXML("http://192.168.1.101:8080/mp3/resouces.xml");
mp3Infos = parse(xml);
SimpleAdapter simpleAdapter=bulidSimpleAdapter(mp3Infos);
setListAdapter(simpleAdapter);
}
private String downloadXML(String urlStr) {
HttpDownloader httpDownloader = new HttpDownloader();
String result = httpDownloader.download(urlStr);
return result;
}
private List<Mp3Info> parse(String xmlStr) {
SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
List<Mp3Info> infos = new ArrayList<Mp3Info>();
try {
XMLReader xmlReader = saxParserFactory.newSAXParser()
.getXMLReader();
Mp3ListContentHandler ma3ListContentHandler = new Mp3ListContentHandler(
infos);
xmlReader.setContentHandler(ma3ListContentHandler);
xmlReader.parse(new InputSource((new StringReader(xmlStr))));
for (Iterator iterator = infos.iterator(); iterator.hasNext();) {
Mp3Info mp3Info = (Mp3Info) iterator.next();
System.out.println(mp3Info);
}
} catch (Exception e) {
e.printStackTrace();
}
return infos;
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
Mp3Info mp3Info=mp3Infos.get(position);
System.out.println("mp3Info--->"+mp3Info);
super.onListItemClick(l, v, position, id);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
mp3playmp3play
共34个文件
class:12个
java:7个
xml:4个
需积分: 9 9 下载量 39 浏览量
2011-06-27
23:26:22
上传
评论
收藏 2.6MB 7Z 举报
温馨提示
mp3playmp3playmp3playmp3playmp3playmp3playmp3playmp3playmp3playmp3playmp3playmp3playmp3playmp3playmp3playmp3playmp3playmp3playmp3playmp3playmp3playmp3playmp3playmp3playmp3playmp3playmp3playmp3playmp3playmp3playmp3playmp3playmp3playmp3playmp3play
资源推荐
资源详情
资源评论
收起资源包目录
Mp3Player.7z (34个子文件)
Mp3Player
.project 845B
default.properties 362B
bin
Mp3Player.apk 19KB
qianxia
utils
FileUtils.class 3KB
xml
Mp3ListContentHandler.class 2KB
model
Mp3Info.class 2KB
mp3player
Mp3ListActivity.class 5KB
service
DownloadService.class 646B
download
HttpDownloader.class 2KB
my3player
R$string.class 499B
R$layout.class 427B
R$drawable.class 397B
R.class 524B
R$attr.class 337B
R$id.class 455B
resources.ap_ 12KB
classes.dex 12KB
proguard.cfg 1KB
AndroidManifest.xml 853B
android.jar 3.09MB
src
qianxia
utils
FileUtils.java 1KB
xml
Mp3ListContentHandler.java 2KB
model
Mp3Info.java 1KB
mp3player
service
DownloadService.java 438B
Mp3ListActivity.java 3KB
download
HttpDownloader.java 818B
res
values
strings.xml 280B
layout
mp3info_item.xml 719B
main.xml 704B
drawable-ldpi
icon.png 2KB
drawable-hdpi
icon.png 4KB
drawable-mdpi
icon.png 3KB
.classpath 280B
gen
qianxia
my3player
R.java 1KB
assets
共 34 条
- 1
资源评论
phs12104
- 粉丝: 1
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功