Перевод частичный. Некоторые вещи не знаю как написать на русском
Итак, ASE мы установили, пользоваться научились, теперь пришла пора рассмотреть его основные возможности.
Для работы любого скрипта на Python нам нужно будет подключить модуль android, делается это следующими строками:
import androiddroid = android.Android()
Далее рассмотрим возможности по группам.
Сообщения и уведомления
Вывод всплывающего окна
droid.makeToast("Hello, Android!")
А так делается ввод информации:
name = droid.getInput("Hello!", "What is your name?")
print name
droid.makeToast("Hello, %(result)s" % name)
Чтение и модификация настроек:
volume = droid.getRingerVolume()
droid.setRingerVolume(5)
droid.setRingerSilent(True)
droid.vibrate(100) # 100 миллисекунд вибрации.
Получение данных датчиков:
droid.startSensing()
time.sleep(1) # Give the sensors a moment to come online.
sensors = droid.readSensors()
print sensors
Поиск Вашего местоположения:
droid.startLocating()
time.sleep(1)
location = droid.readLocation()
print location
Или более простой путь(информация будет не всегда актуальна):
location = droid.getLastKnownLocation()
Отправка SMS сообщений:
droid.sendTextMessage("8675309", "Hey, Jenny!")
Использование Text to Speech
ASE поддерживает TTS через Eyes-Free проект (смотрите InstallingTextToSpeech).
droid.speak("I can talk!")
Набор номера
droid.dialNumber("8675309")
droid.callNumber("8675309")
droid.map("pizza") # or "munich" or "1600 amphitheatre pkwy"
droid.showContacts()
droid.email()
Запуск произвольных заданий
droid.startActivity('android.intent.action.CALL', uri)
Starting an Activity for Result
Starting an activity for result allows you to do things like scanning barcodes (see InstallingBarcodeScanner). Again, there are several convenience methods in addition to the ability to raise arbitrary intents.
code = droid.scanBarcode()
print code
pic = droid.captureImage()
print pic
contact = droid.pickContact()
droid.call(contact['result']['data'])
Exiting the Activity or Service
Для выхода из сервиса или скрипта используем следующую команду
droid.exit()
Так же можно отправить результат работы перед выходом.
droid.setResultExtra('some_string', 'string_value')
droid.setResultExtra('some_int', 42)
droid.setResultExtra('some_double', 3.14159)
droid.exitWithResultOk()
# or...
droid.exitWithResultCanceled()
Личный блог посвященный компьютерам, программированию, разработке сайтов, дизайну и информационной безопасности.
Показаны сообщения с ярлыком Phyton. Показать все сообщения
Показаны сообщения с ярлыком Phyton. Показать все сообщения
среда, 22 сентября 2010 г.
Разработка под Android на Python
Привет всем!
Вот наконец-то дошли у меня руки написать про один из вариантов разработки под телефоны, или вернее гуглофоны на операционной системе Андроид.
Учить яву мне было немного впадло, да и не нужно для тех задач, которые передо мной стояли, и я начал мучать гугль в поисках альтернативы. Нашел что можно писать на С, но тогда мы теряем возможность использования кучи уже готового кода, хотя производительность и возростет по сравнении с java. Также нашел такую прикольную вещь как ASE - Android Scripting Environment. С ее помощью можно создавать и редактировать скрипты прямо на смартфоне под управлением Android. Компьютера с отдельной средой программирования не потребуется. На том же Android-смартфоне написанные скрипты можно будет протестировать и использовать. ASE уже поддерживает языки программирования Python, Lua и BeanShell,Ruby и JavaScript.
Скрипты ASE позволяют получать доступ к множеству различных API и создать простой интерфейс для таких базовых задач, как звонки, отправка текстовых сообщений, сканирование штрих-кодов, преобразование текста в речь и других. Фактически, с помощью ASE разработчики смогут создать на своем устройстве удобные мини-приложения. Исходные тексты ASE распространяются в рамках лицензии Apache 2.0.
Скачать ASE можно отсюда .
После того как скачали и установили ASE, его нужно немного настроить для вашего скриптового языка. Для этого запускаем ASE, нажимаем кнопку меню, выбираем Interpreters, снова меню, и кнопку Add. Далее выбираем нужный нам скриптовый язык и загружаем добавляем его.
ASE идет с базовым набором примеров. Если вы кликните по любому скрипту, то он запуститься и отработает, а вы сможете увидеть или услышать результат его работы. Для редактирования скрипта нажимаем на нем и ждем появления меню, в котором выберем Edit. Для создания нового скрипта - меню, Add и выбираем нужный язык.
Писать и отлаживать с самого Андроида бывает не всегда удобно, поэтому Вы можете подключить телефон к компьютеру посредством кабеля и работать в оболочке телефона, как будто вы вводите питоновские команды на самом устройстве. Ниже я опишу как этого добиться.
Для начала запускаем ASE на телефоне, нажимаем меню, выбираем Interpreters, снова нажимаем меню и выбираем start server. Нас спросят какой вариант сервера выбрать - вибираем private.
Далее подключаем телефон к компьютеру с помощью USB кабеля, предварительно убедившись, что на телефоне включен режим отладки по USB (главное меню телефона - настройка - приложения - ставим галочку возле отладка USB). В терминале, на компьютере вводим команду:
./adb forward tcp:9999 tcp:57622
где 57622 - это порт который ASE пишет нам в области нотификации телефона. А сам adb находиться в поддиректории tools папки в которую мы распаковали android sdk ( где брать Android sdk и что с ним делать более подробно рассмотрено в статье Установка Android SDK под Ubuntu Linux ).
Если после выполнения данной команды мы видим ошибку error: insufficient permissions for device , то это значит что сначала нам нужно запустить сервер adb от имени root'a. Для этого выполним в терминале следующие команды:
./adb kill-serversudo
./adb start-server
./adb devices
Теперь выполним в терминале следующую команду:
export AP_PORT=9999
Скачиваем android.py отсюда и помещаем в папку где находиться наш adb.
Теперь мы можем запустить интерактивную оболочку питона и введенные нами команды будут выполняться на андроид устройстве. Рассмотрим это более подробно, на следующем примере. Все следующие команды вводим в терминале на компьютере.
python
import androiddroid = android.Android()
droid.makeToast("Hello from my computer!")
После выполнения этих команд мы увидим на экране устройства всплывающее окно с текстом "Hello from my computer!".
Вот наконец-то дошли у меня руки написать про один из вариантов разработки под телефоны, или вернее гуглофоны на операционной системе Андроид.
Учить яву мне было немного впадло, да и не нужно для тех задач, которые передо мной стояли, и я начал мучать гугль в поисках альтернативы. Нашел что можно писать на С, но тогда мы теряем возможность использования кучи уже готового кода, хотя производительность и возростет по сравнении с java. Также нашел такую прикольную вещь как ASE - Android Scripting Environment. С ее помощью можно создавать и редактировать скрипты прямо на смартфоне под управлением Android. Компьютера с отдельной средой программирования не потребуется. На том же Android-смартфоне написанные скрипты можно будет протестировать и использовать. ASE уже поддерживает языки программирования Python, Lua и BeanShell,Ruby и JavaScript.
Скрипты ASE позволяют получать доступ к множеству различных API и создать простой интерфейс для таких базовых задач, как звонки, отправка текстовых сообщений, сканирование штрих-кодов, преобразование текста в речь и других. Фактически, с помощью ASE разработчики смогут создать на своем устройстве удобные мини-приложения. Исходные тексты ASE распространяются в рамках лицензии Apache 2.0.
Скачать ASE можно отсюда .
После того как скачали и установили ASE, его нужно немного настроить для вашего скриптового языка. Для этого запускаем ASE, нажимаем кнопку меню, выбираем Interpreters, снова меню, и кнопку Add. Далее выбираем нужный нам скриптовый язык и загружаем добавляем его.
ASE идет с базовым набором примеров. Если вы кликните по любому скрипту, то он запуститься и отработает, а вы сможете увидеть или услышать результат его работы. Для редактирования скрипта нажимаем на нем и ждем появления меню, в котором выберем Edit. Для создания нового скрипта - меню, Add и выбираем нужный язык.
Писать и отлаживать с самого Андроида бывает не всегда удобно, поэтому Вы можете подключить телефон к компьютеру посредством кабеля и работать в оболочке телефона, как будто вы вводите питоновские команды на самом устройстве. Ниже я опишу как этого добиться.
Для начала запускаем ASE на телефоне, нажимаем меню, выбираем Interpreters, снова нажимаем меню и выбираем start server. Нас спросят какой вариант сервера выбрать - вибираем private.
Далее подключаем телефон к компьютеру с помощью USB кабеля, предварительно убедившись, что на телефоне включен режим отладки по USB (главное меню телефона - настройка - приложения - ставим галочку возле отладка USB). В терминале, на компьютере вводим команду:
./adb forward tcp:9999 tcp:57622
где 57622 - это порт который ASE пишет нам в области нотификации телефона. А сам adb находиться в поддиректории tools папки в которую мы распаковали android sdk ( где брать Android sdk и что с ним делать более подробно рассмотрено в статье Установка Android SDK под Ubuntu Linux ).
Если после выполнения данной команды мы видим ошибку error: insufficient permissions for device , то это значит что сначала нам нужно запустить сервер adb от имени root'a. Для этого выполним в терминале следующие команды:
./adb kill-serversudo
./adb start-server
./adb devices
Теперь выполним в терминале следующую команду:
export AP_PORT=9999
Скачиваем android.py отсюда и помещаем в папку где находиться наш adb.
Теперь мы можем запустить интерактивную оболочку питона и введенные нами команды будут выполняться на андроид устройстве. Рассмотрим это более подробно, на следующем примере. Все следующие команды вводим в терминале на компьютере.
python
import androiddroid = android.Android()
droid.makeToast("Hello from my computer!")
После выполнения этих команд мы увидим на экране устройства всплывающее окно с текстом "Hello from my computer!".
Подписаться на:
Сообщения (Atom)