Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения



Размер экрана является краеугольным камнем современного мира смартфонов. Кто-то считает, что экраны должны становиться только больше, а рамки меньше, кому-то нравятся «средние» экраны с диагональю 5+», а кто-то остаётся ярым сторонником и приверженцем компактных смартфонов с крошечными экранами. Сегодня новый смартфон покупают с сравнительно небольшой экран за разумные деньги практически невозможен - большинство бюджетных моделей будут слишком медленными для современного пользователя.Некоторое время назад я купил себе бюджетный небольшой смартфон 2012 года выпуска - Samsung Galaxy Pocket, и всего за 100 рублей.Конечно, хотелось чтобы воплотить его в жизнь - но мне пришлось это сделать руками и навыками опытного программиста!Какой смартфон можно получить за 100 рублей?Читайте статью!

Минута предыстории

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



Несмотря на всеобщее доминирование больших «пиков», в мире все еще были любители маленьких и компактных телефонов, которыми очень удобно пользоваться одной рукой. Сегодня подобные устройства представлены лишь небольшими брендами, хорошо известными в узких кругах – в основном их можно купить на маркетплейсах; их нельзя найти в обычных магазинах связи. Я знаю несколько подобных устройств, представленных сейчас на рынке. Первый из них предназначен для iPhone — Soyes XS11:



Но здесь, если честно, я бы назвал такой смартфон не просто компактным, а достаточно маленьким. На нем довольно удобно выполнять задачи набора номера, но писать текст совершенно неудобно - поэтому для наших задач он не особо подходит. Кроме того, эти устройства работают на бюджетном смартфонном оборудовании возрастом 6-7 лет, поэтому их производительность будет достаточно низкой по меркам современного пользователя. Конечно, есть и более серьезные варианты — например, компания Unihertz (да-да, тот самый продолжатель идей BlackBerry) делает смартфоны Jelly 2: 3-дюймовый экран Helio P61 под капотом и Android 11 на борту. Но цена , так сказать мягкий, кусачий - 18 тысяч рублей на момент написания статьи это слишком дорого!

Но если вам действительно нравятся компактные смартфоны, почему бы не обратиться к рынку подержанных устройств и не взглянуть на что-нибудь из… последнего десятилетия? Но вариантов действительно много – вот LG Optimus L3 (3,2 дюйма), Samsung Galaxy Pocket Neo (2,8 дюйма), Samsung Galaxy Star (3 дюйма), Samsung Galaxy Fame (3,5 дюйма), Samsung Galaxy Young. Все перечисленные устройства действительно стоят копейки — купить живую версию можно до 400-500 рублей!



Решил взять два смартфона: Samsung Galaxy Mini и Samsung Galaxy Pocket первого поколения. Оба смартфона мне достались одной партией за 2000 рублей (20 телефонов) и обошлись мне в сто рублей каждый, и оба смартфона работали! Чуть позже для полноты коллекции я отдельно купил Galaxy Star (250 рублей), Galaxy Fame (250 рублей) и Galaxy Pocket Neo (~400 рублей) — это оказалось совсем недорого. Итак, какие характеристики мы получаем в смартфоне за 100 рублей:

  • Андроид: 2.3 Пряники.

  • Чипсет: Broadcom BCM21553 с одним ядром Cortex-A5 на частоте 832 МГц. Видеочип: VideoCore IV, также используется в Raspberry Pi.

  • Оперативная память: 256 мегабайт (предположительно DDR1).

  • Встроенная память: 3 гигабайта + слот для SD.

  • Экран: 2,8", 240х320, емкостный сенсорный.

  • Сеть: Поддержка 2G/3G. Дело не в ЛТЕ.



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



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

Разработка для старых версий Android

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

Даже сейчас не проблема скачать последнюю версию Android Studio, подключить смартфон с включенной отладкой и отладить приложение прямо на устройстве — logcat тоже доступен. Единственное предостережение — искать драйверы и вручную закрывать приложения в диспетчере задач, если вы выполняете развертывание под Android 2.x (Android Studio не знает, как закрыть приложение самостоятельно, чтобы переустановить пакет).


В целом за весь период разработки старых устройств я пришел к следующим выводам:

  • Поскольку большинство устройств имеют одно ядро, вам необходимо свести к минимуму фоновую работу для обеспечения плавного интерфейса.

  • Взаимодействие с современными веб-сервисами может быть затруднено из-за отсутствия поддержки TLS1.2 и устаревших сертификатов (проверка сертификата легко осуществляется специальным костылем, а TLS — нет).

  • Для Android до 3.0 вся отрисовка интерфейса является программной, и это опять же повлияет на скорость фоновых сервисов. Чем менее сложен интерфейс, тем лучше.

  • Push-уведомлений нет – да, вообще. Однако это не помешает нам создавать оповещения практически в реальном времени, используя… еще один костыль!



Дополняет ВК

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

Честно говоря, вся концепция интерфейса потребовала полной переделки — боковым меню просто очень неудобно пользоваться на таких устройствах из-за небольшого размера каждой строки. Поэтому я решил не изобретать велосипед, а обратился к дизайнерам Apple и первоисточнику: официальному клиенту ВК для iOS 6 родом из 2012 года!



Android-приложение в те годы тоже выглядело +-. Видите вкладки разделов внизу? Вот что нам нужно – это самый удобный способ навигации на таких смартфонах! После создания макета в макете я приступил к реализации:



