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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 75, средняя оценка - 4.88
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
#1

Эмуляция нажатия пальцем - Программирование Android

05.10.2013, 03:12. Просмотров 10579. Ответов 16
Метки нет (Все метки)

Слышал (года 2 назад) что такое возможно.
Не подскажите КАК?
И вообще правда ли это?
Нужен для этого рут?

Тогда только собирал сведения об андроиде и инструментах (только мечтал купить и кодить).
И одним из явных ограничений андроида было невозможность написать автоответчик.
Т.к. невозможно поднять трубку после определения входящего.
Как альтернативу предлагали эмулировать нажатия пальца (под разные звонилки и разрешения монитора) и даже кто-то написал программку для автоподнятия трубки через N секунд в мороз... но найти эту программу в архивах уже не реально...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.10.2013, 03:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Эмуляция нажатия пальцем (Программирование Android):

Следование объекта за пальцем - Программирование Android
Здравствуйте. Возникла потребность сделать программу, в которой будет несколько объектов (Картинок) и которые необходимо перетаскивать по...

Обработка касания(провести пальцем) - Программирование Android
Нужно реализовать следующее: например, веду пальцем по линии, и при достижении конца линии находится кнопка, как только палец достигает...

Менять размеры LinearLayout пальцем - Программирование Android
В Delphi/windows был компонент "разделитель", схватив который можно было увеличить/уменьшить одну панель за счет размера другой. (пример:...

Найти объект на картинке пальцем - Программирование Android
как получить координаты клика по объекту с картинки? например, на картинке кот на улице, у меня есть xy кота, их надо сравнить с xy...

Считывание view при движении пальцем по экрану - Программирование Android
Добрый день, коллеги. Прошу помощи, возможно ли сделать следующую штуку - веду по экрану пальцем не отрывая последний, а программа...

Custom list - сдвиг строк пальцем в стороны - Программирование Android
Гуру, подскажите, как подобное делается? Часто подобное вижу в программах, но не представляю с какой стороны подйти. Есть даже...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Salty_Sugar
26 / 26 / 1
Регистрация: 02.04.2012
Сообщений: 140
05.10.2013, 14:34 #2
Google говорит:
1)
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
view.setOnTouchListener(new OnTouchListener()
{
    public boolean onTouch(View v, MotionEvent event)
    {
        Toast toast = Toast.makeText(
            getApplicationContext(), 
            "View touched", 
            Toast.LENGTH_LONG
        );
        toast.show();
 
        return true;
    }
});
 
 
// Obtain MotionEvent object
long downTime = SystemClock.uptimeMillis();
long eventTime = SystemClock.uptimeMillis() + 100;
float x = 0.0f;
float y = 0.0f;
// List of meta states found here: developer.android.com/reference/android/view/KeyEvent.html#getMetaState()
int metaState = 0;
MotionEvent motionEvent = MotionEvent.obtain(
    downTime, 
    eventTime, 
    MotionEvent.ACTION_UP, 
    x, 
    y, 
    metaState
);
 
// Dispatch touch event to view
view.dispatchTouchEvent(motionEvent);
2)
Java
1
View.performClick();
З.Ы.: Я все знаю! Хитрец! На самом деле вы хотите кликать на рекламки в своем приложении!!!11
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
05.10.2013, 20:05  [ТС] #3
Спасибо! Попробую!

Цитата Сообщение от Salty_Sugar Посмотреть сообщение
Я все знаю! Хитрец! На самом деле вы хотите кликать на рекламки в своем приложении!!!
На самом деле пока просто стадия "понимания" возможностей андроида для программиста.
В основном хочу нажимать на ЧУЖИЕ программы, а не свои.
Часто нужно:
1) Поменять системную настройку пройдя пункты меню, а как это сделать программно не знаю. Например без рут прав установить системное время. Или прописать пароль в WiFi подключение...
2) Хочется сделать свой вариант автоответчика - пустить записанное сообщение в линию через 5 секунд бездействия. Хотя-бы под свое устройство.
3) Хочется сделать дистанционное управление андроидом с компа. Типа TeamView.
4) Хочется сделать "тестер" для моих программ. Поменял математику и... вынужден проделать сотню нажатий для того что-бы убедится что не накроется что-нибудь у клиента после обновления... Одно дело кликать несколько часов, а другое просто наблюдать краем глаза...

