Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΏΠΎΠ΄ Android

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°

Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±Ρ‹Π»Π° Π²Ρ‹Π±Ρ€Π°Π½Π° Android Stuido.ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π΅Ρ‰Π΅ ΠΎΡ‡Π΅Π½ΡŒ сырой, Π½Π΅ всС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ Π½Π° Π½Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ, Π½ΠΎ отличная Ρ€Π°Π±ΠΎΡ‚Π° Preview ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности систСмы сборки Gradle Π±Π΅Ρ€ΡƒΡ‚ Π²Π΅Ρ€Ρ… Π½Π°Π΄ всСми Π½Π΅Π΄ΠΎΡ‡Π΅Ρ‚Π°ΠΌΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ рискнули ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ, ΠΈ, ΠΊΠ°ΠΊ оказалось, Π½Π΅ зря.

Для тСстирования, ΠΏΠΎΠΌΠΈΠΌΠΎ нСпосрСдствСнной ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π½Π° тСстовом смартфонС, ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ использовали ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ эмуляторы. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ достаточно ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ, Π±Ρ‹Π»ΠΈ рассмотрСны Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ эмуляторы Android-x86, AndroVM, Genymotion, Manymo ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Π’ ΠΈΡ‚ΠΎΠ³Π΅ ΠΌΡ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ Genymotion β€” ΠΎΠ½ ΠΏΠΎΠ΄ΠΊΡƒΠΏΠΈΠ» своСй простотой установки ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Android-x86, подробная инструкция ΠΏΠΎ настройкС ΠΈ установкС β€” Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для тСстирования Π½Π° устройствах с Android 4.0 ΠΈ Π½ΠΈΠΆΠ΅.

Π”Π°Π½Π½Ρ‹Π΅ эмуляторы ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠΎΠ΄ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ОБ: Linux, Mac, Windows, Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π±Ρ‹Π²Π°ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ прСдпочтСния, Π° ΠΏΠ΅Ρ€Π΅ΡƒΠ±Π΅ΠΆΠ΄Π°Ρ‚ΡŒ ΠΈΡ… Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ кроссплатформСнныС инструмСнты Π²Ρ‹Ρ€ΡƒΡ‡Π°ΡŽΡ‚.

Π’Π°ΠΊΠΆΠ΅ эти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΠΏΡ€ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ тСстировании: тСсты написаны с использованиСм Android Instrumentation Framework, JUnit, Robotium. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΠ± этом Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅ΠΌ Π² блиТайшСС врСмя πŸ™‚

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²ΠΈΠ΄Π΅Π» ΠΏΠΎΠΈΡΠΊΠΎΠ²ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ, ΠΊΠ½ΠΎΠΏΠΊΡƒ голосовых запросов, Π° ΠΏΡ€ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ доступного Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° β€” анонсы Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… новостСй.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ
По Π΄Π°Π½Π½Ρ‹ΠΌ Google Play, Π² ΠΌΠΈΡ€Π΅ зарСгистрировано ΠΎΠΊΠΎΠ»ΠΎ 4500 Π²ΠΈΠ΄ΠΎΠ² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… устройств с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Android.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ
Помимо Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ экрана, эти устройства ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ диагоналями ΠΈ ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ Ρ‚ΠΎΡ‡Π΅ΠΊ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ (ppi). К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Π·Π°Π΄Π°Ρ‡Ρƒ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΈ для опрСдСлСния Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² элСмСнтов Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ-нСзависимыС пиксСли β€” dp. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ смартфонов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ сСтку 4×4, для 7-Π΄ΡŽΠΉΠΌΠΎΠ²Ρ‹Ρ… ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚ΠΎΠ² сСтка ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ 6×6, Π΄Π° Π΅Ρ‰Π΅ ΠΈ сам Ρ€Π°Π·ΠΌΠ΅Ρ€ ячСйки зависит ΠΎΡ‚ Π»Π°ΡƒΠ½Ρ‡Π΅Ρ€Π° ΠΈ вСрсий API Android. Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΌΡ‹ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠ΅ΡΡ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π² dp для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… устройств:

Samsung GT-i9000Nexus 4Samsung TabNexus 7
1 x 164 x 5864 x 5874 x 7480 x 71
2 x 2144 x 132152 x 132148 x 148176 x 159
4 x 3304 x 206328 x 206296 x 222368 x 247

МоТно ΠΎΡ‚Ρ‚Π°Π»ΠΊΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Ρ„ΠΎΡ€ΠΌΡƒΠ»:
для API младшС 14 Ρ€Π°Π·ΠΌΠ΅Ρ€ = (74 x количСство ячССк) β€” 2
для послСдних вСрсий Ρ€Π°Π·ΠΌΠ΅Ρ€ = (70 x количСство ячССк) β€” 30

Если Π²ΠΎ врСмя тСстирования Π²Ρ‹ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ устройствС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΈ смСнС ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ экрана, Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ layout ΠΈΠ»ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π² dimens.xml, Ρ‡Π΅ΠΌ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ΄ΠΎΠ³Π½Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹. Π•Ρ‰Π΅ Π½Π° этапС проСктирования ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ элСмСнты, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ вынСсти ΠΈΡ… Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ layout, Π° для вставки Π² Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ мСсто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Include. Π’ нашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΡƒΡŽ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ использовали для новостСй, ΠΈ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π΅Π½ΠΈ Ρƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… элСмСнтов home_news_row.xml:

РСализация

Π”Π°Π½Π½Ρ‹Π΅ для Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ с сСрвСра Π² JSON β€” всС достаточно просто ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описано Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. Если Ρƒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° установлСн ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ (поисковая строка ΠΈ ΠΈΠΊΠΎΠ½ΠΊΠ° голосового запроса), Ρ‚ΠΎ анонсы Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… новостСй ΠΌΡ‹ Π½Π΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌ, Π° ΠΏΡ€ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° сначала провСряСм, Π΅ΡΡ‚ΡŒ Π»ΠΈ Π·Π°ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ новости, послС Ρ‡Π΅Π³ΠΎ Π±Π΅Ρ€Π΅ΠΌ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ Π΄Π°Π½Π½Ρ‹Π΅, Ρ‚Π΅ΠΌ самым экономя Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΈ Π±Π°Ρ‚Π°Ρ€Π΅ΠΉΠΊΡƒ.

ΠŸΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ распространСниС вСрсий Android ΠΌΡ‹ выяснили, Ρ‡Ρ‚ΠΎ вСрсия 2.2 всС Π΅Ρ‰Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π° ΠΈ Π΅Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ. К соТалСнию, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° измСнСния Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° доступна Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с вСрсии 3.0, поэтому для Π±ΠΎΠ»Π΅Π΅ старых вСрсий сдСлаСм ΡΡ‚Π°Ρ‚ΠΈΡ‡Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΠΎΠ³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°. Доля устройств вСрсий 3.x Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ нСсущСствСнна, ΠΈ ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° начиная с Android 4.1 c ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° onAppWidgetOptionsChanged. Но Π½Π΅ всС с Π½ΠΈΠΌ Π³Π»Π°Π΄ΠΊΠΎ: ΠΎΠ½ Π½Π΅ срабатываСт Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ°Ρ…. ΠŸΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΈ ΠΎΠ½ΠΎ нашлось: ΠΌΡ‹ использовали событиС com.sec.android.widgetapp.APPWIDGET_RESIZE Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ onReceive():

ΠŸΡ€ΠΈ установкС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Π½Π° домашний экран, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π² настройках Ρ†Π²Π΅Ρ‚ ΠΈ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ. Π’ Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π΅Ρ‚ Π½Π΅Ρ‡Π΅Π³ΠΎ слоТного, Π½ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ нюанс: ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ прозрачности Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌΡƒ Ρ†Π²Π΅Ρ‚Ρƒ. НапримСр, Π²ΠΎΡ‚ Ρ‚Π°ΠΊ это Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Ρƒ нас:

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚ с ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ прозрачности примСняСтся ΠΊ элСмСнту Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°. Π’ нашСм случаС ΠΌΡ‹ просто устанавливаСм setBackgroundColor() Ρƒ LinearLayout.

Π’Π°ΠΊΠΆΠ΅ Π±Ρ‹Π²Π°ΡŽΡ‚ ситуации, ΠΊΠΎΠ³Π΄Π° Π² альбомном Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ ячСйки Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° получаСтся мСньшС, Ρ‡Π΅ΠΌ Π² ΠΏΠΎΡ€Ρ‚Ρ€Π΅Ρ‚Π½ΠΎΠΌ, Π² связи с Ρ‡Π΅ΠΌ тСкст Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ ΡƒΠΆΠ΅ Π½Π΅ помСщаСтся. МоТно ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ тСкста, Π½ΠΎ Π½Π° устройствах с Π½ΠΈΠ·ΠΊΠΈΠΌ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠ½ становится Π½Π΅Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ. Π’ связи с этим ΠΏΡ€ΠΈ смСнС ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΌΡ‹ просто ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅ΠΌ Π² layout альбомного Ρ€Π΅ΠΆΠΈΠΌΠ° количСство Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… строк text.setMaxLines(2), Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡˆΡ€ΠΈΡ„Ρ‚Π° оставляСм ΠΏΡ€Π΅ΠΆΠ½ΠΈΠΌ:

ПослСднСС свойство добавляСт Π² ΠΊΠΎΠ½Ρ†Π΅ строки ΠΌΠ½ΠΎΠ³ΠΎΡ‚ΠΎΡ‡ΠΈΠ΅.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ наш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π±Ρ‹Π»ΠΎ Π»Π΅Π³Ρ‡Π΅ Π½Π°ΠΉΡ‚ΠΈ Π² спискС установлСнных, Π½ΡƒΠΆΠ΅Π½ послСдний ΡˆΡ‚Ρ€ΠΈΡ…: ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ-ΠΏΡ€Π΅Π²ΡŒΡŽ, ΠΈΠ»ΠΈ previewImage. МоТно ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ воспроизвСсти ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π² графичСском Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅, ΠΌΡ‹ ΠΆΠ΅ воспользовались ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Widget Preview.

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ собствСнный Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π½Π° Android

Π’ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ β€” характСрная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Android. Π£ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΅ΡΡ‚ΡŒ свои собствСнныС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹, ΠΈ Π² Play Store ΠΌΡ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ мноТСство элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΏΠΎΠ³ΠΎΠ΄Ρƒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ элСмСнты Π½Π° Π³Π»Π°Π²Π½ΠΎΠΌ экранС. Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ собствСнныС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΡ… с нуля?

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ собствСнного Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ программирования ΠΈΠ»ΠΈ написания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π’ Play Store ΠΌΡ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ инструмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ собствСнныС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ (ΠΏΠΎΠ³ΠΎΠ΄Ρƒ, Π°ΡΡ‚Ρ€ΠΎΠ½ΠΎΠΌΠΈΡŽ, ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ заряда Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ, врСмя, Π΄Π°Ρ‚Ρƒ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅, ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡΡ‚ΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ….

Одним ΠΈΠ· Π»ΡƒΡ‡ΡˆΠΈΡ… инструмСнтов этого Ρ‚ΠΈΠΏΠ° являСтся Π’ΠΈΠ΄ΠΆΠ΅Ρ‚ Zooper, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ создаСм любой Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ любого Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. Zooper Widget доступСн бСсплатно, хотя ΠΈ платная вСрсия с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ функциями Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΉΠ΄Π΅Π½Π°. Однако Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π±Π΅ΡΠΏΠ»Π°Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ.

ΠœΡ‹ создаСм собствСнныС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Zooper

ПослС установки прилоТСния ΠΌΡ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ экран с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ². Π’ спискС Ρƒ нас Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π±ΡƒΠ΄ΡƒΡ‚ пустыС ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Ρ€Π°Π·Π½Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ². ΠœΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ нас интСрСсуСт, Π° Π·Π°Ρ‚Π΅ΠΌ пСрСтаскиваСм Π΅Π³ΠΎ Π½Π° Π³Π»Π°Π²Π½Ρ‹ΠΉ экран.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Пока пустоС, Π·Π°Ρ‚Π΅ΠΌΠ½Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ созданиС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Π² Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌ мСстС, ΠΊΠΎΡΠ½ΠΈΡ‚Π΅ΡΡŒ своСго шаблона ΠΏΠ°Π»ΡŒΡ†Π΅ΠΌ. ΠœΡ‹ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ Π½Π° экран Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Zooper. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ, Ρ…ΠΎΡ‚ΠΈΠΌ Π»ΠΈ ΠΌΡ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ с нуля, ΠΈΠ»ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, ΠΌΡ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ шаблон Π² качСствС основы, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Для Ρ†Π΅Π»Π΅ΠΉ этой ΡΡ‚Π°Ρ‚ΡŒΠΈ я создам простой Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ с нуля. Π― Π²Ρ‹Π±Ρ€Π°Π» Empty ΠΈ пСрСмСстил Π΅Π³ΠΎ Π½Π° экран ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. На ΠΏΠ΅Ρ€Π²ΠΎΠΌ экранС ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ„ΠΎΠ½ всСго Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°, ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ мСстополоТСниС, ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ ΠΊ Π½Π΅ΠΌΡƒ наш ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€ΡŒ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π±. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, нас Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΊΠ»Π°Π΄ΠΊΠ° Β«ΠœΠ°ΠΊΠ΅Ρ‚Β», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты Π² Π²ΠΈΠ΄ΠΆΠ΅Ρ‚.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Π΄Π°Ρ‚Π°, врСмя, Π·Π½Π°Ρ‡ΠΎΠΊ ΠΏΠΎΠ³ΠΎΠ΄Ρ‹ ΠΈΠ»ΠΈ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π°, называСтся ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ отобраТаСтся Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°. На Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«ΠœΠ°ΠΊΠ΅Ρ‚Β» ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ. Для этого Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ «плюс» ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ‚ΠΈΠΏ модуля ΠΈΠ· списка.

Π£ нас Π΅ΡΡ‚ΡŒ тСкстовыС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ (ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² Π²ΠΈΠ΄Π΅ тСкста, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ врСмя, ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ заряда Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ, Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρƒ, Π΄Π°Ρ‚Ρƒ, Π°ΡΡ‚Ρ€ΠΎΠ½ΠΎΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ Ρ‚. Π”.), Π—Π½Π°Ρ‡ΠΊΠΈ ΠΈ растровыС изобраТСния (графичСскиС элСмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ, ΡΠ²ΡΠ·Π°Π½Π½ΡƒΡŽ с ΠΏΠΎΠ³ΠΎΠ΄ΠΎΠΉ ΠΈΠ»ΠΈ статусом Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ), Π° Ρ‚Π°ΠΊΠΆΠ΅ элСмСнты ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Π΅, сСрии (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ списки с днями Π½Π΅Π΄Π΅Π»ΠΈ) ΠΈΠ»ΠΈ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ выполнСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, панСль, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ заряда Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ ΠΈΠ»ΠΈ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ сСтСвого сигнала).

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Π§Π°Ρ‰Π΅ всСго ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ тСкстовыС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ. ΠœΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π΅Π³ΠΎ ΠΈΠ· списка β€” ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ установлСн для отобраТСния Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ это Π² ΠΎΠΏΡ†ΠΈΠΈ «ВСкстовый ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Β», Π³Π΄Π΅ ΠΌΡ‹ Π½Π°ΠΉΠ΄Π΅ΠΌ доступныС тСкстовыС элСмСнты для отобраТСния вмСсто часа. Π­Ρ‚ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ Π΄Π°Ρ‚Π°, Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π°, восход / Π·Π°ΠΊΠ°Ρ‚, ΡˆΠΈΡ€ΠΎΡ‚Π° ΠΈ Π΄ΠΎΠ»Π³ΠΎΡ‚Π°, имя Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΈΠ»ΠΈ ΡΠ΅Ρ‚ΡŒ Wi-Fi, IP-адрСс ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. ВсС элСмСнты Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏΡ‹, ΠΊΠ°ΠΊ Погода, ΠœΠ΅ΡΡ‚ΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π‘Π΅Ρ‚ΡŒ, БистСма, ВрСмя, Π”Π°Ρ‚Π°, Аккумулятор ΠΈΠ»ΠΈ ΠšΠ°Π»Π΅Π½Π΄Π°Ρ€ΡŒ.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

ПослС Π²Ρ‹Π±ΠΎΡ€Π° Ρ‚ΠΈΠΏΠ° элСмСнта ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Ρ†Π²Π΅Ρ‚, ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°Ρ… (ось X, ось Y), Ρ€Π°Π·ΠΌΠ΅Ρ€, ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ элСмСнты. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΡ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠΌ настройку, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ списку ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π² ΠΎΠΏΡ†ΠΈΠΈ Β«ΠœΠ°ΠΊΠ΅Ρ‚Β» ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Π’ качСствС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнты растровых ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ ΠΏΠΎΠ³ΠΎΠ΄Ρ‹. ΠœΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Π·Π½Π°Ρ‡ΠΊΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ измСняСм Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ устанавливаСм Π·Π½Π°Ρ‡ΠΎΠΊ ΠΏΠΎΠ³ΠΎΠ΄Ρ‹. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ тСкстовыС элСмСнты, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π°, восход, Π·Π°ΠΊΠ°Ρ‚ ΠΈ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΈΡ… Π²ΠΎΠΊΡ€ΡƒΠ³ Π·Π½Π°Ρ‡ΠΊΠ° ΠΏΠΎΠ³ΠΎΠ΄Ρ‹.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, количСство возмоТностСй практичСски Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ, ΠΈ Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ-ΠΏΠΎΠ³ΠΎΠ΄Π΅. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΡ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠΌ со всСм, просто Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ Π½Π° Π³Π»Π°Π²Π½Ρ‹ΠΉ экран Android ΠΈ ΠΏΠΎΠ»ΡŽΠ±ΡƒΠΉΡ‚Π΅ΡΡŒ собствСнным пСрсонализированным Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΡƒΡŽ нас ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ.

Photo Widget своими Ρ€ΡƒΠΊΠ°ΠΌΠΈ

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΡƒΠ²Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ хабрасообщСство. Моя прСдыдущая ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€ΠΎ кастомный экран Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° ΠΌΠ°Π»ΠΎ ΠΎΡ‚Π·Ρ‹Π²ΠΎΠ² Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², Π½ΠΎ Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ сто Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ сохранило Π΅Ρ‘ Π² ΠΈΠ·Π±Ρ€Π°Π½Π½Ρ‹Ρ…, Ρ‚Π΅ΠΌ самым Π²Π΄ΠΎΡ…Π½ΠΎΠ²ΠΈΠ² мСня Π½Π° написаниС Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ Π½Π° Π½Π΅ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΡƒΡŽ Ρ‚Π΅ΠΌΡƒ.

Многим ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ смартфонов Xperia нравится красивый Ρ‚Ρ€Ρ‘Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ стандартный Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ. Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π°Π½Π΄Ρ€ΠΎΠΈΠ΄, это Π½Π΅ AppWidget, Π° простой View, ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Π½Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚. Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ с большой натяТкой Π½Π°Π·Π²Π°Ρ‚ΡŒ Β«ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌΒ» ΠΊ стандартному Π»Π°ΡƒΠ½Ρ‡Π΅Ρ€Ρƒ Xperia Home, поэтому Π² спискС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² Π΄Ρ€ΡƒΠ³ΠΈΡ… Π»Π°ΡƒΠ½Ρ‡Π΅Ρ€ΠΎΠ² Π΅Π³ΠΎ Π½Π΅Ρ‚. Π’ этом постС я расскаТу, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚.

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ сСбС ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, Π±ΡƒΠ΄Ρ‚ΠΎ Π±Ρ‹ Π²Ρ‹ написали собствСнный Π»Π°ΡƒΠ½Ρ‡Π΅Ρ€ для Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΊΡ€Π°Ρ‚ΠΊΠΎ расскаТу, ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ). Π’Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ ваш Π»Π°ΡƒΠ½Ρ‡Π΅Ρ€ Π½Π° Ρ„ΠΎΠ½Π΅ Π΄Ρ€ΡƒΠ³ΠΈΡ…. Как ΠΈ Π² случаС со стандартным Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠΌ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ Xperia, наш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ прСдставляСт собой кастомный View, Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΉ Π² процСссС нашСго Π»Π°ΡƒΠ½Ρ‡Π΅Ρ€Π°.

