Как сделать чтобы на андроиде: [РЕШЕНО] Как сделать приложение для Андроид самому – Как сделать мобильное приложение самому

Содержание

[РЕШЕНО] Как сделать приложение для Андроид самому

Операционная система Android на сегодня является одной из самых востребованных мобильных платформ во всем мире. Практически каждый обладатель Android смартфона хотел бы получить уникальное приложение, которое подойдет в конкретном случае именно ему, но не всегда можно найти такое приложение. В этой статье мы поговорим с вами о том, как сделать приложение для Андроид самому с помощью бесплатных способов.

Из-за стремительного развития платформы Андроид, некоторые функции описанных программ могут меняться, поэтому для уточнения каких либо деталей пишите в комментариях. Последняя редакция — 20.01.2018.

Естественно, прогресс не стоит на месте и с развитием ОС Android появляется все больше возможностей для создания разного рода приложений, которые подходят к ней. И если еще недавно, его мог создать только специалист который обучился этому в институте, то теперь этим может заняться

любой владелец телефона или планшета Андроид в онлайн режиме.

Пользователи могут создать собственное приложение для того, чтобы порадовать себя уникальной программой. А могут сделать его для того, чтобы заработать немного денег. Сегодня интернет дает для этого все возможности.

Описанные ниже инструменты, позволят создать собственное приложение в несколько этапов.

Некоторые из представленных программ позволяют не просто сделать, но и сразу монетизировать его. Также любое из созданных приложений можно будет разместить в системе Google Play.

Навигация на странице:

Четыре способа как сделать приложение для Андроид самому

Как сделать приложение для Андроид самому

Как сделать приложение для Андроид самому

Ниже вы найдете четыре «инструмента», которые позволят вам создать такое приложение быстро и без особых знаний. Такие программы напоминают конструкторы, которые по блокам позволяют создать все что вам нужно, хорошая аналогия со сборкой  всем знакомого конструктора LEGO.

Все программы, представленные здесь подбирались по таким критериям:

  • Удобное использование. Естественно пользоваться данными предложениями будет не обученные специалисты, а обычные пользователи, такие как мы с вами. Именно поэтому, приложение должно быть очень удобным, функциональным, и простым в ознакомлении.
  • Интуитивно простой интерфейс. Если говорить логически, то данный пункт как будто вытекает из предыдущего, что значит программа должна быть не просто удобной, но и интуитивно понятной.
  • Большой функционал. Большое разнообразие способов создания приложения это несомненный плюс. Хотя все представленные программы, в среднем, имеют одни и те же функции, за исключением некоторых мелочей.

Ниже познакомимся с подборкой инструментов, которые помогут вам создать свое самое первое приложение.

App Builder — простой инструмент для создания приложений

Этот вариант является хорошим способом для создания собственных приложений быстро. Без сомнения, радует и то, что его можно использовать не вкладывая ни копейки, а значит
бесплатно
. Хотя тут, есть и минусы, как минимум в том, что он полностью на английском языке (после обновления в декабре 2017, добавили русский язык).
Возможности программы
  • Представлен огромный выбор шаблонов для того, чтобы создать приложение. Если у вас в задумке какое-то простое приложение, то эта программа с легкостью поможет подобрать шаблон;
  • После создания приложения, можно будет следить за его статистикой;
  • Если вы создадите приложение и оно пройдет проверку, то его можно просто и довольно понятно разместить в магазине Google Play.

AppsGeyser — сайт для создания качественных приложений на Андроид своими силами

Создать Андроид приложение с помощью AppsGeyser

Создать Андроид приложение с помощью AppsGeyser

Сразу отметим, что AppsGeyser это не приложение, а сайт для их создания. Если в предыдущем варианте можно было создать программу с помощью вашего Андроид, то здесь понадобится компьютер. 

Официальный сайт — https://www.appsgeyser.com

Этот инструмент более качественный чем предыдущий, ведь здесь намного больше возможностей для создания собственного приложения. Сайт дает возможность создать свою программу буквально за несколько минут. Этот редактор самый простой из всех, что нам встречались. Список приложений, которые он поможет вам сделать очень большой, начиная от обычного браузера и заканчивая собственным мессенджером.

Преимущества AppsGeyser
  • Приложение пишется довольно быстро, буквально в пару кликов;
  • Оно позволяет создать простые игры для Android, ведь согласитесь, что не каждый инструмент сегодня может это сделать;
  • После того как приложение будет готово, его с легкостью можно будет разместить в магазине Гугл Плей;
  • Кроме этого, можно монетизировать вашу программу непосредственно через сервис AppsGeyser. Это полезная функция, ведь проявив свою фантазию, вы можете еще и заработать на этом;
  • Создавайте, редактируйте, публикуйте приложение в онлайн режиме в личном кабинете (чтобы сохранились результаты).

IbuildApp — мощный движок для разработки собственных проектов

Разработка приложений для Андроид через IbuildApp самому

Разработка приложений для Андроид через IbuildApp самому

Этот инструмент заслуживает действительно досконального рассмотрения. Как мы обсуждали выше, вам не нужно знать языка программирования, чтобы создавать Андроид приложения. Платформа разработки настолько проста, что создать свое собственное приложение будет очень просто. Процесс займет всего несколько минут, зато результат будет очевиден.

Сайт IbuildApp имеет как платные тарифы (разработка индивидуального приложения, с дальнейшим развитием) так и бесплатные шаблоны, которых очень много.

Русский официальный сайт — https://russia.ibuildapp.com

Давайте посмотрим, на что оно способно:

  • Огромный архив тем на самые разные тематики: это могут быть рестораны, кафе, спортивные занятия, а также много других тем, позволяющих подобрать все что угодно. От вас потребуется только подобрать что-то конкретное, а далее отредактировать его под свои нужды;
  • Также в нем есть встроенные способы продвижения созданного приложения. Программа не просто помогает быстро создать приложение, но и раскручивает его. В других случаях этот процесс занимает очень много времени;
  • Кроме того, вы сможете подключить приложение к рекламной сети, а значит будете зарабатывать на нем деньги.

AppsMakerstore — платформа создания простых программ

Создать приложение AppsMakerstore на русском

Создать приложение AppsMakerstore на русском

Официальный сайт — https://appsmakerstore.com

Четвертая крутая платформа которая разработана для создания Android приложений. Наверно одним из самых главных преимуществ является то, что с помощью сайта AppsMakerStore можно создавать программы которые будут мультиплатформенными (к примеру, на Андроид, iOS и Windows Phone)