Изначально я хотел, чтобы все приложение было плавным и анимированным: для этого я обратился к фреймворку анимации Android. Суть очень проста — это обычный интерполятор значений от a до b за определенный период времени. При этом мы не можем анимировать произвольное свойство — только те, которые уже реализованы в системе (переход, вращение, масштабирование, альфа-канал).

Обратите внимание: 12 лучших смартфонов Xiaomi.

Более наглядно это можно представить так:



Да, всё анимировано :) Получаем что-то вроде этого:

Обратите внимание, что запуск большого количества анимаций приведет к перерисовке, даже если элемент не виден на экране, что приведет к резкому замедлению работы! Будьте осторожны с этим.

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

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

В Android есть два типа сервисов: фоновые (фоновые) и передние (видимые пользователю). Система может в любой момент убить первый тип служб — например, из-за нехватки памяти или экономии заряда батареи. А вот вторым типом сервисов система почти никогда не управляет, так как они указывают на выполнение важной операции в фоновом режиме — например, загрузку файла или обновление системы. Однако у них есть одно ограничение — они должны быть связаны с собственным уведомлением, которое нельзя отклонить. В процессе внедрения появилась еще пара проблем — Wakelock (механизм, не позволяющий устройству переходить в спящий режим) и WiFiLock (то же самое, но для WiFi).

Механизм уведомлений я реализовал точно так же — как я уже говорил ранее, на старых смартфонах пуш-уведомлений вообще нет ни в каком виде, поэтому пришлось реализовать свой «механизм обновления»: каждые 3-5 секунд мы запрашиваем перечислить последние 5 диалогов с сервера и сравнить с предыдущим результатом, если есть новые сообщения, создать оповещение (запись слишком длинная — пришлось заново заливать на пастбин):

частный NotificationCompat.Builder createMessageNotification (отправитель строки, строка — Pastebin.com

После этого я приступил к рутинной работе по реализации интерфейса для данных с сервера — паблики, друзья, профили, лента и т.д. В каком-то смысле реализация ленты очень интересна: вообще для очень больших списков есть это так называемая виртуализация ListView — это когда ListView отображает только ту часть набора данных (набора данных), которая видна пользователю — например список сообщений на стене), и он доступен на старых версиях Android . Однако мне было интересно реализовать вариант, который бы потреблял минимум оперативной памяти и где бы я точно знал, когда пользователь увидит тот или иной фрагмент приложения. Вот почему я реализовал.. пролистывание страниц! Итак, привет из 2000-х!

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


Выглядит довольно забавно.

Действительно ли все это можно использовать?

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



Работает очень быстро, учитывая, что это бюджетная машина 2012 года выпуска. А как насчет нашего самодельного клиента ВК? Покажи нам:


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

Смартфонный функционал аппарата тоже неплох: 1-2 SIM (в зависимости от версии), нормальная синхронизация контактов с ПК (правда, Kies вроде не работает на Windows 10, но это vcf):



Встроенный почтовый клиент продолжает работать без проблем. Однако некоторые почтовые службы приходится настраивать вручную и использовать «пароли приложений» — возможности войти напрямую нет. Что касается Pocket, то придется вручную устанавливать стоковый клиент от Android 2.3.
Мультимедийные возможности тоже радуют: мне всегда нравился встроенный плеер TouchWiz. Также есть настройки эквалайзера.

Единственное, что нас честно говоря подводит, это браузер. Остался последний вариант — Opera Mini 7 — он позволяет просматривать веб-страницы, но не поддерживает динамический контент, только статический контент. Что ж, достаточно зайти в Википедию или прочитать статью на Хабре. Родной браузер больше ничего не может загрузить :(



Ну и в целом производительность смартфона очень приятная, согласны? Нельзя сказать, что он слишком медленный — по крайней мере, современные ультрабюджетные смартфоны (до 4-5 тысяч рублей) зачастую работают гораздо хуже, чем флагманы последних лет, да ещё и бюджетные!

Заключение

И все же, я думаю, мне удалось в каком-то смысле вдохнуть новую жизнь в старое существо. Если вы используете такое устройство как другое – в случае, если ваш основной смартфон выйдет из строя, такая миниатюрная красавица может неожиданно помочь даже в достаточно сложной ситуации. К тому же эти смартфоны всеядны в аккумуляторах — достаточно перепаять + и — и они будут работать даже от BL-4C.

Главная ценность Galaxy Pocket — его компактный размер. А поскольку по-настоящему дешевых, маленьких и быстрых смартфонов становится все меньше, все, что мы можем сделать, это продлить жизнь моделям прошлых лет! Имеет ли это смысл и получила ли смартфон новую жизнь? Пишите в поле для комментариев!


Клиент ВК можно сказать на 4pda. Там самая последняя версия (для скачивания необходимо зарегистрироваться на форуме). Если по каким-то причинам вы не хотите регистрироваться на форуме, я разместил актуальную версию в комментариях.


Эта статья поддерживается командой ITGLOBAL.COM

Мы первый облачный провайдер в России, а также интегратор, поставщик ИТ-услуг, продуктов, услуг и разработчик собственного программного обеспечения.

• Наш сайт
• Наш блог о виртуализации и корпоративных ИТ
• Истории успеха наших клиентов

[мин] ГаджетыAndroidСмартфонКупитьGalaxySamsungJavaПрограммированиеСамопалВКонтактеРетроУстройствоFineМобильные телефоныЭлектроникаТелефонLinuxВидеоБез звукаВертикальное видеоYouTubeLong Post 34 Donate Emotions

Больше интересных статей здесь: Гаджеты.

Источник статьи: Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения.