Имитация прикосновения в Android [дубликат]

Прежде всего, если вы находитесь в & lt; 5.3PHP, то нет. У тебя много проблем, чтобы справиться.

Я удивлен, что никто не упомянул библиотеку intl , которая имеет хорошую поддержку для unicode, графем, строковых операций, локализации и многих других, см. ниже.

Я приведу некоторую информацию о поддержке Unicode в PHP с помощью слайдов Elizabeth Smith в PHPBenelux'14

INTL

Хорошо:

  • Обертка вокруг библиотеки ICU
  • Стандартизованные локали, установка языка для каждого скрипта
  • Форматирование чисел
  • Форматирование валюты
  • Форматирование сообщений (заменяет gettext)
  • Календари, даты, часовой пояс и время
  • Транслитератор
  • Spoofchecker
  • Пакеты ресурсов
  • Конвертеры
  • Поддержка IDN
  • Graphemes
  • Collation
  • Итераторы

Плохо :

  • Не поддерживает zend_multibite
  • Не поддерживает преобразование входного сигнала HTTP
  • Не поддерживает перегрузку функции

mb_string

  • Включает поддержку zend_multibyte
  • Поддерживает прозрачную кодировку HTTP in / out
  • Предоставляет некоторые обертки для funtionallity, такие как strtoupper

ICONV

  • Первичный для преобразования кодировки
  • Обработчик выходных буферов
  • Функциональность кодирования mime
  • conversion
  • некоторые строковые помощники (len, substr, strpos, strppos)
  • Фильтр потока stream_filter_append($fp, 'convert.iconv.ISO-2022-JP/EUC-JP')

БАЗЫ ДАННЫХ

  • mysql: кодировка и сопоставление таблиц и соединений (не сортировка). Также не используйте mysql-msqli или PDO
  • postgresql: pg_set_client_encoding
  • sqlite (3): убедитесь, что он был скомпилирован с поддержкой unicode и intl

Некоторые другие Gotchas

  • Вы не можете использовать имена файлов Unicode с PHP и Windows, если вы не используете расширение третьей части.
  • Отправлять все в ASCII, если вы используете exec, proc_open и другие вызовы командной строки
  • Обычный текст не является обычным текстом, файлы имеют кодировки
  • Вы можете конвертировать файлы «на лету» с фильтром iconv

Я обновлю этот ответ, если что-то изменит добавленные функции и так далее.

68
задан Elist 16 June 2013 в 11:25
поделиться

5 ответов

Android поставляется с инструментом командной строки input, который может моделировать разные входные события. Чтобы имитировать нажатие, это:

input tap x y

Вы можете использовать оболочку adb (> 2.3.5) для удаленного запуска команды:

adb shell input tap x y
101
ответ дан Yaron 28 August 2018 в 00:10
поделиться

2.3.5 не было input tap, просто input keyevent и input text Вы можете использовать для этого обезьянника: (это копия ответа на https://stackoverflow.com/a / 18959385/1587329 ):

Вы можете использовать monkeyrunner следующим образом:

$ monkeyrunner
>>> from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
>>> device = MonkeyRunner.waitForConnection()
>>> device.touch(200, 400, MonkeyDevice.DOWN_AND_UP)

Вы также можете сделать перетаскивание, начать работу и т. д. Посмотрите на api для MonkeyDevice .

10
ответ дан Community 28 August 2018 в 00:10
поделиться

Вам не нужно использовать команду

adb shellevevent -l

, вам просто нужно включить ее в настройках разработчика на устройстве [ Показать данные касания], чтобы получить X и Y.

Более подробную информацию можно найти в моей статье здесь: https://mobileqablog.wordpress.com/2016/08/20/android-automatic -touchscreen-краны-ADB-оболочка ввод-сенсорный-кран /

4
ответ дан Ekaterina Vlasova 28 August 2018 в 00:10
поделиться
40
ответ дан Tomas 28 August 2018 в 00:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: