j2me中的java.lang.nullpointerexception

时间:2012-05-18 09:23:13

标签: java-me nullpointerexception smartcard apdu mifare

我正在编写一个读取mifare卡的应用程序,但是当我传递APDU时,在模拟器“java.lang.nullpointerexception”上发生了错误。我已成功检测到ISO14443_CARD之后我传递了APDU

if (tp.hasTargetType(TargetType.ISO14443_CARD)){
  form.append("Target is ISO14443_CARD\n");

 try { 
            static byte[]   APDU_AUTH1 = { (byte) 0xff, (byte) 0x86, (byte) 0x00, (byte) 0x00, (byte) 0x05,(byte)0x01,(byte)0x00,(byte)0xfc,(byte)0x60,(byte)0x00};
            static byte[]   STATUS_BYTE = {(byte)0x90,(byte)0x00}; 
        if(STATUS_BYTE == iso14443.exchangeData(APDU_LOAD_KEY))
        {
         String value1 = new String("Hai!");
         textfield1.setString(value1);
         form.append(textfield1);

        }
        else
        {
            String value1 = new String("Hello!");
             textfield1.setString(value1);
             form.append(textfield1);
        }



     } 
    catch (Exception ex) { 
        form.append(ex.toString()); 
        } 
 }

1 个答案:

答案 0 :(得分:1)

iso14443textfield1个对象中的任何一个都可能为空。

通过调试方式(非常聪明的BTW,我的祝贺),您可以按如下方式记录检查:

form.append("\n\n iso14443 is null: [" + (iso14443 == null)
        + "],\n textfield1 is null: [" + (textfield1 == null) + "]");