Метка «java» - 54

Большая часть кода Android приложения работает в контексте компонент, таких как Activity, Service, ContentProvider или BroadcastReceiver. Рассмотрим, как в системе Android организованно взаимодействие этих компонент с потоками.

При запуске приложения система выполняет ряд операций: создаёт процесс ОС с именем, совпадающим с наименованием пакета приложения, присваивает созданному процессу уникальный идентификатор пользователя, который по сути является именем пользователя в ОС Linux. Затем система запускает Dalvik VM где создаётся главный поток приложения, называемый также «поток пользовательского интерфейса (UI thread)». В этом потоке выполняются все четыре компонента Android приложения: Activity, Service, ContentProvider, BroadcastReceiver. Выполнение кода в потоке пользовательского интерфейса организованно посредством «цикла обработки событий» и очереди сообщений.
Читать полностью »

Открою не Америку, но шкатулку Пандоры: в Java-коде много бойлерплейта. Типовые геттеры, сеттеры и конструкторы, методы ленивой инициализации, методы toString, hashCode, equals, обработчики исключений, которые никогда не выбрасываются, закрывалки потоков, блоки синхронизации. Проблема заключается даже не в том, чтобы написать всё это — современные среды разработки справляются с такими задачами нажатием нескольких клавиш. Сложность в поддержании бойлерплейта в актуальном состоянии по мере внесения модификаций в код. А в некоторых случаях (многопоточность, реализация методов hashCode и equals) и сам шаблонный код написать без ошибок — далеко не простая задача. Одним из решений проблемы является генерация кода, и в этой статье я расскажу про проект Lombok — библиотеку, которая не только может избавить вас от бойлерплейта, но и сделать это максимально прозрачно, с минимальной конфигурацией и, что немаловажно, с поддержкой на уровне среды разработки.
Читать полностью »

17-18 апреля 2012 года в Москве, в здании Российской Академии Наук прошла, уже вторая по счёту, конференция JavaOne/Oracle Develop. В прошлом году я посещал сие мероприятие и мне очень понравилось, поэтому приобрёл входной билет как только они появились в продаже. К слову, их минимальная стоимость выросла вдвое относительно прошлого года, но осталась вполне адекватной — 1 000 рублей.

image
Автор — Trukhin Yuri

На входе встречал известный Java-персонаж Дюк.
Читать полностью »

  В последнее время очень часто появляются фреймворки которые позволяют разработчику реализовывать функционал в свободном виде не прибегая к наследованию от интерфейсов. Примеры можно увидеть в таких как EJB 3, JUnit 4, JSF 2, Spring Framework 3 и т.д.
Под катом найдете обсуждение обоих подходов.
Читать полностью »

Записи конференции Lang.NEXT 2012 для тех, кто интересуется языками программирования

В начале апреля на базе кампуса Microsoft в Рэдмонде прошла специализированная индустриальная конференция, посвященная языкам программирования — Lang.NEXT 2012. В рамках конференции своими наработками и результатами исследований поделились эксперты известных корпораций (например, Microsoft, Google, Facebook, Oracle) и ведущих университетов (включая MIT, Stanford, Berkeley).

Для всех энтузиастов мира программирования на Channel 9 доступны записи и презентации выступлений.
Читать полностью »

Прочитав недавно появившуюся статью Маршруты на картах Google в вашем Android-приложении, я решил показать еще один альтернативный подход, для решения этой задачи. Возможно он даст немного большее представление о работе с google-maps и поможет новичкам быстрее разобраться с этим вопросом.
Читать полностью »

Не заставляет себя ждать очередной, 15-й выпуск правильного подкаста для IT-шников «Разбор полетов».
Сегодня в программе:

  • «И кое-что задаром» (с) [1]
  • Готовьте ваши паяльники [1]
  • Как правильно нарезать [1]
  • Меня зовут Джон Крамер и у меня есть для вас игра [1]
  • Мозги налево, руки направо [1]
  • Отряд не заметит потериЧитать полностью »

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

Начинали мы с разработок под iPhone, где все работало гладко и как положено.
А что работало? Основная задача приложения была послать запрос «Где ты?» — ничего сложного. Но уж очень хотелось бы этот запрос доставлять адресату как можно быстрее, пока он еще актуален. Здесь, имеющий опыт в разработках под iPhone, читатель скажет, что есть APN Service, и будет абсолютно прав. Именно им мы и пользовались, и не знали горя, ибо доставлялись эти уведомления быстрее секунды.

Затем по некоторым внутренним причинам мы перешли на разработки под Android и быстренько все портировали. В частности без каких-либо задних мыслей модуль работы с APN был заменен на аналогичный с C2DM.

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

В ходе исследования этой проблемы я натолкнулся на ряд странных особенностей работы этих уведомлений от Google.
Читать полностью »

imageС радостью сообщаем, что команда Jelastic примет участие в главном событии года для русских Java-разработчиков — конференции JavaOne Russia 2012. Она состоится 17-18 апреля в г. Москва, Российская Академия Наук (Ленинский проспект 32a).
18 апреля в 16.30 выступит с докладом технический директор российского подразделения Jelastic Дмитрий Лазаренко. Приходите, не пожалеете! Тематика доклада никого не оставит равнодушным: «Не по дням, а по часам! Вертикальное и горизонтальное масштабирование приложений на Java.»
Мы рассмотрим, как надо проектировать приложения, чтобы они могли выдержать свалившуюся на них славу и неожиданный поток клиентов, приемы вертикального и горизонтального масштабирования, преимущества и недостатки каждого подхода, узкие места и потенциальные проблемы. image В том числе мы приведем примеры практической реализации обоих видов масштабирования в единственной облачной платформе хостинга Java в России — Jelastic.
Так же вы сможете увидеть, как работает Jelastic PaaS и задать все интересующие вас вопросы у нашего стенда, который будет открыт для посетителей на протяжении всего времени проведения конференции. До встречи!Читать полностью »

Я уже давно интересуюсь темой «Социальные сети», в последнее время это Enterprise направление. Сорри за то что пост не особенно содержательный получился, но я надеюсь что он окажется полезен хотя бы для кого-нибудь.

Jive Social Business — Collaboration & Social Software Solutions

Знакомимся — портал которым мы пользуемся в рамках компании в которой я работаю. С удовольствием поделюсь личным опытом (больше негатив).

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

  1. Найди иконку активности
  2. Не нашёл? Оно в верхнем меню, нужно мышкой водить по нему пока не увидешь hint «Сommunications»
  3. Получилось?, на конфетку. Теперь ищи в зоне контента Ссылку «Filter»
  4. Выбери из выпадающего меню «Messages» и будет тебе счастье

Для того чтобы просто отправить сообщение, достаточно дойти до второго шага :). А это уже проще :)
Читать полностью »


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