Основа Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ этапом Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² спискС доступных Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² появился наш (напомню, Π½Π΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚). Π’ Sony Ericsson поступили просто β€” стандартный Π»Π°ΡƒΠ½Ρ‡Π΅Ρ€ ΠΈΠ· списка установлСнных Π² систСмС ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ Π½Π° Β«com.sonyericsson.advancedwidgetΒ» ΠΈ добавляСт Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ ΠΈΠΊΠΎΠ½ΠΊΡƒ Π² список Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ². Π”Π°Π½Π½Ρ‹ΠΉ способ простой, Π½ΠΎ Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ нСдостаток: ΠΎΠ΄ΠΈΠ½ apk β€” ΠΎΠ΄ΠΈΠ½ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚. ΠœΡ‹ поступим ΡƒΠΌΠ½Π΅Π΅ (я надСюсь) β€” Π² манифСстС нашСго Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° напишСм Ρ‚Π°ΠΊ:

Класс PhotoWidgetReceiver оставим пустым:

Благодаря этому Ρ‚Ρ€ΡŽΠΊΡƒ наш Π»Π°ΡƒΠ½Ρ‡Π΅Ρ€ Π½Π°ΠΉΠ΄Π΅Ρ‚ всС BroadcastReciever’Ρ‹, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ Π½Π° Β«by.arriva.ADVANCED_WIDGETΒ». Π”Π°Π»Π΅Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ листинг ΠΊΠΎΠ΄Π° ΠΈΠ· Π»Π°ΡƒΠ½Ρ‡Π΅Ρ€Π°.

String className β€” имя класса, унаслСдованного ΠΎΡ‚ BroadcastReciever, Π² нашСм случаС это PhotoWidgetReceiver. Π›Π°ΡƒΠ½Ρ‡Π΅Ρ€ ΠΈΡ‰Π΅Ρ‚ Π² Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π΅ класс PhotoWidget, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находится описаниС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°. Π’ΠΎΡ‚ Π΅Π³ΠΎ содСрТаниС:

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° этого класса Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ строго постоянной Π²ΠΎ всСх Π²Π°ΡˆΠΈΡ… нСстандартных (advanced) Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°Ρ…, Ρ‚.ΠΊ. такая ΠΆΠ΅ структура ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ Π² классС AdvancedWidgetInfo вашСго Π»Π°ΡƒΠ½Ρ‡Π΅Ρ€Π°.

НСпосрСдствСнно View

ContentObserver рСгистрируСт всС измСнСния Π²ΠΎ внСшнСй памяти. НапримСр, ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ onChange(boolean selfChange) вызываСтся нСсколько Ρ€Π°Π· с ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠΌ Π² ΠΏΠ°Ρ€Ρƒ миллисСкунд. ΠœΠ΅Ρ‚ΠΎΠ΄ loadThumbnails() Π³Ρ€ΡƒΠ·ΠΈΡ‚ ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Ρ‹ всСх Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΡ€ΠΈ срабатывании ΠΌΠ΅Ρ‚ΠΎΠ΄Π° onChange ContentObserver’Π° создаётся Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ для создания ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€. Π’ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ситуация, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠΉ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ сразу ΠΆΠ΅ создаётся ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ нСсколько ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², Π΄Π΅Π»Π°ΡŽΡ‰ΠΈΡ… ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ дСйствия. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ этой ситуации Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ loaderId хранится id послСднСго созданного ΠΏΠΎΡ‚ΠΎΠΊΠ°, Π° Π²ΠΎ всСх ΠΏΠΎΡ‚ΠΎΠΊΠ°Ρ… присутствуСт сравнСниС сохранСнного id ΠΈ id Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°. Если Ρ†ΠΈΡ„Ρ€Ρ‹ Π½Π΅ Ρ€Π°Π²Π½Ρ‹, ΠΏΠΎΡ‚ΠΎΠΊ уничтоТаСтся.

ЖСсты листания ΠΈ броска Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ холста View, ΠΊΠ°ΠΊ это принято. ВмСсто этого происходит ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ getScrollY. Integer getSelected() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π² массивС ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€, float getSelectedPercent() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡƒΠ³ΠΎΠ» Π½Π°ΠΊΠ»ΠΎΠ½Π° ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ зритСля. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0,5 соотвСтствуСт 45 градусам. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° прояснит ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ:

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ onTouchEvent(MotionEvent me) Π²Π°ΠΆΠ½ΠΎ Π½Π΅ Π·Π°Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ getParent().requestDisallowInterceptTouchEvent(true) для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎ врСмя листания ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€ Π² Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π΅ Π½Π΅ происходило листаниС столов Π² Π»Π°ΡƒΠ½Ρ‡Π΅Ρ€Π΅.

Ну ΠΈ Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΏΠ°Ρ€Ρƒ слов ΠΎ классС Transformation. Он Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ трансформации для ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€ Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ описанныС Π²Ρ‹ΡˆΠ΅ getSelected() ΠΈ getSelectedPercent().

Π•Ρ‰Ρ‘ слСдуСт ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Ρ‹ всСх ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ хранятся Π² массивС Item[]. Π­Ρ‚ΠΎ ΠΏΠ»ΠΎΡ…ΠΎ. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ΠΎΡ‚ Ρ‚Π°ΠΊ ΠΊΡ€Π°Ρ‚ΠΊΠΎ я рассказал, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ симпатичный просмотрщик ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ. Π― ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΈΠ²Π»Ρ‘Π½, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ красивыС Ρ‚Ρ€Ρ‘Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ эффСкты листания ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½Π΅ тормозят Π½Π° ΠΌΠΎΡ‘ΠΌ Π΄Ρ€Π΅Π²Π½Π΅ΠΌ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π΅ Samsung Galaxy Gio. ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² этом Π½Π° Π²ΠΈΠ΄Π΅ΠΎ:

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свои собствСнныС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ для Android

Π”ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ суток. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ способ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свой собствСнный Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ для Android. Π’ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ β€” это ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ вСрсии ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ прямо Π½Π° Π³Π»Π°Π²Π½ΠΎΠΌ экранС Android ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² наши Π΄Π½ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ², Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊ Π½ΠΈΠΌ доступ прямо с домашнСго экрана Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°. Однако, Ссли вас Π½Π΅ устраиваСт Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ доступно, Π²Ρ‹ всСгда ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свои собствСнныС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ для Android.

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свои собствСнныС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ для Android

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° экран Android довольно просто. НаТмитС ΠΈ ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΠΉΡ‚Π΅ пустоС мСсто Π½Π° Π³Π»Π°Π²Π½ΠΎΠΌ экранС. НиТС появится мСню. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ярлык Β«Π’ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹Β». На Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… модСлях Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ свайп двумя ΠΏΠ°Π»ΡŒΡ†Π°ΠΌΠΈ ΠΏΠΎ экрану Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Π’Ρ‹ ΠΏΠΎΠΏΠ°Π΄Π΅Ρ‚Π΅ Π² список доступных Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² вашСго смартфона. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ². Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Π·Π°Ρ‚Π΅ΠΌ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° Π½Π΅Π³ΠΎ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΡ‚Π΅ Π½Π° Π³Π»Π°Π²Π½Ρ‹ΠΉ экран.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

НСкоторыС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ настроСк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ….

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свой собствСнный Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ для Android

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ встроСнных шаблонов Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π² соотвСтствии с вашими потрСбностями. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ссли Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ с нуля, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ прСдоставляСт ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

ΠŸΠ΅Ρ€ΡΠΎΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ своСго Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°

Π’Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ список доступных Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² Π½Π° вашСм устройствС, ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ написано Π²Ρ‹ΡˆΠ΅. ΠŸΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠ·, ΠΏΠΎΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² KWGT, ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΈΠ· ΠΎΠΏΡ†ΠΈΠΉ.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

ΠŸΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΡ‚Π΅ Π΅Π³ΠΎ Π½Π° Π³Π»Π°Π²Π½Ρ‹ΠΉ экран.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

НаТмитС Π½Π° пустой Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΅Π³ΠΎ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ KWGT, Π·Π°Ρ‚Π΅ΠΌ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΒ».

Π’Ρ‹ ΠΏΠΎΠΏΠ°Π΄Ρ‘Ρ‚Π΅ Π² Ρ€Π°Π·Π΄Π΅Π» рСдактирования, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π΅ΡΡ‚ΡŒ ΡˆΠ΅ΡΡ‚ΡŒ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ: Β«Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹Β», Β«Π€ΠΎΠ½Β», Β«Π‘Π»ΠΎΠΉΒ», Β«Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ элСмСнты», Β«Π―Ρ€Π»Ρ‹ΠΊΠΈΒ» ΠΈ «БСнсорный экран». КаТдая Π²ΠΊΠ»Π°Π΄ΠΊΠ° позволяСт Π²Π°ΠΌ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ аспСкт Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°.

Π’ настоящСС врСмя ваш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ прСдставляСт собой просто пустой ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ. Но сначала Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ„ΠΎΠ½ Π² свой Π½ΠΎΠ²Ρ‹ΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚. НаТмитС Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Ρ„ΠΎΠ½Π° ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ†Π²Π΅Ρ‚.

Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Ρ‹Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с вашСго устройства.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свои собствСнныС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ для Android β€” Π΄ ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

Π—Π°Ρ‚Π΅ΠΌ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹Β», для добавлСния элСмСнтов Π² свой Π²ΠΈΠ΄ΠΆΠ΅Ρ‚. Π­Ρ‚ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ° Β«+Β» Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ.

Π’Ρ‹ ΠΏΠΎΠΏΠ°Π΄Ρ‘Ρ‚Π΅ Π½Π° панСль, Π³Π΄Π΅ смоТСтС Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ для добавлСния Π² Π²ΠΈΠ΄ΠΆΠ΅Ρ‚.

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ тСкст Π±Ρ‹Π»ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π² Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Π²Π°ΠΌ ΡƒΠ³ΠΎΠ΄Π½ΠΎ, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тСкст, Ρ†Π²Π΅Ρ‚, располоТСниС, ΡˆΡ€ΠΈΡ„Ρ‚ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Π’ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ простой Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Ρƒ мСня получился.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

KWGT Kustom Widget Maker β€” Π² этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π΅ΡΡ‚ΡŒ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство возмоТностСй для Ρ‚Π΅Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хотят ΠΏΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π΄ своим Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ столом Android ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свои собствСнныС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ. Π’ KWGT Kustom Widget Maker ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΌΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ настройки для Ρ‚Π°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ², ΠΊΠ°ΠΊ астрономичСская информация, ΠΌΠΈΡ€ΠΎΠ²ΠΎΠ΅ врСмя, батарСя, ΠΏΠΎΠ³ΠΎΠ΄Π°, тСкстовыС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹, состояниС памяти, ΠΊΠ°Ρ€Ρ‚Ρ‹, Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹Π΅ часы ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅, ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. Всё это ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ: ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΡˆΡ€ΠΈΡ„Ρ‚Ρ‹, Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ эффСкты, Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ всСх элСмСнтов ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π² 3D, Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ.

Π’ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Android. РСдкая Ρ„ΠΈΡ‡Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ придСтся Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π₯Π°Π±Ρ€! МСня Π·ΠΎΠ²ΡƒΡ‚ АлСксандр Π₯Π°ΠΊΠΈΠΌΠΎΠ², я android-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ FINCH.

Π£ вас Π±Ρ‹Π²Π°Π»ΠΎ Ρ‚Π°ΠΊΠΎΠ΅, Ρ‡Ρ‚ΠΎ ваш Π΄ΠΈΠ·Π°ΠΉΠ½ Π±Ρ‹Π» ΠΏΠΎΠ΄ iOS, Π° Π²Π°ΠΌ приходится Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΏΠΎΠ΄ android? Если Π΄Π°, Ρ‚ΠΎ часто Π»ΠΈ ваши Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹? К соТалСнию, Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ β€” Ρ€Π΅Π΄ΠΊΠΈΠΉ кСйс для ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ с Π½ΠΈΠΌ Ρ€Π΅Π΄ΠΊΠΎ ΠΊΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚,

Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ расскаТу ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, Π½Π° Ρ‡Ρ‚ΠΎ стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ подСлюсь своим кСйсом.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°

Для создания Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ:

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°

Π‘ этим ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠΌ Π·Π½Π°ΠΊΠΎΠΌ любой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…ΠΎΡ‚ΡŒ Ρ€Π°Π· Ρ€Π°Π±ΠΎΡ‚Π°Π» с RemoteViews. Если Π²Ρ‹ ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ…, смСло ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΏΡƒΠ½ΠΊΡ‚Ρƒ.

RemoteViews ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для описания ΠΈ управлСния иСрархиями Views, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ процСссу Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ прилоТСния. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ управлСния иСрархиями ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ свойства ΠΈΠ»ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ View, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ выступаСт Ρ‡Π°ΡΡ‚ΡŒΡŽ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ прилоТСния. Π’ RemoteViews Π²Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² android.widget.

View Π²Π½ΡƒΡ‚Ρ€ΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ процСссС (ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, это домашний экран), поэтому для измСнСния UI Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ BroadcastReceiver β€” AppWidgetProvider, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π² нашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ отобраТСния Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Π² «сСткС» экрана

Each widget must define a minWidth and minHeight, indicating the minimum amount of space it should consume by default. When users add a widget to their Home screen, it will generally occupy more than the minimum width and height you specify. Android Home screens offer users a grid of available spaces into which they can place widgets and icons. This grid can vary by a device; for example, many handsets offer a 4×4 grid, and tablets can offer a larger, 8×7 grid.

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ Π½Π° русский: ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π΄Π°Ρ‚ΡŒ свои ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈ высоту, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚ΡŒ минимальноС пространство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌ занято ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ настроСк Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΏΡ€ΠΈ создании Π² Android Studio

Π’ΠΈΠ΄ΠΆΠ΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π½Π° Π½Π° Home screen, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π·Π°ΠΉΠΌΠ΅Ρ‚ большС мСста Ρ‡Π΅ΠΌ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΡˆΠΈΡ€ΠΈΠ½Π° ΠΈ высота экрана, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Π·Π°Π΄Π°Π»ΠΈ. Android Home screens прСдоставляСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ сСтку доступного пространств, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ располоТСны Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ ΠΈ ΠΈΠΊΠΎΠ½ΠΊΠΈ. Π­Ρ‚Π° сСтка ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ устройства; Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρ‹ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ сСтку 4Ρ…4, Π° ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ большиС сСтки 8Ρ…7.

Из этого становится понятно, Ρ‡Ρ‚ΠΎ сСтка устройства ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ ΡƒΠ³ΠΎΠ΄Π½ΠΎ, Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ ячССк ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ, Π² зависимости ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° сСтки. БоотвСтствСнно, ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ спроСктирован с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ этих особСнностСй.

ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈ высоту Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° для Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ количСства столбцов ΠΈ строк ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅:

minSideSizeDp = 70 Γ— n βˆ’ 30, Π³Π΄Π΅ n —количСство строк ΠΈΠ»ΠΈ столбцов

На Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ сСтки, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π΄Π°Ρ‚ΡŒ это 4Ρ…4. Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ ваш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π½Π° всСх дСвайсах.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ обновлСния Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°

Π’Π°ΠΊ ΠΊΠ°ΠΊ AppWidgetProvider ΠΏΠΎ своСй сути являСтся Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ BroadcastReceiver-Π°, с Π½ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ всС Ρ‚ΠΎ ΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ ΠΈ с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ BroadcastReceiver. AppWidgetProvider просто парсит ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ поля ΠΈΠ· Intent, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π² onReceive ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° с ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ extras.

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° с частотой обновлСния ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° β€” всС Π΄Π΅Π»ΠΎ Π² Ρ€Π°Π·Π½ΠΈΡ†Π΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² Π½Π° iOS ΠΈ Android. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° iOS-Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°Ρ… ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ становится Π²ΠΈΠ΄Π΅Π½ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ. Π’ Android, Ρ‚Π°ΠΊΠΎΠ³ΠΎ события Π½Π΅ сущСствуСт. ΠœΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²ΠΈΠ΄ΠΈΡ‚ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚.

Для Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² Π½Π° Android Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹ΠΌ способом обновлСния являСтся ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρƒ. Настройки Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° Π·Π°Π΄Π°ΡŽΡ‚ΡΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° updatePeriodMillis. К соТалСнию, эта настройка Π½Π΅ позволяСт ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Ρ‡Π°Ρ‰Π΅ Ρ‡Π΅ΠΌ Ρ€Π°Π· Π² 30 ΠΌΠΈΠ½ΡƒΡ‚. НиТС я расскаТу ΠΎΠ± этом ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

КСйс создания Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°

Π”Π°Π»ΡŒΡˆΠ΅ Ρ€Π΅Ρ‡ΡŒ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ ΠΎ кСйсС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» Ρƒ нас Π² FINCH Π² ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΌ Π»ΠΎΡ‚Π΅Ρ€Π΅ΠΉΠ½ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Β«Π‘Ρ‚ΠΎΠ»ΠΎΡ‚ΠΎΒ» для участия Π² государствСнных лотСрСях.

Π—Π°Π΄Π°Ρ‡Π° прилоТСния – ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΌ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π²Ρ‹Π±ΠΎΡ€ Π»ΠΎΡ‚Π΅Ρ€Π΅ΠΈ ΠΈ ΠΏΠΎΠΊΡƒΠΏΠΊΡƒ Π±ΠΈΠ»Π΅Ρ‚Π°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ трСбуСмая Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° довольно проста: ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈΠ³Ρ€Ρ‹ для ΠΏΠΎΠΊΡƒΠΏΠΊΠΈ ΠΈ ΠΏΠΎ Ρ‚Π°ΠΏΡƒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ. Бписок ΠΈΠ³Ρ€ опрСдСляСтся Π½Π° сСрвСрС ΠΈ рСгулярно обновляСтся.

Π’ нашСм кСйсС Π΄ΠΈΠ·Π°ΠΉΠ½ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° прСдусматривал Π΄Π²Π° состояния:

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Как Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ для Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ являСтся ΠΊΠ½ΠΎΠΏΠΊΠ° Β«ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒΒ», Π½ΠΎ ΠΎΠ± этом ΠΏΠΎΠ·ΠΆΠ΅.

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ отобраТСния Π΄Π²ΡƒΡ… состояний, с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½Π°, я использовал RemoteAdapter Π² Π²ΠΈΠ΄Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ RemoteViewsService, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°.

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π²Π½ΡƒΡ‚Ρ€ΠΈ. Если Ρƒ вас ΡƒΠΆΠ΅ Π±Ρ‹Π» ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠΌ, Ρ‚ΠΎ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ любоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° начинаСтся с ΠΌΠ΅Ρ‚ΠΎΠ΄Π° onUpdate:

ПишСм Π°ΠΏΠ΄Π΅ΠΉΡ‚ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ инстанса нашСго Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°.

ПишСм Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ нашСго сСрвиса. Π’ Π½Π΅ΠΌ Π½Π°ΠΌ Π²Π°ΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ интСрфСйса RemoteViewsService.RemoteViewsFactory ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚.

ЀактичСски это Ρ‚ΠΎΠ½ΠΊΠΈΠΉ wrapper Π½Π°Π΄ Adapter. Благодаря Π΅ΠΌΡƒ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒ наши Π΄Π°Π½Π½Ρ‹Π΅ с remote collection view. RemoteViewsFactory прСдоставляСт ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ RemoteViews для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π² Π½Π°Π±ΠΎΡ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Π£ конструктора Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ β€” всС Ρ‡Ρ‚ΠΎ я дСлаю, это ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽ Π² Π½Π΅ΠΌ контСкст.

Π”Π°Π»Π΅Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ°Ρ€Ρƒ слов ΠΎΠ± основных ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ…:

ΠŸΡ€ΠΈ создании Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅. Π—Π΄Π΅ΡΡŒ спокойно ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ тяТСлыС Π·Π°Π΄Π°Ρ‡ΠΈ, Π² Ρ‚ΠΎΠΌ числС спокойно Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² ΡΠ΅Ρ‚ΡŒ блокируя ΠΏΠΎΡ‚ΠΎΠΊ.

ΠŸΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΆΠ΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ updateDataSync()

Π’Π½ΡƒΡ‚Ρ€ΠΈ updateDataSync Ρ‚ΠΎΠΆΠ΅ всС просто. ΠžΡ‡ΠΈΡ‰Π°Π΅ΠΌ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ список item-ΠΎΠ². Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ профиля ΠΈ ΠΈΠ³Ρ€Ρ‹.

Π—Π΄Π΅ΡΡŒ ΡƒΠΆΠ΅ поинтСрСснСС

Π’Π°ΠΊ ΠΊΠ°ΠΊ Π½Π°ΠΌ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, Ρ‚ΠΎ ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ профиля Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² этом случаС:

МодСль WidgetProfile собираСтся ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… источников, поэтому Π»ΠΎΠ³ΠΈΠΊΠ° ΠΈΡ… получСния ΠΈ Π΅Ρ‘ Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½Ρ‹Π΅ значСния устроСны Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ кошСлька Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ… с ΠΈΡ… ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ.

Для бизнСс Π»ΠΎΠ³ΠΈΠΊΠΈ отсутствиС Π΄Π°Π½Π½Ρ‹Ρ… кошСлька являСтся ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹ΠΌ, поэтому, Π² случаС Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ кошСлька, модСль профиля Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ создана ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π² список item-ΠΎΠ².

ΠœΠ΅Ρ‚ΠΎΠ΄ updateGamesSync() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ getWidgetGamesInteractor ΠΈ добавляСт Π² список widgetItems Π½Π°Π±ΠΎΡ€ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… для Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΈΠ³Ρ€.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡Π΅ΠΊ, рассмотрим ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ модСль WidgetItem. Она Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Ρ‡Π΅Ρ€Π΅Π· kotlin sealed class, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ модСль Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎΠΉ, Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π½Π΅ΠΉ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ.

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ RemoteViews ΠΈ опрСдСляСм ΠΈΡ… ΠΎΡ‚ΠΊΠ»ΠΈΠΊ Ρ‡Π΅Ρ€Π΅Π· FillInIntent

ΠœΠ΅Ρ‚ΠΎΠ΄ setOnClickFillInIntent Π½Π°Π·Π½Π°Ρ‡Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ viewId intent, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ объСдинСн с Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ PendingIntent для опрСдСлСния повСдСния ΠΏΡ€ΠΈ ΠΊΠ»ΠΈΠΊΠ΅ Π½Π° view с этим viewId. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ смоТСм Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΊΠ»ΠΈΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π² нашСм WidgetProvider.

Π ΡƒΡ‡Π½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°

Для нашСго Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Π±Ρ‹Π»ΠΎ установлСно врСмя обновлСния Π² полчаса. МоТно ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ Π΅Π³ΠΎ Ρ‡Π°Ρ‰Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· Ρ‚Π°Π½Ρ†Ρ‹ с WorkManager, Π½ΠΎ Π·Π°Ρ‡Π΅ΠΌ Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π²Π°ΡˆΡƒ ΡΠ΅Ρ‚ΡŒ ΠΈ аккумулятор? Π’Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹Ρ… этапах Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ казалось Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½Ρ‹ΠΌ.

ВсС измСнилось ΠΊΠΎΠ³Π΄Π° «бизнСс» ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠ» Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ смотрит Π½Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, Π½Π° Π½Π΅ΠΌ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅: Β«Π’ΠΎΡ‚ Π½Π° ΠΌΠΎΠ΅ΠΌ iPhone, я ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΈ Ρ‚Π°ΠΌ Π‘ΠΠœΠ«Π• свСТиС Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ΅Π³ΠΎ профиля».

Битуация банальна: iOS Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΏΡ€ΠΈ ΠšΠΠ–Π”ΠžΠœ ΠΏΠΎΠΊΠ°Π·Π΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ², вСдь для этого Ρƒ Π½ΠΈΡ… ΠΎΡ‚Π²Π΅Π΄Π΅Π½ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ экран, Π° Android Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… событий для Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅. ΠŸΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΡƒΡ‡Π΅ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»ΠΎΡ‚Π΅Ρ€Π΅ΠΈ проводятся Ρ€Π°Π· Π² 15 ΠΌΠΈΠ½ΡƒΡ‚, поэтому Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄Π°Π²Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ – Ρ‚Ρ‹ Ρ…ΠΎΡ‡Π΅ΡˆΡŒ ΠΏΠΎΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ Ρ‚ΠΈΡ€Π°ΠΆΠ΅, Π° ΠΎΠ½ ΡƒΠΆΠ΅ ΠΏΡ€ΠΎΡˆΠ΅Π».

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· этой нСприятной ситуации ΠΈ ΠΊΠ°ΠΊ Ρ‚ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ с ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΌΠ½ΠΎΠΉ Π±Ρ‹Π»ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΠΎΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ β€” ΠΊΠ½ΠΎΠΏΠΊΠ° Β«ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒΒ».

ДобавляСм эту ΠΊΠ½ΠΎΠΏΠΊΡƒ Π² ΠΌΠ°ΠΊΠ΅Ρ‚ layout-a со списком ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ Π΅Ρ‘ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ updateWidget

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ Π³Ρ€ΡƒΡΡ‚Π½ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ: ΠΎΡ‚ наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒΒ» Π΄ΠΎ фактичСского обновлСния, ΠΌΠΎΠ³Π»ΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ нСсколько сСкунд. Π₯отя Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΈ гСнСрируСтся нашим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΎΠ½ фактичСски находится Π²ΠΎ власти систСмы ΠΈ общаСтся с нашим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Ρ‡Π΅Ρ€Π΅Π· broadcast-Ρ‹.

Π’.Π΅. ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒΒ» нашСго Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° запускаСтся Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ°:

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, я Π΄ΠΎΠ±Π°Π²ΠΈΠ» Ρ„Π»Π°Π³ isWidgetLoading с Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌ доступом Ρ‡Π΅Ρ€Π΅Π· ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΎΡ€. Роль этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° довольно проста β€” Π½Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒΒ», ΠΏΠΎΠΊΠ° ΠΈΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°.

Π’ΠΎ Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, процСсс Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„Π°Π±Ρ€ΠΈΠΊΠ΅ я Ρ€Π°Π·Π΄Π΅Π»ΠΈΠ» Π½Π° Ρ‚Ρ€ΠΈ этапа:

START β€” Π½Π°Ρ‡Π°Π»ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. На этом этапС состояниС всСх вьюшСк Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° ΠΈ глобального Ρ„Π»Π°Π³Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ мСняСтся Π½Π° «загруТаСтся».

MIDDLE β€” этап основной Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. ПослС ΠΈΡ… Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π»Π°Π³ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ пСрСводится Π² состояниС Β«Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ΠΎΒ», Π° Π² Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

END β€” ΠΊΠΎΠ½Π΅Ρ† Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. АдаптСру Π½Π° этом шагС Π½Π΅ трСбуСтся ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°. Π­Ρ‚ΠΎΡ‚ шаг Π½ΡƒΠΆΠ΅Π½ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ этап обновлСния вьюшСк Π² WidgetProvider.

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΊΠ°ΠΊ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ выглядит ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π΅:

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ посмотрим Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ происходит Π² Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π΅:

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

НадСюсь, Ρ‡Ρ‚ΠΎ ΡΡ‚Π°Ρ‚ΡŒΡ Π±Ρ‹Π»Π° для вас ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ. Если Ρƒ вас Π±Ρ‹Π» ΠΎΠΏΡ‹Ρ‚ создания Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² для Android, Ρ‚ΠΎ расскаТитС ΠΎΠ± этом Π² коммСнтариях.

Oh, My Droid

Π“Π»Π°Π·Π° боятся, Ρ€ΡƒΠΊΠΈ Π΄Π΅Π»Π°ΡŽΡ‚!

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

UCCW – свой собствСнный Π²ΠΈΠ΄ΠΆΠ΅Ρ‚

Π’ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹, ΠΎΠ΄Π½Π° ΠΈΠ· ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰ΠΈΡ… ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ интСрфСйса Π² Android. ВмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ постоянно Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, достаточно Π±Π΅Π³Π»ΠΎΠ³ΠΎ взгляда Π½Π° экран ΠΈ нСобходимая информация ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π°.

ΠŸΡ€ΠΈ этом спСктр ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ просто ΠΎΠ³Ρ€ΠΎΠΌΠ΅Π½, начиная ΠΎΡ‚ Π±Π°Π½Π°Π»ΡŒΠ½Ρ‹Ρ… Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² часов, ΠΏΠΎΠ³ΠΎΠ΄Ρ‹ ΠΈ калСндаря ΠΈ заканчивая показаниями с Π²Π½Π΅ΡˆΠ½ΠΈΡ… устройств, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Ρ‚Π΅Ρ€ΠΌΠΎΠΌΠ΅Ρ‚Ρ€Ρ‹, ΡˆΠ°Π³ΠΎΠΌΠ΅Ρ€Ρ‹ ΠΈ Ρ‚.ΠΏ.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π½Π°Π²Ρ‹ΠΊΠΎΠ² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ засилию стандартных ΠΏΠΎΠ³ΠΎΠ΄Π½Ρ‹Ρ… Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² Π½Π° смартфонах Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Π’Π΅Π΄ΡŒ Π³Π΄Π΅ Π²Π·ΡΡ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, Π΄Π° Π΅Ρ‰Π΅ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π° Π½Π΅ΠΌ Π±Ρ‹Π»Π° полСзная информация? Но Π½Π΅ всС Ρ‚Π°ΠΊ ΠΏΠ΅Ρ‡Π°Π»ΡŒΠ½ΠΎ. Π•ΡΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ называСтся UCCW – Ultimate Custom [Clock] Widget.

Как слСдуСт ΠΈΠ· названия, это ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ настраиваСмый Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ часов, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ собствСнныС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ΅Ρ€Ρ‹ с достаточно Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ. НазваниС UCCW наслСдовано с Ρ€Π°Π½Π½ΠΈΡ… вСрсий, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Π½Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ часов. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, вторая Π±ΡƒΠΊΠ²Π° Β«CΒ» Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹ΡˆΠ»ΠΎ ΠΈΠ· дСтского возраста ΠΈ стало ΠΈΠΌΠ΅Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности, Π½Π΅ΠΆΠ΅Π»ΠΈ созданиС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… часовых ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ².

UCCW – это ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°Ρ Π·Π°Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° для создания собствСнных Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ², которая позволяСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ оформлСния ΠΈ вывСсти ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ ΡΠΈΡΡ‚Π΅ΠΌΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ стол.

ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ UCCW Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎ ΠΊΠ°ΡΡ‚ΠΎΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ стол, Π° Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΡ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π² связкС с Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ Π»Π°Π½Ρ‡Π΅Ρ€ΠΎΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΌ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠΊΠΎΠ½ΠΎΠΊ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ сСтку Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… областСй.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ настройки UCCW

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹

ПослС установки прилоТСния UCCW, Π² спискС доступных Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² появятся Π·Π°Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ. Π­Ρ‚ΠΎ ΠΏΡƒΡΡ‚Ρ‹ΡˆΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ трСбуСтся Π½Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ.

На Π΄Π°Π½Π½ΠΎΠΌ этапС ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π΄Π²ΠΎΠΉΠ½ΠΎΠ΅ Π½Π΅ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅:

Π—Π°Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² ΠΎΡ‚ 1Ρ…1 Π΄ΠΎ 4Ρ…4, Π° Π² случаС использования стороннСго Π»Π°Π½Ρ‡Π΅Ρ€Π°, появляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ 5Ρ…2.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Π¨Π°Π±Π»ΠΎΠ½Ρ‹ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² UCCW

На Π΄Π°Π½Π½ΠΎΠΌ этапС трСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ шаблон Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ стол, послС Ρ‡Π΅Π³ΠΎ откроСтся ΠΎΠΊΠ½ΠΎ настройки Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°. Π“Π΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚ΡŒΡΡ:

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

ΠŸΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅ ΠΊ творчСству

uzip – Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ UCCW, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранятся созданныС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹, позволяСт ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ скинами ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ

Нас интСрСсуСт созданиС Π½ΠΎΠ²ΠΎΠ³ΠΎ, послС Π²Ρ‹Π±ΠΎΡ€Π° Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π°, Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ столС появится Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π² Π²ΠΈΠ΄Π΅ ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‰Π΅ΠΉ Π½Π° Π½Π΅Ρ‘ Π½Π°ΠΆΠ°Ρ‚ΡŒ.

ΠžΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ΡΡ основноС ΠΎΠΊΠ½ΠΎ прилоТСния, Π³Π΄Π΅ ΠΏΠΎ Ρ†Π΅Π½Ρ‚Ρ€Ρƒ располоТСна ΠΏΠΎΠ΄Π»ΠΎΠΆΠΊΠ° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ ΠΈ Π±ΡƒΠ΄Π΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΡƒΡŽ нас ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. Но ΠΎΠ±ΠΎ всСм ΠΏΠΎ порядку:

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρƒ нас появилось Π±Π°Π·ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ρ‚ΡƒΡ‚ Π²ΠΎΠΎΠ±Ρ‰Π΅ происходит. Для Π½Π°Ρ‡Π°Π»Π° создадим ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… Π·Π²ΠΎΠ½ΠΊΠΎΠ² ΠΈ смс, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈ Ρ‚Π°ΠΏΠ΅ ΠΏΠΎ Π½Π΅ΠΌΡƒ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ сообщСния ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π·Π²ΠΎΠ½ΠΈΠ»ΠΊΡƒ.

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π΄ΡƒΠΌΠ°Π½Π½ΠΎΠ³ΠΎ, потрСбуСтся ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒΡΡ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΈΠΊΠΎΠ½ΠΊΠΈ для SMS ΠΈ Π—Π²ΠΎΠ½ΠΊΠΎΠ².

ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΈΠΊΠΎΠ½ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π° Findicons

Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ 2Ρ…1 ΠΈ приступаСм ΠΊ настройкам.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ добавляСм наши ΠΈΠΊΠΎΠ½ΠΊΠΈ, для этого Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ +/- ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ Ρ‚Π°ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ элСмСнтов Image, Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Image 1 ΠΈ Image 2 β€” это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π΄Π²Π° изобраТСния.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Вставка ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² UCCW

ПослС этого Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области появится Π΄Π²Π΅ Π·Π°Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π½ΡƒΠΆΠ½ΠΎ Π²ΠΎΠΉΡ‚ΠΈ Π² мСню сСлСктора ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Ρ‚Π°ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Image 1 ΠΈΠ»ΠΈ Image 2, Π² Π½ΠΈΠΆΠ½Π΅ΠΉ части появятся элСмСнты управлСния свойствСнныС для этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Для смСны изобраТСния Π½Π° Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ Π½Π°ΠΌΠΈ, Π΄Π΅Π»Π°Π΅ΠΌ росчСрк Π²Π»Π΅Π²ΠΎ Π½Π° Π±Π»ΠΎΠΊΠ΅ управлСния ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π½Π° Π²Ρ‚ΠΎΡ€ΡƒΡŽ Π·Π°ΠΊΠ»Π°Π΄ΠΊΡƒ, Π³Π΄Π΅ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ Image, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… источников, поэтому дСйствуйтС ΠΏΠΎ своСму ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ появляСтся Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области.

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π±Ρ€Π°Π½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€, для этого слуТит опция Scale.

ΠŸΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅ΠΌ Π΅Π³ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Position ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ. Для ускорСния процСсса, ΠΌΠΎΠΆΠ½ΠΎ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚ Faster movement.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² UCCW

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅ΠΌ наши изобраТСния Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области ΠΈ ΠΏΠΎΠ΄Π±ΠΈΡ€Π°Π΅ΠΌ для Π½ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€. ПослС Ρ‡Π΅Π³ΠΎ приступаСм ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ с тСкстовыми ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ.

Для этого добавляСм элСмСнты Static Text, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ это Π±Ρ‹Π»ΠΎ сдСлано с изобраТСниями.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ тСкстовых элСмСнтов Π² UCCW

ПослС добавлСния тСкстовых Π±Π»ΠΎΠΊΠΎΠ², Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΈΡ… Ρ‡Π΅Ρ€Π΅Π· сСлСктор ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².
На ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠ΅ Controls #1 ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ тСкста Ρ‡Π΅Ρ€Π΅Π· ΠΏΡƒΠ½ΠΊΡ‚ Size, послС Ρ‡Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π½Π° Ρ‚Ρ€Π΅Ρ‚ΡŒΡŽ Π·Π°ΠΊΠ»Π°Π΄ΠΊΡƒ Π±Π»ΠΎΠΊΠ° управлСния Controls #3, Π³Π΄Π΅ Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ ΠΏΡƒΠ½ΠΊΡ‚ Text, Π² ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Π²Π²ΠΎΠ΄ΠΈΠΌ тСкст:

ПослС Ρ‡Π΅Π³ΠΎ возвращаСмся Π½Π° ΠΏΠ΅Ρ€Π²ΡƒΡŽ Π·Π°ΠΊΠ»Π°Π΄ΠΊΡƒ ΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅ΠΌ тСкст Π² соотвСтствии с ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ.

ΠœΡ‹ создали статичСскиС элСмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π½ΠΈ ΠΏΡ€ΠΈ ΠΊΠ°ΠΊΠΈΡ… условиях, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ созданию динамичСских.

Для добавлСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹Π·ΠΎΠ²Π°Ρ… ΠΈ сообщСниях, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ +/- ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ Ρ‚Π°ΠΌ элСмСнты: Missed Calls ΠΈ Text Messages, добавляСм ΠΈΡ… Π½Π° Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ,

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Π Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Ρ‹Ρ… Π·Π²ΠΎΠ½ΠΊΠ°Ρ… ΠΈ смс Π² UCCW

ВсС ΠΎΠΏΡ†ΠΈΠΈ для настройки Π΄Π°Π½Π½Ρ‹Ρ… элСмСнтов ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ с Ρ‚Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ для Static Text, поэтому смСло мСняСм Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅ΠΌ Π±Π»ΠΎΠΊΠΈ Π² соотвСтствии с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ рисунком.

Π’ΠΎΡ‚ ΠΈ Π³ΠΎΡ‚ΠΎΠ² Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ стол, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π½ΠΎ ΠΏΠΎΠΊΠ° остаСтся Π½Π΅ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ. А для этого трСбуСтся ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π² Ρ€Π΅ΠΆΠΈΠΌ Hotspots сСлСктора ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… областСй Π² UCCW Π²ΠΈΠ΄ΠΆΠ΅Ρ‚

Hotspots β€” слуТат для опрСдСлСния областСй, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ Ρ‚Π°ΠΏΡ‹ Π½Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π΅ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ дСйствиям ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ события:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠΉ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π·ΠΎΠ½Ρ‹, ΠΎΠ½Π° Π½Π΅ Π²ΠΈΠ΄Π½Π° Π½Π° экранС ΠΈ для Π΅Ρ‘ вытаскивания Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Position, Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ трСбуСтся Π²Π½ΠΈΠ·.

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΎΠ½Π° появилась Π½Π° экранС, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Ρ‘ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ дСйствиС.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Бписок дСйствия для Hotspots Π² UCCW

