Создайте кастомный лаунчер на Android
В своей самой основной форме, средство запуска – это приложение, которое выполняет следующие действия:
- он представляет домашний экран устройства
- он перечисляет и запускает приложения, которые установлены на устройстве
Другими словами, это приложение, которое появляется при нажатии кнопки «Домой». Если вы еще не установили пользовательский модуль запуска, в настоящее время вы используете модуль запуска по умолчанию, который поставляется с вашей установкой Android. Многие производители устройств имеют свои собственные стандартные пусковые установки, которые соответствуют их фирменному стилю, например, Samsung TouchWiz и HTC Sense.
В этом уроке мы собираемся создать простой модуль запуска с базовым пользовательским интерфейсом. У него будет два экрана:
- домашний экран, показывающий обои устройства
- экран, показывающий значки и информацию о приложениях, установленных на устройстве
Кстати, если вы много работаете с Android, вы можете попробовать один из 1000+ шаблонов приложений Android на Envato Market. Есть огромное разнообразие, так что вы обязательно найдете что-то там, чтобы помочь вам с вашей работой. Или вы могли бы передать области, которые не являются вашей специальностью, наняв разработчика приложений или дизайнера в Envato Studio.
1. Требования
На вашем компьютере разработки должно быть установлено и настроено следующее:
- Android SDK и инструменты платформы
- Eclipse IDE 3.7.2 или выше с плагином ADT
- эмулятор или устройство Android под управлением Android 2.2 или выше
Вы можете скачать SDK и инструменты платформы на портале разработчиков Android .
2. Настройка проекта
Запустите Eclipse и создайте новый проект приложения для Android. Я называю приложение SimpleLauncher , но вы можете назвать его как угодно. Убедитесь, что вы используете уникальный пакет. Самая низкая версия SDK, которую поддерживает наша программа запуска, – это Froyo, а целевой SDK – Jelly Bean .
Поскольку мы не хотим создавать Activity , отмените выбор « Создать активность» . Нажмите Готово, чтобы продолжить.
Открытый клон Chameleon Launcher
Года два-три назад я случайно узнал о интересном лаунчере для android chameleon launcher. Купил и какое-то время даже успешно использовал, пока создатель не потерял к нему интерес.
Привлекло меня в этом лаунчере то, что он позволял превратить домашний экран планшета в информационное табло — тут и rssленты, и twitter, и погода и т. д. Всё смотрится красиво и удобно, а место на экране не расходуется зря (а его на экране всегда мало). Кроме того, он позволял писать свои собственные виджеты на js.
Но создатель потерял интерес к своему творению (в своё время он собирал на него деньги через kickstarter) и сначала виджеты перестали работать (они используют сервер для работы), появились баги, которые не фиксились. В итоге недавно приложение и вовсе было удалено из Play Market.
Постепенно у меня начало появляться желание написать аналогичный лаунчер — приценивался к технологиям, но не хотел связываться с Java. Но в эти выходные я решил попробовать свои силы в написании клона этого лаунчера. В этой заметке я расскажу о текущем состоянии дел. Возможно, кто-то ещё заинтересуется проектом и присоединится к нему.
Основной экран:
Cписок приложений:
Целью было сделать что-то более-менее похожее за минимальное время: для начала без всяких фенечек — анимации, drag&drop и т. п., чтобы потом постепенно довести функционал до нужного состояния. Также я практически не заморачивался кроссдевайсовой вёрсткой и не имею понятия, насколько хорошо будет отображаться это на девайсах, отличных от семидюймовых планшетов (1024×600) в горизонтальном положении. Минимум значит минимум, иначе можно застрять надолго. Я хотел сделать хоть какой-то прототип для развития, и вообще — пощупать технологии.
Также я сделал одно важное для меня изменение в концепции архитектуры виджетов. Теперь не нужно их хостить на сервере, чтобы делать кроссдоменные запросы. Их можно делать без использования скриптов на сервере.
Начало пути
Прежде чем начать разработку, я в очередной раз проверил, не начал ли писать кто-то клон до меня (я периодически это мониторил) и убедившись, что всё ещё нет, я начал искать проекты лаунчера на html. Cразу нашёл github.com/Aricwithana/DOMLauncher2. Но базис показался не слишком подходящим, много лишнего, а удаление кода (почти всего) это потеря времени. По этому я решил начать с чистого листа. Решил не использовать PhoneGap, т.к. мне показалось, что лаунчер вещь не простая и вдруг чего-то не хватит мне в нём и придётся начинать заново на чистом Android SDK.
После установки Android SDK, я сгенерировал дефолтный проект следующей командой:
Сбилдил проект и установил приложение:
Первое, что я хотел сделать — избавиться это от заголовка окна. После поисков и различных эксперементов, я пришёл к выводу, что лучший способ это сделать прописать для приложения. Для этого нужно создать файл res/values/styles.xml и немного отредактировать AndroidManifest.xml:
В название темы Wallpaper не случайно, если его убрать, то фон приложения будет чёрный. Но т.к. он есть, то приложение подтягивает обои из системных настроек (а это избавляет от написание большого колличества кода).
Превращение в лаунчер
Любое приложения можно легко превратить в «лаунчер». Для этого нужно добавить 2 строки в AnroidManifest.xml и приложение будет доступно по кнопке home:
Теперь после сборки и установки приложение будет доступно по клавише home.
Создание и оживление WebView
В android, чтобы была возможность использовать html и js, нужно добавить элемент WebView в приложение. Для этого нужно отредактировать основной layout (res/layout/main.xml):
После этого я создал assets/www/index.html с каким-то небольшим текстом и подключил его отображение в LauncherActivity.java:
Теперь если запустить приложение, можно увидеть содержимое файла, но если попробовать написать какой-нибудь js код, то он не будет работать. Его нужно включать отдельно:
Последние 2 строки разрешают делать кроссдоменные запросы из js, являющегося частью приложения.
Пробрасывание в js функций из java
Со временем, возникла необходимость к обращению к android api. В ходе поисков как это сделать, я узнал, что можно создать класс, методы которогу будут доступны из js почти как родные (приходится использовать JSON.parse при передачи объектов).
Весь код класса описывать не буду, опишу лишь ключевые моменты.
Если в классе создать функцию и написать перед ней @JavascriptInterface она будет доступна в js. Функция запуска приложения:
На самом деле нужно ещё подключить этот класс к WebView:
Теперь из js можно достучаться до кода так:
Заключение
Я описал наиболее интересные/сложные этапы разработки. Всё расписывать не стал, т.к. статья вышла бы слишком длинной. Да и не факт, что интересной. Лучше спрашивайте, я отвечу.
Что уже есть:
— один экран домашний (пока несколько нельзя, но это один из следующих этапов, попутно буду прибираться в коде)
— виджеты — rss (поддерживает только rss 2.0), погода
— простой список приложений без постраничного листания
— настраиваемая панель быстрых ярлыков (там же есть, временная кнопка refresh для удобства дебага)
Ближайшие планы:
— как-то вынести настройки в конфиг (вот с этим мне нужна в первую очередь помощь, т.к. это моё первое приложение под android и пока не совсем понял экосистему. Небольшой эксперимент провёл по этому вопросу, но пока в коде отключил его)
— несколько домашних экранов
— более удобное API для виджетов
— переписать виджеты rss и погоды
— написать виджет для twitter, часы (с функцией будильника),
— кроссдевайсовая вёрстка (если будут девайсы для тестирования)
В первую очередь я хочу реализовать версию для планшета и лишь потом, возможно, возьмусь за телефон. Поддержка стандартных виджетов android не планируется. Минимально необходимая версия android 4.2 (API 17).
Как сделать свой лаунчер для Minecraft и запустить на своем сервере игру?
Админы, владеющие собственными серверами Minecraft, часто сталкиваются с проблемой сборки стабильного лаунчера, который позволит быстро и беспрепятственно скачивать обновления, моды, скины. В рамках данной статьи мы расскажем, как сделать свой лаунчер игры Майкрафт.
Что понадобится для создания лаунчера?
NetBeans – самый оптимальный помощник в создании лаунчера.
Как известно, лаунчер представляет собой программный интерфейс, облегчающий подключение геймеров к серверу игры. Эти приложения автоматически скачивают необходимые файлы и софт.
Для создания качественного лаунчера для сервера потребуется:
- личный домен, сайт;
- исходники собственного портала;
- клиент программы NetBeans;
- файловый менеджер (не обязательно).
Кроме того, лаунчер должен иметь систему авторизации. Инструкцию о том, как ее добавить, найдете ниже.
Подготовка исходников
- Скачать NetBeans.
- Открываем новую программу, создаем новый проект.
- В новом окне нажать на интерфейс «Java», затем выбрать «Приложение Java».
- Поле «Имя проекта» должно быть заполнено по усмотрению пользователя.
- После ввода названия убрать галочку с пункта «Создание главного класса».
- Кликаем «Готово».
- Перейдите в «Свойства» только что созданного проекта.
- Формат исходного файла следует поменять на «JDK6».
- Рядом установить кодировку «Win1251».
Создание лаунчера для сервера
- В директории «Документы/NetBeans project/«Ваш проект» необходимо разместить все файлы исходника (SRC).
- В корне папки NetBeans (проект) находится каталог «Launcher run», уровнем ниже – файлик «Settings.java», который необходимо открыть редактором кода.
- В правой области окна появится участок с кодом страницы. Придайте лаунчеру и домену собственные наименования.
- В коде с настройками сервера установите корректный ID, порты и версию клиента игры.
- Ссылки «Регистрация» и «Авторизация» можно изменить.
Видео: Как сделать свой лаунчер.
При желании устанавливать моды на сервер рекомендуется проделать следующие манипуляции:
- В редакторе кода NetBeans найти строку «Public static bolean useModCheck».
- Изменить значение параметра на «True».
- Отыскать строку с параметром «Public static bolean useModsDelete».
- Присвоить значение «False».
Как добавить возможность авторизации?
- Найти строку «Public static bolean useAutoenter».
- Дописать значение данного параметра – «True».
Это позволит игрокам автоматически заходить на сервер без ввода логина и пароля.
Дальнейшие манипуляции с кодом можно производить по собственному усмотрению. При этом важно знать значения всех строк, поскольку нежелательные изменения могут привести к отказу лаунчера.
[Лаунчер] Делаем быстро на Java!
Хм, я покажу вам как быстро сделать пиратский лаунчер на Java! Хотя ночь, но я это сделал! Ааа ночь, а пох.
Этап 1. Открываем папку в архиве!
Этап 2. Это я обозначил нужные нам файлы!
Этап 3.Открываем In Class Translator, в GameUpdater мы поставим ссылку на наш клиент! А в LoginForm вся русификация лаунчера!
Этап 4. Пакуем все измененные файлы обратно в JAR! А теперь открываем Jar2Exe (Jar to Exe) и ставим адрес на наш Jar! Также выставляем как у меня!
Этап 5. Выставляем как у меня.
Этап 6. Выбираем картинку загрузки! И не меняем где я пометил!
Этап 7. Выбираем значок!
Этап 8. Всё, Закончили!