Страницы

Поиск по вопросам

четверг, 9 апреля 2020 г.

Как реализовать переход между activity сохраняя сокет-соединение?

#java #android #клиент_сервер

                    
Пробую свои силы в клиент-серверах и наткнулся на такую проблему, если я хочу чтобы
на стороне клиента после подключения к серверу сменился Activity, но соединение не
потерялось, то как это реализовать понять не могу. 
Подключение клиента реализовывал в AsyncTask, который получается привязан к одному
Activity.

Для наглядного понимания вот пример: 

Допустим все клиенты сначала собираются в "комнате", а после того как все подключились
дается команда перейти на другое Activity с вопросами. Что-то типо онлайн викторины
где все стартуют одновременно.
    


Ответы

Ответ 1



есть один вариант. Запускать этот AsyncTask только один раз, и тогда можно будет обращаться к нему из любого Activity. public class DownloadWebPageTask extends AsyncTask { private static DownloadWebPageTask downloadWebPageTask; private Socket socket; // Это для соединения с сервером private DownloadWebPageTask(){ } public static synchronized DownloadWebPageTask getInstance( ) { if (downloadWebPageTask == null) downloadWebPageTask = new DownloadWebPageTask (); return downloadWebPageTask; } //... } использовать так (из любого Activity) DownloadWebPageTask downloadWebPageTask = DownloadWebPageTask.getInstance(); downloadWebPageTask.execute(a, b, c);

Комментариев нет:

Отправить комментарий