Я очень люблю язык программирования Python и так же люблю Android OS. Для меня было приятным открытием, что для этой ОС существует полноценный интерпретатор Python, но я постоянно откладывал знакомство с ним. В этой статье я хочу рассказать про основные принципы программирования на этом языке под эту ОС.
Для начала нужно скачать SL4A и скачать сам Python. После установки Python запускаем его и нажимаем кнопку install в верхней части экрана. После этого скачаются все стандартные библиотеки и расширения для работы на Android. Для удобства внесения мелких изменений можно скачать редактор кода, о котором я уже когда-то писал.
Исходный код довольно читаемый и понятный:
Библиотека android содержит в себе все функции для работы с системой, такие как интерфейс Android OS, различные «телефонные функции», такие как вибрация, звонки, геолокация и т.д.
Создание диалоговых окон тоже очень простой процесс, в результате которого получилось создать 3 окна:
А так же пару окон, сообщающих об ошибках.
Сейчас Python для Android OS вполне юзабелен и подходит для решения небольших задач. Для любителей языка Python, которым лень выучить Java для работы с этой мобильной ОС это лучший вариант. Если эта статья понравится хабрапользователям, то я готов продолжать писать и о других возможностях Python на SL4A.
Подготовка к работе
Для начала нужно скачать SL4A и скачать сам Python. После установки Python запускаем его и нажимаем кнопку install в верхней части экрана. После этого скачаются все стандартные библиотеки и расширения для работы на Android. Для удобства внесения мелких изменений можно скачать редактор кода, о котором я уже когда-то писал.
Исходный код
Исходный код довольно читаемый и понятный:
# -*- coding: utf-8 -*-
import android
import urllib2
from xml.etree import ElementTree
droid = android.Android()
droid.vibrate() # привлекаем вниманием пользователя короткой вибрацией
user = droid.dialogGetInput('Имя пользователя', 'на habrahabr.ru').result # запрашиваем у пользователя логин
droid.dialogCreateSpinnerProgress("Загрузка", "пожалуйста подождите")# создаем и показываем окно для ожидания загрузки данных
droid.dialogShow()
try:
feed = urllib2.urlopen('http://habrahabr.ru/api/profile/' + user) # грузим XML
XML = ElementTree.XML(feed.read()) # парсим полученный XML
except:
droid.dialogCreateAlert('Произошла ошибка', "проверьте соединение с интернетом") # показываем окно с текстом ошибки
droid.dialogSetPositiveButtonText('Закрыть')
droid.dialogShow()
exit()
droid.dialogDismiss() # прячем окно загрузки
if XML[0].text == '404': # проверяем наличие ошибки в ответе от сервера
droid.dialogCreateAlert('Произошла ошибка', "введите существующее имя пользователя") # показываем окно с текстом ошибки
droid.dialogSetPositiveButtonText('Закрыть')
droid.dialogShow()
exit()
droid.dialogCreateAlert('Ваша карма', XML[1].text) # показываем окно с результатом работы
droid.dialogSetPositiveButtonText('Закрыть')
droid.dialogShow()
Разбираем исходный код
Библиотека android содержит в себе все функции для работы с системой, такие как интерфейс Android OS, различные «телефонные функции», такие как вибрация, звонки, геолокация и т.д.
Создание диалоговых окон тоже очень простой процесс, в результате которого получилось создать 3 окна:
А так же пару окон, сообщающих об ошибках.
Вывод
Сейчас Python для Android OS вполне юзабелен и подходит для решения небольших задач. Для любителей языка Python, которым лень выучить Java для работы с этой мобильной ОС это лучший вариант. Если эта статья понравится хабрапользователям, то я готов продолжать писать и о других возможностях Python на SL4A.