- Как пользоваться Android
- Настройка аккаунта Google
- Интерфейс Android
- Экран блокировки
- Домашний экран
- Панель уведомлений
- Кнопки навигации
- Как пользоваться Android
- Создание и импорт контактов
- Как совершать звонки
- Установка приложений
- Интерфейс приложения
- Сайдбар
- Плавающая кнопка
- Переключение вида
- Кнопка меню
- Выводы
- Как работает Android, часть 1
- Немного фактов
- Android is Linux
- It’s all about apps
- Binder
Как пользоваться Android
Android — это самая популярная операционная система для смартфонов в мире, но многие люди до сих пор пользуются простыми телефонами. По сравнению с возможностями, которые предоставлял обычный телефон десять лет назад, Android смартфоны можно сравнить с компьютерами, как по возможностям, так и по характеристикам, если брать флагманские модели. Если вы недавно купили свой первый смартфон на Android, эта инструкция поможет вам разобраться в его функциях и подготовить телефон к работе.
Наличие смартфона откроет более простой путь к видео, статьям и социальным сетям, а также различным группам по интересам. Возможностей просто огромное количество и главное удобство в том, что они доступны везде, где есть интернет, а не только дома, перед компьютером. Но все это может показаться сложным для новичков. В этой статье мы рассмотрим как пользоваться Android для начинающих.
Настройка аккаунта Google
Аккаунт Google — это центр вашего устройства. Конечно, вы могли бы работать и без него, но он дает массу преимуществ. С помощью него можно синхронизировать множество вещей, например, ваши контакты, электронные адреса, подписки на Youtube, все приложения и их данные, ваши фото и многое другое. Вплоть до того, что с помощью аккаунта можно отслеживать положение устройства по GPS. Поэтому важно подключить его.
Телефон предложит вам добавить аккаунт во время установки, но если вы этого не сделали, откройте настройки, выберите «Учетные записи» и нажмите на кнопку «Добавить аккаунт», затем выберите «Google»:
Когда аккаунт будет добавлен система спросит вас, какие данные вы хотите синхронизировать.
Интерфейс Android
Каждый производитель смартфонов вносит свои небольшие изменения во внешний вид чистого Android. Но это, в основном, дополнительные возможности и исправления, а основные элементы расположены везде одинаково. Особенно, если вы используете Android 5.0 или более новой версии.
Экран блокировки
Когда вы нажимаете кнопку включения смартфона, то попадаете на экран блокировки. Основные функции смартфона заблокированы, тут вы можете только посмотреть уведомления, часы и открыть одно из приложений с помощью ярлыка. Если вы настраивали функции безопасности, то для разблокировки смартфона вам придется ввести пин код, графический ключ или коснуться сканера отпечатка пальца, если ваш телефон поддерживает такую возможность.
Домашний экран
Теперь вы попадаете на домашний экран. Здесь расположены ярлыки приложений, папки и ярлыки меню, в котором вы можете получить доступ ко всем установленным приложениям. В некоторых прошивках меню расположено прямо на домашнем экране, но в чистом Android, на домашнем экране именно ярлыки. Вверху может находиться строка поиска Google, посередине добавленные вами ярлыки приложений, которые можно листать вправо-влево, а в самом низу несколько ярлыков часто используемых программ, которые закреплены на каждом рабочем столе, среди них ярлык меню, по центру на снимке:
Панель уведомлений
Если вы раньше никогда не использовали смартфонов, то можете не знать что такое уведомления. Это небольшие сообщения, которые отправляют вам приложения. Это может быть уведомление о полученном сообщении по Email или же уведомление о том, что приложение нуждается в обновлении. Все уведомления собраны в одном месте и отсортированы в обратном хронологическом порядке.
Чтобы открыть панель уведомлений достаточно потянуть пальцем вниз от верхней кромки экрана. Чтобы удалить одно из уведомлений протяните его вправо, или нажмите на него, чтобы открыть приложение.
Над уведомлениями вы можете увидеть кнопки, с помощью которых можно включить wifi, bluetooth, режим полета и другие подобные возможности. Это быстрые кнопки. Протяните еще раз вниз по панели уведомлений и перед вами откроется более полный список. Чтобы открыть меню настроек, связанное с этим значком, достаточно просто нажать и подержать его.
Если вы установили программу и она отправляет вам слишком много уведомлений, просто нажмите на одно из ее уведомлений и выберите «Блокировать все уведомления», больше сообщений от этой программы вы не получите.
Кнопки навигации
Немного ниже под иконками приложений и вашими ярлыками, в самом низу экрана находятся три кнопки навигации, которые вы можете использовать для управления вашим Android смартфоном. Они еще известны как панель навигации. На большинстве устройств это Назад, Домой и Последние приложения. Некоторые производители, например, Samsung или OnePlus размещают их в обратном порядке, сначала последние приложения, потом домой и назад. Кнопка «Домой» возвращает вас на домашний экран.
Кнопка «Назад» позволяет вам вернуться на один шаг назад, очень часто используется как в меню, так и в приложениях.
Кнопка «Последние приложения» отображает список всех недавно использовавшихся программ. Чтобы закрыть приложение, просто смахните его в сторону. Отсюда же вы можете переключаться между приложениями чтобы не выходить в меню.
Как пользоваться Android
Создание и импорт контактов
Если вы вошли в уже существующий аккаунт Google, то все контакты, которые в нем были, уже синхронизированы на ваше устройство. Это позволяет очень просто синхронизировать контакты со старого телефона. Если же у вас не было книги контактов, вам нужно их добавить. Вы можете найти приложение «Контакты» или «Люди». Название приложения может отличаться в зависимости от производителя, но всегда иконка напоминает записную книжку.
Откройте приложение и нажмите кнопку со значком «+» чтобы создать новый контакт. Если вы делаете это впервые приложение спросит куда вы хотите сохранять ваши контакты, выберите аккаунт Google. Дальше введите имя и номер человека, а также другую информацию, которую вы хотите о нем указать. После этого нажмите завершить.
Как совершать звонки
Перед тем как совершать звонки, убедитесь, что в ваш телефон установлена сим-карта. Имя вашего оператора отображается в шторке уведомлений, если там написано «Нет сети», значит карта не установлена и вам нужно ее установить. Дальше откройте приложение «Телефон». У большинства производителей оно находится на панели ярлыков и имеет иконку с телефонной трубкой.
По умолчанию приложение отображает вам последние звонки, но здесь есть несколько вкладок, где перечислены все ваши контакты и есть поле для ввода номера. Вы можете нажать кнопку с точками чтобы отобразить панель набора номера:
Если у вас две сим-карты, то приложение выведет две трубки, чтобы вы смогли выбрать с какой сим карты осуществить звонок. Когда вам кто-либо звонит и телефон заблокирован, то достаточно провести пальцем от середины экрана к зеленой трубке, чтобы начать разговор. Для сброса звонка просто проведите в обратную сторону. Если вы будете использовать телефон во время звонка, то уведомление о звонке появится в верхней части экрана.
Установка приложений
Как только вы разберетесь с основными возможностями Android, сразу же пойдете устанавливать приложения. Единственный способ сделать это официально — использование Android Google Play. Вы можете найти иноку Play Store на домашнем экране:
Если вы еще не вошли в аккаунт Google, вам предложат сделать это сейчас. После этого вы попадаете на главный экран приложения здесь будут размещены самые популярные приложения, а также приложения, которые рекомендованы именно вам. Если вам нужно найти какую-либо определенную программу, воспользуйтесь поиском.
Когда вы найдете приложение и перейдете на его страницу, достаточно нажать «Установить» для его установки. Когда приложение будет установлено, вы сможете найти его иконку в главном меню.
Но о приложениях вам нужно узнать еще кое-что. В Google Play постоянно находят какие-либо вредоносные программы и удаляют их оттуда, но вы не можете быть на 100% уверены, в программах, которые устанавливаете. Поэтому обращайте внимание на такие показатели:
- Разработчик — если вы устанавливаете программу от известного разработчика, то, скорее всего, ему можно доверять, к известным разработчикам можно отнести Google, Microsoft и другие компании. Также стоит обратить внимание на иконку «Выбор редакции», эти приложения отобраны специалистами из Google, а значит им можно доверять;
- Количество загрузок — это тоже немаловажный фактор, если программу загружает большое количество пользователей, то, возможно, она стоит того;
- Оценка — чем выше оценка, тем лучше для приложения.
Еще хочу обратить ваше внимание, что обычно память телефона и память приложений разделены, так что если для приложений не хватает места, то нужно удалять не фотографии, а другие приложения и их данные. Если сейчас вам интересно, какие приложения установить, в одной из статей мы собрали новые приложения Android, которые могут быть очень интересными.
Интерфейс приложения
Последнее, на чем мы остановимся в статье Android для чайников, это интерфейс отдельных приложений. Все они выглядят похоже и работают почти одинаково, но новым пользователям может быть сложно понять что к чему.
Сайдбар
Большинство приложений прячут свою основную функциональность в сайдбар, который можно открыть проведя пальцем по экрану слева направо. Если вы не видите нужной настройки или возможности в видимой области экрана, попробуйте открыть сайдбар:
В том же Google Play мы можем видеть, что множество опций вынесены в это меню.
Плавающая кнопка
Для совершения определенных действий, таких, как добавление новых данных, контактов, сообщений, в большинстве приложений используется плавающая кнопка внизу экрана, обычно она обозначается знаком «+» или чем-то подобным:
Например, в Gmail, при нажатии на эту кнопку создается новое письмо.
Переключение вида
Навигация в Android построена на использовании жестов. Если приложение имеет несколько вкладок, вы можете переключаться между ними просто проведя пальцем справа налево и наоборот.
Кнопка меню
Кроме сайдбаров, приложения могут использовать раскрывающееся меню для различных функций и настроек. Эта кнопка может выглядеть как три горизонтальные линии, размещенные в виде бутерброда или просто три точки. При открытии меню вы можете выбрать нужную вам настройку:
Выводы
В этой статье мы рассмотрели как пользоваться Android для начинающих. Это довольно простая операционная система, и если вы потратите немного времени, чтобы разобраться в ней, то потом сможете использовать все ее возможности на полную мощность. Надеюсь, эта инструкция по использованию android была вам полезной. Если у вас остались вопросы, спрашивайте в комментариях!
Источник
Как работает Android, часть 1
В этой серии статей я расскажу о внутреннем устройстве Android — о процессе загрузки, о содержимом файловой системы, о Binder и Android Runtime, о том, из чего состоят, как устанавливаются, запускаются, работают и взаимодействуют между собой приложения, об Android Framework, и о том, как в Android обеспечивается безопасность.
Немного фактов
Android — самая популярная операционная система и платформа для приложений, насчитывающая больше двух миллиардов активных пользователей. На ней работают совершенно разные устройства, от «интернета вещей» и умных часов до телевизоров, ноутбуков и автомобилей, но чаще всего Android используют на смартфонах и планшетах.
Android — свободный и открытый проект. Большинство исходного кода (который можно найти на https://source.android.com) распространяется под свободной лицензией Apache 2.0.
Компания Android Inc. была основана в 2003 году и в 2005 году куплена Google. Публичная бета Android вышла в 2007 году, а первая стабильная версия — в 2008, с тех пор мажорные релизы выходят примерно раз в год. Последняя на момент написания стабильная версия Android — 7.1.2 Nougat.
Android is Linux
По поводу такой формулировки было много споров, так что сразу поясню, что именно я имею в виду под этой фразой: Android основан на ядре Linux, но значительно отличается от большинства других Linux-систем.
Среди исходной команды разработчиков Android был Robert Love, один из самых известных разработчиков ядра Linux, да и сейчас компания Google остаётся одним из самых активных контрибьюторов в ядро, поэтому неудивительно, что Android построен на основе Linux.
Как и в других Linux-системах, ядро Linux обеспечивает такие низкоуровневые вещи, как управление памятью, защиту данных, поддержку мультипроцессности и многопоточности. Но — за несколькими исключениями — вы не найдёте в Android других привычных компонентов GNU/Linux-систем: здесь нет ничего от проекта GNU, не используется X.Org, ни даже systemd. Все эти компоненты заменены аналогами, более приспособленными для использования в условиях ограниченной памяти, низкой скорости процессора и минимального потребления энергии — таким образом, Android больше похож на встраиваемую (embedded) Linux-систему, чем на GNU/Linux.
Другая причина того, что в Android не используется софт от GNU — известная политика «no GPL in userspace»:
We are sometimes asked why Apache Software License 2.0 is the preferred license for Android. For userspace (that is, non-kernel) software, we do in fact prefer ASL 2.0 (and similar licenses like BSD, MIT, etc.) over other licenses such as LGPL.
Android is about freedom and choice. The purpose of Android is promote openness in the mobile world, and we don’t believe it’s possible to predict or dictate all the uses to which people will want to put our software. So, while we encourage everyone to make devices that are open and modifiable, we don’t believe it is our place to force them to do so. Using LGPL libraries would often force them to do just that.
Само ядро Linux в Android тоже немного модифицировано: было добавлено несколько небольших компонентов, в том числе ashmem (anonymous shared memory), Binder driver (часть большого и важного фреймворка Binder, о котором я расскажу ниже), wakelocks (управление спящим режимом) и low memory killer. Исходно они представляли собой патчи к ядру, но их код был довольно быстро добавлен назад в upstream-ядро. Тем не менее, вы не найдёте их в «обычном линуксе»: большинство других дистрибутивов отключают эти компоненты при сборке.
В качестве libc (стандартной библиотеки языка C) в Android используется не GNU C library (glibc), а собственная минималистичная реализация под названием bionic, оптимизированная для встраиваемых (embedded) систем — она значительно быстрее, меньше и менее требовательна к памяти, чем glibc, которая обросла множеством слоёв совместимости.
В Android есть оболочка командной строки (shell) и множество стандартных для Unix-подобных систем команд/программ. Во встраиваемых системах для этого обычно используется пакет Busybox, реализующий функциональность многих команд в одном исполняемом файле; в Android используется его аналог под названием Toybox. Как и в «обычных» дистрибутивах Linux (и в отличие от встраиваемых систем), основным способом взаимодействия с системой является графический интерфейс, а не командная строка. Тем не менее, «добраться» до командной строки очень просто — достаточно запустить приложение-эмулятор терминала. По умолчанию он обычно не установлен, но его легко, например, скачать из Play Store (Terminal Emulator for Android, Material Terminal, Termux). Во многих «продвинутых» дистрибутивах Android — таких, как LineageOS (бывший CyanogenMod) — эмулятор терминала предустановлен.
Второй вариант — подключиться к Android-устройству с компьютера через Android Debug Bridge (adb). Это очень похоже на подключение через SSH:
Из других знакомых компонентов в Android используются библиотека FreeType (для отображения текста), графические API OpenGL ES, EGL и Vulkan, а также легковесная СУБД SQLite.
Кроме того, раньше для реализации WebView использовался браузерный движок WebKit, но начиная с версии 7.0 вместо этого используется установленное приложение Chrome (или другое; список приложений, которым разрешено выступать в качестве WebView provider, конфигурируется на этапе компиляции системы). Внутри себя Chrome тоже использует основанный на WebKit движок Blink, но в отличие от системной библиотеки, Chrome обновляется через Play Store — таким образом, все приложения, использующие WebView, автоматически получают последние улучшения и исправления уязвимостей.
It’s all about apps
Как легко заметить, использование Android принципиально отличается от использования «обычного Linux» — вам не нужно открывать и закрывать приложения, вы просто переключаетесь между ними, как будто все приложения запущены всегда. Действительно, одна из уникальных особенностей Android — в том, что приложения не контролируют напрямую процесс, в котором они запущены. Давайте поговорим об этом подробнее.
Основная единица в Unix-подобных системах — процесс. И низкоуровневые системные сервисы, и отдельные команды в shell’е, и графические приложения — это процессы. В большинстве случаев процесс представляет собой чёрный ящик для остальной системы — другие компоненты системы не знают и не заботятся о его состоянии. Процесс начинает выполняться с вызова функции main() (на самом деле _start ), и дальше реализует какую-то свою логику, взаимодействуя с остальной системой через системные вызовы и простейшее межпроцессное общение (IPC).
Поскольку Android тоже Unix-подобен, всё это верно и для него, но в то время как низкоуровневые части — на уровне Unix — оперируют понятием процесса, на более высоком уровне — уровне Android Framework — основной единицей является приложение. Приложение — не чёрный ящик: оно состоит из отдельных компонентов, хорошо известных остальной системе.
У приложений Android нет функции main() , нет одной точки входа. Вообще, Android максимально абстрагирует понятие приложение запущено как от пользователя, так и от разработчика. Конечно, процесс приложения нужно запускать и останавливать, но Android делает это автоматически (подробнее я расскажу об этом в следующих статьях). Разработчику предлагается реализовать несколько отдельных компонентов, каждый из которых обладает своим собственным жизненным циклом.
In Android, however, we explicitly decided we were not going to have a main() function, because we needed to give the platform more control over how an app runs. In particular, we wanted to build a system where the user never needed to think about starting and stopping apps, but rather the system took care of this for them… so the system had to have some more information about what is going on inside of each app, and be able to launch apps in various well-defined ways whenever it is needed even if it currently isn’t running.
Для реализации такой системы нужно, чтобы приложения имели возможность общатся друг с другом и с системными сервисами — другими словами, нужен очень продвинутый и быстрый механизм IPC.
Этот механизм — Binder.
Binder
Binder — это платформа для быстрого, удобного и объектно-ориентированного межпроцессного взаимодействия.
Разработка Binder началась в Be Inc. (для BeOS), затем он был портирован на Linux и открыт. Основной разработчик Binder, Dianne Hackborn, была и остаётся одним из основных разработчиков Android. За время разработки Android Binder был полностью переписан.
Binder работает не поверх System V IPC (которое даже не поддерживается в bionic), а использует свой небольшой модуль ядра, взаимодействие с которым из userspace происходит через системные вызовы (в основном ioctl ) на «виртуальном устройстве» /dev/binder . Со стороны userspace низкоуровневая работа с Binder, в том числе взаимодействие с /dev/binder и marshalling/unmarshalling данных, реализована в библиотеке libbinder.
Низкоуровневые части Binder оперируют в терминах объектов, которые могут пересылаться между процессами. При этом используется подсчёт ссылок (reference-counting) для автоматического освобождения неиспользуемых общих ресурсов и уведомление о завершении удалённого процесса (link-to-death) для освобождения ресурсов внутри процесса.
Высокоуровневые части Binder работают в терминах интерфейсов, сервисов и прокси-объектов. Описание интерфейса, предоставляемого программой другим программам, записывается на специальном языке AIDL (Android Interface Definition Language), внешне очень похожем на объявление интерфейсов в Java. По этому описанию автоматически генерируется настоящий Java-интерфейс, который потом может использоваться и клиентами, и самим сервисом. Кроме того, по .aidl -файлу автоматически генерируются два специальных класса: Proxy (для использования со стороны клиента) и Stub (со стороны сервиса), реализующие этот интерфейс.
Для Java-кода в процессе-клиенте прокси-объект выглядит как обычный Java-объект, который реализует наш интерфейс, и этот код может просто вызывать его методы. При этом сгенерированная реализация прокси-объекта автоматически сериализует переданные аргументы, общается с процессом-сервисом через libbinder, десериализует переданный назад результат вызова и возвращает его из Java-метода.
Stub работает наоборот: он принимает входящие вызовы через libbinder, десериализует аргументы, вызывает абстрактную реализацию метода, сериализует возвращаемое значение и передаёт его процессу-клиенту. Соответственно, для реализации сервиса программисту достаточно реализовать абстрактные методы в унаследованном от Stub классе.
Такая реализация Binder на уровне Java позволяет большинству кода использовать прокси-объект, вообще не задумываясь о том, что его функциональность реализована в другом процессе. Для обеспечения полной прозрачности Binder поддерживает вложенные и рекурсивные межпроцессные вызовы. Более того, использование Binder со стороны клиента выглядит совершенно одинаково, независимо от того, расположена ли реализация используемого сервиса в том же или в отдельном процессе.
Для того, чтобы разные процессы могли «найти» сервисы друг друга, в Android есть специальный сервис ServiceManager, который хранит, регистрирует и выдаёт токены всех остальных сервисов.
Binder широко используется в Android для реализации системных сервисов (например, пакетного менеджера и буфера обмена), но детали этого скрыты от разработчика приложений высокоуровневыми классами в Android Framework, такими как Activity, Intent и Context. Приложения могут также использовать Binder для предоставления друг другу собственных сервисов — например, приложение Google Play Services вообще не имеет собственного графического интерфейса для пользователя, но предоставляет разработчикам других приложений возможность пользоваться сервисами Google Play.
Подробнее про Binder можно узнать по этим ссылкам:
В следующей статье я расскажу о некоторых идеях, на которых построены высокоуровневые части Android, о нескольких его предшественниках и о базовых механизмах обеспечения безопасности.
Источник