【问题标题】:IllegalArgumentException while using RMS in nokia s40在诺基亚 s40 中使用 RMS 时出现 IllegalArgumentException
【发布时间】:2013-02-05 08:47:53
【问题描述】:

我正在开发一个在 RMS 中存储用户名和密码的应用程序,该应用程序在诺基亚 s60 上运行良好,但在诺基亚 s40 手机中,应用程序给出 IllegalArgumentException,然后应用程序关闭。如果它在 S60 手机上工作正常,我无法理解是什么问题。

    public void getLogin() {

    //System.out.println(getUsernameEdit().getString()+","+ getPasswordEdit().getString());

            m=new Message();
            reply=m.getLogin(getUsernameEdit().getString(), getPasswordEdit().getString());

    if (reply) {
        String response="";
        try{
            if(count==0){
                rs = RecordStore.openRecordStore(db, true);
                rs.addRecord("true".getBytes(), 0, "true".length());               
                rs.addRecord(getUsernameEdit().getString().getBytes(), 0, getUsernameEdit().getString().length());
                rs.addRecord(getPasswordEdit().getString().getBytes(), 0, getPasswordEdit().getString().length());
                rs.closeRecordStore();
            }
            else{
                rs = RecordStore.openRecordStore(db, false);
                byte b[]=rs.getRecord(1);
                response=new String(b,0,b.length);
                System.out.println(response);
                if(response.equals("true")){
                rs.setRecord(2, getUsernameEdit().getString().getBytes(), 0, getUsernameEdit().getString().length());
                rs.setRecord(3, getPasswordEdit().getString().getBytes(), 0, getPasswordEdit().getString().length());
            }
                rs.closeRecordStore();
                getSenderEdit().setString(getUsernameEdit().getString());
            }
        }catch(Exception e){
                getErrorBox().setString(e.toString());
        }
        switchDisplayable(getSavingSuccess(), getMessageForm());
        // write post-action user code here
    } else {
        // write pre-action user code here
        switchDisplayable(getSavingError(), getSettings());
        // write post-action user code here
    }
    // enter post-if user code here
}

【问题讨论】:

  • getUsernameEdit().getString() 持有什么价值?
  • 'getUsernameEdit().getString()' 拥有一个 10 位数的手机号码,但我试图评论除 'rs.addRecord("true".getBytes(), 0, "true" 之外的所有内容。长度());'仍然出现非法参数异常和应用程序退出。
  • @Raffaele 它正在模拟器上工作,那么如何在 s40 移动设备中打印堆栈跟踪?
  • 你怎么知道它抛出了异常?
  • @Raffaele 应用程序向选项 Details 和 Quit 提供消息应用程序错误,详细信息是 IllegalArgumentException

标签: java-me rms nokia-s40


【解决方案1】:

您为什么不尝试使用 Storage 类? RMS 是在 lwiit 中演变的吗

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多