Давайте рассмотрим преимущества платформы:

  • Работа с конструктором происходит в режиме онлайн;
  • Возможность бесплатной регистрации;
  • Написание приложений с помощью готовых макетов, при этом огромный выбор шаблонов по теме обеспечен каждому пользователю.

Видео инструкция по созданию приложения с помощью APK Creator


Вот и все, надеемся, что вы нашли то, что искали и остались довольны нашей подборкой. Этот набор инструментов, станет чем-то особенным для начинающего программиста и позволит разобраться с тонкостями создания простейших приложений бесплатно.

Понравилась статья? Поделитесь с друзьями:

3 варианта улучшить свой Android-смартфон без получения root-доступа

Каждому из нас известен эффект новизны. Первые дни и даже недели ты обожаешь вещь, которую купил. Аккуратно с ней обращаешься, сдуваешь с неё пылинки. Но с течением времени вещь надоедает и иногда даже раздражает.

То же самое касается и наших смартфонов. Но смартфон, как правило, вещь довольно дорогая, и менять его очень часто могут только богатые люди. Если вы к таким себя не относите, то можно вернуть эффект новизны с помощью нового чехла. Также можно вернуть радость от пользования телефоном, сильно изменив его настройки и внешний вид системы.

Вы, наверное, уже слышали, что для серьёзных изменений в смартфоне нужно получать root-доступ, то есть полный доступ ко всем настройкам системы. Но это не так! Давайте посмотрим, как можно изменить ваш смартфон, не теряя при этом гарантии.

Меняем домашний экран

Чаще всего вы видите именно домашний экран своего смартфона. Ведь именно здесь расположены иконки программ, которые вам часто нужны. Также, скорее всего, здесь расположены важные для вас виджеты. А значит, начать изменять внешний вид системы вашего смартфона стоит именно с этого экрана.

Существуют десятки различных лаунчеров, которые изменят ваш домашний экран до неузнаваемости. Купили смартфон на Android, но захотелось попробовать Windows? Нет проблем, для этого есть специальный лаунчер. Кроме того, есть очень необычные лаунчеры, которые совсем не похожи ни на одну из систем. Существуют также лаунчеры, которые подстраиваются под ваши требования, но не один раз при настройке, а в каждый момент, когда вы пользуетесь своим телефоном. Советую вам также обратить внимание на подборку лучших лаунчеров от нашего автора Дмитрия Горчакова.

Go LauncherДелаем из вашего Android смартфона Windows Phone
Хоть большинство лаунчеров ставят также свой набор иконок, не факт, что он вам понравится. Но у вас есть возможность выбрать такие иконки, которые придутся вам по душе. Мы уже знакомили вас на страницах Лайфхакера с наборами иконок для вашего смартфона.

Установите новые виджеты. Это также неплохой способ обновить домашний экран. Скорее всего, на вашем домашнем экране установлен виджет часов. Поменяйте его на более функциональный погодный виджет. У вас будет доступ к большему количеству информации с домашнего экрана. Например, у меня на одном виджете отображается время, погода и следующий будильник.

И последним штрихом изменения вашего домашнего экрана является, конечно же, установка новой заставки. Если у вас Android 5 с Material Design, то лучшим выбором будут обои в этом же стиле. Также у вас есть возможность поставить погодные обои. Они будут меняться в зависимости от того, какая погода за окном.

А сейчас немного о вредном, но красивом. Это я про живые обои. Вредно для аккумулятора вашего смартфона, но красиво для ваших глаз. На Лайфхакере вы можете найти инструкцию, как сделать живые обои самому.

Меняем экран блокировки

Вторым шагом к изменению внешнего вида системы вашего смартфона является смена экрана блокировки. Это именно тот экран, который вы видите, когда включаете свой смартфон. Начать можно с установки новой заставки локскрина.

SlideLockSlideLock

Для этого экрана также существует большое количество специальных приложений. Они кардинально изменят внешний вид экрана блокировки вашего смартфона. Так же, как и с изменением домашнего экрана, вы можете придать локскрину стиль другой операционной системы. Например, поставить локскрин, который выполнен в стиле iPhone. Есть и более функциональные локскрины, которые умеют отображать погоду и другую информацию.

Устанавливаем новую клавиатуру

При использовании смартфона мы практически постоянно вводим какой-нибудь текст. Например, пишем сообщения знакомым, набираем электронные письма по работе, ищем какую-нибудь информацию. И каждый раз мы используем клавиатуру.

Пользуетесь исключительно той клавиатурой, которая была установлена по умолчанию? Или, может быть, вы давно пользуетесь какой-нибудь одной клавиатурой? Попробуйте что-нибудь новенькое. Благо для Android их существует огромное количество.

Есть клавиатуры, которые сильно отличаются от других даже подходом к набору текста. Есть настоящие зубры данной сферы — Swype и Swiftkey. Swype, по моему мнению, лучшая клавиатура для Android, которая только может быть.

Кроме замены клавиатуры, домашнего экрана и экрана блокировки, вы можете попробовать заменить ваши любимые приложения чем-нибудь новым. Например, вместо музыкального плеера, установленного по умолчанию, начать использовать более продвинутые приложения. В общем, способов изменить ваш смартфон существуют десятки, если не сотни. Какой выбрать — решать только вам. Мы лишь задали направление. Кто знает, возможно, эта статья спасёт ваш бюджет от ненужных трат.

Как превратить веб-сайт в мобильное приложение с помощью 7 строк JSON

В материале, перевод которого мы публикуем сегодня, речь пойдёт о создании мобильных приложений на базе существующих веб-проектов. Автор этой статьи демонстрирует инструменты, которые позволяют с минимальными усилиями разрабатывать приложения, пользующиеся нативными возможностями платформ iOS и Android и включающие в себя материалы работающих сайтов или локальные ресурсы. Его рассказ начинается с тех самых семи строк JSON-кода, которые позволяют превращать сайты в мобильные приложения.


Превращение веб-сайта в мобильное приложение

Обзор


На рисунке выше показан код, который позволяет превратить веб-сайт в мобильное приложение. В частности, за «превращение» отвечают семь строк JSON, выделенные оранжевым цветом. Оставшиеся фрагменты текста программы описывают возможности, относящиеся к мобильной платформе, на которой выполняется приложение.

