hiService
func doWork(_data, index)
.
.
println('Intent ', intent, ' = new Intent(', .....
При попытке вызвать doStart более одного раза через хаб происходит повторное объявление переменной intent. И ведь хрен представишь что такое может в схеме понадобиться
Этот топик читают: Гость
Ответов: 163
Рейтинг: 33
|
|||
карма: 3 |
|
Ответов: 4630
Рейтинг: 749
|
|||
Такое встречается и в других компонентах. Конкретно в этом случае можно "new Intent" подставлять прямо в "startService()" без создания переменной. Можно предварительно проверять наличие переменной в текущем блоке, хотя это не всегда сработает.
Более глобально: чисто по логике схемы хаб с несколькими входами предназначен для вызова одного и того же кода из разных мест программы. В традиционных языках программирования для этого служат функции. Сейчас же такой хаб в конечном коде просто дублирует код, выводимый с правых точек, что может сильно влиять на размер конечного кода. Планирую в хаб добавить свойство Optimize. При его включении правые точки будут формировать отдельную функцию, а левые точки будут впечатывать вызов этой функции. Побочным эффектом такого решения будет то, что хаб не будет пропускать данные из потока (на разные входы могут подаваться данные разных типов, и для их обработки нужен различный код на правых точках). |
|||
карма: 26 |
|
Ответов: 1821
Рейтинг: 168
|
|||
[offtop]
Netspirit писал(а): Планирую в хаб добавить свойство Optimize. |
|||
карма: 5 |
|
Ответов: 163
Рейтинг: 33
|
|||
Может расширить компонент Display возможностью менять системную яркость (сейчас только для текущей активити меняет). Себе пока сделал отдельный компонент SystemBrightness.rar
[flood]Два дня мучаюсь с непонятным багом Стоит добавить в сервис датчик ускорения или приближения, при выключеном экране и включенном датчике телефон перестает принимать входящие звонки Иногда принимает, иногда нет. Но шансы ощутимо падают. Причем похоже с датчиком приближения шансов все-таки больше. В логах никаких ошибок. Сам датчик работает. Сейчас буду тестовую схему делать только с этим датчиком и мучать.[/flood] |
|||
карма: 3 |
|
Ответов: 7
Рейтинг: 2
|
|||
Возможно ли использовать порт который использует адб в своих апк программа?
|
|||
карма: 0 |
|
Ответов: 4630
Рейтинг: 749
|
|||
В смысле, физический порт - USB?
|
|||
карма: 26 |
|
Ответов: 110
Рейтинг: 5
|
|||
Как называется папка, куда можно сохранить данные приложения, например, cache?
|
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
pand.png |
|||
карма: 25 |
| ||
файлы: 1 | pand.png [8.2KB] [824] |
Ответов: 163
Рейтинг: 33
|
|||
[flood]А пару недель назад у Netspirit`а был такой же рейтинг. Хотел поздравить, но потом передумал.[/flood]
|
|||
карма: 3 |
|
Ответов: 4630
Рейтинг: 749
|
|||
[offtop]Блин, что-то подозрительно [/offtop]
|
|||
карма: 26 |
|
Ответов: 704
Рейтинг: 7
|
|||
Netspirit, Вы правы! Это очень подозрительно! Проект так быстро развивается, что скоро будут такие страшные значения как 1666, 2666 и... 6666 С этим нужно что-то делать!
А после таких страшных прогнозов перейду к делу: подскажите, как можно адекватно сделать ожидание запуска сервера в этом штатном примере без ошибок? Вот набросал, но вышла только пустышка, роли ожидание никакой не несет - зависает все после задержки. И сразу можно будет это сообщение выводить когда связь с сервером теряется во время работы, а не только при запуске. Пробовал потоки, но в андроиде все не так просто как в виндовс.code_31935.txt |
|||
карма: 0 |
| ||
файлы: 1 | code_31935.txt [2.5KB] [383] |
Ответов: 4630
Рейтинг: 749
|
|||
Схемку набросать не могу, так как нет возможности протестировать. Попробуй так:
- по таймеру вызываешь doConnect (без doStartListener) - следом проверяешь точку isConnected - если равно 1, останавливаешь таймер и можешь работать с потоками; также событие onConnectResult выдает это же значение. |
|||
карма: 26 |
| ||
Голосовали: | Neo |
Ответов: 704
Рейтинг: 7
|
|||
Все действительно работает! Спасибо!
Только в моей схеме почему-то после ожидания подключения выкидывает "В приложении произошла ошибка". Может при таком варианте нужно понаставить перехватов ошибок? Как правильно искать ошибку в таких случаях и выдавать свое сообщение, а не системный эррор. И еще при потере связи с сервером программа зависает сразу: code_31937.txt ------------ Дoбавленo в 14.39: Хм, а можно ли с микрофона в андроиде передавать звук по tcp на компьютер? Так же можно натворить делов!!! |
|||
карма: 0 |
| ||
файлы: 1 | code_31937.txt [2.8KB] [385] |
Ответов: 4630
Рейтинг: 749
|
|||
Не вижу остановки таймера после успешного подключения...
Neo писал(а): Как правильно искать ошибку в таких случаях и выдавать свое сообщение |
|||
карма: 26 |
|
Ответов: 704
Рейтинг: 7
|
|||
Остановка таймера проблему не убирает. Зависает сразу после потери связи с сервером...
|
|||
карма: 0 |
|