2012-04-13 5 views
0

У меня возникла проблема с тем, как разработать программу обновления для моей программы. Какой лучший порядок обновления данных с сервера? (Абсолютно многопоточность)Обновление данных с сервера периодически дизайн

Thread { 
    Timer { 
     result = downloaddata(url) 
    } 
} 

или

Timer { 
    Thread { 
    result = downloaddata(url) 
    } 
} 

ответ

0

А кто Мангес таймер во втором растворе? Должна ли она снова стать главной нитью? Я бы предложил первый вариант.

В андроиде Thread будет реализован в Service.

Также подумайте, действительно ли вам нужны периодические обновления. Если изменения относительно редки, то push notifications с сервера может быть лучшим решением для ваших нужд (они значительно уменьшат количество вызовов на сервер, а значит, и расходуют ресурсы).

+0

Я действительно не понимаю о «push-уведомлении», можете ли вы объяснить, как это работает? или как это сделать? – felangga

+0

@FelixAnggaErlandhita Я связал в своем ответе нить в SO, что указывает на 'c2dms'. В основном, как это работает: когда сервер обнаруживает изменение, которое должно быть передано клиенту, он инициирует push, который проходит через облако Google и, наконец, распространяется на ваше приложение. Сами сообщения распределяются так же, как распространяются сообщения и электронные сообщения gtalk, что значительно снижает потребление батареи и сети. –

0

Я предлагаю BroadCastereciever .. там, где он работает периодически, а также в фоновом режиме .. у вас нет трэда там ... и что-то делать по таймеру не является предпочтительным, потому что Таймер не настолько надежный. ЕСЛИ ваш приложение подходит к фону, это может закончиться без каких-либо подсказок.

Смежные вопросы