Вытащить изображение с parse.com и показать на Android

Снова возникли проблемы с Parse.com, очевидно, у меня проблемы с ним. Еще раз, это прекрасно работает в iOS, но когда я пытаюсь сделать то же самое в Android, это терпит неудачу. Ошибка:Caused by: java.lang.NullPointerException"который вызывает эту строку кода"fileObject.getDataInBackground(new GetDataCallback()"

По сути, я пытаюсь извлечь определенное изображение из таблицы parse.com и отобразить его в ImageView. У меня это работает локально, другими словами, я могу вызвать изображение непосредственно с устройства. Но это побеждает цель вытягивания изображения с Parse.com.

Я следовал примеру, представленному на веб-сайте Parse.com, но, очевидно, у меня не единственные проблемы. https://parse.com/docs/android_guide

Ниже мой код, расположенный на функции onCreate;

ParseObject parseObject = new ParseObject("Birds");
ParseFile fileObject = (ParseFile) parseObject.get("totemImage");
fileObject.getDataInBackground(new GetDataCallback() {
    @Override
    public void done(byte[] data, ParseException e) {

        if (e == null)
        {
            Bitmap bmp = BitmapFactory .decodeByteArray(data, 0, data.length);
            ImageView pic;

            pic = (ImageView) findViewById(R.id.totemView);
            pic.setImageBitmap(bmp);

        }
        else
        {


        }

    }
}); 

Любые идеи о том, как это исправить, было бы замечательно. Кстати (Birds это таблица / имя класса в разборе)

С уважением, Джереми

1 ответ

Решение

Первая строка вашего кода создает новый объект ParseObject класса Birds:

ParseObject parseObject = new ParseObject("Birds");

Затем в следующей строке вы читаете значение его ключа "totemImage":

ParseFile fileObject = (ParseFile) parseObject.get("totemImage");

Поскольку это новый объект, ожидается, что ни один из его ключей не будет иметь никаких значений, и поэтому fileObject ParseFile имеет значение null.

Вы уверены, что не хотели вместо этого запрашивать существующий объект?

Другие вопросы по тегам