Два одинаковых SQLiteException в одной строкеJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Два одинаковых SQLiteException в одной строке

Сообщение Anonymous »

У меня две одинаковые ошибки в одной строке при использовании SQLCipher.
Я проверяю пароль на правильность. Если параметр введен неправильно, возникают два исключения.
Я просмотрел эту страницу, чтобы проверить, правильный ли введенный мной пароль. Когда я повторил код, я все равно получил два одинаковых исключения в одной и той же строке кода. Одно исключение я могу перехватить, другое регистрируется.
TaskOpenActivity:

Код: Выделить всё

        binding.openDatabaseFab.setOnClickListener(new View.OnClickListener() {
@OptIn(markerClass = ExperimentalBadgeUtils.class)
@Override
public void onClick(View v) {
Intent intent = new Intent(context, MainActivity.class);
SharedPreferences sharedPreferences = context.getSharedPreferences("TaskCalendarPreferences", Context.MODE_PRIVATE);
sharedPreferences.edit().putString("PassphraseMD5", TaskApplication.getInstance().md5(binding.passphrase.getText().toString())).commit();

SharedPreferences preferences = context.getApplicationContext().getSharedPreferences("TaskCalendarPreferences", MODE_PRIVATE);
String passphrase = preferences.getString("PassphraseMD5", "");
Log.d("TaskCalendarLog", passphrase);
try {
TaskApplication.getInstance().loadAllData();
startActivity(intent);
finish();
} catch (SQLiteException e) {
Log.d("TaskCalendarLog", "Incorrect password");
}
}
});
TaskApplication:

Код: Выделить всё

    public void loadAllData() {
taskCalendarDBHelper = new TaskCalendarDBHelper(this);
try {
taskCalendarDBHelper.loadAllTasks();
taskCalendarDBHelper.loadAllNotes();
taskCalendarDBHelper.loadAllDayAlarms();
} catch (SQLiteException e) {
throw e;
}
}
TaskBDOpenHelper:

Код: Выделить всё

    public void loadAllTasks() {
SharedPreferences preferences = context.getApplicationContext().getSharedPreferences("TaskCalendarPreferences", MODE_PRIVATE);
passphrase = preferences.getString("PassphraseMD5", "");
Log.d("TaskCalendarLog", passphrase);

TaskManager taskManager = TaskManager.getInstance();
//SQLiteDatabase actionsDatabase;
//actionsDatabase = SQLiteDatabase.openDatabase(DATABASE_PATH + DATABASE_NAME, passphrase, null, SQLiteDatabase.OPEN_READONLY, hook);
try {
taskCalendarDatabase = SQLiteDatabase.openOrCreateDatabase(DATABASE_PATH + DATABASE_NAME, passphrase, null, null, hook);  //                                                                                                                                                                                                                  a t   n e t . z e t e t i c . d a t a b a s e . s q l c i p h e r . S Q L i t e C o n n e c t i o n . n a t i v e P r e p a r e S t a t e m e n t ( N a t i v e   M e t h o d ) < b r   / >                                                                                                                                         at net.zetetic.database.sqlcipher.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:973)
at net.zetetic.database.sqlcipher.SQLiteConnection.executeForLong(SQLiteConnection.java:628)
at net.zetetic.database.sqlcipher.SQLiteConnection.open(SQLiteConnection.java:240)
at net.zetetic.database.sqlcipher.SQLiteConnection.open(SQLiteConnection.java:202)
at net.zetetic.database.sqlcipher.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:475)
at net.zetetic.database.sqlcipher.SQLiteConnectionPool.open(SQLiteConnectionPool.java:189)
at net.zetetic.database.sqlcipher.SQLiteConnectionPool.open(SQLiteConnectionPool.java:181)
at net.zetetic.database.sqlcipher.SQLiteDatabase.openInner(SQLiteDatabase.java:1028)
at net.zetetic.database.sqlcipher.SQLiteDatabase.open(SQLiteDatabase.java:1013)
at net.zetetic.database.sqlcipher.SQLiteDatabase.openDatabase(SQLiteDatabase.java:840)
at net.zetetic.database.sqlcipher.SQLiteDatabase.openDatabase(SQLiteDatabase.java:812)
at net.zetetic.database.sqlcipher.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:929)
at com.andrewpeterson.todocalendar.DataBase.TaskCalendarDBHelper.loadAllTasks(TaskCalendarDBHelper.java:194)
at com.andrewpeterson.todocalendar.Application.TaskApplication.loadAllData(TaskApplication.java:98)
at com.andrewpeterson.todocalendar.Activities.OpenDatabaseActivity$1.onClick(OpenDatabaseActivity.java:61)
at android.view.View.performClick(View.java:7184)
at android.view.View.performClickInternal(View.java:7157)
at android.view.View.access$3500(View.java:821)
at android.view.View$PerformClick.run(View.java:27660)
at android.os.Handler.handleCallback(Handler.java:914)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:225)
at android.app.ActivityThread.main(ActivityThread.java:7563)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:994)
2024-09-30 20:11:57.458 18829-18829 TaskCalendarLog         com.andrewpeterson.todocalendar      D  Incorrect password
Извините за мой плохой английский. Это Google Переводчик.

Подробнее здесь: https://stackoverflow.com/questions/790 ... n-one-line
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»