Правда нужно еще и отлавливать чужие нажатия, но главное что хотя-бы подобное теоретически возможно.
Netscape
371 / 358 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
05.10.2013, 20:08 #4
Цитата Сообщение от Tester64 Посмотреть сообщение
4) Хочется сделать "тестер" для моих программ. Поменял математику и... вынужден проделать сотню нажатий для того что-бы убедится что не накроется что-нибудь у клиента после обновления... Одно дело кликать несколько часов, а другое просто наблюдать краем глаза...
Robotium попробуйте.
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
05.10.2013, 21:29  [ТС] #5
Цитата Сообщение от Netscape Посмотреть сообщение
Robotium попробуйте.
Спасибо! Не знал о подобном! Буду тестировать...

Добавлено через 1 час 4 минуты
Цитата Сообщение от Netscape Посмотреть сообщение
Robotium попробуйте.
Эх... Вы подкинули мне новые мысли...
Можно написать сервис, который:
1) узнает какое активити сейчас имеет фокус
2) вызовет в активном окне процедуру по названию
Netscape
371 / 358 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
05.10.2013, 22:03 #6
Цитата Сообщение от Tester64 Посмотреть сообщение
Можно написать сервис, который:
1) узнает какое активити сейчас имеет фокус
2) вызовет в активном окне процедуру по названию
а смысл ?
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
05.10.2013, 22:18  [ТС] #7
Цитата Сообщение от Netscape Посмотреть сообщение
а смысл ?
Есть десяток форм. В них десяток кнопок. На каждой свой обработчик. В каждом обработчике запись в лог действий(уже пишу для отладки).
Составляю свой скрип "действий" для тестов на основе лога... и кто его выполнять будет?
Если бы активити/форма была только одна, то можно было бы вызывать OnClick(код кнопки) или OnClik_Key123() или onTouch(xy)
Но если форм несколько, это должен делать некий сервис... или прийдется передавать последовательность действий в каждую форму по очереди их открывания... можно, но кажется сложнее... к тому-же контролировать глобально скорость нажатий (таймер)