Что, если я скажу вам, что для того, чтобы воспользоваться этим подходом, не нужно переделывать сайт, пользуясь неким фреймворком, приближающим внешний вид ресурса к виду мобильного приложения? Более того, что если весь процесс разработки заключается в подключении сайта к мобильному приложению, подобному показанному выше, с помощью обычного URL?

Кроме того, вот ещё один вопрос: «Можно ли, просто редактируя JSON, работать с нативными API, с компонентами пользовательского интерфейса, пользоваться системными переходами между страницами?».

Пока вы размышляете над ответами на эти вопросы, предлагаю взглянуть на то, как выглядит и работает минимальное приложение, созданное с использованием инструментов, о которых я хочу здесь рассказать.


Минимальное приложение

Обратите внимание на то, как я встроил в это приложение страницу с github.com, однако всё остальное — это нативные компоненты, вроде верхней навигационной панели и нижней панели управления. При этом переходы между страницами приложения используют системные возможности. Делается это автоматически и не требует вмешательства в код сайта.

Прежде чем я расскажу о том, как это сделано, у вас может возникнуть вполне резонный вопрос: «Всё это хорошо, но можно ли, пользуясь методом, о котором идёт речь, создать что-то действительно полезное, а не нечто вроде простого «просмотрщика» веб-страниц в контейнере нативного приложения?».

Отличный вопрос. Собственно говоря, ответу на него и посвящена данная статья. Если в двух словах, то суть рассматриваемой здесь методики заключается в создании двустороннего канала связи между контейнером для вывода веб-содержимого и приложением. Приложению это даст возможность вызывать JavaScript-функции, находящиеся в контейнере, а контейнеру позволит обращаться к нативным API, расположенным за его пределами.

Взглянем на пример, иллюстрирующий вышесказанное.


Приложение для создания QR-кодов

Вот основные составные части этого приложения:

  1. Нативный навигационный заголовок, поддерживающий встроенные возможности переходов.
  2. Элемент WebView, в который встроено веб-приложение, генерирующее QR-коды.
  3. Системный компонент для ввода текстов в нижней части окна.

Описание всех этих элементов можно выполнить, просто приведя к соответствующему виду атрибуты JSON-разметки, подобной показанной выше.

И, наконец, обратите внимание на то, что тут показано и взаимодействие компонентов приложения. А именно, QR-код меняется после ввода новых данных. Делается это благодаря возможности вызова JavaScript-функции, расположенной внутри веб-приложения, которая отвечает за создание QR-кодов на основе переданных ей данных.

Надо отметить, что ни один из фреймворков для разработки мобильных приложений не пытался фундаментально решить проблему «прозрачной интеграции веб-контейнеров в нативные приложения», так как все они либо полностью ориентированы на системные возможности мобильных платформ, либо целиком полагаются на HTML5.

Когда говорят о будущем мобильных приложений, обычно всё крутится вокруг вопроса о том, какой из подходов победит: основанный на HTML5 или на нативных API. Что характерно, в подобных рассуждениях не поднимается тема сосуществования этих двух подходов, и, более того, не рассматривается эффект синергии, который, благодаря совместному использованию различных технологий, позволит достигать результатов, которые нелегко достигнуть, полагаясь лишь на что-то одно.

В этом материале я собираюсь рассказать о следующих вещах:

  • О том, почему совместное использование веб-кода и нативных компонентов — это, нередко, хорошая идея.
  • О том, почему прозрачная интеграция HTML и нативных компонентов — это непростая задача, и о том, как мне удалось её решить.
  • И, что самое важное, я расскажу о том, как вы можете использовать технологии, о которых пойдёт речь, для быстрой разработки собственных приложений.

Зачем использовать веб-технологии в мобильных приложениях?


Прежде чем продолжать, давайте сначала поговорим о том, нормально ли это — использовать возможности HTML и JS в мобильных приложениях, и о том, когда может пригодиться подобный подход. Вот несколько ситуаций, когда смешивание веб-технологий с нативными возможностями мобильных платформ может оказаться кстати.

▍1. Использование технологий, созданных для веб


Для реализации некоторых частей приложений может иметь смысл использование веб-технологий. Например, WebSocket — это технология, изначально ориентированная на веб. Для её использования можно применить встроенный в мобильную платформу веб-движок (WKWebView для iOS и WebView для Android) вместо установки сторонней библиотеки, которая попросту «эмулирует» WebSocket.

При таком подходе не нужно использовать дополнительные библиотеки, достаточно, применяя стандартные технологии, делать то, что нужно. Это ведёт нас к следующей ситуации.

▍2. Уменьшение размеров пакета приложения


Использование веб-технологий в мобильных приложениях помогает делать то, что без этих технологий потребовало бы огромных сторонних библиотек.

Например, для того, чтобы встроить в мобильное приложение генератор QR-кодов, понадобится сторонняя библиотека, которая увеличит размер пакета приложения. Однако если применить для этого стандартное средство для просмотра веб-страниц и JS-библиотеку, подключённую к странице с помощью простой конструкции <script>, можно получить всё необходимое без установки сторонних библиотек.

▍3. Решение проблемы отсутствия надёжных мобильных библиотек


Для некоторых новейших технологий пока не созданы их надёжные и стабильные мобильные реализации. Однако, большинство этих технологий доступны в веб-среде. В результате самый эффективный способ их интеграции в мобильные приложения заключается в использовании соответствующей JavaScript-библиотеки.

▍4. Разработка проектов, использующих и возможности мобильных платформ, и веб-приложений


Многие начинающие разработчики, которые хотят превратить свои веб-сайты в мобильные приложения, оказываются в непростой ситуации, по ходу дела выясняя, что некоторые функции их веб-проектов слишком сложны для того, чтобы воссоздать их с нуля для каждой из целевых мобильных платформ.

Например, одна из страниц некоего сайта может оказаться слишком сложной для того, чтобы быстро конвертировать её в формат мобильного приложения, в то время как всё остальное наполнение сайта без проблем портируется в мобильное приложение.

В подобном случае было бы очень кстати, если бы большую часть приложения можно было бы создавать средствами мобильной платформы, но какую-то особенно сложную страницу можно было бы прозрачно интегрировать в приложение в её исходном виде.

Как это работает?


▍A. Jasonette


Jasonette — это опенсорсный проект, направленный на создание кросс-платформенных нативных приложений, основанных на JSON-разметке.

