Рубрика «android» - 269

http://radiant--eclipse.deviantart.com/
В данной статье мы попытаемся разобраться с Dependency Injection в Android (и не только) на примере набирающей популярность open source библиотеки Dagger
И так, что же такое Dependency Injection? Согласно википедии, это design pattern, позволяющий динамически описывать зависимости в коде, разделяя бизнес-логику на более мелкие блоки. Это удобно в первую очередь тем, что впоследствии можно эти самые блоки подменять тестовыми, тем самым ограничивая зону тестирования.

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

Рассмотрим упрощенную (до псевдокода) версию Twitter клиента.
Читать полностью »

Мой рассказ о смартфоне-мобильном терминале РЖД (http://habrahabr.ru/post/201422) вызвал огромный резонанс. В интернете появились десятки публикаций, использовавших мои фотографии.

Сегодня я расскажу обо всём, что мне удалось узнать о смартфоне из разных источников — от РЖД до контрактного разработчика и производителя.

Смартфон от РЖД: расставляем точки над i

Читать полностью »

image
К концу года на рынке Китая стали появляться планшеты на x86 чипе Intel Atom Clover Trail+. Если 7.9" модели на таком чипе не так интересны из-за низкого разрешения экрана, то планшет Ramos i9 подкупает своим 8.9-дюймовым экраном с разрешением 1920х1200 пикселей.
Стоимость планшета тоже весьма приятная — около $220 включая доставку.
Читать полностью »

Вступление

Привет, коллеги. Давно я не писал ничего на Хабр. Вот, решил исправить это досадное недоразумение.

Не так давно я сменил место работы, и проект, над которым я теперь работаю, использует для сборки Gradle. Более того, проект достаточно развесистый и сложный, и Gradle скрипт в нем весьма непростой. Поэтому я решил, что надо подучить Gradle. Как один из шагов обучения я решил написать свой собственный плагин. Плагин посвящен замечательной библиотеке annotated-sql, созданной моим хорошим товарищем Геннадием hamsterksu. Я использую эту библиотеку в персональных проектах, поэтому мне нужен удобный способ прикреплять и конфигурировать ее к ним. Библиотека использует процессоры аннотаций, поэтому цель плагина — подружить эти процессоры и gradle сборку.
Читать полностью »

На прошедшей неделе вышли новые версии Unity и Marmalade SDK, установщик CyanogenMod появился в Google Play, Amazon открыл сервис потоковой передачи приложений из облака, а Google — App Translation Service. Много другого интересного – в нашем еженедельном обзоре.

Дайджест новостей из мира мобильной разработки за последнюю неделю №32 (11—17 ноября 2013)Читать полностью »

Разработка кроссплатформенных мобильных приложений в DelphiЧасть #1
Часть #2
Часть #3

В четвертой части настоящего цикла мы вновь возвратимся к разработке «настольного» приложения и попытаемся более подробно разобраться с технологией связывания объектов LiveBinding. Данный механизм универсален и подходит как для мобильных, так и настольных приложений. Более того, этот механизм работает и в VCL. Знакомство же с LiveBinding лучше начать именно в классическом проекте.

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

Итак, в модуле данных поместим два компонента TFDTable и настроим их на работу с таблицами tblUnit и tblFoodstuff (по аналогии с набором данных для работы с таблицей tblRecipe). Двойным щелчком на компоненте откроем редактор полей, добавим все поля (пункт контекстного меню Add all fields).

Важно понимать, что практически во всех реализациях компоненты наборов данных наследуются от класса TDataSet и работают с некоторым набором полей. Здесь имеются в виду экземпляры классов, наследников TField (TIntegerField, TStringField и т.д.). Набор полей можно создать в режиме проектирования (design-time) и настроить свойства полей с помощью «инспектора объектов». Если рассматривать TFDTable, то помимо полей, соответствующих физическим полям таблицы, можно создать и другие типы полей, например, вычисляемое (Caclulated) или подставляемое (LookUp) поле. Значения этих полей будут вычисляться динамически в ходе работы программы, а не браться из источника данных. Чуть ниже мы рассмотрим пример создания таких полей.

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

Ниже приведен фрагмент файла формы модуля данных uDM.dfm, содержащий описание одного из наборов данных и связанных с ними полей. Текстовое представление формы можно получить, если в контекстном меню формы выбрать пункт «View as Text». Для того, что бы вернуться в обычный режим представления формы, следует нажать «View as Form».Читать полностью »

Двухсимочные телефоны, в последнее время, перестают занимать исключительно бюджетную нишу и стремительно приближаются к среднему классу. Xperia C – первый смартфон Sony, построенный на тайваньском чипе MediaTek, с которым знакомы многие владельцы устройств из Поднебесной. Предлагаем вашему вниманию подробный обзор новой модели.

Две симки, четыре ядра – обзор Sony Xperia C

Читать полностью »

Согласно аналитикам из IDC, за последний квартал Apple продала рекордное количество своих устройств, работающих на iOS. Но настоящая новость заключается в абсолютном доминировании Android, который отхватил такую долю рынка, что показатель Apple скоро может опуститься ниже 10%.

Доля мобильного рынка Android достигла 80% проданных устройств, сообщила исследовательская фирма в своем отчете о показателях за последний квартал этого года. А Apple смогла занять менее 13% рынка.

Android затмевает Apple: MS DOS нашего времени

Триумф Android, кажется, подтверждает правильность выбора Google — не биться на равных с Apple, ее проприетарной мобильной ОС и мобильными устройствами. Если оглянуться назад, то можно понять, что это было элементарное решение, особенно если учесть один очевидный прецедент.Читать полностью »

Привет!

В конце октября в Сан-Франциско прошла первая Samsung Developer Conference 2013, на которой было представлено много интересных технологий. Слайды с мероприятия можно найти здесь. На конференции был представлен, а 12 ноября уже стал доступен для разработчиков Samsung MultiScreen SDK — о нем мы сегодня и расскажем.

Samsung MultiScreen SDK beta
Читать полностью »

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

Не так давно компания Google выпустила новую версию своей операционной системы для мобильных устройств — Android 4.4 KitKat. Многие из вас знают, что каждая из версий этой операционной системы имела кроме своего порядкового номера ещё и название — и это были сладости. Google начинала с Apple Pie, и каждое следующее крупное обновление называла какой-то другой вкуснятиной, следуя банальному алфавиту для первой буквы. И вот, в итоге они добрались до буквы K. Большинство посвящённых людей были уверены, что очередная версия системы будет иметь название Key Lime Pie, однако совсем недавно Google решила иначе. Теперь последняя версия системы, имеющая порядковый номер 4.4, называется KitKat, как и одноимённый шоколадный батончик от небезызвестной компании Nestle.
И вот, понимаете, одновременно с запуском Android 4.4 KitKat был запущен и Google Nexus 5 — новый смартфон, о котором многие читали и почти все знают. Однако многие не знают, что совместно компаниями Google и Nestle был запущен ещё один продукт — и это шоколадка KitKat с определённым дизайном обложки. Буквально на днях я зашёл в продуктовый магазин и увидел этот продукт на полке. Я спросил у кассира «Как давно его завезли?», и она мне ответила «Вчера». Сегодня я делаю её анбоксинг на радость тем, кому этот продукт ещё не привезли.
image
Я не претендую на полноценный обзор, хотя основные характеристики осветить планирую.
Кого заинтересовало — прошу под кат. (осторожно, весьма много трафика)
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js