Программа уже сильно разраслась и еще планирую еще усложнить раз в 5-10. Писать с нуля "скрипты" как на презинтации Robotium - лень.
Netscape
371 / 358 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
05.10.2013, 23:05 #8
Цитата Сообщение от Tester64 Посмотреть сообщение
Писать с нуля "скрипты" как на презинтации Robotium - лень.
Ну так Testdroid Recorder используйте. Имхо, писать то, что уже давно написано и отлажено, глупо.
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
05.10.2013, 23:59  [ТС] #9
Цитата Сообщение от Netscape Посмотреть сообщение
Ну так Testdroid Recorder используйте
Не знал. Хорошая идея.
Цитата Сообщение от Netscape Посмотреть сообщение
писать то, что уже давно написано и отлажено, глупо
Согласен! Но я использую Андроид Студию. К тому-же не получилось свое устройство подключить проводами - проблемы китайских гаджетов (проблемы с драйверами и питанием)... Использую WiFi ADB. А это имеет свои "нюансы"... например LogCat без фильтра не читабелен - сообщения посылают около 20 ЧУЖИХ программ и сервисов. Ошибки тоже не возвращаются в среду. Брейкпоинт (дошел до сюда и остановись) не работает. Поэтому скорее всего Testdroid Recorder не заработал бы (у меня)... Вынужден искать/писать "костыли". Когда начинал (прошлой зимой) даже свою альтернативу LogCat написал - через сеть на фиксированый IP посылал строки, а в винде свой программой -сервером ловил... Отказался от него когда после 5й попытки удалось все-таки запустить LogCat... Но учитывая количество глюков в LogCat (не только у меня) возможно стоит довести до ума свой "костыль"...
Netscape
371 / 358 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
06.10.2013, 00:27 #10
Цитата Сообщение от Tester64 Посмотреть сообщение
К тому-же не получилось свое устройство подключить проводами - проблемы китайских гаджетов (проблемы с драйверами и питанием)
Эмулятор, конечно, не вариант. А android-x86 на VirtualBox не пробовали ?
Цитата Сообщение от Tester64 Посмотреть сообщение
например LogCat без фильтра не читабелен
Он везде без фильтра не читабелен.
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
06.10.2013, 05:23  [ТС] #11
Цитата Сообщение от Netscape Посмотреть сообщение
А android-x86 на VirtualBox не пробовали
Нет. Пробовал только обычный... Он РЕАЛЬНО быстрее??? Сравним с устройством?? Быстрее устройства?
Но тяжело сравнивать разработку под устройство и эмулятор - разные "ощущения". На устройстве ты мыслишь как пользователь, скорость раза в 3 быстрее мышки. Возможен мультитатч. Реальные тормоза отличаешь от "красивостей" отрисовки андроида.
К тому-же с этим глючным андроидом боишься "сглазить" - если работает - лучше не трогать! А то клиент попросит "до завтра" сделать мелочь, а ты даже не догадываешься где инструмент сломался... Вплодь до полной переустановки винды (стандартный эмулятор прячет файлы в системных папках). А на полноценную переустановку винды может уйти от 2х недель(востановление ВСЕХ нужных утилит). Когда-то ради этих "пятиминутных" доработок и повышеной надежности инструмента поставил ВСЕ инструменты на отдельно выделеный эмулятор WinXP - в случае чего эмулятор можно запустить на чужом компе. Сейчас установил на рабочую ОС и боюсь даже ставить левые плагины...
Ненавижу глючные и тормознутые инструменты андроид-программиста - от 35секунд до 1.5 минут на компиляцию даже после изменения 2+2 на 2-2 ... Делфи, 1С, PHP, Foxpro, Html, Javascript - норма от 2x до 10x секунд! То что на Делфи делаю за 2-3 часа на Андроид уходит 10-20... Забываю над чем работал пока дождусь запуска. Уже встроил вибро (и почти музыку) при запуске проекта в отладочном режиме - чтобы узнать что "свершилось" - программа перезапустилась! Все время мечтаю дописать свои "костыли" к андроиду которые ускорят разработку - скриптовый редактор, дизайнер форм прямо в андроде, свой LogCat...
marsic
Сообщений: n/a
12.10.2013, 22:09 #12
Tester64, у вас получилось сделать имитацию клика? , тоже столкнулся с надобностью данной функции, но пока не выходит.
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
13.10.2013, 17:57  [ТС] #13
Цитата Сообщение от marsic Посмотреть сообщение
Tester64, у вас получилось сделать имитацию клика? , тоже столкнулся с надобностью данной функции, но пока не выходит.
Нет! Еще не занимался этим... Мне нужно был подтверждение что такое в принципе возможно... Тестирование СВОЕГО проекта пока провожу без нажатий (по другому выкрутился), а нажимать в чужих приложениях попробую не раньше чем через 3-4 месяца (автоответ на звонок, обходим системные защиты эмулируя согласие пользователя их обойти) !
verylazy
Заблокирован
13.10.2013, 18:08 #14
Только не ржать! Дикая идея пришла в голову.

Я когда то играл в MUOnline, это такая mmorg. Так вот так сразу игроков была очень популярна программа UOPilot.
Это, насколько я помню, было что-то типа робота для ультимы. Там можно было написать свой скрипт за 5 минут. Мы так на ночь ставили персов на прокачку. Дошли до того что даже после слива персы возвращались из города на споты, хавали банки, юзали магию.
Можно попробовать использовать этот UOPilot.
aero608
0 / 0 / 0
Регистрация: 22.05.2014
Сообщений: 5
30.08.2014, 04:25 #15
нужна такая программа которая после того как на экран выйдет определенное слово сделает определенные действия. где найти?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.08.2014, 04:25
Привет! Вот еще темы с ответами:

Способ перехода к другому Activity через перемещение пальцем - Программирование Android
Зажимаю активити и плавно отвожу в сторону(например, влево), а справа выплывает другой активити. Как такое организовать? :)

Webview содержимое показывается только после проведения пальцем по элементу - Программирование Android
Здравствуйте. Приложение содержит бегущюю HTML строкой (тэг<marquee>). Есть функция, которая получает эту самую строку, создает WebView и...

Приложение обои - Сделать выплывающее меню при "чиркании" пальцем - Программирование Android
Доброго времени суток! Суть проблемы такова: Обучаюсь разработке под Андроид. Естественно начал с изучения Java и еще параллельно...

Эмуляция сенсоров - Программирование Android
Устройство или ОС, прошивка: android 4 и выше Всем привет появился вопрос можно ли в android 4 программно эмулировать сенсоры, ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
30.08.2014, 04:25
Ответ Создать тему
Опции темы

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