Фреймворк Jasonette похож на веб-браузер, но, вместо того, чтобы превращать HTML-код в веб-страницы, он преобразует JSON-разметку в нативные приложения для iOS и Android. Сходство с браузером заключается и в том, что любое приложение, основанное на Jasonette, имеет одинаковый базовый код, который занимается интерпретацией различных наборов JSON-данных в процессе формирования итогового приложения. Разработчику не нужно работать с кодом библиотеки. Процесс создания приложения заключается в подготовке его JSON-описания, которое позволяет Jasonette, в реальном времени, преобразовывать веб-страницы в нативные приложения.

Подробности о Jasonette можно почитать здесь. В целом, можно сказать, что проект Jasonette направлен на разработку нативных приложений, а здесь мы поговорим о том, как интегрировать HTML-страницы в эти нативные приложения.

▍B. Jasonette Web Container


Сами по себе нативные мобильные приложения — это прекрасно, но иногда в них хочется использовать веб-технологии, что можно сделать с помощью стандартных веб-контейнеров. Однако, их интеграция в приложения — дело непростое. Вот что нужно для прозрачной интеграции веб-технологий в нативные приложения:
  1. Веб-контейнер должен представлять собой естественную часть интерфейса мобильного приложения. Контейнер должен выглядеть так же, как любой другой компонент пользовательского интерфейса приложения. В противном случае получится нечто неуклюжее, выглядящее как то, чем оно является на самом деле — веб-сайтом, который показывают в мобильном приложении.
  2. Родительское приложение должно иметь возможность контролировать дочерний веб-контейнер. При таком подходе приложение, частью которого является элемент управления для просмотра содержимого веб-страницы, будет иметь удобные средства для воздействия на него.
  3. Дочерний веб-контейнер должен иметь возможность вызывать системные события в родительском приложении. У веб-контейнера, встроенного в приложение, должны быть средства для обращения к нативным API.

На самом деле, реализация всего этого требует немалых усилий, поэтому я начал с первого пункта этого списка — с простого встраивания веб-контейнера в страницы нативных приложений. Так я выпустил первую версию JSON Web Container.

Эта штука оказалась полезной, но ей не хватало возможностей по взаимодействию родительского приложения с веб-контейнером. А именно, родительское приложение не могло контролировать веб-контейнер, а контейнер не мог обращаться к родительскому приложению. Как результат, контейнер оказывался полностью изолированным от своего окружения в виде приложения.

▍C. Jasonette Web Container 2.0: взаимодействие приложения и контейнера


После выпуска первой версии, я экспериментировал со второй частью вышеописанной задачи, которая заключалась в том, чтобы позволить контейнеру взаимодействовать с родительским приложением.
Поговорим о том, как мне удалось добавить обычному веб-контейнеру интерактивности, что сделало его гораздо более мощным и интересным.

Реализация: интерактивный Web Container


▍1. Загрузка по URL


Задача

Ранее, в первой версии, для того, чтобы использовать веб-контейнер в виде компонента для просмотра данных, сначала нужно было записать "html" в атрибут $jason.body.background.type, а затем, в атрибут $jason.body.background.text, ввести HTML-код.
{
  "$jason": {
    "head": {
      ...
    },
    "body": {
      "background": {
        "type": "html",
        "text": "<html><body><h2>Hello World</h2></body></html>"
      }
    }
  }
} 

Вполне естественно то, что разработчикам удобнее будет инициализировать контейнер, используя обычную ссылку на веб-страницу, вместо того, чтобы вводить весь HTML-код страницы в одну строчку.
Решение

В Web Container 2.0 появился атрибут url. Он поддерживает, в частности, локальные файлы. Благодаря использованию конструкции file://... в контейнере можно вывести файл, который поставляется вместе с приложением.
{
  "$jason": {
    "head": {
      ...
    },
    "body": {
      "background": {
        "type": "html",
        "url": "file://index.html"
      }
    }
  }
}

Аналогично осуществляется и вывод веб-страниц из интернета (с помощью конструкции вида http[s]://…).
{
  "$jason": {
    "head": {
      ...
    },
    "body": {
      "background": {
        "type": "html",
        "url": "https://news.ycombinator.com"
      }
    }
  }
}

▍2. Двустороннее взаимодействие приложения и веб-контейнера


Задача

Ранее веб-контейнеры использовались только для вывода некоего содержимого, они не могли взаимодействовать с основным приложением. Это означало, что следующие сценарии их использования были невозможны:
  1. Воздействие Jasonette на веб-контейнер. А именно, невозможно было вызывать JavaScript-функции, расположенные в контейнере, из Jasonette-приложения.
  2. Воздействие контейнера на Jasonette. Невозможно было вызывать нативные API из кода, расположенного в контейнере.

Веб-контейнер можно было использовать только для вывода страниц. Это похоже на то, как в обычные веб-страницы встраивают элементы iframe, когда страница не может получить доступ к тому, что находится внутри этих элементов.
Решение

Цель проекта Jasonette заключается в создании стандартного языка разметки, позволяющего описывать кросс-платформенные мобильные приложения. В данном случае нам нужен язык разметки, который может точно описать варианты взаимодействия между родительским приложением и дочерним веб-контейнером.

Для того чтобы этого достичь, я воспользовался технологией JSON-RPC, которая позволила наладить взаимодействие приложения и веб-контейнера. Так как всё в Jasonette выражается в виде JSON-объектов, совершенно естественным было использовать стандартный формат JSON-RPC в качестве коммуникационного протокола.


До использования JSON-RPC Jasonette и веб-контейнер взаимодействовать не могли. После внедрения JSON-RPC стала возможна двусторонняя коммуникация основного приложения и контейнера

Для того чтобы получить возможность вызывать JS-функции, находящиеся в веб-контейнере, мы объявляем действие $agent.request.

{
  "type": "$agent.request",
  "options": {
    "id": "$webcontainer",
    "method": "login",
    "params": ["username", "password"]
  }
}

$agent.request — это нативное API, которое инициирует JSON-RPC-запрос к веб-контейнеру. Для того чтобы воспользоваться этим механизмом, нужно передать ему объект options в качестве параметра.

Объект options — это и есть JSON-RPC-запрос, который будет отправлен веб-контейнеру.

Рассмотрим его атрибуты.

  • id: веб-контейнер построен поверх низкоуровневой архитектуры агентов (agent). Обычно с одним элементом view может быть ассоциировано несколько агентов, у каждого из них может быть уникальный идентификатор (ID). Однако веб-контейнер представляет собой особый тип агента, у которого может быть лишь идентификатор $webcontainer, именно поэтому мы используем в запросе данный идентификатор.
  • method: имя JavaScript-функции, которую нужно вызвать.
  • params: массив параметров, которые нужно передать вызываемой JS-функции.

Вот как выглядит полный код описываемой разметки:
{
  "$jason": {
    "head": {
      "actions": {
        "$load": {
          "type": "$agent.request",
          "options": {
            "id": "$webcontainer",
            "method": "login",
            "params": ["alice", "1234"]
          }
        }
      }
    },
    "body": {
      "header": {
        "title": "Web Container 2.0"
      },
      "background": {
        "type": "html",
        "url": "file://index.html"
      }
    }
  }
}

Рассмотрим смысл приведённого здесь кода.

При загрузке элемента ($jason.head.actions.$load) нужно выполнить JSON-RPC-запрос, описанный в options, к агенту веб-контейнера ($agent.request).

Параметры веб-контейнера заданы в $jason.body.background, в данном случае здесь осуществляется загрузка локального файла file://index.html.

В ходе обращения к контейнеру будет осуществлён поиск функции login, которой, при вызове, благодаря params, будет передано два аргумента — "alice" и "1234". Выглядеть это будет так:

login("alice", "1234")

Тут я рассказал лишь о том, как родительское приложение может вызывать JS-функции из веб-контейнера, однако возможен и обратный процесс, когда контейнер обращается к приложению для вызова нативных API. Подробности об этом можно узнать в документации по агентам.
Пример

Обсудим пример приложения для создания QR-кодов, которое вы уже видели выше.
Приложение для создания QR-кодов
  1. Компонент для ввода текста в нижней части окна на 100% нативен.
  2. QR-код генерируется веб-приложением, размещённым в веб-контейнере.
  3. Когда пользователь вводит некий текст в поле и нажимает кнопку Generate, осуществляется вызов действия $agent.request агента веб-контейнера, что приводит к вызову JS-функции qr.

Код этого приложения можно посмотреть здесь

▍3. Внедрение скриптов


Задача

Иногда нужно динамически внедрять JavaScript-код в веб-контейнеры уже после того, как в них загружен исходный HTML-код.

Представьте, что вы хотите создать собственный веб-браузер. Для этого вам может понадобиться внедрять свои JS-скрипты в каждый веб-контейнер для того, чтобы иметь возможность влиять на его поведение. Собственно говоря, примерно так работают расширения для веб-браузеров.

Даже если вы не занимаетесь разработкой веб-браузера, вам может понадобиться использовать внедрение скриптов в том случае, если вам нужно обеспечить необходимое поведение страниц, которыми вы не можете управлять напрямую. Единственный способ взаимодействия мобильного приложения и веб-контейнера заключается в использовании API $agent. Но если вы не можете изменить HTML-содержимое, единственный способ добавления интерфейса $agent в веб-контейнер заключается в динамическом внедрении скриптов.

Решение

Как уже было сказано, веб-контейнер $jason.body.background — это всего лишь агент. Это означает, что при работе с ним можно использовать тот же метод $agent.inject, что и при работе с обычными агентами.
Внедрение JS-кода в страницу, загруженную в веб-контейнер

▍4. Обработка переходов по URL


Ранее веб-контейнер мог обрабатывать щелчки по ссылкам лишь двумя способами, пребывая в одном из двух режимов.
  1. В режиме «только чтение» веб-контейнер рассматривается как элемент только для чтения, при этом все события, такие, как касание или прокрутка, игнорируются. Все веб-контейнеры находятся в состоянии только для чтения до тех пор, пока их не переключат в режим обычного браузера, так, как описано ниже.
  2. В режиме «обычный браузер» веб-контейнер может взаимодействовать со страницей так, как будто мы работаем с обычным браузером. Включить этот режим можно, записав в атрибут action значение "type": "$default".

Задача

Проблема тут заключается в том, что оба рассмотренных выше варианта — это решения представляющие собой концепцию «всё или ничего».

При работе в режиме «только чтение» контейнер игнорирует все воздействия пользователя.

При работе в режиме «обычный браузер» веб-контейнер работает, в буквальном смысле, как браузер. Когда пользователь касается ссылки, страница, на которую ведёт эта ссылка, загружается. При этом у разработчика нет возможности перехватить это событие и вызвать, например, какое-то нативное API.

Решение

Благодаря возможностям нового веб-контейнера можно задать в $jason.body.background атрибут action, который содержит описание механизма обработки щелчков по ссылкам.
Действие для обработки взаимодействий со ссылками

Рассмотрим пример.

{
  "$jason": {
    "head": {
      "actions": {
        "displayBanner": {
          "type": "$util.banner",
          "options": {
            "title": "Clicked",
            "description": "Link {{$jason.url}} clicked!"
          }
        }
      }
    },
    "body": {
      "background": {
        "type": "html",
        "url": "file://index.html",
        "action": {
          "trigger": "displayBanner"
        }
      }
    }
  }
}

Тут мы прикрепили к веб-контейнеру действие "trigger": "displayBanner". Это означает, что когда пользователь щёлкает по любой ссылке, выводимой на странице, отображаемой в веб-контейнере, будет вызвано действие displayBanner. При этом сам веб-контейнер не будет обрабатывать щелчок по ссылке.

Кроме того, если проанализировать событие displayBanner, можно заметить переменную $jason. В данном случае ссылка, по которой был сделан щелчок, будет передана действию через эту переменную. Например, если щёлкнуть по ссылке, в которой содержится адрес "https://google.com", в $jason попадёт следующее:

{
  "url": "https://google.com"
}

Это означает, что анализируя значение $jason.url можно вызывать различные действия.

Рассмотрим ещё один пример, представляющий собой реализацию веб-браузера.

{
  "$jason": {
    "head": {
      "actions": {
        "handleLink": [{
          "{{#if $jason.url.indexOf('signin') !== -1 }}": {
            "type": "$href",
            "options": {
              "url": "file://key.html"
            }
          }
        }, {
          "{{#else}}": {
            "type": "$default"
          }
        }]
      }
    },
    "body": {
      "background": {
        "type": "html",
        "url": "file://index.html",
        "action": {
          "trigger": "handleLink"
        }
      }
    }
  }
}

Тут мы проверяем, содержит ли URL строку signin, и, в зависимости от результатов проверки, выполняем различные действия.
  1. Если URL содержит signin, открывается нативное окно для входа в систему.
  2. Если URL этой строки не содержит, выполняется действие, задаваемое параметром "type": "$default", в результате наша программа ведёт себя как обычный браузер.

Примеры


▍Разработка веб-браузера


Теперь мы можем воспользоваться возможностями нового элемента Web Container для разработки приложений. А именно, речь идёт о следующем:
  1. Возможность стандартной обработки щелчков по ссылкам, что соответствует поведению обычного браузера.
  2. Возможность обрабатывать щелчки по ссылкам, основываясь на их содержимом.

Всё это даёт нам возможность, например, создать собственный браузер, написав буквально полтора десятка строк JSON-кода. Так как теперь мы можем перехватывать щелчки по ссылкам, мы можем анализировать $jason.url и выполнять действия, соответствующие различным URL.

Рассмотрим пример.


Стандартное поведение браузера

Здесь веб-контейнер ведёт себя как обычный браузер ("type": "$default").


Поведение, основанное на анализе параметра $jason.url

Здесь при щелчке по ссылке применяется нативный переход между страницами.

Этого можно достичь, обрабатывая различные действия, основываясь на значении $jason.url.

Первым шагом создания подобного приложения служит присоединение к веб-контейнеру действия visit.

{
  ...
  "body": {
    "background": {
      "type": "html",
      "url": "https://news.ycombinator.com",
      "action": {
        "trigger": "visit"
      }
    }
  }
}

Второй шаг заключается в выполнении в действии visit соответствующей операции, основанной на анализе $jason.url.

Ниже показано, как мы проверяем, содержатся ли в $jason.url строки newest, show, ask, и так далее (они представляют собой ссылки в верхнем меню). Если нечто подобное удаётся найти — мы позволяем веб-контейнеру вести себя как обычный браузер, задавая значение "type": "$default".

Если соответствия вышеописанному шаблону найти не удалось, мы производим нативный переход $href к новому окну, передавая URL, по которому щёлкнул пользователь, в виде параметра.

...
"actions": {
  "visit": [
    {
      "{{#if /\\/(newest|show|ask)$/.test($jason.url) }}": {
        "type": "$default"
      }
    },
    {
      "{{#else}}": {
        "type": "$href",
        "options": {
          "url": "https://jasonette.github.io/Jasonpedia/webcontainer/agent/hijack.json",
          "preload": {
            "background": "#ffffff"
          },
          "options": {
            "url": "{{$jason.url}}"
          }
        }
      }
    }
  ]
},

Здесь можно посмотреть полный JSON-код этого примера, который, кстати, занимает всего 48 строк.

▍Быстрая разработка «гибридного» приложения


Под «гибридными» приложениями обычно подразумевают обычные веб-приложения, «завёрнутые» в нативные мобильные приложения.

Однако тут мы имеем в виду кое-что другое. В нашем случае речь идёт о настоящих гибридных приложениях, когда у одного и того же приложения может одновременно быть несколько нативных представлений и несколько веб-представлений. Кроме того, одно представление такого приложения может иметь несколько нативных компонентов пользовательского интерфейса и веб-контейнер, причём, всё это выводится в одном нативном макете.

Переход между элементом управления, выводящим веб-содержимое и стандартными элементами управления должен быть настолько незаметным, чтобы сложно было бы обнаружить границу между ними.


Гибридное приложение

В этом примере я создал приложение, которое выводит сайт jasonbase.com в веб-контейнере, выступающем в роли основного элемента для визуализации данных.

Jasonbase — это бесплатный хостинг, который я создал специально для размещения JSON-разметки приложений, основанных на Jasonette.

На самом деле, это — обычный сайт, но я встроил его в Jasonette-приложение, в результате, при щелчках по ссылкам, вместо обычной процедуры открытия веб-страницы, вызывается нативный переход $href в нативном же элементе JASON.

Мне не пришлось дорабатывать код Jasonbase.com для того, чтобы создать это приложение. Я просто встроил веб-сайт в Jasonette-приложение в виде веб-контейнера и перехватил щелчки по ссылкам для обработки их нативными средствами, что, в частности, позволило воспользоваться переходами, и, при необходимости, позволит пользоваться и другими возможностями платформы, на котором работает приложение.

Код этого примера можно найти здесь.

Итоги


Полагаю, что всё это замечательно работает по той причине, что все сложные действия выполняются на уровне фреймворка, а этот уровень скрыт от разработчика.

При обычном подходе разработчику, для того, чтобы достичь похожего результата, пришлось бы взять на себя решение следующих задач:

  • Встраивание веб-контейнера в нативный макет.
  • Создание JavaScript-моста, позволяющего приложению вызывать функции из контейнера.
  • Создание системы обработки событий, благодаря которой контейнер может обращаться к основному приложению, вызывая нативные API.

Решением этих проблем, в случае с Jasonette, стало создание уровня абстракции, состоящего из следующих основных частей:
  1. Декларативный язык разметки, который служит для описания того, как именно веб-контейнер должен быть встроен в нативное приложение.
  2. Коммуникационный протокол (JSON-RPC), который, крайне просто, позволяет организовать взаимодействие между родительским приложением и веб-контейнером.

Не берусь говорить о том, что это — решение всех проблем, но я с удовольствием отмечаю, что то, о чём я тут рассказал, очень пригодилось мне.

Я пытался создать приложение, использующее новейшую технологию, у которой не было стабильной и надёжной мобильной реализации (и неясно было, появится ли нечто подобное в обозримом будущем из-за особенностей того, о чём я говорю). Однако, к моему счастью, имелась JS-реализация этой технологии, что позволило мне без проблем интегрировать её в приложение.

В целом, говоря о новых возможностях Jasonette, могу сказать, что то, что получилось, мне очень нравится. Вот, кстати, документация по проекту, отражающая нововведения.

Теперь мне хотелось бы сделать одно важное, на мой взгляд, замечание: «Большая сила — это большая ответственность». Возможности, которые обрёл проект Jasonette, огромны, поэтому, полагаю, разработчикам, пользующимся этим фреймворком, нужно помнить о балансе возможностей мобильных платформ и HTML, позволяющем создавать приложения, с которыми будет удобно и приятно работать.

Кто-то может взять Jasonette и создать приложение, основанное исключительно на веб-контейнерах. Такое «приложение» правильнее будет называть «веб-сайтом». Подобный подход ставит под вопрос необходимость создания выделенного приложения.

Я хочу обратить ваше внимание на то, что я не призываю к тому, чтобы всегда создавать приложения, в которых обязательно используются и возможности мобильных платформ, и HTML-страницы. Я лишь пытаюсь сказать, что подобный подход может оказаться полезным во множестве ситуаций. Однако тут важно не перестараться, не перейти границы разумного использования технологий.

В итоге хочу сказать, что существует множество ситуаций, в которых возможности обмена данными между базовым приложением Jasonette и веб-контейнером позволяют креативно и красиво решать самые разные задачи. Надо отметить, что здесь мы обсудили лишь основы. Самое интересное — впереди.

Уважаемые читатели! Планируете ли вы использовать Jasonette для разработки кросс-платформенных мобильных приложений?

Как установить приложение в телефон на Android

Думаю, все из нас пользуются телефонами, бывает такое, что нам нужно установить какое-то приложение, но не все мы знаем как это сделать. Конечно, молодежь мне сразу возразит «как это не знаем – знаем сейчас покажем». Но, а что скажут те, кто с телефоном общается не так плотно? В этой статье я расскажу, как установить приложение на свой телефон с операционной системой Андроид из Play Market или Google Play. Если вам не интересна эта тема, то смело переходите к другим статьям.

Как установить приложение на Андроиде

Для того чтобы установить приложение на Андроиде первое что вам необходимо сделать это определиться с тем какое приложение вы хотите установить. Будет это приложений Вконтакте, ЧекCкан, AppCent или какое то другое приложение, не важно. Инструкция по установке на Android будет примерно одинакова во всех случаях.

Если вы уже знаете название приложение, которое хотите установить?

Переходите в Play Market или Google Play в самом верху вы видите поисковую строку, в ней вам необходимо ввести название нужного вам приложения.

Google Play основная станица

Далее после ввода названия перед вами появляется список всех приложений, которые подходят по вашему поисковому запросу. Выбираете вариант нужный именно вам и нажимаете на него.

Google Play Поиск приложений car rental

После этих действий вы оказываетесь на главной странице устанавливаемого вами приложения с детальным его описанием, отзывами, фотографиями и видео (если оно конечно загружено создателем). Здесь вам необходимо нажать на кнопку «Установить».

Google Play Страница приложения Cars Rental

Перед вами появляется всплывающее pop up окно. В котором вам подробно сообщается,  какие именно данные могут потребоваться приложению. Для дальнейшей установки просто нажимаете на кнопку «Принять».

Google Play Страница приложения Cars Rental установка требования

Далее происходит сам процесс установки приложения, выглядит он примерно, так как показано на картинке ниже.

Google Play Страница приложения Cars Rental установка

После того как приложение будет установлено на главной странице приложения у вас вместо кнопки «Установить» появятся две другие «Удалить» и «Открыть». Соответственно на этом сам процесс установки завершен просто нажимаете на кнопку «Открыть» и успешно пользуетесь приложением.

Google Play Страница приложения Cars Rental установлнное приложение

Если вы не знаете название приложение?

Допустим, вы хотите установить приложение, но еще не определились какое именно. В этом случае вы можете воспользоваться стандартными вкладками, находящимися на главной странице Google Play (Play Market). Чуть ниже главного меню вы увидите подраздел по «Категории», нажимаете на него.

Google Play основная станица

Сразу же после нажатия перед вами откроется раздел с категориями. Выбираете нужную именно вам категорию и нажимаете на нее.

Google Play страница категорий на главной

Далее перед вами появляется новое окно с под категориями этого раздела. Выбираете нужную вам под категорию и нажимаете над ней на кнопку «Еще».

Google Play страница категории с подразделами на главной

В следующем окне вы увидите список приложений, которые вы можете установить.

Google Play страница подкатегории с приложениями на главной

Для более подробного ознакомления просто нажимаете на иконку понравившегося вам приложения. Если оно вам подходит, устанавливаете его (как устанавливать я описывал выше), если нет, то возвращаете в прошлое меню.

Итог

На этом все, что я хотел описать в данной статье, надеюсь, теперь ни у кого из вас не возникнет проблем с установкой приложений на телефон. Всем как обычно море позитива и добра :)

