Однажды в ленте новостей я обнаружил интересный вопрос
Тви, Друзья! Есть умельцы запилить андроид виджет? есть идейка одна…
— Александр Фролов (@frolov_all) January 21, 2014
А идейка собственно была такая:
Первое, что нарисовалось в моей голове было:
Серверная часть проста до безумия и представляет собой обычный парсер
<?php $url = 'http://temp.smolensk.ws/'; // Путь к страничке с температурой $start = '<font size=5 color=red>'; // Начальная позиция для парсера $finish = 'C</font>'; // Конечная позиция парсера function parser($url,$start,$finish) { $content = file_get_contents($url); // Получаем содержимое странички $position1 = strpos($content, $start); // Получаем позицию начала строки $position2 = strpos($content, $finish); // Получаем позицию конца строки $content = substr($content, $position1, $position2-$position1); // Убираем лишнее $content = strip_tags($content, '<p><a>'); // Чистим тэги, если имеются echo ($content); //Выводим содержимое return $content; // Возвращаем значение } parser($url, $start, $finish); // Запуск парсера<br /><br />?>
За написанием виджета я обратился к своему коллеге, начинающему Android разработчику, Виктору Усачеву.
Итак, подошел ко мне Олег, говорит, Витька, есть идея)
И тут поняслось) Обдумали и поняли, что идея хорошая, А для первого собственного проекта это очень здорово. Я согласился) Я прям загорелся! Но мой пыл быстро по угас, никак не мог подобраться к данной задачей. Сменил 2 среды программирования под андроид.
Но хорошо отдохнув на выходных, пошарив в интернете, появилась версия как реализовать. И тут понеслось. =)
Написал начало, исправил все возможные ошибки, запускаем, но не работает, не отображает погоду.
Около недели бились с этой бедой. Все оказалось просто. Стоило только переопределить метод и правильно прописать переменную.
Часть злополучного кода:
@Override public void run() { InetConn in = new InetConn(); remoteViews.setTextViewText(R.id.widget_textview, in.getInet()); appWidgetManager.updateAppWidget(thisWidget, remoteViews); }
Какого была наша радость, когда у нас получилось)
И теперь благодаря совместным усилиям мы реализовали задуманное.
На данный момент приложение выложено в гугл плей. Качаем, юзаем, оцениваем.
[ По моей тележности этот пост несколько недель пролежал в черновиках. Витя, sorry.. Некоторая информация может быть неактуальна ]