- Пишем первое приложение для Android
- Установка необходимых программ и утилит
- Запуск виртуального устройства
- Список устройств
- Создание проекта
- Структура проекта
- Первые строки
- Square.java
- Player.java
- Game.java
- Определение победителя
- WinnerCheckerHorizontal.java
- WinnerCheckerVertical.java
- WinnerCheckerDiagonalLeft.java
- WinnerCheckerDiagonalRight.java
- Видео готового приложения
- Выбираем умный кнопочный телефон на Android или KaiOS: 10 моделей на любой вкус
- Умные кнопочные телефоны: официальные поставки
- Elari SafePhone (4 990 рублей)
- Nokia 8110 4G (4 990 рублей)
- Nobby 230 (1 990 рублей)
- Nobby 231 (цена пока не объявлена)
- Senseit L250 (5 590 рублей)
- Умные кнопочные телефоны: зарубежные модели
- Xiaomi Qin 1s+ (около 55 долларов)
- ZMI Travel Assistant Z1 (около 80 долларов)
- Philips E518 (около 70 долларов)
- AGM M5 (около 60 долларов)
- Caterpillar Cat B35 (около 120 долларов)
Пишем первое приложение для Android
В любом деле самое сложное — это начало. Часто бывает тяжело войти в контекст, с чем столкнулся и я, решив разработать свое первое Android-приложение. Настоящая статья для тех, кто хочет начать, но не знает с чего.
Статья затронет весь цикл разработки приложения. Вместе мы напишем простенькую игру “Крестики-Нолики” с одним экраном (в ОС Android это называется Activity).
Отсутствие опыта разработки на языке Java не должно стать препятствием в освоении Android. Так, в примерах не будут использоваться специфичные для Java конструкции (или они будет минимизированы на столько, на сколько это возможно). Если Вы пишете, например, на PHP и знакомы с основополагающими принципами в разработке ПО, эта статья будет вам наиболее полезна. В свою очередь так как, я не являюсь экспертом по разработке на Java, можно предположить, что исходный код не претендует на лейбл “лучшие практики разработки на Java”.
Установка необходимых программ и утилит
Перечислю необходимые инструменты. Их 3:
- JDK — набор для разработки на языке Java;
- Android SDK and AVD Manager — набор утилит для разработки + эмулятор;
- IDE c поддержкой разработки для Android:
- Eclipse + ADT plugin;
- IntelliJ IDEA Community Edition;
- Netbeans + nbandroid plugin;
Утилиты устанавливаются в определенном выше порядке. Ставить все перечисленные IDE смысла нет (разве только если Вы испытываете затруднения с выбором подходящей). Я использую IntelliJ IDEA Community Edition, одну из самых развитых на данный момент IDE для Java.
Запуск виртуального устройства
Запустив AVD Manager и установив дополнительные пакеты (SDK различных версий), можно приступить к созданию виртуального устройства с необходимыми параметрами. Разобраться в интерфейсе не должно составить труда.
Список устройств
Создание проекта
Мне всегда не терпится приступить к работе, минимизируя подготовительные мероприятия, к которым относится создание проекта в IDE, особенно, когда проект учебный и на продакшн не претендует.
Итак, File->New Project:
По нажатию кнопки F6 проект соберется, откомпилируется и запустится на виртуальном девайсе.
Структура проекта
На предыдущем скриншоте видна структура проекта. Так как в этой статье мы преследуем сугубо практические цели, заострим внимание лишь на тех папках, которые будем использовать в процессе работы. Это следующие каталоги: gen, res и src.
В папке gen находятся файлы, которые генерируются автоматически при сборке проекта. Вручную их менять нельзя.
Папка res предназначена для хранения ресурсов, таких как картинки, тексты (в том числе переводы), значения по-умолчанию, макеты (layouts).
src — это папка в которой будет происходить основная часть работы, ибо тут хранятся файлы с исходными текстами нашей программы.
Первые строки
Как только создается Activity (экран приложения), вызывается метод onCreate(). IDE заполнила его 2 строчками:
Метод setContentView (равносильно this.setContentView) устанавливает xml-макет для текущего экрана. Далее xml-макеты будем называть «layout», а экраны — «Activity». Layout в приложении будет следующий:
Для этого приложения идеально подойдет TableLayout. Id можно присвоить любому ресурсу. В данном случае, TableLayout присвоен При помощи метода findViewById() можно получить доступ к виду:
Теперь необходимо реализовать метод buildGameField(). Для этого требуется сгенерировать поле в виде матрицы. Этим будет заниматься класс Game. Сначала нужно создать класс Square для ячеек и класс Player, объекты которого будут заполнять эти ячейки.
Square.java
Player.java
Все классы нашего приложения находятся в папке src.
Game.java
Инициализация Game в конструкторе KrestikinolikiActivity.
Метод buildGameField() класса KrestikinolikiActivity. Он динамически добавляет строки и колонки в таблицу (игровое поле):
В строке 8 создается объект, реализующий интерфейс View.OnClickListener. Создадим вложенный класс Listener. Он будет виден только из KrestikinolikiActivity.
Осталось реализовать логику игры.
Определение победителя
К. О. подсказывает, что в крестики-нолики выирывает тот, кто выстроет X или O в линию длиной, равной длине поля по-вертикали, или по-горизонтали, или по-диагонали. Первая мысль, которая приходит в голову — это написать методы для каждого случая. Думаю, в этом случае хорошо подойдет паттерн Chain of Responsobility. Определим интерфейс
Так как Game наделен обязанностью выявлять победителя, он реализует этот интерфейс. Настало время создать виртуальных «лайнсменов», каждый из которых будет проверять свою сторону. Все они реализует интерфейс WinnerCheckerInterface.
WinnerCheckerHorizontal.java
WinnerCheckerVertical.java
WinnerCheckerDiagonalLeft.java
WinnerCheckerDiagonalRight.java
Проинициализируем их в конструкторе Game:
Победителя проверяем после каждого хода. Добавим кода в метод onClick() класса Listener
Метод gameOver() реализован в 2-х вариантах:
Для Java, gameOver(Player player) и gameOver() — разные методы. Воспользовавшись Builder’ом Toast.makeText, можно быстро создать и показать уведомление. refresh() обновляет состояние поля:
Готово! Надеюсь, эта статья помогла Вам освоиться в мире разработки под OS Android. Благодарю за внимание!
Видео готового приложения
PS: статья была опубликована по просьбе комментаторов этого поста.
Источник
Выбираем умный кнопочный телефон на Android или KaiOS: 10 моделей на любой вкус
Кнопочники с защитой от воды, с батареями на 5000 мАч, модели для пожилых людей и китайская экзотика
Простецкие кнопочные телефоны с их допотопными интерфейсами и нулевой функциональностью идут по следам мамонтов – читай, постепенно вымирают. Зато появляется все больше и больше продвинутых кнопочников, работающих под управлением операционных систем с поддержкой приложений. Есть среди них модели попроще и подешевле, есть – подороже и попродвинутей, есть варианты с Android, а есть и с экзотичной пока KaiOS.
В 2019 году в продаже появился целый «зоопарк» весьма функциональных кнопочных моделей, способных если и не заменить смартфон, то выступить его временной заменой. Да, не стоит думать, что, купив такой вот кнопочник, вы сможете навсегда отказаться от сенсорных аппаратов. Очень и очень вряд ли! Умные кнопочники – устройства крайне специфические и дающие очень своеобразный пользовательский опыт. Давайте, наберите-ка десяток сообщений в WhatsApp с помощью кнопок! Или, например, прогуляйтесь по паре-тройке сайтов с экрана размером менее спичечного коробка. Ну или ролик с YouTube на таком дисплее посмотрите.
И все же: «кнопочный смартфон» – штука полезная. Его сложнее поломать или разбить, чем сенсорный аппарат. Кроме того, такой вот умный кнопочник можно пронести туда, куда с полноценным смартфоном не пускают за версту – речь об офисах некоторых крупных компаний, блюдущих секретность, и кое-каких государственных учреждениях.
Мы нашли для вас десять свежих и продвинутых кнопочных телефонов. Одни поставляются в Россию официально, другие кнопочные телефоны купить можно только на JD.com, китайской версии Tmall и прочих торговых площадках. Аппараты для России функционируют в наших широтах без проблем, китайские кнопочные телефоны, скорее всего, придется «допиливать» с помощью написанных энтузиастами инструкций (прежде всего это касается софта). И тем не менее они тоже заслуживают внимания.
Умные кнопочные телефоны: официальные поставки
Elari SafePhone (4 990 рублей)
Этот Android-аппарат является пионером сегмента «кнопочных смартфонов»: он появился на российском рынке еще в начале 2017 года. И продается до сих пор. Пожалуй, главная особенность модели – функция GPS-трекинга: с помощью смартфона с установленным приложением можно узнавать местоположение владельца SafePhone. Зачем это может быть нужно? Например, если владелец – ваш ребенок или пожилой родственник. На задней панели телефона есть кнопка SOS, после нажатия на которую он издает громкий звуковой сигнал (для привлечения внимания окружающих) и отправляет сообщения с просьбой о помощи на заранее заданные номера. В общем, такой себе ультрасовременный бабушкофон.
При этом в Elari SafePhone имеются камера, плеер, шагомер, браузер и WhatsApp – словом, некий базовый набор мультимедийных и коммуникационных функций. Кроме того, модель может похвастать сенсорным экраном, который есть далеко не в каждом кнопочном телефоне под управлением Android или KaiOS.
Nokia 8110 4G (4 990 рублей)
Современная инкарнация того самого «банана из матрицы». Эта кнопочная Nokia работает под управлением KaiOS и, в отличие от SafePhone, поддерживает LTE-сети. Плюс может раздавать мобильный интернет другим гаджетам по Wi-Fi, выступая в роли портативного роутера. WhatsApp, опять же, имеется, как и некоторое количество сервисов Google (Maps, Assistant, YouTube). Это крайне немаловажный момент – обычно кнопочники с Android и KaiOS в силу своего китайского происхождения с сервисами поисковика не дружат от слова «совсем». При этом следует помнить, что управляется Nokia 8110 4G исключительно кнопками – экран здесь несенсорный.
Что до дизайна, то Nokia 8110 4G, конечно же, не производит такого же ошеломляющего впечатления, как оригинальный 8110 в свое время. И тем не менее нельзя не признать, что детище компании HMD Global является, пожалуй, одним из самых необычных и интересных внешне умных кнопочников.
Nobby 230 (1 990 рублей)
Недорогой аппарат под управлением Mocor 5 – так называется особая версия Android, «заточенная» под несенсорные экраны. Возможности у Nobby 230 следующие: 2,4-дюймовый экран, камера на 0,3 мегапикселя, плеер, радио, поддержка 3G-сетей с возможностью раздачи трафика по Wi-Fi, батарейка на 2000 мАч, предустановленные приложения Facebook и WhatsApp. Плюс довольно простой классический дизайн. Так сразу и не поймешь, что аппарат на самом деле весьма смышлен (решайте сами – хорошо это или плохо).
А просят за Nobby 230 всего 2 000 рублей. Таким образом именно эта модель на сегодняшний день является самой доступной среди умных кнопочных телефонов. С другой стороны, и возможностей у нее чуть меньше, чем у аналогов, – например, не заявлены какие-либо опции, связанные с GPS.
Nobby 231 (цена пока не объявлена)
Еще один телефон Nobby с похожим дизайном и возможностями, но уже под управлением KaiOS. Батарейка тут менее масштабная, на 1 400 мАч, но по времени автономной работы 231 наверняка будет сравним с 230 – поскольку KaiOS заметно менее прожорливая, чем древний Android, лежащий в основе Mocor 5. В остальном все похоже: экран с диагональю 2,4 дюйма, камера на 0,3 мегапикселя, 3G-модем, Wi-Fi и так далее.
Какой аппарат выбрать – с Android или с KaiOS? Есть основания полагать, что грандиозной разницы вы не заметите. Nobby 231 позволяет установить те же клиенты Facebook и WhatsApp, а в плане пользовательского опыта на несенсорном экране эти две операционки различаются мало.
Senseit L250 (5 590 рублей)
Один из самых странных и необычных телефонов в нашей подборке. У него малюсенький 1,8-дюймовый несенсорный экран, огромный динамик на задней панели, мощнейший для такого телефона аккумулятор на 4000 мАч и полноформатный USB-порт на корпусе – для использования в качестве внешней батареи для других гаджетов. Есть навигационные возможности (в том числе GPS-трекинг) и функция LTE-роутера. Работает телефон под управлением операционной системы Android с предустановленным WhatsApp.
А еще L250 может выступать в качестве веб-камеры для компьютера: модуль для съемки в нем находится не на задней панели, а на верхнем торце. Разработчики посчитали, что именно такое расположение является максимально выигрышным при подключении к ПК и проведении видеоконференций.
Умные кнопочные телефоны: зарубежные модели
Xiaomi Qin 1s+ (около 55 долларов)
Аппарат существует в двух вариантах – Qin 1s и Qin 1s+. Главные преимущества второго – больший объем памяти и более удобная навигационная кнопка. В целом, телефоны Qin весьма интересны – тут и большие (разумеется, по меркам кнопочников) 2,8-дюймовые экраны, и дизайн в стиле «китайский минимализм», и стереодинамики, и порты USB Type-C, и LTE с Wi-Fi, и масса прочих интересных мелочей.
С другой стороны, странностей и спорных моментов тоже хватает. Например, в аппаратах нет 3,5-мм разъемов и камер, а Android с оболочкой Mocor 5 в случае этих моделей не поддерживает установку приложений и не имеет привычных для нас сервисов, включая клиенты соцсетей и мессенджеров. GPS есть, но навигация недоступна, а под FM-радио в меню скрывается набор китайских интернет-радиостанций. Словом, модели серии Qin вам подойдут, если вы любите и умеете «работать напильником».
ZMI Travel Assistant Z1 (около 80 долларов)
У этого Android-телефона, также имеющего отношение к Xiaomi, проблем с софтом меньше – в частности, танцевать с бубном ради установки приложений придется не столь долго и усердно. Чем Z1 подкупает – так это мощнейшей батареей на 5000 мАч. Ее заряд можно тратить не только на работу самого телефона – в комплект поставки входит переходник с USB-портом для подзарядки других устройств.
Экран у ZMI Travel Assistant Z1 довольно крупный, 2,8-дюймовый; роль интерфейсного разъема играет USB Type-C, а на задней панели находится довольно неплохая по меркам подобных аппаратов камера на 2 мегапикселя. Также стоит отметить весьма удобный интерфейс, натянутый поверх Android, – он куда приятнее глазу и эргономичнее, чем то, что мы видим в Qin. Ну и, конечно, Wi-Fi и LTE в Z1 тоже есть.
Philips E518 (около 70 долларов)
Невероятная экзотика для наших широт. Дело в том, что в России под маркой Philips продаются простые кнопочники, а вот в Китае доступны и модели под управлением Android. Причем весьма свежих версий. Все описанные выше Android-телефоны имеют прошивки на базе версии 4.4, а в Philips E518 используется Android 8.1 Oreo Go Edition. Еще у этой модели 2,8-дюймовый сенсорный экран и сразу две камеры – основная на 2 мегапикселя и фронтальная на 0,3. LTE, Wi-Fi и GPS тоже есть. Кроме того, у E518 корпус с металлическими элементами – в частности, из этого материала сделана вставка на задней панели.
Чем опасна покупка данного телефона? Сообщества владельцев Android-моделей Philips в России практически нет, а это значит, что помочь в русификации, настройке и доработке софта вам никто не сможет. Для сравнения: обладателей ZMI и Qin на просторах нашей страны уже предостаточно.
AGM M5 (около 60 долларов)
Корпус этого телефона защищен от воды и грязи по стандарту IP68 (более часа на глубине до двух метров без ущерба для работоспособности), а также от ударов по MIL-STD-810G. Из особенностей отметим 2,8-дюймовый сенсорный дисплей, поддержку LTE, Wi-Fi и GPS/ГЛОНАСС, камеры на 2 и 0,3 мегапикселя (то есть их тоже две, как и у Philips E518), порт USB Type-C и ОС Android 8.1 Oreo Go Edition.
Пока M5 предлагается только на исконно внутренних китайских площадках, однако в будущем, по некоторым данным, появится и версия для российского рынка – с полной русификацией и кириллицей на клавиатуре. И нам кажется, что желающим купить AGM M5 не стоит спешить – лучше дождаться именно ее.
Caterpillar Cat B35 (около 120 долларов)
Еще один телефон с защитой по IP68 и MIL-STD-810G, но уже под управлением KaiOS, что роднит эту модель с Nobby 231 и Nokia 8110 4G. С софтом проблем не будет: есть поддержка некоторых сервисов Google, а во встроенном в операционную систему магазине ждут своего часа клиенты WhatsApp, Facebook и так далее. Экран 2,4-дюймовый, поддержка LTE, Wi-Fi и GPS/ГЛОНАСС есть, камера 2-мегапиксельная.
Все бы ничего, да только стоит Cat B35 для своих возможностей весьма недешево. Это вообще самый дорогой аппарат в нашей подборке. Стоит ли покупать именно его – решать вам. Если нужна защита и не хочется дожидаться выхода AGM M5, то альтернатив особо и нет. При этом стоит понимать, что русские буквы на кнопках Cat B35 отсутствуют – как и в случае Philips E518, Qin 1s+ и ZMI Travel Assistant Z1.
Источник