Если вам была полезной и понравилась статья про установку приложений на телефон с операционной системой Андроид, пишите свои комментарии и предложения. С уважением Юрий, до встречи на страницах блога iprodvinem.ru.

Приложения по умолчанию на Android

&nbsp для начинающих | мобильные устройства

На Android, также как в большинстве других ОС есть возможность задать приложения по умолчанию — те приложения, которые будут автоматически запускаться для определенных действий или открытия типов файлов. Однако, настройка приложений по умолчанию не совсем очевидна, особенно для начинающего пользователя.

В этой инструкции — подробно о том, как установить приложения по умолчанию на Android телефоне или планшете, а также о том, как сбросить и изменить уже заданные для тех или иных типов файлов умолчания.

Как задать основные приложения по умолчанию

В настройках Android есть специальный раздел, который так и называется «Приложения по умолчанию», к сожалению, достаточно ограниченный: с его помощью вы можете установить только ограниченный набор основных приложений по умолчанию — браузер, номеронабиратель, приложение для сообщений, оболочку (launcher). Это меню разнится на разных марках телефонов, но в любом случае достаточно ограничено.

Для того, чтобы зайти в настройки приложений по умолчанию, зайдите в Настройки (шестеренка в области уведомлений) — Приложения. Далее путь будет следующим.

  1. Нажмите по иконке «Шестеренка», а затем — «Приложения по умолчанию» (на «чистом» Android), по пункту «Приложения по умолчанию» (на устройствах Samsung). На других устройствах могут быть отличающиеся, но похожие расположения нужного пункта (где-то за кнопкой настроек или на экране со списком приложений). 
  2. Задайте приложения по умолчанию для нужных вам действий. Если приложение не задано, то при открытии какого-либо контента Android будет спрашивать, в каком приложении его открыть и сделать это только сейчас или открывать в нем всегда (т.е. установить приложением по умолчанию). 

