Когда я приведу 0 (ноль) к Long или 0 (ноль) к Integer, устройство преобразует его в 0 напрямую, как и ожидалось. Через некоторое время устройство начинает упаковывать длинное значение от 0 до 8 длинных значений и от 0 int до 2 целочисленных значений. Устройство делает ту же ошибку при чтении длинных и целых чисел из базы данных.
Эта проблема начала возникать на устройстве "UBX V500S" с ПЗУ SafeDroid из Китая. Информация о сборке устройства находится здесь:
BOARD=unknown
BOOTLOADER=unknown
BRAND=alps
CPU_ABI=armeabi-v7a
CPU_ABI2=armeabi
DEVICE=vz6737t_66_a_n
DISPLAY=SQ31T_P1_00_XX_AU1616_U_R_181220_01
FINGERPRINT=alps/full_vz6737t_66_a_n/vz6737t_66_a_n:7.0/NRD90M/1545278007:user/dev-keys
HARDWARE=mt6735
HOST=u-r730-1
ID=SQ31T_P1_00_XX_AU1616_U_R_181220_01
IS_DEBUGGABLE=false
IS_EMULATOR=false
MANUFACTURER=UBX
MODEL=SQ31T
PERMISSIONS_REVIEW_REQUIRED=false
PRODUCT=full_vz6737t_66_a_n
PROJECT=SQ31T
PWV_CUSTOM_CUSTOM=XX
PWV_HAVE_SCANNER=false
RADIO=unknown
SERIAL=---
SUPPORTED_32_BIT_ABIS=[armeabi-v7a, armeabi]
SUPPORTED_64_BIT_ABIS=[arm64-v8a]
SUPPORTED_ABIS=[0 = "arm64-v8a", "armeabi-v7a", "armeabi"]
TIME=1545277986000
TYPE=user
UNKNOWN=unknown
USER=Build
Это результат первого запуска:
(Long) 0L -> 0
Это результат, когда устройство начинает совершать ошибки:
(Long) 0L -> 8
Это результат, когда устройство начинает совершать ошибки:
(Integer) 0 -> 2
Добавление:
Когда устройство работает правильно, когда я проверял значения карты курсора базы данных SQLite,они выглядят правильно. « id » столбец указывает на индекс 0, « last_sycned_at » указывает на 2 :
Когдаустройство начинает делать ошибки. Я также видел, что значения карты изменены, столбец " id " указывает на индекс 2, столбец " last_sycned_at " также указывает на 2 :