如何解决Android手机中的ftp同步问题,但它在模拟器中工作正常

时间:2011-08-02 08:45:23

标签: android android-emulator

我编写了从ftp下载XML文件的程序,它在模拟器中工作正常但是当我在android(sony ericsson xperia)mobile中安装此应用程序时,它给出了应用程序包错误,我必须在移动设备中进行任何设置或者我们必须在我的手机上安装任何API,任何人都可以帮助我。

先谢谢你,

在Android Mobile中出现错误消息

4 个答案:

答案 0 :(得分:0)

在Eclipse /您使用的任何工具中清理并重建项目,然后尝试再次传输包。

答案 1 :(得分:0)

Rajkumar,你能不能粘贴你用来打开模拟器上运行的ftp连接的小代码片段来获取XML文件?我根本无法让ftp工作,你似乎已经找到了神奇的咒语,请参阅Howto do a simple ftp get file on Android我的问题

答案 2 :(得分:0)

  

Activitiy admin mainmenu(在应用程序com.itwine中)没有响应,后跟两个按钮1.force close 2.wait

如果您在活动的主线程上进行任何联网,这可能会发生,这是您真正不应该做的事情。

在模拟器上,使用您的开发机器的网络,您可能会得到足够快的响应以避免它;在使用移动网络的设备上,您更有可能超时。

答案 3 :(得分:0)

  Activitiy admin mainmenu(in application com.itwine)is not responding followed by two buttons 1.force close 2.wait



    imgBtnSyncQues  = (ImageButton) findViewById(R.id.imgBtnSyncQuestions);
            imgBtnSyncQues.setOnClickListener(new View.OnClickListener() {

                public void onClick(View v) {

                    viewOrders = new Runnable(){
                        public void run() {
                            ftpQuesSync();
                        }
                    };
                    Thread thread =  new Thread(null, viewOrders, "MagentoBackground");
                    thread.start();
                    m_ProgressDialog = ProgressDialog.show(AdminMainMenu.this,    
                            "Please wait...", "Syncing Questions ...", true);
                        }

            });


    private void ftpQuesSync()
        {
            FTPClient ObjFtpCon = new FTPClient();
            try
            {
                ObjFtpCon.connect(strIp);
                if (ObjFtpCon.login(strFtpUser, strFtpPwd))
                {
                    ObjFtpCon.enterLocalPassiveMode(); // important!
                    ObjFtpCon.cwd("/QIA/Questions/Hotel/");
                    String[] strArrQuesFiles=ObjFtpCon.listNames();
                    int intcnt=0;
                    boolean blnresult = false;
                    File objfile=new File(getFilesDir().getAbsolutePath()+ "/Questions");
                    if(!objfile.exists())objfile.mkdirs();
                    objfile=null;
                    for(intcnt=0;intcnt<strArrQuesFiles.length;intcnt++)
                    {
                        objfile=new File(getFilesDir().getAbsolutePath()+ File.separator + "/Questions/" + strArrQuesFiles[intcnt]);
                        objfile.createNewFile();
                        //ByteArrayInputStream in = new ByteArrayInputStream(data.getBytes());
                        FileOutputStream objFos=new FileOutputStream(objfile);
                        blnresult=ObjFtpCon.retrieveFile(strArrQuesFiles[intcnt] , objFos);
                        objFos.close();
                    }
                    ObjFtpCon.logout();
                    ObjFtpCon.disconnect();
                    if(blnresult) runOnUiThread(returnRes);return;
                    // boolean result = con.storeFile("/QIA/Response/test/Responses.xml", in);
                }
            }
            catch (Exception e)
            {
                e.printStackTrace();
                runOnUiThread(returnnone);
                return;
            }
            runOnUiThread(returnnone);
        }