Следует учитывать, что при установке приложения того же типа, что задано по умолчанию (например, еще одного браузера), ранее заданные в пункте 2 настройки обычно сбрасываются.

Установка приложений по умолчанию Android для типов файлов

Предыдущий способ никак не позволяет задать чем будут открываться те или иные типы файлов. Однако, способ задать приложения по умолчанию для типов файлов также имеется.

Для этого достаточно открыть любой файловый менеджер (см. Лучшие файловые менеджеры для Android), в том числе встроенный в последние версии ОС файловый менеджер, который можно найти в «Настройки» — «Хранилище и USB-накопители» — «Открыть» (пункт находится внизу списка).

После этого — открыть нужный файл: если приложение по умолчанию для него не задано, то будет предложен список совместимых приложений для его открытия, а нажатие кнопки «Всегда» (или подобной в сторонних файловых менеджерах) задаст его используемым по умолчанию для этого типа файлов.

Если же приложение для этого типа файлов уже было задано в системе, то сначала потребуется сбросить настройки по умолчанию для него.

Сброс и изменение приложений по умолчанию

Для того, чтобы сбросить приложения по умолчанию на Android, зайдите в «Настройки» — «Приложения». После этого выберите то приложение, которое уже задано и для которого будет выполнятся сброс.

Нажмите по пункту «Открывать по умолчанию», а затем — кнопку «Удалить настройки по умолчанию». Примечание: на телефонах не со стоковым Android (Samsung, LG, Sony и др.) пункты меню могут несколько отличаться, но суть и логика работы остаются теми же самыми.

