Андроид с 2 модулями

Телефоны с двумя радиомодулями на «Андроид»

Две SIM-карты в современном смартфоне, пожалуй, стандарт, которым не пренебрегают даже именитые лидеры рынка, такие как Samsung. Даже у консервативной Apple есть схожие наработки. Часто подобные устройства путают с телефонами, оснащенными двумя радиомодулями, на самом же деле речь идет не про обычные телефоны на две сим карты. Два радиомодуля – это возможность единовременно использовать каждую из них. Большинство устройств, к сожалению, разрешают использовать каждую SIM-карту лишь попеременно, пока вторая находится в режиме ожидания.

Технологии: DSDS и DSDA

Почти все, без исключения, телефоны, представленные ныне на рынке, работают с двумя SIM-картами в режиме DSDS (Dual SIM – Dual Standby), который подразумевает под собой попеременную работу каждой из них. Обе SIM-карты усыновлённые в гаджет, используют для связи один радиомодуль, а значит, совершая звонок, используя одну из них, невозможно будет принять вызов на другой. То же самое касается и интернета, разговаривая по телефону, используя одну SIM-карту, невозможно будет использовать мобильный интернет на другой.

В случае с DSDA (Dual SIM – Dual Active) ситуация прямо противоположна, сотовые телефоны с двумя радиомодулями способны взаимодействовать с каждой SIM-картой параллельно, не прерывая работы друг друга.

Телефоны с двумя радиомодулями: плюсы и минусы

Безусловно, подобные аппараты приобретаются не из праздного интереса, они обладают рядом преимуществ, которые обращают на себя внимание:

  • Телефон с двумя активными радиомодулями позволяет его владельцу никогда не терять связи. Там, где SIM-карта одного оператора может оказаться бессильна, прекрасно справится карта другого, посему наличие сразу двух одновременно функционирующих радиомодулей благоприятно влияет на доступность пользователя, как абонента.
  • Еще одним преимуществом подобных гаджетов является более стабильная работа мобильного интернета, который не отключается даже в случае разговора по одной из SIM-карт.
  • Естественно, мобильность. Две SIM-карты вкупе с двумя радиомодулями навсегда избавляют от необходимости иметь и носить с собой два телефона.
  • Последний в списке, но далеко не последний по значению плюс – возможность сочетать выгодные условия двух разных операторов. Схем может быть великое множество, ведь у каждого оператора свои условия. К тому же многие любят путешествовать и точно не обойдутся без дополнительной SIM-карты вдобавок к основной.

Радужную картину, описанную выше, портят несколько недостатков:

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

Падение предложения

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

HTC Desire 700

Тайваньская контора HTC, пожалуй, самая многострадальная на рынке смартфонов. Некогда процветающий брэнд, за последние 5 лет растерял все: деньги, известность, репутацию. Тем не менее HTC продолжает выпускать устройства, имеет свой собственный уникальный, а главное узнаваемый стиль.

Читайте также:  Прога тепловизор для андроид

Desire – это симбиоз стилистики и уровня сборки высокого класса, с “железом” бюджетного класса. Цена на все это добро варьируется в пределах средней.

На передней панели Desire 700 расположен крупный 5-дюймовый дисплей с разрешением 960 на 540 (количество точек на дюйм – 220). Сердцем смартфона стал, нетипичный для производителя, чип Spreadtrum Shark с тактовой частотой 1200 мегагерц. Также под капотом смартфона затесались 1 гигабайт оперативной памяти и 8 гигабайт основной (имеется поддержка карт памяти объемом до 64 гигабайт). Не впечатляет и объем АКБ, при достаточно внушительных размерах, в гаджет смогли уместить батарею лишь на 2100 миллиампер часов.

Поддерживаются сетевые стандарты: GSM и HSDPA

HTC One M7 Dual

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

На лицевой части M7 занял свое место достаточно крупный 4,7-дюймовый дисплей с высоким разрешением 1920 на 1080 точек (количество точек на дюйм – 469), с технологией Super LCD. За производительность отвечает популярный процессор от Qualcomm, работающий на частоте 1700 мегагерц. Объем памяти превышает таковой у Desire 700 вдвое: 2 гигабайта ОЗУ и 32 гигабайта ПЗУ. Внутри установлен аккумулятор на 2300 миллиампер часов.

