Получение BLOB-данных в Android, нулевое исключение - PullRequest
0 голосов
/ 20 марта 2012

Я вставляю растровые данные (массив byte []) в столбец, где BLOB-столбец.
Я использую этот источник для получения данных.

//Get the data
byte[] byteArray = helper.getPicture(appWidgetId);
//Change byte[] data to Bitmap
Bitmap bmPicture = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);

Но у андроида появляется сообщение об ошибке, его растровое изображение равно нулю
Поэтому я добавил источник проверки.

//Get the data
byte[] byteArray = helper.getPicture(appWidgetId);
//Check, If byte is not null
if (byteArray != null) {
//Change it to Bitmap
    Bitmap bmPicture = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
}

Это прекрасно ...
Я не могу понять, почему добавлено «если источник» может загружать данные.
Почему не добавлено «если источник» не может загрузить данные.

Это похоже на интерфейс ...: <<br>

Ответы [ 2 ]

1 голос
/ 12 марта 2013

Я думаю, что вы должны отладить ваше приложение.Установите несколько точек останова в нужных местах и ​​продолжайте.Это самый простой способ выяснить значения ваших переменных во время выполнения.Я предполагаю, что что-то не так с:

byte[] byteArray = helper.getPicture(appWidgetId);

Этот метод, очевидно, иногда действует не так, как ожидалось, поэтому углубимся в этот.

* * * * * * * * *неправильное поведение исчезает, оно показывает ваш успех, только если метод getPicture возвращает верный результат.Так что в случае нулевого результата вы просто ничего не видите, верно?

Другой совет - используйте исключения, чтобы выяснить, когда что-то пошло не так, чтобы вы могли реагировать на неожиданное поведение; -)

0 голосов
/ 20 марта 2012

Добавьте запись в журнал и проверьте, если / когда случается случай, который вы предотвращаете с помощью if.

if (byteArray != null) {
    //Change it to Bitmap
    Bitmap bmPicture = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
    Log.d("TAG", "it worked :)");
} else {
    Log.d("TAG", "it's null :(");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...