Pull to refresh

Проверка кармы пользователя сайта habrahabr.ru с помощью Python на Android

Reading time2 min
Views25K
Я очень люблю язык программирования Python и так же люблю Android OS. Для меня было приятным открытием, что для этой ОС существует полноценный интерпретатор 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 окна:
image image image
А так же пару окон, сообщающих об ошибках.

Вывод

Сейчас Python для Android OS вполне юзабелен и подходит для решения небольших задач. Для любителей языка Python, которым лень выучить Java для работы с этой мобильной ОС это лучший вариант. Если эта статья понравится хабрапользователям, то я готов продолжать писать и о других возможностях Python на SL4A.
Tags:
Hubs:
Total votes 140: ↑123 and ↓17+106
Comments48

Articles