В новых версиях приложения (6.5+) вы можете использовать пользовательские наборы циферблатов, не прибегая к установке или созданию плагинов. Подробнее см. использование своих наборов циферблатов. Если вы хотите создать свою текстуру для циферблата, читайте эту страницу до пункта «Создание готового приложения». |
Данное руководство предназначено как для программистов, дизайнеров, так и для людей, желающих выпустить свои приложения, и иметь возможность зарабатывать на этом. Изучив его, вы сможете создавать новые циферблаты, даже если у вас нет навыков программирования (понадобятся некоторые навыки по работе с Adobe Photoshop). Я предоставляю вам такую уникальную возможность – создать свои уникальные часы в виде приложения-дополнения.
Для работы вам понадобятся:
- Скачать и установить Android Studio – для создания своего приложения-плагина
- Adobe Photoshop или любой другой редактор изображений – для создания текстуры и макета циферблата
- Скачать демо-проект плагина по ссылке. Актуально и для разработчиков плагинов к Энергосберегающим Цифровым Часам.
- Скачать пример циферблата в программе Photoshop по ссылке.
Создание текстуры циферблата
Начнем с создания циферблата. Скачайте пример циферблата, сделанного в Photoshop (ссылка выше). Рекомендую создавать одну текстуру 1024×1024 пикселей, но могут быть и другие разрешения, кратные степени 2 (например, 256×256, 512×512, 2048×2048). Часы создаются на прозрачном фоне, после чего сохраняется файл формата png, из которого можно выделить файл маски прозрачности, этот процесс описан далее. Для удобства в проекте нарисованы линии для позиционирования стрелок и циферблата.
Пример проекта циферблата
Дополнительная подготовка циферблата
Для того, чтобы сократить размер, занимаемый циферблатом, вместо текстуры с прозрачностью формата png я использую 2 файла формата jpg – один – сама текстура, второй – маска прозрачности. Для того, чтобы из png сделать 2 jpg, вам нужно открыть png в Photoshop, перейти из вкладки «Слои» в соседнюю вкладку «Каналы», нажать на решетчатую кнопку и в выпадающем меню выбрать «Разделить каналы».
Последний открывшийся файл, содержащий в имени слово «Прозрачность», сохраняем как jpg с тем же именем, что и png, с добавлением «_mask». Оставшиеся файлы можно закрыть без сохранения.
Для того, чтобы края элементов в основном jpg файле не были другого цвета и не выделялись, я обычно добавляю ему подходящий по цвету краев фон, либо: не закрываю оставшиеся после разделения каналов файлы, создаю новый файл под размеры циферблата, открываю вкладку «Каналы», выделяю последовательно каждый и вставляю туда скопированные изображения из соответствующих файлов каналов. Получившийся файл можно сохранить в формате jpg.
Сохраняем стрелки в виде png файла.
Пример сохраненного циферблата
Создание готового приложения
Циферблат готов, достаточно собрать из него приложение. Для этого необходимо распаковать скачанный ранее демо-проект плагина, зайти в папку app\src и дублировать analogWhite.
Затем переименовываем на своё имя латинскими буквами без пробелов, например, newAnalogClocksPlugin, и заходим в неё и далее в assets\textures\packs и копируем сюда нашу подготовленную папку с циферблатом.
Открываем ранее скачанную и установленную Android Studio, заходим в File > Open… и выбираем папку проекта.
Открываем файл проекта build.gradle (Module:app), копируем analogWhite {…} с содержимым скобок, вставляем после него. Заменяем analogWhite на newAnalogClocksPlugin, совпадающий с названием нашей папки – это вариант проекта плагина.
Оставляем часть applicationId com.maxlab.bsclocks.plugins.analog. и добавляем свою, рекомендую вид developer_name.plugin_name, чтобы ваш id отличался от других, как на рисунке выше.
Заполняем данные своей информацией для цифровой подписи. Если у вас нет хранилища ключей, то создайте его, и создайте ключ для цифровой подписи этого циферблата. Подробнее про это можно прочитать на официальном англоязычном сайте https://developer.android.com/studio/publish/app-signing.html либо на сайте http://developer.alexanderklimov.ru/android/publish.php . Для удобства начального запуска и отладки добавьте строку android.productFlavors. newAnalogClocksPlugin.signingConfig signingConfigs.debug (для отладки, используйте свой config перед выпуском) перед lintOptions.
Дублируем строчку для подписи нового плагина и заменяем analogWhite на newAnalogClocksPlugin:
Выбираем среди BuildVariants newAnalogClocksPluginDebug или newAnalogClocksPluginRelease, как показано на рисунке. Теперь открываем файлы strings.xml для различных языков (выделены на рисунке). Вы можете добавить свои файлы локализаций.
Необходимо изменить параметры – имя приложения и собственно имя циферблата внутри главного приложения. Кстати, циферблатов может быть несколько, для каждого необходимо указать своё имя и параметры (см. ниже).
Заменяем white_plugin (содержимое кавычек) на ваше имя циферблата, совпадающее с названием папки циферблата и прописываем адекватное название, которое будет видимо при выборе циферблатов в главном приложении часов. В следующих строках нужно заменить только часть white_plugin и оставить концовку, _date_pos или _arrow_width. Значение _date_pos определяет радиус окружности, в котором будет находиться дата (если в основном приложении она активирована), относительно радиуса всего циферблата, т.е. значение «1» будет равно радиусу циферблата, «0.5» — половине радиуса циферблата и т.д. Чтобы дата не налезала на цифры внутри циферблата, рекомендую ставить значение до 0.5 (экспериментировать с этим числом, если у вас полная версия основного приложения). Значение параметра, содержащего _arrow_width, равно ширине стрелки в пикселах (140) при размере циферблата 1024×1024. В проекте примера для удобства уже нанесены соответствующие этому значению вертикальные вспомогательные осевые линии. Если вы нарисуете стрелки толще, измените это значение на ваше.
То же проделываем с локализованными файлами strings.xml (только для переводимых значений).
Что осталось – так это значок для приложения, который вам нужно подготовить. Для лёгкого создания значка из изображения нужно зайти в res\mipmap, нажать правой кнопкой мыши и в выпадающем меню выбрать New > Image Asset.
Далее выберите «Image» и путь к изображению, Shape – «None».
Осталось указать папку с ресурсами плагина. Выбираем newAnalogClocksPlugin и Finish.
Проект готов. Обязательно проверяем его на реальном устройстве или эмуляторе. На устройстве должно быть установлено приложение Энергосберегающих Аналоговых Часов. Подключаем устройство к компьютеру через USB.
Нажимаем на зеленую треугольную кнопку «Run», выбираем устройство либо создаём новое и нажимаем OK.
Должно запуститься окно плагина.
Нажмите на установленное приложение. На большинстве устройств циферблат откроется сразу, на остальных необходимо запустить приложение самостоятельно, зайдя в меню выбора живых обоев, в приложение, его настройки, вид часов и выбрать ваш.
Если всё выглядит так, как вы хотели, то осталось зайти в меню Build > Generate signed APK и разместить приложение в Google Play!
По всем вопросам пишите мне на maxlab.code@gmail.com с темой сообщения «Разработка плагина»