NoSuchMethodError при тестировании стабильности android приложение - PullRequest
0 голосов
/ 05 марта 2020

Вот конкретная ошибка 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;
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...