Вот конкретная ошибка c:
java .lang.NoSuchMethodError: Нет метода интерфейса getCount () в классе Landroid / database / Cursor; или его суперклассы (объявление 'android .database.Cursor' появляется в /system/framework/framework.jar), после перезапуска этого приложения, onCreate () вызовет Cursor getCount (),
Почему произойдет эта ошибка, нужно будет использовать новый метод? Из android библиотеки или java библиотеки?
import android.database.Cursor;
import android.database.MatrixCursor;
import android.database.sqlite.SQLiteDatabase;
public boolean onCreate() {
DataStore.getInstance(getContext());
setDBHandle(DataStore.getInstance(getContext()).getWritableDatabase()); //added
setReadDBHandle(DataStore.getInstance(getContext()).getReadableDatabase()); //added
if (Process.myUid() < 2000) {
File dbFile2 = new File(PATH_DATABASE_DIRECTORY, IRecordingsContract.Recordings);
int rwMode = FileUtils.S_IRUSR | FileUtils.S_IWUSR | FileUtils.S_IRGRP | FileUtils.S_IWGRP | FileUtils.S_IROTH | FileUtils.S_IWOTH;
if (dbFile2.exists()) {
FileUtils.setPermissions(dbFile2.getAbsolutePath(), rwMode, -1, -1);
Log.d(TAG, "setPermissions 666 to RECORDINGS_DATABASE_NAME");
}
dbFile2 = new File(PATH_DATABASE_DIRECTORY, IRecordingsContract.Recordings + "-journal");
if (dbFile2.exists()) {
FileUtils.setPermissions(dbFile2.getAbsolutePath(), rwMode, -1, -1);
Log.d(TAG, "setPermissions 666 to RECORDINGS_DATABASE_NAME-journal");
}
dbFile2 = new File(PATH_DATABASE_DIRECTORY, IRecordingsContract.Recordings + "-shm");
if (dbFile2.exists()) {
FileUtils.setPermissions(dbFile2.getAbsolutePath(), rwMode, -1, -1);
Log.d(TAG, "setPermissions 666 to RECORDINGS_DATABASE_NAME-shm");
}
dbFile2 = new File(PATH_DATABASE_DIRECTORY, IRecordingsContract.Recordings + "-wal");
if (dbFile2.exists()) {
FileUtils.setPermissions(dbFile2.getAbsolutePath(), rwMode, -1, -1);
Log.d(TAG, "setPermissions 666 to RECORDINGS_DATABASE_NAME-wal");
}
}
Uri uriInstance = Uri.parse("content://" + IRecordingsContract.AUTHORITY + "/" + IRecordingsContract.Recordings + "/" + IRecordingsContract.RECORDINGS_TABLE);
**Cursor currentVersionCursor = null;**
try {
currentVersionCursor = getMaxVersionRecord(uriInstance);
if (currentVersionCursor != null && currentVersionCursor.moveToFirst()
&& **currentVersionCursor.getCount() >= 1**
&& currentVersionCursor.getColumnCount() >= 1) {
setCurrentVersion(currentVersionCursor.getInt(0));
Log.d(TAG, "The CurrentVersion Read from the DB Recording: " + currentVersion);
}
} catch (Exception e) {
Log.d(TAG, "Exception in onCreate():getMaxVersionRecord()");
} finally {
if (currentVersionCursor != null) {
currentVersionCursor.close();
currentVersionCursor = null;
}
}