Метод doInbackground не работает после возобновления приложения - PullRequest
0 голосов
/ 06 мая 2018

я извлекаю данные изображения через HttpURLConnection, теперь после 1-го раза извлечения данных изображения на Postexcute это изображение показывается в просмотре изображения (onresume), но в это время сервер обновляет данные изображения (изображение изменяется), и теперь doinbackground не работает .i Я хочу мгновенно изменить изображение просмотра изображения, как только сервер изменит изображение. Но оно не работает мгновенно. Мне нужно перезапустить приложение, а затем оно будет меняться. Я хочу, чтобы изменить изображение мгновенно, помогите мне

1 Ответ

0 голосов
/ 06 мая 2018

Вы должны использовать таймер, чтобы проверять наличие нового изображения с интервалом, но недостатком является то, что он сильно повлияет на использование памяти приложением и, если он будет выполнять слишком много работы, может заморозить приложение, но это вряд ли произойдет на устройстве Android от LOLLIPOP и выше

...
import java.util.Timer;
import java.util.TimerTask;

   ...
   Timer timer = new Timer();

   ...
   timer.scheduleAtFixedRate(new TimerTask() {
   @Override
   public void run() {
       //load you image from url to image view

   }, 1000, 2000);
   ...

Не забудьте отменить таймер при выходе из программы

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

...
import android.content.BroadcastReceiver;

public class NetworkChangeReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(final Context context, final Intent intent) {
        //load you image from url to image view

    }
}

Примечание: не забудьте отменить регистрацию службы в своей деятельности. Вы также можете посмотреть Firebase Cloud Messaging в соответствии с предложением @xenolion

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