2017-08-05 58 views
-3

有人有關於如何使用Pragma安全刪除的例子嗎? 我需要它爲我的Android應用程序。 我嘗試了一切,但我總是得到一個錯誤。的PRAGMA secure_delete如何在Android上使用Sqlite PRAGMA secure_delete Java

+0

請提供[mcve]顯示您如何使用它以及與您的錯誤相關的完整Java堆棧跟蹤。 – CommonsWare

+0

FWIW,[這行代碼](https://github.com/onionApps/ourbook/blob/master/app/src/main/java/onion/network/ChatDatabase.java#L48)顯示了某人如何嘗試它。我不知道該代碼是否有效,儘管看起來似乎是合理的。 – CommonsWare

回答

0

實施例的用途: -

db.rawQuery("PRAGMA secure_delete = FAST;",null); // Intermediate mode 
db.rawQuery("PRAGMA secure_delete = TRUE",null); // ON 
db.rawQuery("PRAGMA secure_delete = FALSE", null); // OFF 
Cursor c = db.rawQuery("PRAGMA secure_delete",null); // GET current state 
while (c.moveToNext()) { 
    for (int i=0; i < c.getCount();i++) { 
     Log.d("PRAGMA","Result ==>" + c.getString(i) + "<=="); 
    } 
} 

從上述日誌: -

08-07 17:20:34.590 11030-11030/? D/PRAGMA: Result ==>0<==

熄滅FAST也返回0,TRUE(上)返回1

注意!所有可以返回結果0或1的光標;

注意! 1或0爲真或假分別不起作用,例如: -

08-07 17:19:51.831 10516-10516/? E/AndroidRuntime: FATAL EXCEPTION: main 
                Process: mjt.soqanda, PID: 10516 
                java.lang.RuntimeException: Unable to start activity ComponentInfo{mjt.soqanda/mjt.soqanda.MainActivity}: android.database.sqlite.SQLiteException: near "PRGARMA": syntax error (code 1): , while compiling: PRGARMA secure_delete = 1 
                 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325) 

根據最小的測試,試圖改變使用

db.execSQL("PRAGMA seccure_delete = FALSE");

什麼也不做,但不會失敗的狀態。

+0

因爲雙'c',db.execSQL(「PRAGMA seccure_delete = FALSE」)失敗了嗎? (注意:seCCure') – PazO

相關問題