Фирменной “фишкой” аппарата стали динамики Boom Sound, позволяющие проигрывать высококачественный стереозвук прямо через динамики смартфона. Также отличительной особенностью является 4-мегапиксельная камера с технологией удвоенных пикселей для качественной съемки в темноте.

Поддерживаются сетевые стандарты: GSM и WCDMA

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

Huawei Honor 7

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

Один из лучших гаджетов, плавно балансирующий между ценой и качеством – Huawei Honor 7, выпущенный в середине прошлого года. В телефоне установлен крупный дисплей с диагональю 5,2 дюйма и разрешением 1920 на 1080 точек. За ним таится мощность фирменного чипа Silicon Kirin 935 с частотой до 2200 мегагерц. Радует и объем памяти, на который китайцы никогда не скупились, 3 гигабайта оперативной и до 64 основной. Еще одним аргументом в пользу Honor 7 является крупная батарея объемом в 3100 миллиампер часов.

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

ASUS ZenFone 2

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

ZenFone 2 имеет самый крупный дисплей в подборке, гигантский, насыщенный, 5,5-дюймовый емкостный экран с разрешением 1920 на 1080 точек, защищенный покрытием Gorilla Glass третьего поколения. Высокую производительность смартфона обеспечивает процессор от Intel, имеющий 64-битную архитектуру и 4 ядра, каждое из которых имеет тактовую частоту в 1800 мегагрец. Объем оперативной памяти в 4 гигабайта позволяет активно использовать множество, единовременно запущенных приложений, без угрозы выгрузки их из памяти и потери данных. 32 гигабайта основной памяти можно дополнить еще 64 гигабайтами, картой формата MicroSD. Длительное время работы от одного заряда поддерживает аккумулятор объемом 3000 миллиампер часов. Дополняют картину две камеры: тыльная на 13 мегапикселей и фронтальная на 5.

Поддерживаются сетевые стандарты: GSM и HSDPA

Zopo ZP980

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

Читайте также:  Рабочие инструменты для андроид

Первое что бросается в глаза, внушительная диагональ дисплея (5 дюймов) и разрешение (1920 на 1080 точек). При этом аппарат сохраняет достаточно компактные габариты. К сожалению, это все, что может впечатлить в этом бюджетном китайце. В устройстве стоит чип от MediaTek с тактовой частотой 1200 мегагерц, малый объем ОЗУ, всего 1 гигабайт. Количество встроенной памяти также не впечатляет, 16 гигабайт с возможность расширения за счет карт памяти. Устройство получилось тонким, посему не нашлось место для крупной батареи, владельцам гаджета неминуемо придется мириться с аккумулятором, объем которого составляет 1860 миллиампер часов.

В общем и целом телефон Zopo ZP980 выбор тех, кто не готов тратить деньги на флагман и не боится заказывать телефоны в сети.

Внешние DSDA модули

Данное решение применимо к устройствам от Apple. Несмотря на то что в интернете время от времени мелькают слухи и патентные заявки, относящиеся к поддержке двух SIM-карт в iPhone, на сегодняшний день таковая отсутствует. На помощь обездоленным пришли китайцы со своим очередным ноу-хау, носящим имя NeeCoo Me 2.

Устройство представляет собой небольшой блок, в котором установлено два радиомодуля и два слота под SIM-карты. Гаджет связывается с iPhone по Bluetooth и позволяет совершать звонки с двух разных SIM-карт. Звонки можно совершать, даже если SIM-карта отсутствует в самом смартфоне, а это значит, что NeeCoo Me 2 подойдет для всех гаджетов, работающих под управлением iOS, включая iPad.

Источник

Модульная разработка Android приложений

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

  • Модули в проекте, которые часто встречаются. Например, кастомные View
  • Когда существующий API неудобный или не позволяет сделать то, что задумали — создаем расширение для этого API

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

Попробовали git submodule

Самое простое решение — использовать git submodule. Если кратко объяснить его работу, то к git repository вы прикрепляете ссылку на другой git repository, который должен автоматически клонироваться вместе с родительским. Казалось бы все просто: у нас есть несколько git repository, где хранятся все наши модульные библиотеки и нужно всего лишь указать его в git submodule.

Но как быть с версиями? При обновлении через команду git submodule update стираются изменения в submodule, merge не происходит. Вам придется постоянно обновляться, когда другой разработчик вносит изменение в данном submodule. Вместо этого стоит разрабатывать модули в виде библиотек с jar файлом или Android Archive (aar). По факту, в этих архивах содержатся те же самые файлы, которые могли быть в git submodule, но теперь есть более понятное версионирование вместо истории commit или tag.

