У меня есть один старый проект, который был куплен вместе с SDK для управления доступом и устройством. Мне нужно захватить данные пользователей и отправить в firebase.
Итак, что я сделал, так это сначала обновил версию sdk, потому что она слишком старая (22), и firebase не могла с ней работать, пока я не обновлю.
Короче говоря, код sqlite работал нормально до и после обновления, локальная база данных приводила к сбою приложения, говоря:
java.lang.RuntimeException: Unable to start activity
ComponentInfo{com.fgtit.access/com.fgtit.access.MainActivity}:
android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not
open database
Ниже показано, что такое создание базы данных и управление ею.
public static boolean IsFileExists(String filename){
File f=new File(filename);
if (f.exists()){
Log.d("UserDB", f.getName());
return true;
}
return false;
}
public void LoadAll(Context ctx){
usersList.clear();
String optionalPath = "/OnePass/users.db";
String rootPath = ctx.getExternalFilesDir(optionalPath).getAbsolutePath();
if (IsFileExists(rootPath )){
db=SQLiteDatabase.openOrCreateDatabase(rootPath,null);
}else{
db=SQLiteDatabase.openOrCreateDatabase(rootPath,null);
String sql = "CREATE TABLE TB_USERS(userid INTEGER PRIMARY KEY ASC,"
+ "usertype INTEGER,"
+ "groupid INTEGER,"
+ "username CHAR(24),"
+ "expdate BLOB,"
+ "enlcon1 BLOB,"
+ "enlcon2 BLOB,"
+ "enlcon3 BLOB,"
+ "fp1 BLOB,"
+ "fp2 BLOB,"
+ "fp3 BLOB,"
+ "enllNO BLOB);";
db.execSQL(sql);
}
Below is my gradle configuration
apply plugin: 'com.android.application'
android {
compileSdkVersion 30
defaultConfig {
applicationId "com.fgtit.access"
versionCode 9
versionName "2.7"
minSdkVersion 17
targetSdkVersion 30
ndk {
abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation files('libs/android-core-3.1.1-SNAPSHOT.jar')
implementation files('libs/core-3.1.1-SNAPSHOT.jar')
}
Изменилось ли что-нибудь с SDK 22 и что здесь может быть не так?
@Andrew Android версии 6.0. до и после. Есть конкретное устройство, которому это нужно. Все, что я хочу сделать, это изменить, чтобы он мог работать с нашей моделью.




Обновление до версии API 30 решило проблему.
На какой версии Android пробовали раньше и на какой версии сейчас?