Форум программистов, компьютерный форум CyberForum.ru

Клиент-серверная архитектура на основе сокетов - Android

Восстановить пароль Регистрация
Другие темы раздела
Android Маска ввода для EditText http://www.cyberforum.ru/android-dev/thread873723.html
Здравствуйте. А можно как то задать маску ввода для текстового поля? Ну например, вводим сумму денег в EditText и формат должен быть типа "#.00" - то есть после точки не больше двух цифр. И если пользователь вводит более двух цифр в поле - они просто не отображаются.
Android Не пойму, почему вылазит OutOfBoundsException String line = "I:MY_MOTE #N:182 #TMP: 32.75 #TS:Friday, 13/00/10 - 44:12.15"; int index2 = line.indexOf("#TMP:"); String sub = line.substring(index2 + 5, 7) Выполняя тоже самое в C#, получаю 32.75 в sub, но на Андрюхе оно крешится. Почему? Помогите, пожалуйста.. Конечная цель, как вы поняли, выдрать 32.75(или любое другое число на этом месте).. http://www.cyberforum.ru/android-dev/thread873585.html
База SqLite - проверка записей на существование Android
Помоги разрешить следующую ситуацию. у меня есть метод который получает данные из интернета в Json. Я данные разбираю и записываю в базу данных: try { for (int i = 0; i < jsonM.length(); i++) { JSONObject c = jsonM.getJSONObject(i); String id_op = c.getString("id"); String cat = c.getString("cat");
Visualizer и сигнал с микрофона.Проблемка Android
Здравствуйте. Столкнулся с проблемой. Требуется написать приложение, которое будет отображать сигнал с микрофона в виде: - wave form; - fft form. Клас Vizualizer имеет методы getWaveForm() и getFft(). Подписался на Visualizer.OnDataCaptureListener() и по возникновению onWaveFormDataCapture(Visualizer visualizer, byte bytes, int samplingRate), или onFftDataCapture(Visualizer visualizer,...
Android Ориентация экрана http://www.cyberforum.ru/android-dev/thread872789.html
Здравствуйте!Хотелось бы услышать совета знающих людей:) Имеется Активити с открытой БД и Курсором...Необходимо сделать так, что бы при изменении ориентации экрана не вызывался метод onCreate(), ну в общем все оставалось как есть, но поменялся layout на layout из layout-land Такой способ подойдет? Чтобы активность не пересоздавалась, добавьте в манифест строчку для нужной активности: ...
Android Потоковое видео Есть видеопоток(RTP), зашифрован по h.263, который приходит на конкретный порт по UDP протоколу. Как можно воспроизвести этот видеопоток в своем приложении? подробнее

Показать сообщение отдельно
GiGaBiTe911
24 / 24 / 1
Регистрация: 04.02.2013
Сообщений: 132
Записей в блоге: 1
24.05.2013, 11:09     Клиент-серверная архитектура на основе сокетов
не совсем в вечном цикле, но вы почти угадали. нужно запустить отдельный поток и в нем слушать созданный сокет. примерно вот так:
Java
1
2
3
4
5
6
private void CreateThread()
{
        // создаем новый поток и в него передаем объект Runnable для обработки этого потока
    listenThread = new Thread(null, doBackgroundListening,"BackgroundListen");                                                                                                          
    listenThread.start();
}
объект Runnable для обработки
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
private Runnable doBackgroundListening = new Runnable() 
{
    @Override
    public void run() 
    {
        if(Connect()) // здесь создаем сокет и подключаемся
        {               
            isSterted = true;       
            isRcvData= true;
            handler.post(doUpdateGUIonStartSucces); // для обновления UI из этого потока
            backgroundListening();  // собственно вызываем метод в котором создаем и слушаем сокет          
        }
        else
        {
            isSterted=false;
            handler.post(doUpdateGUIonStartError);
        }
    }
};
метод в котором создаем и слушаем сокет
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
private void backgroundListening()
    {                       
        try 
        {
            int len;
            inp = soc.getInputStream();
            Context context = getApplicationContext();
            incomData = new byte[0];
            boolean isReaded = false;           
            byteTransfered=0;
            soc.setReceiveBufferSize(Integer.MAX_VALUE);
            while(isRcvData)
            {                                                               
                byte bufin[] = new byte[1];                                                                                             
                                
                while((len=inp.read(bufin)) !=-1)               
                {                                                                                                   
                    // здесь читаем данные из буфера                                                    
                }                               
            }
        } 
        catch (IOException e) 
        {           
            Log.e("IO ERROR:", e.getMessage() );        
        }
        catch (Exception ex) 
        {                   
            Log.e("IO ERROR 2:", ex.getMessage() );         
        }       
        
    }
метод в котором создаем сокет и подключаемся
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
private boolean Connect()
    {
        boolean isConnected = false;
        try
        {                                                   
            soc = new Socket();
            soc.bind(null);
            
            soc.connect(new InetSocketAddress(m_host, m_port),5000);            
            soc.setKeepAlive(true);                     
            isConnected = true;                         
            
        }
        catch(NumberFormatException ex)
        {           
            Log.e("CONNECT ERROR - NumForm",ex.getMessage());       
        }
        catch(SocketTimeoutException ex)
        {
            Log.e("CONNECT ERROR - SockTimeOut",ex.getMessage());
        }
        catch(Exception ex)
        {           
            Log.e("CONNECT ERROR - Uncnown",ex.getMessage());
        }       
        
        return isConnected;
    }
 
Текущее время: 10:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru