пятница, декабря 26, 2014

Игрушечка-9 или Sharing-2

В последнее время основным способом эксплуатации программки LastFM Writer стало распознавание треков при прослушивании радио. Интернетное радио слушаю на планшете/десктопе при помощи турецкой программы RADYO, данные из которой через Sharing подаются в LastFM Writer и отправляются на сервис Last.fm. При прослушивании эфирного радио (в основном, “Радио джаз”) для распознавания треков использую программу Shazam на телефоне или планшете, результаты работы которой тем же путём отправляются на сервис Last.fm. Музыка с YouTube слушается примерно так же.
И всё бы шло своим чередом, но на ребят из Shazam напал зуд рационализаторства. Программка, может, и лучше стала работать (как они сами говорят), но формат данных для обмена они поменяли. Раньше обычным текстом писали типа “Я только что прослушал «С чего начинается родина» от Кобзона” на разных языках, теперь же выдают нечто вроде вот этого, без всякой локализации. Как из этого получить данные трека, неясно. Не парсить же страницу… Обращение в суппорт Shazam сделать как было принесло радостный ответ с уверениями, что как только разгребут завалы писем, так сразу моё и прочитают. Неделя прошла – пока не прочитали.
Так и пришлось (другой-то такой программки и нет) парсить страницу по адресу, благо, страница оказалась небольшой и данные не закопаны глубоко (хотя, резервы есть и любители подковать блоху не переводятся не только на Руси).
Но основной-то подвох заключался в другом – изменили не только состав информации на обмене, но и тип объектов, которые программка отдаёт по шарингу.  И никому, как водится, об этом не сказали. И самому об этом узнать непонятно как.
Сделать обмен в эмуляторе телефона под отладчиком не получается – на эмулятор нельзя поставить программу из магазина. Сделать обмен на настоящем телефоне тоже не получается – программка использует SQLite, вследствие чего компилится под платформу x86, а Студия не представляет, как такую конструкцию в телефон засунуть. Так и пришлось писать специальное «универсальное приложение» для изучения шаринга. Попутно выяснилось, что на телефоне отладчик студии бесполезен – после запуска обмена с приложением отладчик от него отцепляется. На десктопе, правда, ничего не отцепляется, но и Shazam здесь ещё не обновили…
В итоге пригодились старые верные способы “отладка методом пристального взгляда” и “исследования протоколов работы”. Получилось достаточно универсально, чтоб и других умников-рационализаторов охватить по возможности.
В общем, слушаем радио дальше…