Для нашСго Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ запуск прилоТСния SMS/MMS Π² ΠΏΡƒΠ½ΠΊΡ‚Π΅ App, для Π²Ρ‹Π·ΠΎΠ²Π° Π·Π²ΠΎΠ½ΠΈΠ»ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ UCCW β†’ Dialer.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π·ΠΎΠ½Ρ‹ производится ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ #1, Π½ΠΎ это скорСС Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅, Π° активация прСдустановлСнных hotspots.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Π² UCCW

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ‹ сдСлали всС настройки, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² мСню настроСк ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Save/Export skin, Π·Π°Π΄Π°Π΅ΠΌ имя ΠΈ сохраняСм Π΅Π³ΠΎ Π² систСмС. ПослС Ρ‡Π΅Π³ΠΎ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Hotspots mode ΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ появляСтся Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ столС. Но Π½Π΅ обошлось Π±Π΅Π· нюансов. Π’Π°ΠΏ Π·ΠΎΠ½Ρ‹ Π½Π΅ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹, для ΠΈΡ… Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΈ ΠΏΡ€ΠΈ создании Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ сохранСнный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ столС появится ΠΈΠΊΠΎΠ½ΠΊΠ° с ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‚Π°ΠΏ ΠΏΠΎ Π½Π΅ΠΉ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ ваш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ 2Ρ…1, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ стандартными срСдствами Android 4.x. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ΅Π½Π΅Π΅ 15 ΠΌΠΈΠ½ΡƒΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ позволяСт сущСствСнно ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ количСство установлСнных Π² систСмС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π·Π°ΠΌΠ΅Π½ΠΈΠ² ΠΈΡ… ΠΎΠ΄Π½ΠΈΠΌ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π² Π»ΠΈΡ†Π΅ UCCW.

ОписаниС элСмСнтов UCCW

Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ англоязычноС, Ρ‚ΠΎ Π²ΠΎΠ·ΡŒΠΌΡƒ Π½Π° сСбя ΡΠΌΠ΅Π»ΠΎΡΡ‚ΡŒ, привСсти ΠΏΠΎΠ»Π½Ρ‹ΠΉ список всСх Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ список ΠΈΡ… свойств, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π΅ зная языка. По Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ счСту Π½ΠΈΡ‡Π΅Π³ΠΎ слоТното Ρ‚Π°ΠΌ Π½Π΅Ρ‚ ΠΈ созданиС ΠΏΠ°Ρ€Ρ‹ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π² дальнСшСм Π»Π΅Π³ΠΊΠΎ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всСми функциями Π±Π΅Π· подглядывания Π² эту ΡˆΠΏΠ°Ρ€Π³Π°Π»ΠΊΡƒ.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ доступныС для добавлСния

Tasker – Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€ частых Π·Π°Π΄Π°Ρ‡ Π½Π° смартфонС, Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Β«Π£ΠΌΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ„Π°ΠΉΠ»Π΅Ρ€Β». ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ смартфона Π² зависимости ΠΎΡ‚ Π²Π½Π΅ΡˆΠ½ΠΈΡ… Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ²: ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π·Π²ΡƒΠΊ с 23:00 Π΄ΠΎ 07:00; Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Wi-Fi ΠΏΡ€ΠΈ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΠΈ ΠΊ Π΄ΠΎΠΌΡƒ; Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

ΠžΠ±Ρ‰ΠΈΠ΅ свойства

ΠŸΡ€ΠΈ настройкС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² Π² UCCW происходит ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ свойствам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±Ρ‰ΠΈΠΌΠΈ, поэтому ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ сначала ΠΏΡ€ΠΎ Π½ΠΈΡ….

ΠžΠ±Ρ‰ΠΈΠ΅ свойства ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Π΄Π²Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹:

Π‘ тСкстовыми элСмСнтами всС просто, ΠΎΠ½ΠΈ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ настройками ΠΈ СдинствСнноС Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ, это Ρ‚ΠΈΠΏ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Controls #1

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Набор элСмСнтов управлСния Π½Π° Contorls #1

Controls #2

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Набор элСмСнтов управлСния Π½Π° Contorls #2

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΏΡƒΠ½ΠΊΡ‚ β€” Special Effects, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ, Π²Ρ€ΠΎΠ΄Π΅ ΠΊΠ°ΠΊ, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ эффСкты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΡΡ‚ΡŒ, Π½ΠΎ ΠΈΡ… Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ β€” ΠΎΠ΄ΠΈΠ½, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ частичной прозрачности ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован ΠΏΡ€ΠΈ создании Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² со стилизациСй ΠΏΠΎΠ΄ ΠΏΠΎΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ ΠΈ поблСкшиС ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ надписи.

Controls #3

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Набор элСмСнтов управлСния Π½Π° Controls #3

Один ΠΈΠ· самых Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² для оформлСния тСкста.

Controls #4

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Набор элСмСнтов управлСния Π½Π° Controls #3

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡƒΠ½ΠΊΡ‚Π΅ производится настройка Ρ‚Π΅Π½ΠΈ для тСкста.

Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π»ΡŽΠ±Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ нСпосрСдствСнно ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ элСмСнтом ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ВсС элСмСнты ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π½Π° логичСскиС Π±Π»ΠΎΠΊΠΈ: Часы, Аккумулятор, Погода, Π€ΠΈΠ³ΡƒΡ€Ρ‹, Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ, ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅+Tasker.

Π’ этот Π±Π»ΠΎΠΊ входят всС элСмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ связаны с Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ. Π˜Ρ… условно ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΏΠΏΡ‹:
1. ВСкстовыС β€” Time, Date, Hour, Minute, Hour/minute separator, Am/Pm, Day of the month, Day of the week, Month, Year, Week of the year, Week bar.
2. ГрафичСскиС β€” Analog Clock, Series clock, Hour series, Minute series, AMPM series, Day of the month series, Day of the week series, Month series, Year series.

ДобавляСтся Controls #5, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ:

Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΡƒΠ½ΠΊΡ‚ Separator, ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° настройку раздСлитСля ΠΌΠ΅ΠΆΠ΄Ρƒ часами ΠΈ ΠΌΠΈΠ½ΡƒΡ‚Π°ΠΌΠΈ. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ совсСм ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ часы Π² Π²ΠΎΠ΅Π½Π½ΠΎΠΌ стилС ( Ρƒ амСриканских Π²ΠΎΠ΅Π½Π½Ρ‹Ρ… Π½Π° часах Π½Π΅Ρ‚ раздСлитСля).

Date, Hour, Minute, Am/Pm

ΠžΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Π΅ элСмСнты выводящиС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π΄Π°Ρ‚Π΅, часС ΠΈ ΠΌΠΈΠ½ΡƒΡ‚Π΅.
ВсС настройки этих элСмСнтов собраны Π² Controls #5, Π° самыС ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹Π΅ ΠΎΠ½ΠΈ Ρƒ Π΄Π°Ρ‚Ρ‹.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ настройки Π΄Π°Ρ‚Ρ‹

ΠœΠΈΠ½ΡƒΡ‚Ρ‹ ΠΈ часы Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½Ρ‹. ΠΠ°ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΎΠ½ΠΈ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ, поэтому рассмотрим ΠΈΡ… совмСстно.

Для настройки доступно Π°ΠΆ 7 Ρ€Π°Π·Π½Ρ‹Ρ… Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ. На послСднСй выставляСтся Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ врСмя. Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠΈΠ½ΡƒΡ‚Π°ΠΌΠΈ ΠΈ часами Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² для часов прСдусмотрСно большС. Но с Π½ΠΈΠΌΠΈ Ρ‚ΠΎ всС ясно ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… слоТностСй Π½Π΅Ρ‚. Плюс выбирая классичСскиС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹, ΠΌΡ‹ оставляСм Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ 5 ΠΈ 6. ΠŸΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Text, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΡ€ΠΎΠΏΠΈΡΡŒΡŽ.

Для Π²Ρ…ΠΎΠ΄Π° Π² Ρ€Π΅ΠΆΠΈΠΌ ΠΏΡ€Π°Π²ΠΊΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ тСкста, трСбуСтся Π½Π°ΠΆΠ°Ρ‚ΡŒ Custom text ΠΈ Ρ‚Π°ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Make a custom file Π²Ρ‹ ΠΏΠΎΠΏΠ°Π΄Π΅Ρ‚Π΅ Π² ΠΎΠΊΠ½ΠΎ, Π³Π΄Π΅ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ строки с числами ΠΎΡ‚ 1 Π΄ΠΎ 24 (ΠΈΠ»ΠΈ 60 для ΠΌΠΈΠ½ΡƒΡ‚), Π³Π΄Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΏΠΈΡΠ°Ρ‚ΡŒ собствСнный тСкст. Π§Π΅ΠΊ бокс Broken text позволят Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Ρ‹Π²Ρ‹ Π² тСкстС, Π² Ρ‚Π°ΠΊΠΎΠΌ случаС Π²Ρ‹ смоТСтС Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ.

Π‘ΠΎΠ»Π΅Π΅ Π΄Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ с ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ настройки тСкста ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ Π½Π° ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π°Ρ… Π½ΠΈΠΆΠ΅, Π° Ссли Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ нСясным, β€” ΡΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ Π² коммСнтариях.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ
Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

ΠŸΡ€ΠΈ этом позволяСтся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄ΠΎ 3-Ρ… Ρ€Π°Π·Ρ€Ρ‹Π²ΠΎΠ² тСкста, Π² Ρ‚Π°ΠΊΠΎΠΌ случаС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎ.

ПодобноС Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ позволяСт ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ врСмя Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² стилС: ΠΏΠΎΡ€Π° Π²ΡΡ‚Π°Π²Π°Ρ‚ΡŒ, Π·Π°Π²Ρ‚Ρ€Π°ΠΊ, ΠΎΠ±Π΅Π΄, ΡƒΠΆΠΈΠ½ ΠΈ Ρ‚.ΠΏ. ВсС ограничиваСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ вашСй Ρ„Π°Π½Ρ‚Π°Π·ΠΈΠ΅ΠΉ.

Π’Ρ‚ΠΎΡ€ΠΎΠΉ Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, это установка изобраТСния вмСсто Ρ†ΠΈΡ„Ρ€.

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ собствСнныС изобраТСния, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΡ… Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ png ΠΈ Π΄Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π° Π²ΠΈΠ΄Π°:

