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

WiFi, создание сокета в новом потоке - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Создание своего простейшего диалога http://www.cyberforum.ru/android-dev/thread1756941.html
Добрый день! Решил разработать свой простой диалог (универсальный отдельный класс) и многократно использовать его (вызывать) из разных Activity для разных нужд. Так, чтобы можно было задавать заголовок, текст, иконку, названия кнопок, а не городить кучу однотипных диалогов с разными надписями на все случаи жизни. Многочисленные примеры в интернете указывают что нужно делать так: import...
Android Передача команд с телефона на компьютер (wifi) Доброго времени суток . Друзья , хочу реализовать ,условно говоря, дистанционное управление компьютером с телефона , пока нашел инфу что проще сделать если они находятся в одной сети вайфай . Для этого сделать клиентский сокет для телефона и серверный для компьютера . Буду использовать андроид . Подскажите как удобнее всего это сделать , если кто знает . И с чего начать ).(я раньше с таким не... http://www.cyberforum.ru/android-dev/thread1756897.html
Исходный код Android Studio Android
Добрый день, имеется исходный код написанный в Android studio Очень срочно нужно этот код вывести в рабочую программу, кто может помочь?
Listener SQLite Android
Если какой нибудь стандпртный слушатель изменений в SQLite android. Ну например добавили или удалили что нибудь из базы данных и он в этот момент срабатывает? Если да то какой?
Android Не могу разобраться в логах, где ошибка? http://www.cyberforum.ru/android-dev/thread1756718.html
Приложение не запускается на Андроид устройствах Помогите пожалуйста разобраться в этом!! 06-07 10:35:51.829: E/AndroidRuntime(1283): FATAL EXCEPTION: main 06-07 10:35:51.829: E/AndroidRuntime(1283): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{info.androidhive.androidvideostreaming/info.androidhive.androidvideostreaming.MainActivity}:...
Android Как заполнить в ListView второй element из Jsoup? protected String doInBackground(String... arg) { Document doc; try { doc = Jsoup.connect("http://site.com/catalog/1/").get(); content = doc.select(".product-name"); price = doc.select(".price"); products.clear(); for (Element contents : content) { подробнее

Показать сообщение отдельно
Drago56
0 / 0 / 0
Регистрация: 17.04.2011
Сообщений: 37

WiFi, создание сокета в новом потоке - Android

07.06.2016, 16:40. Просмотров 122. Ответов 0
Метки (Все метки)

Подскажите ошибку. Есть точка вай фая уже подключенная к андроиду. Пытаюь создать сокет в новом потоке MyThred2 IP:192.168.2.2 Порт:1234
Код создание сокета и запуск потока:
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
   Socket client = null;
                           // int r = 0;
                            try {
                                //client = new Socket(java.net.InetAddress.getByName("192.168.2.2"), 1234);
                                client = new Socket();
                                client.bind(null);
 
                                client.connect(new InetSocketAddress("192.168.2.2", 1234),1234);
                                client.setKeepAlive(true);
                            } catch (UnknownHostException e) {
                                Log.d(TAG, "соед1"  );
                            } catch (IOException e) {
                                Log.d(TAG, "соед2"  );
                            }
                            catch (NetworkOnMainThreadException e) {
                                Log.d(TAG, "соед3"  );
                            }
                            if (client !=null)
                              // Log.d(TAG, "соед"  );
                                tt.setText("ok");
                            else     tt.setText("no");
 
                    try {
                        outStream = client.getOutputStream();
                    } catch (IOException e) {
                        // errorExit("Fatal Error", "In onResume() and output stream creation failed:" + e.getMessage() + ".");
                        tt.setText("Ошибка..Не подключено");
                    }
                    MyThred2 = new ConnectedThred2(client);
                    MyThred2.start();
Код потока:
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
    private class ConnectedThred2 extends Thread {
        private final Socket copySocket;
        private final OutputStream OutStrem;
        private final InputStream InStrem;
 
        public ConnectedThred2(Socket socket) {
            copySocket = socket;
            OutputStream tmpOut = null;
            InputStream tmpIn = null;
            try {
                tmpOut = socket.getOutputStream();
                tmpIn = socket.getInputStream();
            } catch (IOException e) {
            }
 
            OutStrem = tmpOut;
            InStrem = tmpIn;
        }
 
 
        public void run() {
            byte[] buffer = new byte[1024];
            int bytes;
 
            while (true) {
                try {
                    bytes = InStrem.read(buffer);
                    h.obtainMessage(RECIEVE_MESSAGE, bytes, -1, buffer).sendToTarget();
                    SystemClock.sleep(1000);
                } catch (IOException e) {
                    break;
                }
 
            }
 
        }
 
        public void sendData(String message) {
            byte[] msgBuffer = message.getBytes();
            // Log.d(TAG, "***Отправляем данные: " + message + "***"  );
 
            try {
                OutStrem.write(msgBuffer);
            } catch (IOException e) {
            }
        }
 
        public void cancel() {
            try {
                copySocket.close();
                redButton1.setImageResource(R.drawable.otkl);
                redButton2.setImageResource(R.drawable.otkl);
                redButton3.setImageResource(R.drawable.otkl);
                redButton4.setImageResource(R.drawable.otkl);
            } catch (IOException e) {
            }
        }
 
        public Object status_OutStrem() {
            if (OutStrem == null) {
                return null;
            } else {
                return OutStrem;
            }
        }
    }
Код приема информации:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 h = new Handler() {
            public void handleMessage(Message msg) {
                // sbprint="";
                switch (msg.what) {
                    case RECIEVE_MESSAGE:
                        byte[] readBuf = (byte[]) msg.obj;
                        String strIncom = new String(readBuf, 0, msg.arg1);
                        Log.d(TAG,"strIncom="+strIncom);
                        sb.append(strIncom);                                                // формируем строку
                        int endOfLineIndex = sb.indexOf("\r\n");
                        Log.d(TAG,"endOfLineIndex="+Integer.toString(endOfLineIndex));// определяем символы конца строки
....................
................
.............
Ошибка:
06-07 18:41:54.604 14367-14456/com.example.my9 W/dalvikvm: threadid=12: thread exiting with uncaught exception (group=0x40dbe1f8)
06-07 18:41:54.604 14367-14456/com.example.my9 E/AndroidRuntime: FATAL EXCEPTION: Thread-5808
java.lang.NullPointerException
at com.example.my9.MainActivity$ConnectedThred2.run(MainActivity.java:1252)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru