Как правильно ждать создания объекта - PullRequest
2 голосов
/ 06 февраля 2012

Я запускаю действие камеры и говорю ему, чтобы установить изображение для определенного файла.Когда действие возвращается, я беру этот файл и пытаюсь загрузить его на сервер, но иногда действие камеры не заканчивает запись в файл, поэтому я получаю исключение NullPointerException.

Как лучше всего убедиться, что у вас нет этого состояния гонки?Я попытался synchrnized (), но это, похоже, не решило проблему.

synchronized(picFile) {
    imageUploader.uploadImage(picFile); }

Я помню, как мой профессор в колледже говорил мне, что он выследит меня, если мы сделаем цикл ожидания ожидания, так что я чувствую себя тамдолжен быть лучшим способом сделать это, чем какой-то цикл, который просто ждет.

Спасибо

1 Ответ

1 голос
/ 06 февраля 2012

Вы можете зарегистрировать ContentObserver, чтобы уведомлять вас об изменениях в хранилище мультимедиа и проверять, существует ли файл в обратном вызове OnChange.

http://developer.android.com/reference/android/content/ContentResolver.html#registerContentObserver(android.net.Uri,%20boolean,%20android.database.ContentObserver)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...