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

Отправка пакета (UDP) - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Отображение данных из браузера http://www.cyberforum.ru/android-dev/thread1106837.html
Здравствуйте. Есть один быстро сделанный "браузер" в эклипсе, который загружает страницу. И есть одна программа - 10страйк ланстейт, которая запускает веб-сервер, отображающий в браузере карту сети с устройствами. Можно ли сделать так, чтобы в приложении отображалась не веб-страница, а лишь данные об этих устройствах в виде списка имя устройства и данные - пинг, оборудование и т д, которые...
Программирование Android Размер рамки изображения по размеру экрана устройства Виджет имеет размер 74dp на 74dp - условно, т.е. равносоторнний, но на экране он выглядит вытянутым. Хочется повесить на виджет фотографию и ее по возможности обрезать, но обрезать нужно так, что бы потом на виджете она не растягивалась и не сплющивалась. Как задать рамку обрезки правильно, никак не соображу. cropIntent.putExtra("aspectX", 1); cropIntent.putExtra("aspectY", 1);... http://www.cyberforum.ru/android-dev/thread1106659.html
Подключить NDK Программирование Android
(моя 101я попытка начать работать с NDK) Чуть сдвинулся, но не хватает теории... 1) Скачал последний NDK (android-ndk-r9c) 2) Нашел 100% работающий проект с NDK (IBMPhotoPhun) 3) Успешно удалил и перекомпилировал so файлы командой ...\android-ndk-r9c\ndk-build.cmd защущеной в папке проекта 4) Скопировал папку libs в МОЙ проект-пустышку 5) Перекомпиляция командой...
Зафиксировать ячейки таблицы Программирование Android
XML создаю программно: tablelayout ----tablerow1 --------linearlayout1 ------------TextView1 --------linearlayout2 ------------TextView2 --------linearlayoutN ------------TextViewN ----tablerow2
Программирование Android Ошибка - Errororg.json.JSONExceprion: Value bd.json of type java.lang.String cannot be converted to JSONObject http://www.cyberforum.ru/android-dev/thread1106516.html
Здравствуйте! Есть база данных bd.json, которая находится в проекте в папке assets. Вот содержимое базы данных; { "name": "Дефектологический", "name": "~Логопедия", "name": "~Олигофренопедагогика", "name": "~Специальная психология" } Программа должна читать файл bd.json и переносить каждый пункт базы данных в ListView, но выводит ошибку (Errororg.json.JSONExceprion: Value...
Программирование Android Передать значение переменной в диалоговое окно Здравствуйте. Подскажите, пожалуйста, в чем может быть ошибка: Передаю значение переменной: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.browser); webbrowser = (WebView) findViewById(R.id.webView); webbrowser.loadUrl("http://www.google.com"); webbrowser.getSettings().setJavaScriptEnabled(true);... подробнее

Показать сообщение отдельно
YuraAAA
1566 / 1308 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
27.02.2014, 18:32     Отправка пакета (UDP)
sirik2012, так, хорошо. Эта ошибка появляется, если мы лезем в интернет из UI потока. 2 варианта:
1. Заглушить с помощью Policy эту ошибку (плохо!)
2. В Вашем случае я бы организовал что-то на подобии асинхронного прокси. Как это будет выглядеть:

Создадим прокси класс:

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
public class DataProxy {
    private static DataProxy instance;
 
    //Singleton
    public static DataProxy getInstance() {
        if (instance == null) {
            instance = new DataProxy();
        }
        return instance;
    }
 
    private DataProxy(){}
 
    public void sendAsync(final String message) {
        new Thread(new Runnable() {
            @Override
            public void run() {
                try
                {
 
                    InetAddress serv_addr = InetAddress.getByName("172.16.0.109");
 
                    DatagramSocket sock = new DatagramSocket();
 
                    byte [] buf = (message).getBytes();
 
                    DatagramPacket pack = new DatagramPacket(buf, message.length(), serv_addr, 8888);
 
                    sock.send(pack);
 
                    sock.close();
 
                    for (int i=0; i<buf.length;i++) buf[i]=0;
                    Log.i("UDP", "Send OK");
                }
                catch (Exception e){
                    Log.d("UDP", "Error: " + e);
                }
            }
        }).start();
 
    }
 
}
Вызов:

Java
1
DataProxy.getInstance().sendAsync("");
Добавлено через 43 секунды
Ну и опять же. Thread можно заменить на AsyncTask. Можно добавить Callback-интерфейс для возврата результата.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru