Я проверяю пароль на правильность. Если параметр введен неправильно, возникают два исключения.
Я просмотрел эту страницу, чтобы проверить, правильный ли введенный мной пароль. Когда я повторил код, я все равно получил два одинаковых исключения в одной и той же строке кода. Одно исключение я могу перехватить, другое регистрируется.
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");
}
}
});
Код: Выделить всё
public void loadAllData() {
taskCalendarDBHelper = new TaskCalendarDBHelper(this);
try {
taskCalendarDBHelper.loadAllTasks();
taskCalendarDBHelper.loadAllNotes();
taskCalendarDBHelper.loadAllDayAlarms();
} catch (SQLiteException e) {
throw e;
}
}
Код: Выделить всё
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
Подробнее здесь: https://stackoverflow.com/questions/790 ... n-one-line
Мобильная версия