Что это / What is it
Это виджет для обратного отсчёта количества дней до наступления некоторых событий.
It is widget for counting days to certain events.
Зачем это / Why is it
Когда мне понадобилась такая программа, я открыл Google Play Market и увидел, что их десятки.
Но все, которые я просмотрел, показывали в одном виджете отсчёт до одного события.
Если событий ожидалось несколько, предполагалось создавать для каждого отдельный виджет.
Мне же хотелось, чтобы все события отображались в одном виджете.
Это позволило бы:
а) отображать название события в одну длинную строку;
б) автоматически показывать список ожидаемых событий, без пересоздания виджетов;
в) и никакой рекламы, конечно.
Поэтому я решил написать свой виджет.
-
When i need such a program, i open Google Play Market and saw dozens of such.
But all i try, shown a countdown to one event on one widget.
If there are several events, you need to create new widget for each
I wish to see all the events displayed in one widget.
This would
a) display event title in one long line;
b) automatically show a list of upcoming events without creating new widgets;
c) and none of advertising, of course.
So i decide to write my own widget.
Для кого это / For whom is it
Программа написана сугубо для личного использования, её распространение в настоящее время не предполагается, т.к.:
а) нет понимания, что это кому-нибудь нужно;
б) нет ни желания, ни умения рисовать иконки, красивые рамки и т.п. мишуру, как это принято в публичных приложениях.
Меня самого минимализм вполне устраивает.
-
The program was intended for my personal use. Distribution is not currently supposed, because:
a) I have no understanding that this is someone else who needs it;
b) I have no wish no skill to paint icons, beautiful frames etc, such as is customary in public applications.
As for me, I was quite satisfied with the very minimal design.
Как этим пользоваться / How to use it
События создаются в "Календаре" обычным образом. Чтобы событие отображалось в виджете, его следует отметить тэгом <cdw>.
Тэг можно вписать прямо в название события, или в поле "место/event location".
Виджет не хранит своей базы данных, события читаются непосредственно из календаря.
Всего в виджете отображаются четыре ближайших будущих события.
Если есть место, тогда отображаются и прошедшие события, в начале списка.
Приложение можно запустить и обычным образом, оно покажет полный список событий.
-
The events are created in the "Calendar" in the usual way.
For the event to display in the widget, you need to mark it by the tag <cdw>.
The tag can be written directly in event title, or in the "event location" field.
The widget not store the events in special database, the evens are read directly from the Calendar.
Total the widget displays the four nearest future events.
If there are less, the past events will be displayed on top of the list.
The application can be launched in standard way too, it will display the list of all the events.</cdw></cdw>
На чём это работает
минимум: Android 2.2, API level 8
тестировалось на Android 2.3.5, API Level 10 / ZTE V9 LightTab, для которого и предназначено.
** Благодарности**
http://www.startandroid.ru/ru/
за уроки, с которых я начал вникать в дроид.
-
Слава @skkap из Томска,
http://habrahabr.ru/post/108339/,
за разъяснение, как работать с календарём
-
User Phaeton из Болгарии,
http://stackoverflow.com/questions/3455123/programmatically-update-widget-from-activity-service-receiver
за подсказку, как наладить ручное обновление виджета
-
User laaptu,
https://laaptu.wordpress.com/2013/07/19/android-app-widget-with-listview/,
за пример использования ListView в окне виджета
(к сожалению, от ListView в виджете пришлось отказаться, т.к. для него нужен api.lvl.11, а его нет)
This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: [SamplePage].
The wiki uses Markdown syntax.