Android-приложение и сокет - PullRequest
0 голосов
/ 14 июля 2011

Я хочу реализовать приложение для Android, которое могло бы общаться с сервером через Интернет. Поскольку каждый раз, когда приложение Android подключается к серверу, будет устанавливаться соединение, и приложение Android будет поддерживать это соединение для получения сообщений от сервера. Тем не менее, в то же время Android-приложение должно обрабатывать пользовательские вводы, поэтому эти две задачи должны выполняться одновременно, что необходимо реализовать двумя потоками. У меня нет опыта по многопоточному программированию. какие-либо предложения? Благодарю. лев.

Ответы [ 3 ]

2 голосов
/ 14 июля 2011

Пользовательский интерфейс обрабатывается основным потоком, так что на самом деле вам просто нужно настроить один поток, обрабатывающий сеть (на самом деле, на 3.0 и при открытии соединения через сокет из основного потока возникнет исключение!).

Установите и поддерживайте соединение с сервером с помощью AsyncTask - это довольно простой способ сделать многопоточность.Посмотрите на эту документацию: http://developer.android.com/resources/articles/painless-threading.html

0 голосов
/ 14 июля 2011

Возможно, вы захотите рассмотреть обмен сообщениями в облаке от Google (C2DM).Им удается держать соединение открытым для устройства в течение длительных периодов времени и будет передавать уведомления вашего сервера на любое устройство Android.Я полагаю, что он все еще находится в стадии "лаборатории".

0 голосов
/ 14 июля 2011

Вы пытались поместить взаимодействие с сервером в поток?Это не должно быть проблемой вообще

 Thread thread = new Thread(this){
    public void run() {
        // do your server interaction
    }
  }
  thread.start();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...