1)在虚拟机上运行自如。点击更新,就更新tomcat上的歌曲列表。
2)点击相应的歌曲,一段时间之后下载成功。
3)还去local页,可查看已经下载的歌曲。
4)手机和电脑是相同的wifi。可以通过手机浏览器,浏览tomcat上的网页。
在手机上的状况就不同了。
1)无法获取歌曲列表,红色框内。
2)点击local页之后,很无奈.........程序闪退。
疑问:关于adb上可以实现,手机上无法实现,到底是哪方面的原因?请各位朋友指点,谢谢。
贴出local的代码:也就是显示 右边页 的代码。
package comfish.mp3player;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.SimpleAdapter;
import comfish.model.Mp3Info;
import comfish.utils.FileUtils;
public class LocalMp3ListActivity extends ListActivity{
FileUtils fileUtils = new FileUtils();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.local_mp3_list);
UpdateListView();
}
private void UpdateListView() {
List<Mp3Info> mp3Infos = fileUtils.getMp3Files("mp3/");
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 sa = new SimpleAdapter(this,list,R.layout.mp3info_item,
new String[]{"mp3_name","mp3_size"}, new int[]{R.id.mp3_name,R.id.mp3_size});
setListAdapter(sa);
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
UpdateListView();
super.onResume();
}
}
你在onCreate中已经调用了UpdateListView()
,为什么onResume又调用一次。
把onResume方法去掉试试。还有UpdateListView()
里面加载数据,时间过长会阻塞UI线程,可能会导致无响应,闪退。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
你好,我是AI助理
可以解答问题、推荐解决方案等
评论
全部评论 (0)