послС Ρ‡Π΅Π³ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ трСбуСтся пСрСнСсти Π² ΠΏΠ°ΠΏΠΊΡƒ /sdcard/UltimateCustomClockWidget/image_fonts/ /*.png

ПослС этого Ρ„Π°ΠΉΠ»Ρ‹ появтся Π² спискС ΠΈ появится Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡ… использования.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

ИспользованиС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² элСмСнтах Hour ΠΈ Minutes

Hour/minute separator, Day of the month, Day of the week, Month, Year, Week of the year, Week bar

ΠžΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ нСрасмотрСнными элСмСнты управлСния Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ, ΠΏΠΎ сути Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ собой Π½ΠΈΡ‡Π΅Π³ΠΎ особСнного. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ изобраТСния Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ всС настройки сводятся ΠΊ частным случаям Ρ€Π°Π½Π΅Π΅ расмотрСнных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ².

НСбольшой интСрСс прСдставляСт Week bar β€” полоска Π΄Π½Π΅ΠΉ Π½Π΅Π΄Π΅Π»ΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для занятия пустого мСста, плюс Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ выглядит Π΄Π°ΠΆΠ΅ Π±Π΅Π· настроСк.

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Android для своСго прилоТСния

Π‘ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π΄Π½Π΅ΠΉ сущСствования ОБ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ для Android позволяли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ со своими Π»ΡŽΠ±ΠΈΠΌΡ‹ΠΌΠΈ прилоТСниями, Π½Π΅ выходя ΠΈΠ· Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΆΠ΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ для Android?

Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π΄Π΅Π»Π°ΡŽΡ‚ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ†Π΅Π½Π½Ρ‹ΠΌ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΌ экранС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ВмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒΡΡ Π² ящикС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ напоминания ΠΎ вашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ взглянут Π½Π° свой домашний экран, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ просмотр Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ интСрСсного ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° вашСго прилоТСния.

Π’ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π΄Π΅Π»Π°ΡŽΡ‚ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹ΠΌ Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ столС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΠΎΠΊΠ°ΠΆΡƒ Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ взаимодСйствиС с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈ ΠΏΡ€ΠΈ этом ΠΏΠΎΠ±ΡƒΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с вашим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, создав Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Android! К ΠΊΠΎΠ½Ρ†Ρƒ этой ΡΡ‚Π°Ρ‚ΡŒΠΈ Π²Ρ‹ создадитС ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Π³Π»Π°Π²Π½ΠΎΠΌ экранС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π§Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ доставляСтС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ хотят Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π½Π° своСм Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ столС, ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ создадим дСйствиС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ содСрТимоС, внСшний Π²ΠΈΠ΄ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°. НаконСц, я ΠΏΠΎΠΊΠ°ΠΆΡƒ, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ±ΡƒΠ΄ΠΈΡ‚ΡŒ людСй ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ваш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, создав ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ просмотра Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ дСмонстрируСт Π»ΡƒΡ‡ΡˆΠ΅Π΅, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ ваш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ для Android?

Π’ΠΈΠ΄ΠΆΠ΅Ρ‚ прилоТСния – это Π»Π΅Π³ΠΊΠΎΠ΅ ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ находится Π½Π° Π³Π»Π°Π²Π½ΠΎΠΌ экранС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Π’ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ для Android ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, Π½ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π² ΠΎΠ΄Π½Ρƒ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ:

Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΠΈ ΠΌΠΎΠ΅ΠΌΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ Π½ΡƒΠΆΠ΅Π½ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ прилоТСния?

Π•ΡΡ‚ΡŒ нСсколько ΠΏΡ€ΠΈΡ‡ΠΈΠ½, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Π°ΠΌ слСдуСт ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° прилоТСния Π² свой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Android.

Π’ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ для Android ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΎΠΏΡ‹Ρ‚

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ‡Π΅ΠΌ мСньшС шагов Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ трСбуСтся для выполнСния Π·Π°Π΄Π°Ρ‡ΠΈ, Ρ‚Π΅ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ прилоТСния, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ нСсколько шагов Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² вашСго прилоТСния. Π’ Π»ΡƒΡ‡ΡˆΠ΅ΠΌ случаС ваши ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ смогут ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, просто взглянув Π½Π° свой Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ стол, ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΆΠ΅Π»Π°Π΅ΠΌΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ, просто Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡƒ Π² вашСм Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π΅ управлСния.

Π‘ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ, Ρ‡Π΅ΠΌ ярлыки ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Π’ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ часто Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΡŽΡ‚ Π½Π° события onClick запуском Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ярлыку прилоТСния. Однако Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ прямой доступ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ дСйствиям Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Π½Π° ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ сообщСния ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ связанноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с ΡƒΠΆΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ Π½ΠΎΠ²Ρ‹ΠΌ сообщСниСм.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Встраивая нСсколько ссылок Π² ΠΌΠ°ΠΊΠ΅Ρ‚ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ΄Π½ΠΈΠΌ касаниСм ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ доступ ΠΊΠΎ всСм Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹ΠΌ дСйствиям вашСго прилоТСния, ΡƒΠ΄Π°Π»ΠΈΠ² Π΅Ρ‰Π΅ большС шагов Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ².

Встраивая нСсколько ссылок Π² ΠΌΠ°ΠΊΠ΅Ρ‚ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ΄Π½ΠΈΠΌ касаниСм ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ доступ ΠΊΠΎ всСм Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹ΠΌ дСйствиям вашСго прилоТСния.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° события onClick, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ случайноС взаимодСйствиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ с вашим Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠΌ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ ΠΏΠΎ Π΄ΠΎΠΌΠ°ΡˆΠ½Π΅ΠΌΡƒ экрану. ЕдинствСнноС ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ – ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ пытаСтся ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ваш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, пСрСтаскивая Π΅Π³ΠΎ ΠΊ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ Β«Π£Π΄Π°Π»ΠΈΡ‚ΡŒΒ» Π½Π° своСм домашнСм экранС, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² этом сцСнарии ваш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ТСст Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ смахивания.

Π­Ρ‚ΠΎ взаимодСйствиС управляСтся систСмой Android, поэтому Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ смахивания Π² своСм Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π΅.

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Android для долгосрочного взаимодСйствия

Π£Π±Π΅Π΄ΠΈΡ‚ΡŒ людСй Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ – это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ шаг ΠΊ созданию ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ прилоТСния для Android. Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, Ссли Π²Ρ‹ Π²ΠΎΠ·ΡŒΠΌΠ΅Ρ‚Π΅ свой собствСнный смартфон ΠΈΠ»ΠΈ ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚ Android ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Ρ‚Π΅ ΠΏΠΎ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅ нСсколько ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Π½Π΅ использовали Π΄Π½ΠΈ, Π½Π΅Π΄Π΅Π»ΠΈ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ мСсяцы!

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ установлСно Π½Π° устройствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ Π²ΠΎΠ²Π»Π΅Ρ‡Π΅Π½Ρ‹ ΠΈ наслаТдались вашим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ вашСго прилоТСния Π½Π° Π³Π»Π°Π²Π½ΠΎΠΌ экранС ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ ΠΌΠΎΡ‰Π½Ρ‹ΠΌ инструмСнтом для стимулирования долгосрочного взаимодСйствия просто ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ это постоянноС Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ сущСствуСт!

Π₯ΠΎΡ€ΠΎΡˆΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Π½Π½Ρ‹ΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ постоянной Ρ€Π΅ΠΊΠ»Π°ΠΌΠΎΠΉ вашСго прилоТСния. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ смотрит Π½Π° свой Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ стол, Ρƒ вашСго Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΠΎΠ±ΡƒΠΆΠ΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с вашим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, прСдставляя ΠΈΠΌ всС самоС интСрСсноС ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ содСрТимоС вашСго прилоТСния.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° прилоТСния-ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ

Π’ этом руководствС ΠΌΡ‹ создадим Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ массив Π² Π²ΠΈΠ΄Π΅ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ListView.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° прилоТСния, этот Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ сообщСния ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ состояния ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°. Π‘Π»ΠΈΠΆΠ΅ ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ этого руководства ΠΌΡ‹ ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΡƒΠ΅ΠΌ наш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ настраиваСмого изобраТСния ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ просмотра, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π² срСдствС Π²Ρ‹Π±ΠΎΡ€Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² Android, ΠΈ дСйствия ΠΏΠΎ настройкС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π° своСм Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ столС.

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Android с настройками ΠΏΠΎ Π²Π°ΡˆΠ΅ΠΌΡƒ Π²Ρ‹Π±ΠΎΡ€Ρƒ, ΠΈ приступим!

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΠΊΠ΅Ρ‚Π° вашСго Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°

Для Π½Π°Ρ‡Π°Π»Π° Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс (UI) Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°.

Π’ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ прилоТСния ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² процСссС Π²Π½Π΅ вашСго прилоТСния, поэтому Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈ прСдставлСния, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ RemoteView.

ΠŸΡ€ΠΈ создании ΠΌΠ°ΠΊΠ΅Ρ‚Π° Π²Ρ‹ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ подклассы Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… классов ΠΈ прСдставлСний Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ.

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» рСсурсов ΠΌΠ°ΠΊΠ΅Ρ‚Π° с ΠΈΠΌΠ΅Π½Π΅ΠΌ list_widget.xml. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ наши Π΄Π°Π½Π½Ρ‹Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ListView, этот ΠΌΠ°ΠΊΠ΅Ρ‚ Π² основном слуТит ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠΌ для элСмСнта :

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ

Π—Π°Ρ‚Π΅ΠΌ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ поставщика Π΄Π°Π½Π½Ρ‹Ρ… для нашСго ListView. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ класс Java с ΠΈΠΌΠ΅Π½Π΅ΠΌ DataProvider.java ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

AppWidgetProvider: настройка Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Android, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ².

Наш ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ спСцифичный для Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Ρ„Π°ΠΉΠ» – это AppWidgetProvider, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ собой BroadcastReceiver, Π³Π΄Π΅ Π²Ρ‹ опрСдСляСтС Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄, Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ создании вашСго Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°, ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ вызываСтся, ΠΊΠΎΠ³Π΄Π° этот Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ удаляСтся.

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ класс Java (Π€Π°ΠΉΠ»> Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ> Класс Java) с ΠΈΠΌΠ΅Π½Π΅ΠΌ CollectionWidget.

Для Π½Π°Ρ‡Π°Π»Π° всС Ρ„Π°ΠΉΠ»Ρ‹ поставщиков Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ наслСдниками класса AppWidgetProvider. Π—Π°Ρ‚Π΅ΠΌ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» рСсурсов ΠΌΠ°ΠΊΠ΅Ρ‚Π° list_widget.xml Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ RemoteViews ΠΈ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ AppWidgetManager ΠΎΠ± ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ RemoteViews:

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ наши Π΄Π°Π½Π½Ρ‹Π΅ Π² ListView, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ setRemoteAdapter() Π² нашСм AppWidgetProvider. SetRemoteAdapter () эквивалСнтСн Π²Ρ‹Π·ΠΎΠ²Ρƒ AbsListView.setRemoteViewsAdapter (), Π½ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для использования Π² Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Π’ этом ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ AdapterView (R.id.widget_list) ΠΈ Ρ†Π΅Π»ΡŒ слуТбы, которая Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π°ΡˆΠ΅ΠΌΡƒ RemoteViewsAdapter – ΠΌΡ‹ скоро создадим этот класс WidgetService.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°

Π’ нашСм AppWidgetProvider Π½Π°ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°:

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° с onUpdate

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° onUpdate () ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ прСдставлСний вашСго Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Π½ΠΎΠ²ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ.

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызываСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·:

Π—Π΄Π΅ΡΡŒ Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹ зарСгистрируСтС Π»ΡŽΠ±Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ваш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚.

ΠŸΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Android Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ нСсколько экзСмпляров ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°. НапримСр, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ваш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ настраиваСтся, ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ нСсколько «вСрсий», ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ доступ ΠΊ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ функциям.

Когда Π²Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ onUpdate (), Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, обновляСтС Π»ΠΈ Π²Ρ‹ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ экзСмпляр этого Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΈΠ»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ экзСмпляр. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ экзСмпляр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ appWidgetIds, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт собой массив ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ экзСмпляр Π½Π° устройствС.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ я обновляю ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ экзСмпляр:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ для упрощСния ΠΊΠΎΠ΄Π° этот ΠΌΠ΅Ρ‚ΠΎΠ΄ onUpdate () Π² настоящСС врСмя Π½Π΅ вносит Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π²ΠΈΠ΄ΠΆΠ΅Ρ‚.

onEnabled: Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ настройки

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° onEnabled () вызываСтся Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° ACTION_APPWIDGET_ENABLED, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ отправляСтся, ΠΊΠΎΠ³Π΄Π° экзСмпляр вашСго Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° добавляСтся Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ стол Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π·. Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ создаСт Π΄Π²Π° экзСмпляра вашСго Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°, Ρ‚ΠΎ onEnabled () Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ экзСмпляра, Π½ΠΎ Π½Π΅ для Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ.

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° onEnabled () – это Ρ‚ΠΎ мСсто, Π³Π΄Π΅ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ настройку, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ для всСх экзСмпляров вашСго Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ вашСм Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π΅.

Π― ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ тост, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° вызываСтся этот ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ удаляСт всС экзСмпляры вашСго Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°, Π° Π·Π°Ρ‚Π΅ΠΌ создаСт Π½ΠΎΠ²Ρ‹ΠΉ экзСмпляр, Ρ‚ΠΎ ΠΎΠ½ классифицируСтся ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ экзСмпляр, ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° onEnabled () Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½ Π΅Ρ‰Π΅ Ρ€Π°Π·.

ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ onDisabled

ΠœΠ΅Ρ‚ΠΎΠ΄ onDisabled () вызываСтся Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° ACTION_APPWIDGET_DISABLED, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ запускаСтся, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ удаляСт послСдний экзСмпляр вашСго Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°.

Π’ этом ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ всС рСсурсы, созданныС Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ onEnabled (), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΠ΄Π°Π»ΠΈΠ² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ Π² onEnabled ().

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ наш ΠΊΠΎΠ΄, я просто Π±ΡƒΠ΄Ρƒ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ тост ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° запускаСтся этот ΠΌΠ΅Ρ‚ΠΎΠ΄:

Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹ΠΉ AppWidgetProvider

Π’Π°Ρˆ Ρ„Π°ΠΉΠ» CollectionWidget Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

Π€Π°ΠΉΠ» AppWidgetProviderInfo

Для вашСго Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° прилоТСния Ρ‚Π°ΠΊΠΆΠ΅ трСбуСтся Ρ„Π°ΠΉΠ» AppWidgetProviderInfo, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт нСсколько Π²Π°ΠΆΠ½Ρ‹Ρ… свойств, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ вашСго Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΈ частоту Π΅Π³ΠΎ обновлСния.

Π€Π°ΠΉΠ» AppWidgetProviderInfo хранится Π² ΠΏΠ°ΠΏΠΊΠ΅ res / xml вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Если Π² вашСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π΅Ρ‰Π΅ Π½Π΅Ρ‚ этой ΠΏΠ°ΠΏΠΊΠΈ, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΅Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ:

Π—Π°Ρ‚Π΅ΠΌ создайтС Ρ„Π°ΠΉΠ» collection_widget_info, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ наш AppWidgetProviderInfo:

Π’ нашСм Ρ„Π°ΠΉΠ»Π΅ AppWidgetProviderInfo Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ свойства:

1. android: previewImage

Π­Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ вашСго прилоТСния Π² срСдствС Π²Ρ‹Π±ΠΎΡ€Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² устройства.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Если Π²Ρ‹ Π½Π΅ прСдоставитС previewImage, вмСсто этого Android Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡ΠΎΠΊ вашСго прилоТСния. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ±ΡƒΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ваш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΈΠ· срСдства Π²Ρ‹Π±ΠΎΡ€Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ², Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ графичСскоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ваш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ послС ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ настройки Π½Π° Π³Π»Π°Π²Π½ΠΎΠΌ экранС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π‘Π°ΠΌΡ‹ΠΉ простой способ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ просмотра – ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Widget Preview, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π² эмулятор Android. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ позволяСт Π²Π°ΠΌ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, Π° Π·Π°Ρ‚Π΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² своСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Android.

ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ это ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠΌ созданиС нашСго Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°, поэтому сСйчас я Π±ΡƒΠ΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ автоматичСски сгСнСрированный рСсурс mipmap / ic_launcher Π² качСствС Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ изобраТСния ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ просмотра.

2. android: widgetCategory

Π’ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ App Widget Host, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ являСтся стандартным домашним экраном Android, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ стороннСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ запуска, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Evie Launcher ΠΈΠ»ΠΈ Nova Launcher.

ΠœΠ΅ΠΆΠ΄Ρƒ уровнями API 17 ΠΈ 20 ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΌ экранС ΠΈΠ»ΠΈ экранС Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ, Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° экрана Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ устарСла Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ API 21.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ вашСго прилоТСния Π½Π° Π³Π»Π°Π²Π½ΠΎΠΌ экранС, Π½Π° экранС Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Android Π½Π°Π·Ρ‹Π²Π°Π΅Ρ‚ Β«Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹Β») ΠΈΠ»ΠΈ Π½Π° ΠΎΠ±ΠΎΠΈΡ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ android: widgetCategory. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² послСдних вСрсиях Android Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° экранС Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° домашний экран.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ваш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ»ΠΈ Π»ΠΈΡ‡Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΡ€ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ Π½Π° экранС Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ.

Если Π²Ρ‹ Π΄Π°Π΄ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ваш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π½Π° экранС Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ, Ρ‚ΠΎ любой, ΠΊΡ‚ΠΎ взглянСт Π½Π° устройство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ смоТСт ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ваш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΈ всС Π΅Π³ΠΎ содСрТимоС. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ваш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ»ΠΈ Π»ΠΈΡ‡Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΡ€ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ Π½Π° экранС Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ. Если ваш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ содСрТит Π»ΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ прСдоставлСния ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠ² домашнСго экрана ΠΈ экрана Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ.

3. android: initialLayout

Π­Ρ‚ΠΎ Ρ„Π°ΠΉΠ» рСсурсов ΠΌΠ°ΠΊΠ΅Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ваш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΌ экранС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ для нашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° являСтся list_widget.xml.

4. android: resizeMode = β€œΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ | ΠΏΠΎ вСртикали”

Атрибут android: resizeMode позволяСт ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ, Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ ΠΈΠ»ΠΈ ΠΏΠΎ ΠΎΠ±Π΅ΠΈΠΌ осям.

Π§Ρ‚ΠΎΠ±Ρ‹ ваш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ отобраТался ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π» Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… экранах, рСкомСндуСтся Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ, Ссли Ρƒ вас Π½Π΅Ρ‚ особых ΠΏΡ€ΠΈΡ‡ΠΈΠ½ Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ этого.

5. android: minHeight ΠΈ android: minWidth.

Если Ρ€Π°Π·ΠΌΠ΅Ρ€ вашСго Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ сТимаСт ваш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π΄ΠΎ Ρ‚Π°ΠΊΠΎΠΉ стСпСни, Ρ‡Ρ‚ΠΎ ΠΎΠ½ становится Π½Π΅ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹ΠΌ для использования. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ minHeight ΠΈ minWidth, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ наимСньший Ρ€Π°Π·ΠΌΠ΅Ρ€ вашСго прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

Π­Ρ‚ΠΈ значСния Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ вашСго Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°, поэтому, Ссли Ρ€Π°Π·ΠΌΠ΅Ρ€ вашСго Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° нСльзя ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, Ρ‚ΠΎ minHeight ΠΈ minWidth Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ постоянный Ρ€Π°Π·ΠΌΠ΅Ρ€ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°.

6. android: updatePeriodMillis

Π’ AppWidgetProviderInfo Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΊΠ°ΠΆΠ΅Ρ‚Π΅, ΠΊΠ°ΠΊ часто ваш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ.

НаимСньший ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» обновлСния – ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π² 1800000 миллисСкунд (30 ΠΌΠΈΠ½ΡƒΡ‚). Π”Π°ΠΆΠ΅ Ссли Π²Ρ‹ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» обновлСния, ваш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ полчаса.

Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ послСднюю ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ быстрСС, систСма Π±ΡƒΠ΄Π΅Ρ‚ Π±ΡƒΠ΄ΠΈΡ‚ΡŒ спящСС устройство для извлСчСния Π½ΠΎΠ²ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. ЧастыС обновлСния ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π·Ρ€ΡΠ΄ΠΈΡ‚ΡŒ аккумулятор устройства, особСнно Π² ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Ρ‹, ΠΊΠΎΠ³Π΄Π° устройство Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° Π½ΠΎΡ‡ΡŒ. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ взаимодСйствия с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ соблюдСниС баланса ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ расхода заряда Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ ΠΈ прСдоставлСниСм Π½ΠΎΠ²ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹Π΅ сроки.

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ваш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚.

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ваши Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ для Android. НапримСр, Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρƒ ΠΏΠΎΠ³ΠΎΠ΄Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ· Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π² дСнь, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ послСдниС новости, Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒΡΡ Ρ‡Π°Ρ‰Π΅.

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ этот ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ баланс, Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свой Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ частот обновлСния ΠΈ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ влияниС Π½Π° срок слуТбы Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ ΠΈ ΡΠ²ΠΎΠ΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΡΡ‚ΡŒ содСрТимого вашСго Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°. Если Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΆΠ΅Π»Π°ΡŽΡ‰Π°Ρ Π³Ρ€ΡƒΠΏΠΏΠ° тСстировщиков, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π°ΠΆΠ΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ A / B-тСстированиС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ Π»ΠΈ ΠΎΠ΄Π½ΠΈ частоты обновлСния Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

НаконСц, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» обновлСния, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈ тСстировании прилоТСния. НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ°ΠΌΡƒΡŽ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡƒΡŽ частоту обновлСния (android: updatePeriodMillis = β€œ1800000 β€³), ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ провСряСтС, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ onUpdate () вашСго прилоТСния запускаСтся ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ своС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для ΡˆΠΈΡ€ΠΎΠΊΠΎΠΉ ΠΏΡƒΠ±Π»ΠΈΠΊΠΈ.

Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹ΠΉ AppWidgetProviderInfo

Π“ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» collection_widget_info.xml Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

НС Π·Π°Π³Ρ€ΠΎΠΌΠΎΠΆΠ΄Π°ΠΉΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ стол ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ!

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ стол Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ выглядСл Π·Π°Π³Ρ€ΠΎΠΌΠΎΠΆΠ΄Π΅Π½Π½Ρ‹ΠΌ, ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρƒ отступы ΠΈ поля. Если ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π΅Ρ‰Π΅ Π½Π΅ содСрТит Ρ„Π°ΠΉΠ»Π° sizes.xml, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ:

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» sizes.xml ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ значСния ΠΏΠΎΠ»Π΅ΠΉ ΠΈ отступов:

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π² Π²ΠΈΠ΄ΠΆΠ΅Ρ‚

Π—Π°Ρ‚Π΅ΠΌ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ слуТбу Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ², которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π·Π° ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ… нашСй ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π² Π²ΠΈΠ΄ΠΆΠ΅Ρ‚.

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ класс Java (New> Java Class) с ΠΈΠΌΠ΅Π½Π΅ΠΌ WidgetService ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

РСгистрация вашСго Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Π² ΠœΠ°Π½ΠΈΡ„Π΅ΡΡ‚Π΅

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ внСсти Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ измСнСния Π² Manifest нашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Для Π½Π°Ρ‡Π°Π»Π° ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Manifest ΠΈ зарСгистрируйтС свой Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΊΠ°ΠΊ BroadcastReceiver. Нам Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ для дСйствия android.appwidget.action.APPWIDGET_UPDATE:

Π”Π°Π»Π΅Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ поставщика Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² прилоТСния:

НаконСц, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ слуТбу, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π°ΡˆΠ΅ΠΌΡƒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС являСтся класс WidgetService. Для этой слуТбы трСбуСтся Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ android.permission.BIND_REMOTEVIEWS:

ΠŸΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ свой Π²ΠΈΠ΄ΠΆΠ΅Ρ‚

Если Π²Ρ‹ слСдовали этому руководству, Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ вас Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Π³Π»Π°Π²Π½ΠΎΠΌ экранС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Если Π±Ρ‹ это Π±Ρ‹Π» Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ Android-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π²Ρ‹ Π±Ρ‹, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠ»ΠΈ Π±Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°, Π² частности ΠΌΠ΅Ρ‚ΠΎΠ΄ onUpdate (), Π½ΠΎ это всС, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ для создания Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° своСм Android-устройствС:

Π­Ρ‚ΠΎ всС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ для создания Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° прилоТСния Android, Π½ΠΎ Π΅ΡΡ‚ΡŒ нСсколько Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ часто ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ взаимодСйствиС с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠΎΡ‰Ρ€ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ этот Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΈΠ· срСдства Π²Ρ‹Π±ΠΎΡ€Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ², создавая ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ просмотра, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ дСмонстрируСт Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π² Π»ΡƒΡ‡ΡˆΠ΅ΠΌ Π²ΠΈΠ΄Π΅. Π― Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°ΠΆΡƒ Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ настраиваСмый Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Activity Π² ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ изобраТСния ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ просмотра Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Android

Если Π²Ρ‹ Π²ΠΎΠ·ΡŒΠΌΠ΅Ρ‚Π΅ своС устройство Android ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Ρ‚Π΅ ΠΏΠΎ ΠΏΠ°Π½Π΅Π»ΠΈ Π²Ρ‹Π±ΠΎΡ€Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ², Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ прСдставлСн ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ дСмонстрируСт, ΠΊΠ°ΠΊ этот Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ послС Π΅Π³ΠΎ настройки Π½Π° Π³Π»Π°Π²Π½ΠΎΠΌ экранС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ±ΡƒΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ваш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ просмотра, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ выдСляСт всю ΠΏΠΎΠ»Π΅Π·Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ ваш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ быстро ΠΈ Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ просмотра, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Widget Preview, входящСС Π² состав эмулятора Android.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ просмотр Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² послСдниС ΠΎΠ±Ρ€Π°Π·Ρ‹ систСмы Android, поэтому Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ AVD с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Nougat (ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ API 25) ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½Π΅ΠΉ вСрсии:

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Π’Π°Ρˆ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот Π½ΠΎΠ²Ρ‹ΠΉ рСсурс изобраТСния Π² качСствС изобраТСния ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ просмотра:

НастраиваСмыС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹: Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ дСйствия ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

ДСйствиС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ запускаСтся автоматичСски, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ экзСмпляр вашСго Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Π½Π° свой Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ стол.

Π•ΡΡ‚ΡŒ нСсколько ΠΏΡ€ΠΈΡ‡ΠΈΠ½, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Ρ…ΠΎΡ‚Π΅Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Activity Π² свой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

Π’ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π»ΡƒΡ‡ΡˆΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΎΠΏΡ‹Ρ‚, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ доступ ΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ функциям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹ для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ настройки, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ прСдупрСТдСния ΠΎ Π΄ΠΎΡ€ΠΎΠΆΠ½ΠΎΠΉ обстановкС, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π·Π½Π°Ρ‚ΡŒ домашний адрСс ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π³Π΄Π΅ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ врСмя, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΅Π·Π΄ΠΈΡ‚ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ. Π‘Π΅Π· возмоТности ввСсти эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ваш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ бСсполСзным!

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π»ΡƒΡ‡ΡˆΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΎΠΏΡ‹Ρ‚, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ доступ ΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ функциям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹ для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Добавляя дСйствиС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π² свой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ свободу Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π² ваш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚.

Π”Π°ΠΆΠ΅ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ простыС настройки, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ„ΠΎΠ½Π° ΠΈΠ»ΠΈ ΡˆΡ€ΠΈΡ„Ρ‚Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°, ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ Π½Π° взаимодСйствиС с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ – Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ ΠΎΡ†Π΅Π½ΠΈΡ‚ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΠ΅Ρ‚ с ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола!

Никто Π½Π΅ ΠΎΡ†Π΅Π½ΠΈΡ‚ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΠ΅Ρ‚ с ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола!

Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹, ΠΈΠ½ΠΎΠ³Π΄Π° Ρƒ вас ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ список ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² свой Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, ΠΈ Π²Ρ‹ ΠΈΠ·ΠΎ всСх сил ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΡΡƒΠ·ΠΈΡ‚ΡŒ свои Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹. ДСйствиС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ способом ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ всС ваши ΠΈΠ΄Π΅ΠΈ Π±Π΅Π· создания Π·Π°Π³Ρ€ΠΎΠΌΠΎΠΆΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈ ΡΠ±ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ с Ρ‚ΠΎΠ»ΠΊΡƒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΈΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ настройка Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Ρ€ΡƒΡ‚ΠΈΠ½ΠΎΠΉ, поэтому, Ссли Π²Ρ‹ прСдоставляСтС дСйствиС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, рСкомСндуСтся ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ сСбя трСмя Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² наш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Activity!

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, нашСй ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Activity трСбуСтся ΠΌΠ°ΠΊΠ΅Ρ‚, поэтому создайтС Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» рСсурсов ΠΌΠ°ΠΊΠ΅Ρ‚Π° с ΠΈΠΌΠ΅Π½Π΅ΠΌ config_activity.xml.

Π― ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² этот ΠΌΠ°ΠΊΠ΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ:

Π’ΠΎΡ‚ ΠΌΠΎΠΉ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» config_activity.xml:

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ дСйствиС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π°ΡˆΡƒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Activity.

Для Π½Π°Ρ‡Π°Π»Π° создайтС Π½ΠΎΠ²Ρ‹ΠΉ класс Java с ΠΈΠΌΠ΅Π½Π΅ΠΌ ConfigActivity. Π’ этом дСйствии ΠΌΡ‹ собираСмся ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° прилоТСния ΠΈΠ· намСрСния, Π·Π°ΠΏΡƒΡΡ‚ΠΈΠ²ΡˆΠ΅Π³ΠΎ дСйствиС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Если Ρƒ этого намСрСния Π½Π΅Ρ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°, Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ finish ():

Π—Π°Ρ‚Π΅ΠΌ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π°, ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ исходный appWidgetId ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΈΠ· Activity ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ:

Если Π²Ρ‹ прСдоставляСтС Activity ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Ρ‚ΠΎ трансляция ACTION_APPWIDGET_UPDATE Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ автоматичСски ΠΏΡ€ΠΈ запускС Activity ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ onUpdate () Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ создаСт экзСмпляр вашСго Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°.

Π§Ρ‚ΠΎΠ±Ρ‹ ваш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π±Ρ‹Π» создан с Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΈ содСрТимым, ваша конфигурационная Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ запрос onUpdate ().

Π’ΠΎΡ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½Π°Ρ ConfigActivity:

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ создали дСйствиС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ это дСйствиС Π² манифСстС ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ дСйствиС APPWIDGET_CONFIGURE:

НаконСц, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ссылка Π½Π° Activity ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ находится Π²Π½Π΅ области дСйствия ΠΏΠ°ΠΊΠ΅Ρ‚Π°, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ эту Activity Π² нашСм AppWidgetProviderInfo, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС являСтся Ρ„Π°ΠΉΠ» collection_widget_info.xml:

ВСстированиС вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

ΠŸΡ€ΠΈΡˆΠ»ΠΎ врСмя ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚:

ПодвСдСниС ΠΈΡ‚ΠΎΠ³ΠΎΠ²

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ создали ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Π³Π»Π°Π²Π½ΠΎΠΌ экранС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с этим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ свой собствСнный ΠΊΠΎΠ΄ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ onUpdate (), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обновляСтся Π½ΠΎΠ²ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ с ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠΌ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Π² вашСм Ρ„Π°ΠΉΠ»Π΅ AppWidgetProviderInfo (collection_widget_info).

Если Π²Ρ‹ создаСтС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ для Android, Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ своими творСниями Π² коммСнтариях Π½ΠΈΠΆΠ΅!

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° для Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола

AppWidget, ΠΈΠ»ΠΈ просто Β«Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Β» β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых эффСктных ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Ρ… элСмСнтов ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Android, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ стол для быстрого доступа ΠΊ Ρ‚Π΅ΠΌ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹ΠΌ функциям ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ прилоТСния.

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ разбСрСмся, ΠΊΠ°ΠΊ собствСнноручно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свой Π²ΠΈΠ΄ΠΆΠ΅Ρ‚.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Π§Ρ‚ΠΎ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ прСдставляСт ΠΈΠ· сСбя конструктивно? Π’ΠΈΠ΄ΠΆΠ΅Ρ‚ Π½ΡƒΠΆΠ΅Π½ для отобраТСния Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, связанной с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΎΠ½ относится, ΠΈΠ»ΠΈ ΠΆΠ΅ для ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ взаимодСйствия с Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ стол. Π‘Π°ΠΌΡ‹ΠΉ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ – часы Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ столС. ЕстСствСнно, Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π±Π΅Π· Ρ‚Ρ€ΡƒΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ с Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… столов.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

ΠšΠ°Ρ‡Π΅ΡΡ‚Π²Π΅Π½Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Π΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ взаимодСйствиС с устройством. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΡ‡Π΅Π½ΡŒ часто самыС ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ столС ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ пространства, ΠΈ ΠΏΡ€ΠΈ этом Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½Ρ‹. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ любой ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‚Π°Ρ€Π°Ρ‚ΡŒΡΡ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… столах своСго Android-Π³Π°Π΄ΠΆΠ΅Ρ‚Π° максимальноС количСство ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΈ Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ пространство ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ.

НачнСм созданиС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΌΡ‹ с Π΄ΠΈΠ·Π°ΠΉΠ½Π°. Π‘Π»Π°Π³ΠΎ, компания Google прСдоставила вСсьма ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ UI Guidelines для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, Π³Π΄Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описан процСсс создания Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΈ основныС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ эргономичности. Π•ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ инструкция для создания Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ², с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ ΠΏΠΎ ссылкС: http://developer.android.com/guide/practices/ui_guidelines/widget_design.html.

Π’ΠΈΠ΄ΠΆΠ΅Ρ‚, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΉ ΠΎΠ΄Π½Ρƒ Β«ΠΊΠ»Π΅Ρ‚ΠΊΡƒΒ» Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ столС, ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ 80Ρ…100 Ρ‚ΠΎΡ‡Π΅ΠΊ, соотвСтствСнно, для создания ΠΏΡ€ΠΎΠ΄ΠΎΠ»Π³ΠΎΠ²Π°Ρ‚Ρ‹ΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π΄Π»ΠΈΠ½ΠΎΠΉ Π² 4 ΠΊΠ»Π΅Ρ‚ΠΊΠΈ ΠΈ высотой Π² ΠΎΠ΄Π½Ρƒ, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ, соотвСтствСнно, 320Ρ…100 пиксСлСй. Π’Π°ΠΊΠΎΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΡ‹ ΠΈ возьмСм Π·Π° основу создаваСмого Π½Π°ΠΌΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ созданию ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ части. Π’ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ части. ΠŸΡ€ΠΎΡ‰Π΅ говоря, Π² мСню добавлСния Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚, Π½ΠΎ Π² основном мСню ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ – Π½Π΅Ρ‚. ΠœΡ‹ создадим Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΈ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ Π΅Π³ΠΎ для удобства Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ основной класс ΠΈΠΌΠ΅Π» имя widget.java.

Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ AndroidManifest.xml. ОбъявляСм наш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ widget.java. Π’ΡƒΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ условия. Класс AppWidgetProvider ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹:

onUpdate – ΠΌΠ΅Ρ‚ΠΎΠ΄ вызываСтся ΠΏΡ€ΠΈ создании Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎ истСчСнии Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ВрСмя задаСтся Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°. ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‡Π°Ρ‰Π΅ всСго.

onDeleted – ΠΌΠ΅Ρ‚ΠΎΠ΄ выполняСтся ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° с Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола.

onEnabled – ΠΌΠ΅Ρ‚ΠΎΠ΄ вызываСтся ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°. Но Ссли добавляСтся Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΡƒΠΆΠ΅ Π½Π΅ выполняСтся.

onDisabled – ΠΌΠ΅Ρ‚ΠΎΠ΄ выполняСтся Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° удаляСтся послСдняя копия Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° с Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола. БоотвСтствСнно, Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ являСтся ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΌ onEnabled.

onReceive – ΠΌΠ΅Ρ‚ΠΎΠ΄ вызываСтся ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ со всСми ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ. Π—Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎΠΎΠ±Ρ‰Π΅.

Бильно ΡƒΠ³Π»ΡƒΠ±Π»ΡΡ‚ΡŒΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ, Π° ΠΏΠΎΡ‚ΠΎΠΌΡƒ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ наш ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠ°ΠΊΠΈΠΌΠΈ-Π»ΠΈΠ±ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, Π° просто Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ вСсь Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» посрСдством Layouts. НСобходимо ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ класс AppWidgetProvider:

public class widget extends AppWidgetProvider <

Π”Π°Π»Π΅Π΅, описываСм наш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ – это Π½ΡƒΠΆΠ½ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Π», с Ρ‡Π΅ΠΌ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π΅Π»ΠΎ. Для этого Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ xml Π² ΠΏΠ°ΠΏΠΊΠ΅ res. Π’ Π½Π΅ΠΉ создаСм Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ widget_info.xml. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ созданный Ρ„Π°ΠΉΠ» ΠΈ прописываСм Π² Π½Π΅Π³ΠΎ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄:

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²:

minWidth – минимальная нСобходимая для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΡˆΠΈΡ€ΠΈΠ½Π°.

minHeight – минимальная нСобходимая для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° высота.

updatePeriodMillis – ΠΏΠ΅Ρ€ΠΈΠΎΠ΄, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ происходит обновлСния Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°, указываСтся Π² миллисСкундах. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ вСсьма ΠΏΠΎΠ»Π΅Π·Π΅Π½, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎ истСчСнии ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠ° срабатываСм ΠΌΠ΅Ρ‚ΠΎΠ΄ onUpdate ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° AppWidgetProvider.

initialLayout – ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° рСсурс с описаниСм интСрфСйса нашСго Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°.

Π€ΠΎΡ€ΠΌΡƒΠ»Π° подсчСта Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ Π²ΠΈΠ΄: (количСство ΠΊΠ»Π΅Ρ‚ΠΎΠΊ * 74) β€” 2.

ΠŸΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΠΌ ΠΊ описанию интСрфСйса создаваСмого Π½Π°ΠΌΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°. Π—Π΄Π΅ΡΡŒ-Ρ‚ΠΎ Π½Π°ΠΌ ΠΈ пригодится созданный Ρ€Π°Π½Π΅Π΅ Ρ„ΠΎΠ½. Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ рисунок Ρ„ΠΎΠ½Π° Π² ΠΏΠ°ΠΏΠΊΡƒ dwawable (ΠΈΠ»ΠΈ Π²ΠΎ всСх Ρ‚Ρ€ΠΈ ΠΏΠ°ΠΏΠΊΠΈ drawable для Ρ€Π°Π·Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ экрана). Π’ ΠΏΠ°ΠΏΠΊΠ΅ layout создаСм Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ widget.xml. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ описываСтся ΠΊΠ°ΠΊ для ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Activity, Π½ΠΎ Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ограничСния. Допустимы для использования Ρ‚Π°ΠΊΠΈΠ΅ элСмСнты:

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ LinearLayout, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ-Ρ„ΠΎΠ½ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° AnalogClock. Π‘Π°ΠΌΠΈ часы Π² Ρ€Π°ΠΌΠΊΡƒ Π½Π΅ Π²Π»Π΅Π·ΡƒΡ‚, Π½ΠΎ ΠΊΠ°ΠΊ наглядный ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²ΠΏΠΎΠ»Π½Π΅ сгодятся. Π˜Ρ‚Π°ΠΊ:

Π’ΠΎΡ‚, Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, ΠΈ всё. ПослС установки Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Π½Π° Android-дСвайс ΠΈΠ»ΠΈ Π½Π° эмулятор, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… столов. ПослС добавлСния Π±ΡƒΠ΄Π΅ΠΌ ΡΠΎΠ·Π΅Ρ€Ρ†Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

ΠŸΠΎΠ»Π½Ρ‹ΠΉ список

— создаСм простой Π²ΠΈΠ΄ΠΆΠ΅Ρ‚
— разбираСмся Π² Π΅Π³ΠΎ Lifecycle

Π”ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ Ρ‚Π°ΠΊΠΈ ΠΈ Π΄ΠΎ этой Π΄ΠΎΠ»Π³ΠΎΠΆΠ΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΡ‹. Π’ΠΎΠΎΠ±Ρ‰Π΅, интСрСсно Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π³Π»ΡΠ½ΡƒΡ‚ΡŒ статистику, ΠΊΠ°ΠΊΠΎΠ΅ количСство ΠΈΠ· всСх ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ содСрТит Π² сСбС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹. ΠŸΠΎΠ΄ΠΎΠ·Ρ€Π΅Π²Π°ΡŽ, Ρ‡Ρ‚ΠΎ Π½Π΅ Ρ‡Π°Ρ‰Π΅, Ρ‡Π΅ΠΌ ΠΎΠ΄Π½ΠΎ ΠΈΠ· дСсяти. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, блиТайшиС нСсколько ΡƒΡ€ΠΎΠΊΠΎΠ² эту статистику измСнят )

Для понимания Ρ‚Π΅ΠΌΡ‹ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ BroadcastReceiver. Π― ΠΎ Π½Π΅ΠΌ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π» Π² Π£Ρ€ΠΎΠΊΠ°Ρ… 96 ΠΈ 100. Π­Ρ‚ΠΎ просто ΡΠ»ΡƒΡˆΠ°Ρ‚Π΅Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ рСгистрируСтся Π² систСмС, Π»ΠΎΠ²ΠΈΡ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ настроСнного Intent Filter сообщСния (Intent) ΠΈ выполняСт ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ΄. ΠŸΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ Π½Π΅ сдСлал я ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΡƒΡ€ΠΎΠΊΠ° ΠΏΠΎ Π½Π΅ΠΌΡƒ. Но, Π΄ΡƒΠΌΠ°ΡŽ, Π΅Ρ‰Π΅ сдСлаю. Π•ΡΡ‚ΡŒ Ρ‚Π°ΠΌ свои интСрСсныС особСнности, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ.

Π”ΡƒΠΌΠ°ΡŽ, Π½Π΅Ρ‚ особой нСобходимости ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹. ВсС ΠΈΡ… Π²ΠΈΠ΄Π΅Π»ΠΈ Π½Π° своих дСвайсах. Π­Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Ρ‚ΠΈΠΏΠ° ΠΌΠΈΠ½ΠΈ-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ располоТСнных Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ столС (Home). Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· основных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ этих ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ привСсти – ΠΏΡ€ΠΎΠ³Π½ΠΎΠ· ΠΏΠΎΠ³ΠΎΠ΄Ρ‹, Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя, баланс ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ счСта, список сообщСний Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… мСссСндТСрах, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ состояниСм WiFi/3G/GPS/Bluetooth, ΡΡ€ΠΊΠΎΡΡ‚ΡŒ экрана ΠΈ Ρ‚.Π΄. ΠΈ Ρ‚.ΠΏ. Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ сдСлаСм ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ статичный тСкст.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π½Π°ΠΌ понадобятся Ρ‚Ρ€ΠΈ Π΄Π΅Ρ‚Π°Π»ΠΈ:

Π’ Π½Π΅ΠΌ ΠΌΡ‹ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌ внСшний Π²ΠΈΠ΄ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°. ВсС Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ layout-Ρ„Π°ΠΉΠ»Π°ΠΌ для Activity ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ², Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Π±ΠΎΡ€ доступных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² здСсь ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ списком:

2) XML-Ρ„Π°ΠΉΠ» c ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ

Π’ Π½Π΅ΠΌ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ характСристики Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°. ΠœΡ‹ ΠΏΠΎΠΊΠ° Ρ‡Ρ‚ΠΎ ΡƒΠΊΠ°ΠΆΠ΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:

— layout-Ρ„Π°ΠΉΠ» (ΠΈΠ· ΠΏ.1.), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π·Π½Π°Π», ΠΊΠ°ΠΊ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ
— Ρ€Π°Π·ΠΌΠ΅Ρ€ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π·Π½Π°Π», сколько мСста ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π½ΡΡ‚ΡŒ Π½Π° экранС
— ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» обновлСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ систСма Π·Π½Π°Π»Π°, ΠΊΠ°ΠΊ часто Π΅ΠΉ Π½Π°Π΄ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚

3) Класс, Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ AppWidgetProvider. Π’ этом классС Π½Π°ΠΌ Π½Π°Π΄ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Lifecycle ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°.

Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим Ρ‚Ρ€ΠΈ этих Π΄Π΅Ρ‚Π°Π»ΠΈ. Activity Π½Π°ΠΌ Π½Π΅ понадобится, поэтому Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π³Π°Π»ΠΊΡƒ Create Activity Π² Π²ΠΈΠ·Π°Ρ€Π΄Π΅ создания Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π±Π΅Π· Activity:

Project name: P1171_SimpleWidget
Build Target: Android 2.3.3
Application name: SimpleWidget
Package name: ru.startandroid.develop.p1171simplewidget

Π”ΠΎΠ±Π°Π²ΠΈΠΌ строки Π² strings.xml:

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ layout-Ρ„Π°ΠΉΠ» widget.xml:

RelativeLayout, Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ Π·Π΅Π»Π΅Π½Ρ‹ΠΉ TextView с тСкстом ΠΏΠΎ Ρ†Π΅Π½Ρ‚Ρ€Ρƒ. Π’.Π΅. Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ просто Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ тСкст Π½Π° Π·Π΅Π»Π΅Π½ΠΎΠΌ Ρ„ΠΎΠ½Π΅.

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… res/xml/widget_metadata.xml:

Π’ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π΅ initialLayout ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ layout-Ρ„Π°ΠΉΠ» для Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°.

Атрибуты minHeight ΠΈ minWidth содСрТат ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΏΠΎ высотС ΠΈ ΡˆΠΈΡ€ΠΈΠ½Π΅.

Π•ΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ расчСта этих Ρ†ΠΈΡ„Ρ€. Как Π²Ρ‹ навСрняка Π·Π°ΠΌΠ΅Ρ‡Π°Π»ΠΈ, ΠΏΡ€ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°, экран дСлится Π½Π° ячСйки, ΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ΄Π½Ρƒ ΠΈΠ»ΠΈ нСсколько ΠΈΠ· этих ячССк ΠΏΠΎ ΡˆΠΈΡ€ΠΈΠ½Π΅ ΠΈ высотС. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π½ΡƒΡ‚ΡŒ ячСйки Π² dp, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° 70 * n – 30, Π³Π΄Π΅ n – это количСство ячССк. Π’.Π΅. Ссли ΠΌΡ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ наш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Π» 2 ячСйки Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈ 1 Π² высоту, ΠΌΡ‹ высчитываСм ΡˆΠΈΡ€ΠΈΠ½Ρƒ = 70 * 2 – 30 = 110 ΠΈ высоту = 70 * 1 – 30 = 40. Π­Ρ‚ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ значСния ΠΈ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°Ρ… minWidth ΠΈ minHeight.

ΠžΡΡ‚Π°Π»ΠΎΡΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ класс, Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ AppWidgetProvider.

onEnabled вызываСтся систСмой ΠΏΡ€ΠΈ создании ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ экзСмпляра Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° (ΠΌΡ‹ вСдь ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Home нСсколько экзСмпляров ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°).

onUpdate вызываСтся ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°. На Π²Ρ…ΠΎΠ΄, ΠΊΡ€ΠΎΠΌΠ΅ контСкста, ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ AppWidgetManager ΠΈ список ID экзСмпляров Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ΡΡ. ИмСнно этот ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ содСрТит ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обновляСт содСрТимоС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°. Для этого Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ Π±ΡƒΠ΄Π΅Ρ‚ AppWidgetManager, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π½Π° Π²Ρ…ΠΎΠ΄.

onDeleted вызываСтся ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ экзСмпляра Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°. На Π²Ρ…ΠΎΠ΄, ΠΊΡ€ΠΎΠΌΠ΅ контСкста, ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ список ID экзСмпляров Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ.

onDisabled вызываСтся ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ послСднСго экзСмпляра Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°.

Π’ΠΎ всСх ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π² Π»ΠΎΠ³ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½Ρ‹ΠΉ тСкст ΠΈ список ID для onUpdate ΠΈ onDeleted.

ΠžΡΡ‚Π°Π»ΠΎΡΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ манифСст. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Ρ‚ΡƒΠ΄Π° ваш класс ΠΊΠ°ΠΊ Receiver

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

— ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ для Π½Π΅Π³ΠΎ свои label ΠΈ icon. Π­Ρ‚ΠΎΡ‚ тСкст ΠΈ эту ΠΈΠΊΠΎΠ½ΠΊΡƒ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π² спискС Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌΡ‹Ρ… Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ², ΠΊΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π½Π° экран.

— настройтС для Π½Π΅Π³ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ с action = android.appwidget.action.APPWIDGET_UPDATE

— Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ с ΠΈΠΌΠ΅Π½Π΅ΠΌ android.appwidget.provider ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Ρ„Π°ΠΉΠ»Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… xml/widget_metadata.xml Π² качСствС рСсурса

ПослС этого сСкция receiver Π² манифСстС Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ такая:

Π’ΠΈΠ΄ΠΆΠ΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ². ВсС сохраняСм ΠΈ запускаСм. Никаких Activity, разумССтся, Π½Π΅ всплывСт. Π’ консоли Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ тСкст:

\P1171_SimpleWidget\bin\P1171_SimpleWidget.apk installed on device
Done!

ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³ создания Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΈ Π²ΠΈΠ΄ΠΈΠΌ Π² спискС наш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ с ΠΈΠΊΠΎΠ½ΠΊΠΎΠΉ ΠΈ тСкстом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π»ΠΈ Π² манифСстС для receiver.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π΅Π³ΠΎ ΠΈ добавляСм Π½Π° экран.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Π’ΠΈΠ΄ΠΆΠ΅Ρ‚ появился, смотрим Π»ΠΎΠ³ΠΈ.

onEnabled
onUpdate [8]

Π‘Ρ€Π°Π±ΠΎΡ‚Π°Π» onEnabled, Ρ‚.ΠΊ. ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ экзСмпляр Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°. И сразу послС добавлСния, сработал ΠΌΠ΅Ρ‚ΠΎΠ΄ onUpdate для этого экзСмпляра. Π’ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π΅ΠΌΡƒ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ (Π£ вас, скорСС всСго, Π±ΡƒΠ΄Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ID). Π’.Π΅. систСма Π΄ΠΎΠ±Π°Π²ΠΈΠ»Π° экзСмпляр Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Π½Π° экран ΠΈ Π²Ρ‹Π·Π²Π°Π»Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ обновлСния с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ID экзСмпляра.

Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ экзСмпляр

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

onEnabled Π½Π΅ сработал, Ρ‚.ΠΊ. добавляСмый экзСмпляр Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΡƒΠΆΠ΅ Π½Π΅ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ. onUpdate ΠΆΠ΅ снова ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π» для Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ экзСмпляра ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Π½Π° Π²Ρ…ΠΎΠ΄ >

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΠΌ с экрана Π΄Π²Π° этих экзСмпляра Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°. Π‘Π½Π°Ρ‡Π°Π»Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ. Π’ Π»ΠΎΠ³Π°Ρ… ΡƒΠ²ΠΈΠ΄ΠΈΠΌ:

Π‘Ρ€Π°Π±ΠΎΡ‚Π°Π» onDeleted ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Π½Π° Π²Ρ…ΠΎΠ΄ ID удаляСмого экзСмпляра Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°.

УдаляСм ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ экзСмпляр. Π’ Π»ΠΎΠ³Π°Ρ…:

onDeleted [8]
onDisabled

Наш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ обновляСтся (ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° onUpdate) Ρ€Π°Π· Π² 40 ΠΌΠΈΠ½ΡƒΡ‚. Если ΠΊΠΎΠΌΡƒ Π½Π΅ лСнь, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ снова ΠΏΠ°Ρ€Ρƒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² Π½Π° экран ΠΈ ΠΏΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅. Когда ΠΎΠ½ΠΈ снова обновятся, Π² Π»ΠΎΠ³Π°Ρ… это отразится.

Π’Π°ΠΊ создаСтся ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ простой Π²ΠΈΠ΄ΠΆΠ΅Ρ‚. Пока остановимся Π½Π° этом, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ»ΠΎΠΆΠΈΠ»ΠΈΡΡŒ Π² Π³ΠΎΠ»ΠΎΠ²Π΅ схСма создания Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΈ Π΅Π³ΠΎ lifecycle-ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. Из интСрСсного Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ Π΅Ρ‰Π΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Ρƒ Π²Π΅Ρ‰Π΅ΠΉ.

BroadcastReceiver

Класс AppWidgetProvider являСтся Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ класса BroadcastReceiver (Π² манифСстС ΠΌΡ‹ Π΅Π³ΠΎ ΠΈ прописали ΠΊΠ°ΠΊ Receiver). Он просто ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΎΡ‚ систСмы сообщСниС Π² onReceive, опрСдСляСт ΠΏΠΎ значСниям ΠΈΠ· Intent, ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ событиС ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ (Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°), ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ (onEnabled, onUpdate ΠΈ ΠΏΡ€.).

Π’ манифСстС ΠΌΡ‹ для нашСго Receiver-класса настроили Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ с action, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»ΠΎΠ²ΠΈΡ‚ события update. Каким ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ этот Receiver Π»ΠΎΠ²ΠΈΡ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ события (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅)? Π₯Π΅Π»ΠΏ ΠΏΠΈΡˆΠ΅Ρ‚ ΠΎΠ± этом Ρ‚Π°ΠΊ:

Π’.Π΅. ACTION_APPWIDGET_UPDATE – это СдинствСнный action, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ явно. ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ события AppWidgetManager ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ сам доставит Π΄ΠΎ нашСго AppWidgetProvider-наслСдника.

ΠžΡ‚ΡΡ‚ΡƒΠΏΡ‹

Если ΠΌΡ‹ располоТим рядом нСсколько экзСмпляров Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°, ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

НС ΠΎΡ‡Π΅Π½ΡŒ приятноС Π·Ρ€Π΅Π»ΠΈΡ‰Π΅. Надо Π±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ отступ.

Π”ΠΎΠ±Π°Π²ΠΈΠΌ android:padding=»8dp» ΠΊ RelativeLayout Π² нашСм layout-Ρ„Π°ΠΉΠ»Π΅

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Π’ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° экранС помСнялись автоматичСски ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ выглядят Π±ΠΎΠ»Π΅Π΅ пристойно.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

ΠšΡΡ‚Π°Ρ‚ΠΈ, для Π½ΠΈΡ… сработал onUpdate, смотритС Π»ΠΎΠ³ΠΈ. Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π±Ρ‹Π» ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ массив ID всСх Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… экзСмпляров Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°.

Π’ Android 4.0 (API Level 14) ΠΈ Π²Ρ‹ΡˆΠ΅ этот нСдостаток с отступами Π±Ρ‹Π» устранСн, ΠΈ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π΄Π΅Π»Π°Ρ‚ΡŒ отступы большС Π½Π΅ Π½Π°Π΄ΠΎ. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ. Π£Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ€Π°Π½Π΅Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ Π² RelativeLayout отступ. И ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Π² манифСстС android:targetSdkVersion Π²Π΅Ρ€ΡΠΈΡŽ 14 (ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅), Ρ‡Ρ‚ΠΎΠ±Ρ‹ систСма Π·Π½Π°Π»Π°, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ стандартныС возмоТности, Π° Π½Π΅ Ρ€Π΅ΠΆΠΈΠΌ совмСстимости.

ВсС сохраняСм, запускаСм наш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π½Π° эмуляторС с 4.1. Π”ΠΎΠ±Π°Π²ΠΈΠΌ Ρ‚Ρ€ΠΈ экзСмпляра.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

БистСма сама Π΄Π΅Π»Π°Π΅Ρ‚ отступы ΠΌΠ΅ΠΆΠ΄Ρƒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°ΠΌΠΈ.

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ для вСрсий, Π½ΠΈΠΆΠ΅ 4 Π½Π°Π΄ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ отступ Π² layout, Π° для ΡΡ‚Π°Ρ€ΡˆΠΈΡ… вСрсий Π½Π΅ Π½Π°Π΄ΠΎ. Π₯Π΅Π»ΠΏ Π΄Π°Π΅Ρ‚ подсказку, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π» Π½Π° всСх вСрсиях. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ вСрсий.

Π’ layout для RelativeLayuot ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅:

И создаСтС Π΄Π²Π° Ρ„Π°ΠΉΠ»Π°.

res/values/dimens.xml с записью:

и res/values-v14/dimens.xml с записью:

Π’ манифСстС android:targetSdkVersion Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ 14 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π° старых вСрсиях (Π±Π΅Π· систСмного отступа) отступ Π±ΡƒΠ΄Π΅Ρ‚ 8dp, Π° Π½Π° Π½ΠΎΠ²Ρ‹Ρ… – 0dp ΠΈ останСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ систСмный отступ.

На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΡƒΡ€ΠΎΠΊΠ΅:

— настраиваСм Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ
— Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с view-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ

ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΊ Π½Π°ΠΌ Π² Telegram:

— Π² ΠΊΠ°Π½Π°Π»Π΅ StartAndroid ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΡŽΡ‚ΡΡ ссылки Π½Π° Π½ΠΎΠ²Ρ‹Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ с сайта startandroid.ru ΠΈ интСрСсныС ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ с Ρ…Π°Π±Ρ€Π°, medium.com ΠΈ Ρ‚.ΠΏ.

— Π² Ρ‡Π°Ρ‚Π°Ρ… Ρ€Π΅ΡˆΠ°Π΅ΠΌ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ вопросы ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ Ρ‚Π΅ΠΌΠ°ΠΌ: Android, Kotlin, RxJava, Dagger, ВСстированиС

— Π½Ρƒ ΠΈ Ссли просто хочСтся ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ с ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‡Π°Ρ‚ Π€Π»ΡƒΠ΄ΠΈΠ»ΡŒΠ½Ρ

— Π½ΠΎΠ²Ρ‹ΠΉ Ρ‡Π°Ρ‚ Performance для обсуТдСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ для Π²Π°ΡˆΠΈΡ… ΠΏΠΎΠΆΠ΅Π»Π°Π½ΠΈΠΉ ΠΏΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΡŽ курса ΠΏΠΎ этой Ρ‚Π΅ΠΌΠ΅

ПишСм Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ для Android, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ сайта

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ

Π’ соврСмСнной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ IT-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ администратор β€” пСрсона Ρ…ΠΎΡ‚ΡŒ ΠΈ Π½Π΅ всСгда видимая, Π·Π°Ρ‚ΠΎ ваТная ΠΈ вСсьма занятая. ΠžΡ‚Π±ΠΈΠ²Π°ΡΡΡŒ ΠΎΡ‚ Π½Π°Π·ΠΎΠΉΠ»ΠΈΠ²Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΎΠ½ постоянно Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π·Π° Π°Ρ€Π΅Π°Π»ΠΎΠΌ своСго Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π° β€” сайтами. Π”Π°Π²Π°ΠΉ ΠΆΠ΅ ΠΏΠΎΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΡˆΠ΅ΠΌΡƒ Π°Π΄ΠΌΠΈΠ½Ρƒ ΠΈ создадим ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ слСдящий Π·Π° Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒΡŽ всСх Π΅Π³ΠΎ рСсурсов. И Π΄Π°, ΠΏΠΎΠ³ΠΎΠ΄Ρƒ этот Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚

ЦСль нашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° β€” ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ пСриодичСски ΠΏΠΈΠ½Π³ΡƒΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ сайты ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π° домашний экран. Π’Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΠ΄Π° Eclipse с ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ ADT.

Π’ Π°Π½Π΄Ρ€ΠΎΠΈΠ΄Π΅ любой Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ прСдставляСт собой Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Ρ‚ΠΎΠ³ΠΎ прилоТСния, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ½ встраиваСтся (ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, это домашний экран). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ ΡƒΠΌΠ΅Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ устройство ΠΈΠ· Ρ€Π΅ΠΆΠΈΠΌΠ° оТидания, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π½Π° экранС Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Π½ΡƒΠΆΠ½ΠΎ свСсти ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ врСмя Π΅Π³ΠΎ обновлСния (ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΈ ΠΏΡ€Π΅Π½Π΅Π±Ρ€Π΅Ρ‡ΡŒ, Π½ΠΎ ANR Π² Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π΅ β€” это ΡƒΠΆΠ΅ ΠΌΠΎΠ²Π΅Ρ‚ΠΎΠ½). Π’ΠΏΠΎΠ»Π½Π΅ Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π½Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΉ сСрвис, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΈΠ½Π³ΠΎΠ²Π°Ρ‚ΡŒ сайты ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ для дальнСйшСго Π°Π½Π°Π»ΠΈΠ·Π°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π·Π°Π΄Π°Ρ‡Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° свСдСтся ΠΊ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΡŽ этих Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π²Ρ‹Π²ΠΎΠ΄Ρƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ тСкстовой строки β€” ссылки Π½Π° сайт ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ β€” доступности сайта (рис. 1). Π’Π°ΠΊΠΆΠ΅ Π½Π°ΠΌ потрСбуСтся ΠΏΡ€ΠΎΡΡ‚Π΅Π½ΡŒΠΊΠ°Ρ Ρ„ΠΎΡ€ΠΌΠ° для Π²Π²ΠΎΠ΄Π° списка ΠΏΠΎΠ΄ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… сайтов, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ GUI. ΠšΡΡ‚Π°Ρ‚ΠΈ, Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ со ΡΡ‚Π°Ρ‚ΡŒΠ΅ΠΉ Π² мартовском Π½ΠΎΠΌΠ΅Ρ€Π΅ Β«Π₯Π°ΠΊΠ΅Ρ€Π°Β» Β«Π₯акСрский Cron Π½Π° AndroidΒ», ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚Π°ΠΌ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассмотрСна Ρ€Π°Π±ΠΎΡ‚Π° Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ сСрвиса.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ Рис. 1. Π₯акСрский Π²ΠΈΠ΄ΠΆΠ΅Ρ‚

Π₯Π°ΠΊΠ΅Ρ€ #196. ВсС ΠΎ Docker

Ping? НСт, Π½Π΅ знаю.

Π’ Java Π΅ΡΡ‚ΡŒ Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ класс InetAddress, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Π² своСм Ρ‡Ρ€Π΅Π²Π΅ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ isReachable(). Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ провСряСт Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ рСсурса ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Ρ‚Π°ΠΉΠΌ-Π°ΡƒΡ‚, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ врСмя, ΠΏΠΎ истСчСнии ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΉ рСсурс считаСтся нСдоступным:

Π›Π°ΠΊΠΎΠ½ΠΈΡ‡Π½ΠΎ, Π½Π΅ ΠΏΡ€Π°Π²Π΄Π° Π»ΠΈ? Вся ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ этот ΠΊΠΎΠ΄ прСкрасно Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Windows, Π½ΠΎ Π² Android’С всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ false, Π΄Π°ΠΆΠ΅ Ссли ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Π΄Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° доступ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚. По нСпонятной ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ICMP-ΠΏΠ°ΠΊΠ΅Ρ‚Π° (Echo-Request) трСбуСтся Ρ€ΡƒΡ‚.

ΠœΡ‹ ΠΆΠ΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΈ поступим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΊ сайту ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ HTTP ΠΈ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° ΠΊΠΎΠ΄ ΠΎΡ‚Π²Π΅Ρ‚Π°. Если ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΊΠΎΠ΄ 200 (HTTP OK), Π·Π½Π°Ρ‡ΠΈΡ‚, сайт ΠΆΠΈΠ² ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС считаСм, Ρ‡Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ Ρ‚Π°ΠΊ (сайт нСдоступСн).

Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

Π’Π°ΠΊ ΠΊΠ°ΠΊ наша Ρ†Π΅Π»ΡŒ β€” сайты Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² манифСстС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (AndroidManifest.xml):

ΠŸΠ΅Ρ€Π²Π°Ρ строка Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° доступ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ вторая позволяСт ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ состояниС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ сСти (Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Play Market β€” «просмотр состояния сСти») β€” Ссли ΡΠ΅Ρ‚ΡŒ нСдоступна, ΠΏΠΈΠ½Π³ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ особого смысла Π½Π΅Ρ‚. Ѐункция ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ сСти выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Для доступа ΠΊ сСрвису управлСния сСтСвыми ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ константа Context.CONNECTIVITY_SERVICE, послС Ρ‡Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ getActiveNetworkInfo Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° NetworkInfo, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ соСдинСнии. Если ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ установлСно, ΠΌΠ΅Ρ‚ΠΎΠ΄ isConnected Π²Π΅Ρ€Π½Π΅Ρ‚ true.

SQLite? No. Shared Preferences!

Как Ρ‚Ρ‹ сам понимаСшь, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π³Π΄Π΅-Ρ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ список сайтов ΠΈ ΠΈΡ… (Π½Π΅)Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ. Π‘Π½Π°Ρ‡Π°Π»Π° я Ρ…ΠΎΡ‚Π΅Π» вновь ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… SQLite, Π½ΠΎ Ρ€Π΅ΡˆΠΈΠ» Π½Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒΡΡ ΠΈ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Android β€” ΠΎΠ±Ρ‰ΠΈΡ… настройках (Shared Preferences). ΠžΠ±Ρ‰ΠΈΠ΅ настройки β€” довольно простой ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, основанный Π½Π° ΠΏΠ°Ρ€Π°Ρ… Β«ΠΊΠ»ΡŽΡ‡ β€” Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β» ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для сохранСния ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… прилоТСния (число, строка, Π±ΡƒΠ»Π΅Π²ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅). Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Android настройки хранятся Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ XML-Ρ„Π°ΠΉΠ»Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ прилоТСния (data/data/имя_ΠΏΠ°ΠΊΠ΅Ρ‚Π°/shared_pref/).

Для Π½Π°ΡˆΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ напишСм нСбольшой класс (PingPref) для сохранСния ΠΈ чтСния Π΄Π°Π½Π½Ρ‹Ρ…:

Π’ конструкторС класса Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ getSharedPreferences Π² контСкстС прилоТСния, ΡƒΠΊΠ°Π·Π°Π² имя Ρ„Π°ΠΉΠ»Π° ΠΎΠ±Ρ‰ΠΈΡ… настроСк ΠΈ Ρ€Π΅ΠΆΠΈΠΌ доступа. ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π° Context.MODE_PRIVATE ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» настроСк Π±ΡƒΠ΄Π΅Ρ‚ доступСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ прилоТСния (Google Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅). ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ сайт Π±ΡƒΠ΄Π΅ΠΌ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Π΄Π²ΡƒΡ… ΠΊΠ»ΡŽΡ‡Π°Ρ…: siteN_url (ссылка) ΠΈ siteN_status (Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ). Π’ качСствС послСднСй ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ число: 1 β€” сайт ΠΆΠΈΠ², 0 β€” сайт ΡƒΡˆΠ΅Π» (Ρ‡ΠΈΡ‚Π°ΠΉ: Β«Π΅Π³ΠΎ ΡƒΡˆΠ»ΠΈΒ»), –1 β€” статус Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² случаС отсутствия доступа ΠΊ сСти). Π‘Π΅Ρ‚Ρ‚Π΅Ρ€Ρ‹ (put.String, put.Int) ΠΈ Π³Π΅Ρ‚Ρ‚Π΅Ρ€Ρ‹ со значСниями ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (get.String, get.Int) Π² пояснСниях Π½Π΅ Π½ΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ„Π°ΠΉΠ»Π° pref.xml Π² Ρ€Π°Π±ΠΎΡ‚Π΅ прСдставлСно Π½Π° рис. 2.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ Рис. 2. Pref.xml трудится

Π—Π΄Π΅ΡΡŒ всС просто β€” нСсколько ΠΏΠΎΠ»Π΅ΠΉ Π²Π²ΠΎΠ΄Π° (EditText) Π΄Π° ΠΊΠ½ΠΎΠΏΠΊΠ° (Button). Вся эта красота прСдставлСна Π½Π° рис. 3. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΊΠ½ΠΎΠΏΠΊΠΈ (см. Main.java) считываСт содСрТимоС ΠΏΠΎΠ»Π΅ΠΉ (примСняСтся коллСкция ArrayList) ΠΈ записываСт ΠΈΡ… Π² Ρ„Π°ΠΉΠ» ΠΎΠ±Ρ‰ΠΈΡ… настроСк, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ setData описанного Π²Ρ‹ΡˆΠ΅ класса PingPref:

Π’ качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ статуса доступности сайта, ΠΊΠ°ΠΊ ΠΈ ΡƒΡΠ»ΠΎΠ²ΠΈΠ»ΠΈΡΡŒ, устанавливаСм –1. Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ происходит запуск Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ сСрвиса startService, ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π΄Π°Π»Π΅Π΅.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ Рис. 3. GUI Ρ‚Π°ΠΊΠΎΠΉ GUI

Π€ΠΎΠ½ΠΎΠ²Ρ‹ΠΉ сСрвис

Начиная с Android 3.0 (вСрсия API 11), любой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π», связанный с сСтСвой Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒΡŽ, Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅. Π›ΡŽΠ±Π°Ρ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Π³Π»Π°Π²Π½ΠΎΠΌ (графичСском) ΠΏΠΎΡ‚ΠΎΠΊΠ΅ прилоТСния ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ выбросу ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ NetworkOnMainThreadException ΠΈ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΌΡƒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π­Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ относится ΠΈ ΠΊ Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌΡƒ сСрвису, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Ρ‚ΠΎΠΆΠ΅ фактичСски выполняСтся Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅. Как Ρ‚Ρ‹ ΡƒΠΆΠ΅, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, догадался (Π° Ссли Π½Π΅Ρ‚ β€” срочно ΠΏΠΎΠΊΡƒΠΏΠ°ΠΉ мартовский Β«Π₯Π°ΠΊΠ΅Ρ€Β»), ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ IntentService. Π”Π°Π½Π½Ρ‹ΠΉ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΉ сСрвис Π±Π΅Ρ€Π΅Ρ‚ Π½Π° сСбя всю Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ созданию Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°, позволяя Π½Π°ΠΌ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ нСпосрСдствСнно Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π΅.

Для Π½Π°Ρ‡Π°Π»Π° зарСгистрируСм сСрвис Π² манифСстС:

Основная Ρ€Π°Π±ΠΎΡ‚Π° сСрвиса ΠΊΠΈΠΏΠΈΡ‚ ΠΈ Π±ΡƒΡ€Π»ΠΈΡ‚ Π²Π½ΡƒΡ‚Ρ€ΠΈ onHandleIntent, тСкст ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅ (отладочная ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ присутствуСт):

Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ Π½Π΅ собираСмся Π² дальнСйшСм Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ рСсурсов с сайта, Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ запроса смСло ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ лСксСму соСдинСния setRequestProperty(«Connection», «close»), Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ послС ΠΎΡ‚Π²Π΅Ρ‚Π° сСрвСр Ρ€Π°Π·ΠΎΡ€Π²Π΅Ρ‚ связь. ΠœΠ΅Ρ‚ΠΎΠ΄ setConnectTimeout устанавливаСт Ρ‚Π°ΠΉΠΌ-Π°ΡƒΡ‚ соСдинСния ΠΈ подбираСтся ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎ (Π² ΠΌΠΎΠ΅ΠΌ случаС ΠΏΡΡ‚ΡŒ сСкунд ΠΏΡ€ΠΈ соСдинСнии 3G Π²ΠΏΠΎΠ»Π½Π΅ Ρ…Π²Π°Ρ‚ΠΈΠ»ΠΎ). Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ getResponseCode Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ HttpURLConnection.HTTP_OK опрСдСляСт ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Π΅Ρ€Π΄ΠΈΠΊΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ИмСй Π² Π²ΠΈΠ΄Ρƒ: ΠΏΡ€ΠΈ использовании мобильного доступа ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ шанс ΡΠ»ΠΎΠ²ΠΈΡ‚ΡŒ IOException ΠΈ MalformedURLException вСсьма высок. Π­Ρ‚ΠΎ происходит ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ isConnected ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° NetworkInfo Π½Π΅ всСгда ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ состояния сСти, ΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΈΠΉΡ‚ΠΈ Π² isSiteAvail с ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ соСдинСниСм. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ, Ссли Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ всС сайты окаТутся нСдоступными, ΠΏΠ°Π½ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, слСдуСт, Π½ΠΎ Π½Π΅ сразу.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ HttpURLConnection ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ ссылки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с http://, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ явным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Ѐункция refreshWidget ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° посрСдством трансляции (ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ) ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ²Π΅Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ намСрСния FORCE_WIDGET_UPDATE, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ наш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π»Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ являСтся ΡˆΠΈΡ€ΠΎΠΊΠΎΠ²Π΅Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠΎΠΌ. Π’Π΅Ρ€ΠΌΠΈΠ½ Β«ΡˆΠΈΡ€ΠΎΠΊΠΎΠ²Π΅Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΒ» ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ β€” любоС Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ нашС Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅, Ρ€Π°Π²Π½ΠΎ ΠΊΠ°ΠΊ ΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Ρ‡ΡƒΠΆΠΎΠ³ΠΎ. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρ‹, намСрСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ. ΠšΡΡ‚Π°Ρ‚ΠΈ, Ссли Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ссылку (ΠΎΠ΄Π½ΠΎ Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅), Π° Π² систСмС установлСно нСсколько Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² (нСсколько ΡˆΠΈΡ€ΠΎΠΊΠΎΠ²Π΅Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠΎΠ²) β€” появится ΠΎΠΊΠ½ΠΎ с Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠ³ΠΎ. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ рассмотрим этот ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ.

Π‘Π»ΠΈΠΆΠ΅ ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ создаСм ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΠΎΠ΅ Ρ‚Π΅Π±Π΅ ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹ΠΉ запуск сСрвиса Ρ‡Π΅Ρ€Π΅Π· Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ сигнализаций. Волько вмСсто ΠΌΠ΅Ρ‚ΠΎΠ΄Π° set Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ setRepeating, Π° Ρ‚ΠΎΡ‡Π½Π΅Π΅ β€” setInexactRepeating. ПослСдний ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ стСпСни ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ энСргозатраты, собирая для выполнСния Π±Π»ΠΈΠ·ΠΊΠΈΠ΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ сигнализации. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ вмСсто Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ константу AlarmManager.INTERVALFIFTEEN_MINUTES для опроса сайтов ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 15 ΠΌΠΈΠ½ ΠΈ AlarmManager.INTERVAL_HALF_HOUR (

30 ΠΌΠΈΠ½) Π² случаС отсутствия соСдинСния для Π½ΠΎΠ²ΠΎΠΉ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‚Ρ‹ Π·Π°Ρ…ΠΎΡ‡Π΅ΡˆΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ константы ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° AlarmManager: INTERVAL_HOUR (час), INTERVAL_HALF_DAY (12 Ρ‡), INTERVAL_DAY (Ρ€Π°Π· Π² сутки). Π—Π°ΠΌΠ΅Ρ‡Ρƒ, Ρ‡Ρ‚ΠΎ эти ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ_ условныС, ΠΈ ΠΏΡ€ΠΈ нСобходимости соблюдСния Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ расписания слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ setRepeating, Π½ΠΎ, ΠΊΠ°ΠΊ ΡƒΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π»ΠΎΡΡŒ, ΠΎΠ½ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΆΠΎΡ€Π»ΠΈΠ². К слову, Π±ΡƒΠ΄ΠΈΡ‚ΡŒ устройство ΠΌΡ‹ Π½Π΅ станСм β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ AlarmManager.ELAPSED_REALTIME, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ для Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΏΡ€ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΌ экранС Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ трСбуСтся, Π½ΠΎ ΠΈ, вСроятно, Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΡƒΠΊΠΎΡ€ΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ взгляд ΠΊΠΎΠ»Π»Π΅Π³ ΠΈΠ· Ρ€ΡƒΠ±Ρ€ΠΈΠΊΠΈ X-Mobile.

Π”ΠΎΠ±Ρ€Π°Π²ΡˆΠΈΡΡŒ Π΄ΠΎ сСрСдины ΡΡ‚Π°Ρ‚ΡŒΠΈ, ΠΌΡ‹ ΠΏΡ€ΠΎΠ²Π΅Π»ΠΈ всю ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ΅ΠΌ с чистой ΡΠΎΠ²Π΅ΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ Π³Π»Π°Π²Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠ΅ нашСго изыскания β€” созданию Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°.

Π’ΠΈΠ΄ΠΆΠ΅Ρ‚

Π’ Android Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ рСализуСтся Π² Π²ΠΈΠ΄Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ²Π΅Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ°, Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ события (строго говоря β€” намСрСния(Intent)), для наполнСния Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΏΠΎ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρƒ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сСрвиса, ΠΏΠΎ ΠΊΠ»ΠΈΠΊΡƒ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° начинаСтся с рСгистрации Π΅Π³ΠΎ класса (PingWidget) Π² манифСстС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

Π—Π΄Π΅ΡΡŒ Ρ‚Π΅Π³ intent-filter содСрТит ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΎΠ΄Π½ΠΎ стандартноС дСйствиС β€” android.appwidget.action.APPWIDGET_UPDATE, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ΅ для обновлСния содСрТимого Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° (Π΅Ρ‰Π΅ Π΅ΡΡ‚ΡŒ DELETED, ENABLED ΠΈ DISABLED, Π½ΠΎ ΠΎΠ½ΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹). Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ, Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Π² Ρ€Π°Π·Π½Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ дСйствиС β€” com.example.pinger.FORCE_WIDGET_UPDATE для нашСй Π·Π°Π΄Π°Ρ‡ΠΈ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π½Π°ΠΌ потрСбуСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ XML-Ρ„Π°ΠΉΠ», ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ настройки Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° (Ρ„Π°ΠΉΠ» res\xml\widget_provider.xml):

Атрибуты minHeight ΠΈ minWidth ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ минимально допустимыС высоту ΠΈ ΡˆΠΈΡ€ΠΈΠ½Ρƒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°. Для расчСта этих Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ примСняСтся Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°

Π”ΠΎΠΌΠ°ΡˆΠ½ΠΈΠΉ экран Π² Android Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ сСткой, состоящСй ΠΈΠ· ячССк, Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… зависят ΠΎΡ‚ физичСских Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² устройства. МоТно ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ярлык прилоТСния Π½Π° домашнСм экранС соотвСтствуСт ΠΎΠ΄Π½ΠΎΠΉ ячСйкС. Наш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ 4 Ρ… 2 ΠΈΠ»ΠΈ 250 dp x 110 dp (Π² Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ-нСзависимых пиксСлях). ИзмСнСниС Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΌΡ‹ Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌ, поэтому resizeMode устанавливаСм Π² none.

Атрибут updatePeriodMillis Π·Π°Π΄Π°Π΅Ρ‚ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ ΠΌΠ΅ΠΆΠ΄Ρƒ обновлСниями Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° (Π² миллисСкундах) систСмой, Π½ΠΎ Π½Π°ΠΌ сСйчас ΠΎΠ½ нСинтСрСсСн, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ такая Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒ, наш Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΉ сСрвис Π½Π΅ Π·Π°ΠΏΡƒΡ‰Π΅Π½, Π° Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ экранС висит Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ (Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠ΅ состояниС устройства послС ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ) β€” Android Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Π΅Π³ΠΎ обновлСния Π½Π΅Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π° ΡƒΠΆΠ΅ ΠΏΠΎΡ‚ΠΎΠΌ Ρ‡Π΅Ρ€Π΅Π· updatePeriodMillis миллисСкунд. ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ просто запустим наш сСрвис, ΠΈ ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½ Π½Π°Ρ‡Π½Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, дальнСйшСС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ сСйчас смСло ставим 86 400 000 (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ€Π°Π· Π² сутки) ΠΈ двигаСмся дальшС.

Если Ρ‚Ρ‹ Ρ…ΠΎΡ‡Π΅ΡˆΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² мСню Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² вмСсто ΠΈΠΊΠΎΠ½ΠΊΠΈ прилоТСния ΠΊΡ€Π°ΡΠΎΠ²Π°Π»Π°ΡΡŒ симпатичная ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° (см. рис. 4), добавь ссылку Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ рСсурс Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ PNG Π² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π΅ previewImage. О Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ быстро ΠΈ просто ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€Π΅Π²ΡŒΡŽ, Ρ‡ΠΈΡ‚Π°ΠΉ Π²Ρ€Π΅Π·ΠΊΡƒ.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ Рис. 4. МСню Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ²

Атрибут initialLayout позволяСт ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ XML. Π”Π°, Ρ‚Ρ‹ Π½Π΅ ошибся, Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ активности ΠΈΠ»ΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° β€” Ρ‚Π΅ ΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΊΠΈ, ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ, ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρ‹ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π΅. Π€Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ нашСго Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° прСдставлСн Π½ΠΈΠΆΠ΅ (widget.xml):

Наш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ состоит ΠΈΠ· Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ (im1, im2, im3, im4) Ρ‚ΠΈΠΏΠ° ImageView ΠΈ тСкстовых ΠΌΠ΅Ρ‚ΠΎΠΊ (txt1, txt2, txt3, txt4) Ρ‚ΠΈΠΏΠ° TextView. Для ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ RelativeLayout, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ всС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Ρ‹ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Ρ€ΡƒΠ³Π°. РазумССтся, ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ ΠΈ надписи ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΈ отрисовкС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°. ПолС alpha Π·Π°Π΄Π°Π΅Ρ‚ Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 0 (ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΉ) Π΄ΠΎ 1 (Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΉ), Π° Π²ΠΎΡ‚ background позволяСт Π·Π°Π΄Π°Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ для Ρ„ΠΎΠ½Π° с эффСктами стСкла, Π±Π»ΠΈΠΊΠ°ΠΌΠΈ ΠΈ тСнями (Π΄Π°, я сторонник скСвоморфизма). Для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠΉ тСкстуры ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ (см. ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ссылки). ΠšΡΡ‚Π°Ρ‚ΠΈ, для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах Ρ„ΠΎΠ½ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ пСрСвСсти Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ NinePatch, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ расскаТСт Π²Ρ€Π΅Π·ΠΊΠ°.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ Рис. 5. Π’ΠΈΠ΄ΠΆΠ΅Ρ‚ Π½Π° смартфонС, Π° GitHub-Ρ‚ΠΎ ΡƒΠΏΠ°Π».

Π˜Ρ‚Π°ΠΊ, ΠΎΡ‚ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ стороны Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° (см. рис. 5) ΠΏΠ»Π°Π²Π½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ Π»ΠΎΠ³ΠΈΠΊΠ΅ Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ (класс PingWidget.java):

NinePatch vs PNG

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° NinePatch (ΠΈΠ»ΠΈ Ρ€Π°ΡΡ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ) β€” это Ρ„Π°ΠΉΠ»Ρ‹ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° PNG, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… области, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ явным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Android SDK Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ draw9patch, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ находится ΠΏΠΎ адрСсу SDK/Tools/draw9patch.bat.

На рис. 7 Ρ‚Ρ‹ моТСшь Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ растягивания нашСго Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° (Patches), ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½ΡƒΡŽ Ρ„ΠΈΠΎΠ»Π΅Ρ‚ΠΎΠ²Ρ‹ΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ. Какой Π±Ρ‹ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Π½ΠΈ Π±Ρ‹Π», Π»ΠΎΠ³ΠΎΡ‚ΠΈΠΏ Ρ‚Π²ΠΎΠ΅Π³ΠΎ любимого ΠΆΡƒΡ€Π½Π°Π»Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°ΠΊΡ€ΡƒΠ³Π»Π΅Π½Π½Ρ‹Π΅ ΡƒΠ³ΠΎΠ»ΠΊΠΈ ΠΈΡΠΊΠ°ΠΆΠ°Ρ‚ΡŒΡΡ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚. Π­Ρ‚Π° ΠΎΠ±Π»Π°ΡΡ‚ΡŒ задаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π»ΠΈΠ½Π΅Π΅ΠΊ слСва ΠΈ свСрху ΠΎΡ‚ изобраТСния. ΠžΠ±Ρ€Π°Ρ‚ΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ€Π°ΠΌΠΊΡƒ Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½ΠΎΠΉ Π² ΠΎΠ΄ΠΈΠ½ пиксСль с Ρ‡Π΅Ρ€Π½Ρ‹ΠΌΠΈ полосами β€” ΠΈΠΌΠ΅Π½Π½ΠΎ эта информация Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊ исходному ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ Рис. 7. Π Π°Π·ΠΌΠ΅Ρ€ β€” это Π³Π»Π°Π²Π½ΠΎΠ΅!

На рис. 8 Ρ‚Π΅ΠΌΠ½Ρ‹ΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΠΎΠ±Π»Π°ΡΡ‚ΡŒ для ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° (Content). Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ всС наши ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ ΠΈ тСкстовыС ΠΌΠ΅Ρ‚ΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ нСбольшой отступ ΠΎΡ‚ Ρ€Π°ΠΌΠΊΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°. Π­Ρ‚Ρƒ красоту ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ справа ΠΈ снизу ΠΎΡ‚ изобраТСния.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ Рис. 8. ΠžΠ±Π»Π°ΡΡ‚ΡŒ для ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Π½Π΅ уступаСт

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ сохраняСтся Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ PNG c Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Ρ†ΠΈΡ„Ρ€Ρ‹ 9 ΠΏΠ΅Ρ€Π΅Π΄ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ Ρ„Π°ΠΉΠ»Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, widget.9.png). ΠŸΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ ссылки Π½Π° графичСский рСсурс ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ дСвятку Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ android:background=»@drawable/widget»).

Класс AppWidgetProvider, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ²Π΅Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠΎΠΌ, прСдоставляСт Π½Π°ΠΌ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°: onUpdate ΠΈ onReceive (Π΅ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ β€” onDeleted, onDisabled, onEnabled, Π½ΠΎ ΠΌΡ‹ ΠΈΡ… Π½Π΅ рассматриваСм). ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ вызываСтся ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ интСрфСйса Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° с ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ updatePeriodMillis (см. Π²Ρ‹ΡˆΠ΅), ΠΊΠ°ΠΊ ΠΈ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈΡΡŒ β€” просто запускаСм сСрвис (ΠΊΠ°ΠΊ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅, Π½ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ β€” всС зависит ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡ΠΈ). Π’Ρ‚ΠΎΡ€ΠΎΠΉ, onReceive, срабатываСт ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ дСйствия β€” FORCE_WIDGET_UPDATE, зарСгистрированного Π½Π°ΠΌΠΈ Ρ€Π°Π½Π΅Π΅ Π² манифСстС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ИмСнно этот ΠΊΠΎΠ΄ ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° манипуляции с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ ΠΈ тСкстовыми полями Π² UI Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°. Ѐункция updateWidget сначала Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса AppWidgetManager, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ примСняСтся для обновлСния Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² ΠΈ прСдоставляСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π½ΠΈΡ…. Π’ частности, нас ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ всСх Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² (массив appWidgetIds), вСдь ΠΈΡ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСсколько ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ…:

Π’ СдинствСнном Ρ†ΠΈΠΊΠ»Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ drawWidget происходит итСрация ΠΏΠΎ всСм Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°ΠΌ. Класс RemoteViews ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² качСствС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° для доступа ΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ΅, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½ΠΎΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ процСсса Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ прилоТСния (ΠΌΠ½Π΅ ΠΎΠ΄Π½ΠΎΠΌΡƒ это Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ Inject?). Если Π±Ρ‹ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ с Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ»ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠΌ, Ρ‚ΠΎ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΏΠΎΠ»Π½Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ findViewById. Но наш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… домашнСго экрана, поэтому для получСния доступа ΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π² конструкторС RemoteViews ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π° (context.getPackageName()) ΠΈ рСсурс с Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ (R.layout.widget). Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ views.setTextViewText ΠΈ views.setImageViewResource, измСняСм надпись ΠΈ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ (Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ функция getPicture Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ссылку Π½Π° подходящий рСсурс). Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΡ‹ внСсли ΠΏΡ€Π°Π²ΠΊΠΈ ΠΏΠΎ всСм строкам, фиксируСм ΠΈΡ… Π² Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π΅, вызывая updateAppWidget.

ВмСсто Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ

ΠœΡ‹ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π»ΠΈ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ, ΠΈ наш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ часы β€” Π°Π΄ΠΌΠΈΠ½ навСрняка Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ²ΠΎΠ»Π΅Π½. Но Π²ΠΎΡ‚ ΠΎΠ΄ΠΈΠ½ вопрос Ρ‚Π°ΠΊ ΠΈ остался Π½Π΅ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ: ΠΊΠ°ΠΊ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ пСриодичСскиС запуски сСрвиса, Ссли ΠΎΠ½ большС Π½Π΅ Π½ΡƒΠΆΠ΅Π½? Π‘ΠΏΠ΅ΡˆΡƒ тСбя ΠΎΠ±Ρ€Π°Π΄ΠΎΠ²Π°Ρ‚ΡŒ, Π² ΠΊΠΎΠ΄Π΅ прилоТСния (загляни Π½Π° dvd.xakep.ru ΠΈΠ»ΠΈ ΠΌΠΎΠΉ сайт) остановка ΡƒΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ„Π»Π°Π³Π° setStopServiceFlag, ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ «Назад» Π² Π³Π»Π°Π²Π½ΠΎΠΉ активности прилоТСния (Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π”ΠΎΠΌΠΎΠΉΒ» Π½Π΅ распространяСтся). ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·ΡƒΡ‡ΠΈ этот вопрос β€” это ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π²ΠΎΠΈΠΌ домашним Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ.

ΠŸΡ€Π΅Π²ΡŒΡŽ для Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°

Π’ Play Market ΠΆΠΈΠ²Π΅Ρ‚ ΠΌΠ΅Π³Π°ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² β€” Widget Preview, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт Π²ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π² сСбя любой зарСгистрированный Π² систСмС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, послС Ρ‡Π΅Π³ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ снимок. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎ ΠΏΠΎΡ‡Ρ‚Π΅.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ Рис. 6. Π’Π°ΠΊ ΠΊΠ°ΠΊΠΎΠ³ΠΎ Ρ†Π²Π΅Ρ‚Π° ΠΏΠ»Π°Ρ‚ΡŒΠ΅?

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ:

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *