【问题标题】:Null point exception in persistent object , blackberry application持久对象中的空点异常,黑莓应用程序
【发布时间】:2013-05-09 17:53:26
【问题描述】:

我正在使用持久存储在 Blackberry 应用程序中存储数据。我正在尝试将电话号码存储在持久对象中,但存储后,它会给出 null 值。

我在这里发布我的代码:

public static Vector push_data;
public static PersistentObject push_store = null;
public static final long KEY = 0x9df9f961bc333daL;

boolean isNumberVerified;
// PasswordEditField password;

static String verifiedPhoneNumber = "number";
public static String phoneNumber;
static String Number = "number";

public Third() {
    super(Field.USE_ALL_HEIGHT | Field.FIELD_HCENTER);
    System.out.println("******************** Into SplashScreen");

    try {
        bitmap  = Bitmap.getBitmapResource("im.png");
        BitmapField bmpField = new BitmapField(bitmap);
        HorizontalFieldManager hfm = new HorizontalFieldManager();
        hfm.add(bmpField);`

........

    public void fieldChanged(Field field, int context) {
        if (field == btnNext) {
            final String msg = Util.getRandomNumber();
            checkIsVerified(Number, msg);
        }
    }

    private void checkIsVerified(final String Number, final String msg) {
        Dialog.alert("Verifying  "  + Number);
        if (verifiedPhoneNumber == Number) {
            isNumberVerified = true;
            Dialog.alert("isverified  "  + Number);
            push_store = PersistentStore.getPersistentObject( KEY );
            push_data = (Vector) push_store.getContents();
            if( push_data == null ) {
                push_data = new Vector();
                push_data.addElement("number");
                push_store.setContents( push_data );
                push_store.commit();
                Dialog.alert("isverified  "  + push_data);

                UiApplication.getUiApplication().pushScreen(new spinner());
            } else {
                isNumberVerified = false;
                UiApplication.getUiApplication().pushScreen(new Sms());
            }
        }

【问题讨论】:

    标签: blackberry blackberry-eclipse-plugin blackberry-jde


    【解决方案1】:

    试试这个 -

    public static String push_data="";
    public static PersistentObject push_store; 
    public static final long KEY = 0x9df9f961bc33352L;
    
    //For get contents
    push_store = PersistentStore.getPersistentObject( KEY );
    push_data = (String) push_store.getContents();
    
    //For set contents
    push_data=Number;
    push_store.setContents( push_data );
    push_store.commit();
    

    【讨论】:

    • 在原始代码中,push_data 是一个Vector,而Number 是一个String,所以这是行不通的。我假设他们希望能够存储字符串向量。
    • @Nate 我知道。但她/他没有告诉任何关于这件事的事情。
    猜你喜欢
    • 2012-02-20
    • 1970-01-01
    • 2012-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-28
    • 1970-01-01
    相关资源
    最近更新 更多