最近在实验从服务器端下载文件,使用的是tomcat~
当开始做就出现了问题啊,我想实现的是点击“menu”可以出现两个按钮,其中一个是“更新按钮”,点击“更新按钮”的时候可以下载音乐列表的这么个情况。列表内容存放在apache-tomcat-6.0.32\webapps\KTV\resources.xml中。
具体内容:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
  // TODO Auto-generated method stub
     menu.add(0, UPDATE, 1, R.string.ktvlist_update);
     menu.add(0, ABOUT, 2, R.string.ktvlist_about);
  return super.onCreateOptionsMenu(menu);
}
    
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
    
    @Override
public boolean onOptionsItemSelected(MenuItem item) {
     if(item.getItemId() == UPDATE){
      String xml = downloadXML("http://192.168.1.100:139/KTV/resources.xml");
      System.out.println("-->" + 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;

错误情况
03-17 18:16:07.462: INFO/global(982): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.
03-17 18:16:07.532: WARN/InputManagerService(59): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@43f99d38

解决方案 »

  1.   

    这是一个不完整的例子啊,就是说我希望点击“更新”的时候,我在eclipse里放了一个system.out的过滤器,本应该由这部分public boolean onOptionsItemSelected(MenuItem item) {
      if(item.getItemId() == UPDATE){
      String xml = downloadXML("http://192.168.1.100:139/KTV/resources.xml");
      System.out.println("-->" + xml);
      }
    打印出存放在http://192.168.1.100:139/KTV/resources.xml下的音乐,可是没有,然后显示的错误是03-21 12:08:56.972: WARN/KeyCharacterMap(274): No keyboard for id 0
    03-21 12:08:56.972: WARN/KeyCharacterMap(274): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
    03-21 12:08:58.181: INFO/global(274): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.
    03-21 12:08:58.281: WARN/InputManagerService(58): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@43e2fb48
    不太明白是怎么回事·
      

  2.   

    有个问题就是menu应该是取焦点,你的焦点跑掉就触发不了。。是不是鼠标飘到其他地方?