Осторожно, не все можно публиковать

При публикации библиотек стоить учесть, что они не должны содержать конфиденциальные данные компании. Более того, не будет удобно остальным разработчикам, если в библиотеке будет содержаться код, относящийся к конкретной компании. Следовательно, нам нужен закрытый artifactory для хранения библиотек в закрытом доступе. Есть множество open source решений, но мы используем JFrog Artifactory.

А если можно публиковать? В таком случае вас ждет светлая дорога в мир open source проектов. Достаточно просто найти открытые web серверы, которые поддерживают gradle, чтобы размещаемые jar и aar файлы подтягивались через dependency в ваших проектах.

Итак, начинаем создавать модуль



Начинается все просто — заходим в File > New > New Module…
Название библиотеки, которое укажете в этом окне, станет названием бинарника вашей библиотеки.

Читайте также:  Настройка octopus для андроид

Создав модуль можете приступить к написанию кода. Если к прилагаемому коду будете писать тесты, остальным членам команды будет понятно, как вашим модулем пользоваться. Еще лучше, если создадите новый sample app module, который работает исключительно с вашим модулем для демонстрации на реальных устройствах. Удобнее, когда вам нужно предварительно протестировать код перед публикацией в artifactory. Для этого достаточно указать зависимость в build.gradle. В примерах я буду указывать librarymodule в качестве названия модуля.

Настраиваем gradle для публикации в artifactory

Конкретно в его случае описывается процесс в maven repository для публичной публикации. Основные настройки абсолютно идентичны: в каждом модуле, который нужно публиковать, вызываем gradle script файл из файла build.gradle модулей и создаем gradle.properties, где будет лежать конфигурационная информация для публикации. Нас интересует возможность публиковать в приватном artifactory

Нам необходимо добавить 2 папки для публикации в artifactory: одну для официального релиза и snapshot для тестовых сборок модулей.


Когда у нас наконец-то настроен конфигурационный файл gradle.properties, мы готовы сделать первую публикацию библиотек в artifactory. В тестовой сборке укажем SNAPSHOT в VERSION_NAME. Затем выполним команду:

Настройка CI окружения

Нам удалось вручную опубликовать модули в наш приватный artifactory. В завершениb осталось настроить CI окружение, чтобы мы могли встроить публикацию в наш процесс разработки.
Мы хотим, чтобы только CI мог публиковать в release artifactory, а для остальных добавим свободный доступ на чтение и запись в snapshot. Поэтому внесем изменения в корневом файле gradle.properties, который обычно лежит в

/.gradle/gradle.properties . Пропишем <%username%>и <%password%>для доступа при публикации в artifactory. Таким образом у нас будет настроен уровень доступа, без внесения изменений в .gitignore.

Добавляем trigger на ветку master, чтобы при merge у нас собралась сборка для публикации в release artifactory. В список задач сборок добавляем запуск тестов, если у нас в модуле они есть. Хорошо будет ещё настроить auto increment версии.

Используем модуль в продукте

Как только CI соберет сборку и зальет ее в artifactory, в проекте можно добавить зависимость этого модуля. Но погодите, нам же нужно добавить еще и url к нашему artifactory, ведь они недоступны в типичном repository как maven

Теперь мы можем использовать его в проекте.

С чем мы столкнулись

При подключении Kotlin в наши модули документация для Kotlin файлов не подтягивается. Оказалось, что для этого нужно добавить gradle задачу с Dokka.

Если несколько разработчиков указывали идентичные версии для библиотек при публикации, то, естественно, актуальной версией модели оказывалась последняя публикация. В процессе разработки модуля обязали указывать постфикс с идентификатором ticket из Jira. Получается что-то вроде 1.0.1-AAS-1-SNAPSHOT .

Что в итоге получилось

Со временем у нас возросло количество модулей. Мы держали каждый модуль в отдельном git repository. Множество git repository создает большое количество неудобств в процессе разработки, если модуль имеет зависимость от других модулей. В итоге получилось, что для выполнения одной задачи, необходимо было создавать PR в каждом git repository. Не совсем ясно, в каком порядке их нужно тестировать, не учитывая еще постоянное изменение PR, если в одном из PR внесли правки. Поэтому, использовать один git repository для всех модулей на практике оказалось удобнее всего.

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

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

Источник

Оцените статью