-1

値を 1 つだけ保持するデータベースがあります。「id」と「status」の2つの列があります。ID = 1 およびステータス = FALSE。書いた条件が満たされたときにテーブルをTRUEに更新したい。

    System.out.println("!!!!!entered here!!!!!!!!!");
    ContentValues cv = new ContentValues();
    cv.put("1", "TRUE");
    System.out.println("!!!!!entered here!!!!!!!!!");       

    db.update("main", cv, "id = 1", null);
    System.out.println("??????not entered here??????"); 

強制的に終了し、もちろんテーブルを更新しません。

条件を確認するためにこれを試しています。条件が満たされている場合は、ステータスが TRUE になります。status が FALSE の場合、アプリは CheckScreen に入り、TRUE の場合、アプリはその画面に入りません。

この場合の解決策も聞いています。

4

2 に答える 2

0

あなたのコンテンツの価値:

 ContentValues cv = new ContentValues();
 cv.put("1", "TRUE");

する必要があります

   ContentValues cv = new ContentValues();
   cv.put("status", "TRUE");

status は、更新する列名です。

例:

 DBHelper dbHelper = new DBHelper(context);
 SQLiteDatabase db = dbHelper.getWritableDatabase();
 ContentValues updateValues = new ContentValues();
 updateValues.put("status", "TRUE");
 int updated = db.update(MYDATABASE_TABLE, updateValues, KEY_ID+"="+id, null);
于 2012-06-28T13:28:18.380 に答える
0

I found a solution to my problem, I used Shared Preferences. My purpose is holding a status on the device which is initially "false" and when user downloads the app, enters the password, make that status "true".

My Intro.class

    SharedPreferences mSharedPrefs = getSharedPreferences("xmlFile", MODE_PRIVATE);

    boolean checkValue = mSharedPrefs.getBoolean("bool", false);
    if (checkValue) {
        Intent intent = new Intent(Intro.this, MainScreen.class);
        startActivity(intent);
    } else {
        Intent intent = new Intent(Intro.this, KeyCheckClass.class);
        startActivity(intent);
    }
}

My KeyCheckClass.class

...
private boolean check(String str) {
        // my validation algorithm
    }

    SharedPreferences mSharedPrefs = getSharedPreferences("xmlFile",
            MODE_PRIVATE);
    SharedPreferences.Editor mPrefsEditor = mSharedPrefs.edit();

    mPrefsEditor.putBoolean("bool", true);
    mPrefsEditor.commit();

    return true;
}

私の MainScreen.class で、私のアプリは本当のスタートを切ります。これで、有効なパスワードを入力した後、電話は KeyCheckClass.class に再度アクセスせず、MainScreen.class を介して渡します。

于 2012-06-29T07:56:05.813 に答える