После выполнения сброса, вы можете использовать ранее описанные способы для того, чтобы задать нужные соответствия действий, типов файлов и приложений.

А вдруг и это будет интересно:

Как изменить приложение по умолчанию на Андроид


Как изменить приложение по умолчанию на Андроид


Как изменить приложение по умолчанию на Андроид. В операционной системе Android предусмотрена такая полезная функция как установка приложение по умолчанию для открытия определенных файлов или ссылок. Но что делать если необходимо сменить/удалить приложение по умолчанию?

Компания Google еще на ранних версиях предусмотрела такую возможность в мобильной операционной системе Android как «Приложение по умолчанию». Данная функция позволит вам использовать определенное приложение для открытия определенных ссылок, как пример можно привести назначение браузера, который будет открываться при нажатие на ссылку в любом приложение, либо же можно назначить определенное приложение для открытие офисных документов, все это благодаря «Приложениям по умолчанию».

Но что делать, если вам нужно сменить умолчания и сделать переназначение? Подробно как назначить приложение по умолчанию и как после сменить/удалить его читайте в этой статье!

Назначить приложение по умолчанию

Вариант 1

Если у вас установлено несколько схожих приложений которые выполняют одинаковую работу или если у вас установлен сервис который работает по конкретному адресу (установлен twiiter и вам пришла ссылка на пост twitter), то ОС Android выведет диалог о том через что открыть или что назначить главным. Вам остается только сделать свой выбор и нажать использовать «Всегда«.

Как изменить приложение по умолчанию на Андроид

Вариант 2

Если вы находитесь в файловом менеджере, то тапните по файлу и вам будет предложено открыть его через определенные приложения, а внизу пункт «Установить по умолчанию», нажав на который, данный диалог больше показываться не будет и будет назначена программа из списка которую вы выберите.

Как изменить приложение по умолчанию на Андроид

Как в Android сменить/удалить приложение по умолчанию?

Все очень просто! Вам необходимо сделать следующие действия:

1. Перейдите в меню настроек Android

Как изменить приложение по умолчанию на Андроид

2. Раздел Приложения

3. Выберете приложение которой открывает что-либо по умолчанию и вам необходимо выполнить удалить или выполнить переназначение

4. Выбрать параметр «Открывать по умолчанию»

Как изменить приложение по умолчанию на Андроид

5. Нажать кнопку «Удалить настройки по умолчанию»

Как изменить приложение по умолчанию на Андроид

Теперь  у вас снова появится открывать файл или ссылку с выбором приложений или назначить другое.




 

Как сделать свой Android-смартфон не похожим на другие

Android — гибко настраиваемая операционная система, но если вам надоел её внешний вид, установки кастомного лаунчера может оказаться недостаточно, существуют другие, более радикальные инструменты для изменения её интерфейса. О них мы расскажем сегодня.

Самый простой способ изменить внешний вид Android — установить новый лаунчер взамен стандартного. В Google Play Маркете можно найти проверенную временем классику вроде Nova иди Apex, но также более экспериментальные лаунчеры (к примеру, с сортировкой приложений на основе цвета их иконок). Какой вы выберете — дело вашего вкуса.

KLWP Live Wallpaper Maker

KLWP Live Wallpaper Maker

Это приложение позволяет создавать уникальные живые обои, которых нет больше ни у кого. За основу берётся какое-либо изображение, которое вы можете изменить как угодно, добавить градиент, любой текст и даже виджет. Обычно живые обои показывают зацикленное видео или анимацию, но не KLWP. Обои, созданные в этом приложении, гораздо более полезные — они могут показывать новости, погоду, расписание, кнопки для управления плеером и многое другое. Для приложения выпущено множество плагинов с дополнительной кастомизацией.

KWGT Kustom Widget Maker

KWGT Kustom Widget Maker

С помощью этого приложения можно создавать уникальные виджеты. Виджеты могут быть какими угодно: с часами, прогнозом погоды, датчиками аккумулятора и памяти, картами, кнопками для управления плеером и т.п. В Play Маркете можно найти несколько десятков уже готовых виджетов с дополнительными настройками внешнего вида.

Minimalist Wallpaper




Minimalist Wallpaper — простое приложение с доступом к тысяче с лишним обоев, выполненных в минималистичном стиле. Обои рассортированы по категориям. Любое изображение можно прямо в этом приложении увеличить, кадрировать, отредактировать, в общем — подогнать конкретно под рабочий стол конкретного смартфона.

Dynamic Notifications

Dynamic Notifications

Dynamic Notifications позволяет настроить внешний вид уведомлений на странице блокировки, а также отфильтровать приложения, от которых вы не хотите получать уведомления. Оно использует датчики смартфона и экономит энергию, запрещая экрану загораться, если смартфон лежит в сумке, кармане или задней крышкой кверху. Что самое крутое — это приложение добавляет любому смартфону функцию Always On (экран сам загорается при получении уведомления, нажимать на кнопку включения не нужно).


Floatify Lockscreen добавляет смартфонам на старых версиях Android одно из главных нововведений Nougat — возможность отвечать на сообщения в мессенджерах через шторку уведомлений или со страницы блокировки. Если сообщение не требует ответа или вам нечего сказать, вы можете пометить его прочитанным, чтобы оно больше вас не беспокоило.

Xposed Framework

Xposed Framework

Xposed Framework — набор всевозможных твиков для изменения внешнего вида и функциональности Android. Он устанавливается только на устройства с root-доступом и в настоящее время не совместим с Android Nougat. В репозитории этого фреймворка можно найти сотни твиков, утилит, приложений и активаторов скрытых системных настроек.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *