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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
apollox
5 / 0 / 0
Регистрация: 04.09.2012
Сообщений: 7
#1

Как правильно обновлять картинку с ip камеры - Программирование Android

05.01.2014, 21:27. Просмотров 651. Ответов 0
Метки нет (Все метки)

Доброе время суток, учусь программировать под андроид, пытаюсь написать приложение для получение картинки с ip-камеры.
Приложение должно обновлять изображение с заданным интервалом и корректно отлавливать отсутствие соединения.
Пока сделал так:

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
public class MainActivity extends Activity implements OnClickListener {
  
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);    
   
    Button btnCamera = (Button) findViewById(R.id.btnCamera);
    btnCamera.setOnClickListener(this);   
  }
  
    public void onClick(View v) {
     Timer timer = new Timer();  
     timer.schedule(new TimerTask() {
         @Override
          public void run() {           
              MainActivity.this.runOnUiThread(new Runnable() {                      
                  public void run() {            
                    final WebView webView = (WebView) findViewById(R.id.webView);
                    
                    webView.setWebViewClient(new WebViewClient() {
                       public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
                         webView.setVisibility(View.INVISIBLE);
                       }
                       public void onLoadResource (WebView view, String url) {
                         webView.setVisibility(View.VISIBLE);
                       }                                   
                     });
                    
                    webView.loadUrl("http://ip:port/path_to_camera_image/");                     
                 }
              });
          }
     }, 0, 5000);
    }  
}
Что мне не нравится:

Если задать небольшой интервал обновления, например пол-секунды, то может получиться так, что время необходимое для загрузки изображения будет больше чем интервал.
Тогда получится что картинка не успевает загрузиться, а ее уже опять таймер тянет.

К тому же почему-то при отсутствии соединения с камерой сначала все же мелькает страница 404 - страница не найдена, а потом уже срабатывает webView.setVisibility(View.INVISIBLE).
Это нежелательно, потому что при этом высвечивается строка запроса с параметрами подключения к камере.

Насколько я понимаю, упрощенно должно быть так:
только когда картинка полностью загрузилась (или не загрузилась), она вызывается по новой с заданным интервалом.
Я делал такое приложение на Javascript, там я знаю как это сделать, а под андроид не понимаю

___
webView.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
webView.setVisibility(View.INVISIBLE);
setTimeout(webView.loadUrl("http://ip: port/path_to_camera_image/",interval);

}
public void onLoadResource (WebView view, String url) {
webView.setVisibility(View.VISIBLE);
setTimeout(webView.loadUrl("http://ip: port/path_to_camera_image/",interval);
}
});

webView.loadUrl("http://ip: port/path_to_camera_image/");
___

Пардон, что код обычным текстом, иначе нужные строки движок форума не выделяет.

Что мне нужно написать вместо выделенных строк, или я вообще не в том направлении копаю?

Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2014, 21:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как правильно обновлять картинку с ip камеры (Программирование Android):

Как правильно обновлять Android Studio - Программирование Android
Здравствуйте коллеги. При обновлении студии создаются старые копии версий(см. рис.) 1)Можно ли их удалить и помешает ли это работе...

Правильно вырезать и отобразить картинку - Программирование Android
Есть файлик с рожицами. Я его делю на 3 части по горизонтали и 5 частей по вертикали. Но сами рожицы не отцентрированы. Левые прижаты к...

ImageView, как наложить картинку на картинку? - Программирование Android
Всем привет ,такая проблемка ,пытаюсь наложить картинку на картинку ,но выводится только R.drawable.ste view =...

GridView - как не обновлять ячейки, которые не видны в данный момент - Программирование Android
Есть длинный GridView. В нем отображаем 2 изображения + текст. Каждый элемент GridView: <?xml version="1.0" encoding="utf-8"?> ...

Как правильно обновлять картинку captchI ? - PHP
в php коде есть стандартная функция автоматического создания рандомной картинки из заданных букв и чисел при нажатии на регистрацию...

Jpanel. Как масштабировать и обновлять картинку? - Java
В центре JFrame есть JPanel c отрисованной картинкой. Она большая, я думаю привязать ее к наименьшему краю JFrame и через...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.01.2014, 21:27
Привет! Вот еще темы с ответами:

.NET 4.x PictureBox, вывод графики по hDC, как обновлять картинку при затирании - C#
Всем доброго времени суток среда - MVS 2013 Рисую с помощью библиотеки SR2D (автор Mikle) Вывод графики идет в PictureBox по hDC ...

Как правильно обновлять свои OCX - Visual Basic
При добавлении в свою OCX MyOcx.ocx новых контролов при последующей попытке подцепить ее через Refrences к новому проекту часто получаю...

Как в форме загрузить картинку прямо с камеры - JavaScript
Ну то есть если у устройства есть камера, то после нажатия "Загрузить" переход на камеру. Пользователь делает фото и картинка загружается...

WCF: Как правильно обновлять интерфейсы и состояния объектов клиентов клиент-серверного приложения? - C# WCF
Пытаюсь научиться разработке онлайн/сетевых приложений на примере карточной онлайн игры. Возникло несколько вопросов. Логика приложения...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru