Как стать автором
Обновить
0
@ventiliokread⁠-⁠only

Пользователь

Отправить сообщение

7 сервисов для поиска уязвимости мобильных приложений

Время на прочтение4 мин
Количество просмотров36K


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

Согласно последним исследованиям NowSecure более чем в 25% мобильных приложений есть хотя бы одна критически опасная уязвимость.

В 59% финансовых приложений для Android есть три уязвимости из списка OWASP Топ-10.

Чем больше используют мобильные телефоны, тем больше появляется мобильных приложений. В магазине приложений Apple App Store доступно более 2 миллионов приложений, а в Google Play Store — более 2,2 миллионов.
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии2

Android Tips and Tricks

Время на прочтение13 мин
Количество просмотров47K
В данном материале можно будет увидеть различные инструменты и подсказки, которые здорово облегчают жизнь Android разработчикам. Большая часть собрана напрямую от знакомых разработчиков и содержит вещи, которые должен знать каждый. Дополнения и расширения приветствуются, и если вы знаете о каком-то крутом механизме, который не был упомянут в статье, не поленитесь перейти в оригинал и открыть pull request.
Читать дальше →
Всего голосов 49: ↑49 и ↓0+49
Комментарии18

Clean Recycler Adapter. Часть 1

Время на прочтение18 мин
Количество просмотров15K

Введение




Списки, списки, списки… Вертикальные, горизонтальные, комбинированные. Практически ни одно мобильное приложение не обходится без них. Более того, нередко приложения состоят из одних только списков.

И если в “однородных” списках нет ничего страшного, то разные типы ячеек уже могут вызывать вопросы, основные из которых:

  • как облегчить изменение и масштабирование типов ячеек
  • как минимизировать количество мест для изменения, снизив риск потенциальных ошибок
  • как избавиться от if-else уродства
  • как избавиться от уродливых проверок на тип и опасных приведений типов
Читать дальше →
Всего голосов 12: ↑9 и ↓3+6
Комментарии18

Dual-pane с использованием фрагментов

Время на прочтение12 мин
Количество просмотров3.9K

Небольшое введение, или зачем все это нужно


Не так давно мне потребовалось реализовать переключение между single-pane и dual-pane режимами при повороте экрана. Поскольку готовые решения, которые удалось найти, меня не устроили, то пришлось изощряться и изобретать собственный велосипед.

Альтернативный текст


В документации, а также в нотациях material design указывается, что при стандартной обработке поворота экрана, место может задействоваться неэффективно, а потому следует выделять два режима: single-pane (на экране присутствует один фрагмент, находящийся внизу иерархии) и dual/multi-pane (пользователю предлагается взаимодействовать с несколькими фрагментами, идущими последовательно в иерархии)

Все подходы для решения данной задачи, которые я видел, использовали либо ViewPager, либо дополнительную Activity. Я же решил данный кейс в несколько ином виде, использовав лишь FragmentManager и два контейнера.
Читать дальше →
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Добавление AdMob рекламы в Android приложение с использованием Firebase

Время на прочтение4 мин
Количество просмотров53K

Предисловие


Вводим «AdMob» в Google и первым сайтом уже будет не AdMob-ский, а Google-ский сайт. После перехода на оный Вас начнут по немногу переманивать на темную сторону Firebase (недавно купленный Google).

Firebase дает довольно обширные возможности по аналитике (по крайней мере для меня, как программиста, а не маркетолога) рекламы в вашем приложениее (рост, вес, страна, кол-во просмотров, версии Android куда установливалось и тд. и тп.).

Первым делом был найден пост, но он для Eclipse, а после первых попыток сделать по примеру — начались предупреждения о depricated да и вообще ошибки.

Прочитав больше информации стало понятно, что переход AdMob на firebase произошел недавно и разбиратся придется самому.

Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии7

Cicerone — простая навигация в Андроид приложении

Время на прочтение8 мин
Количество просмотров84K


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


Читать дальше →
Всего голосов 35: ↑33 и ↓2+31
Комментарии29

Шишки и грабли Android-разработчика за 2 года

Время на прочтение10 мин
Количество просмотров41K
image

Я ясно помню тот день в далеком 2014 году, когда я решил заняться программирование под Android. Это оказалось лучшим решением, которое я принял в моей жизни. Уже прошло почти два с половиной года, и за это время у меня возможность кое-чему научиться.

Когда я только начал, я не знал никого, кто мог бы научить меня, показать, как правильно нужно делать. И я совершил МНОЖЕСТВО ошибок, в так же потратил кучу времени на то, чтобы потом их исправить.

Полтора года спустя, мне выпал шанс поработать с очень талантливыми и опытными Android-разработчиками, которые направляли меня и помогли мне привести все в порядок. Эти две составляющие научили меня многому. Я понял, что надо ДЕЛАТЬ, а самое главное, что НЕ НАДО.

И уже какое-то время я, как могу, стараюсь помогать другим разработчикам — прямо или косвенно. Вот мои профили: StackOverflow и Github.

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

Предупреждение: в этой статье я затрону Android, а также идеи и результаты программирования, так что если вы не знакомы с одним из этих пунктов, то вам может быть неинтересно дочитывать статью до конца. Остальные, просто читайте.
Читать дальше →
Всего голосов 34: ↑25 и ↓9+16
Комментарии17

Несколько Gradle фишек для вашего Android приложения

Время на прочтение4 мин
Количество просмотров19K


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

Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии7

Когда нужны исключения

Время на прочтение3 мин
Количество просмотров13K

Предисловие


Тема Исключений (за и против) не нова, и уже не раз обсуждалась. Но всё же, я надеюсь, что каждый из прочитавших данную статью почерпнёт что-то новое и полезное для себя.

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

Итак, что же такое Исключение (Exception)?


imageИсключение — это то, вероятность (возможность) чего исключается системой… это то что в условиях программы произойти не может.

Посмотрите в свой код. Можете ли вы к каждому исключению дописать «но ведь это невозможно» или «но это же исключено»? Думаю, мало кто сможет честно ответить «да». Если ваш ответ «нет» — значит часть исключений на самом деле не являются таковыми, просто вы использовали этот механизм, потому как вам показалось это более удобным. То самое «удобство» такого подхода будет рассмотрено далее.
Читать дальше →
Всего голосов 37: ↑12 и ↓25-13
Комментарии135

Несколько способов оптимизации работы с Git

Время на прочтение4 мин
Количество просмотров19K
В нашем блоге на Хабре мы рассказываем о различных технологиях из мира IaaS и не только. Например, недавно мы публиковали материал по программным реализациям VPN [Часть 1; Часть 2], а также рассказывали о DNS. Сегодня нам бы хотелось углубиться в тему разработки приложений и сервисов и поговорить о такой вещи, как Git, в частности, о способах оптимизации работы с ним.


/ фото hackNY.org CC
Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии12

Пишем, собираем и запускаем HelloWorld для Android в блокноте. Java 8 и Android N

Время на прочтение11 мин
Количество просмотров46K

Два с половиной года назад я опубликовал статью Пишем, собираем и запускаем HelloWorld для Android в блокноте. Она стала пользоваться огромной популярностью и набрала около 80 000 просмотров. С появлением новых инструментов, таких как Jack ToolChain, возникла необходимость переиздания и обновления статьи.

Когда я начал изучать Android, захотелось полностью написать и скомпилировать Android-приложение вручную — без использования IDE. Однако эта задача оказалась непростой и заняла у меня довольно много времени. Но как оказалось — такой подход принёс большую пользу и прояснил многие тонкости, которые скрывают IDE.

Используя только блокнот, мы напишем совсем маленькое учебное Android-приложение. А затем скомпилируем его, соберём и запустим на устройстве — и всё через командную строку. Заинтересовало? Тогда прошу.
Читать дальше →
Всего голосов 67: ↑64 и ↓3+61
Комментарии22

Как «прокачать» навыки программирования… практически без программирования

Время на прочтение8 мин
Количество просмотров66K
Существует большое количество хороших ресурсов, посвященных развитию технических навыков грамотного программирования. Однако всего несколько из них дают представление о знаниях, которые приходят лишь с опытом. В этом материале мы собрали советы, которые помогут повысить вашу продуктивность, позволят лучше работать и быстрее думать в процессе разработки.



/ фото hackNY.org CC
Читать дальше →
Всего голосов 41: ↑27 и ↓14+13
Комментарии17

ExcelArt – изометрия «на халяву». Рисуем псевдообъемный телефон без 3D и Фотошопа

Время на прочтение12 мин
Количество просмотров79K


Возможно ли получить псевдообъемное изображение без 3D-программ? «Конечно, — скажете вы, — берешь, напрягаешься и рисуешь с нуля». А если без «берешь, напрягаешься и рисуешь»? А если вообще без каких-то специальных знаний? Можно ли получить изометрические объекты, не тратя время на рендер? Существует ли вообще цифровая иллюстрация вне привычных графических программ? На эти и другие вопросы я дам ответ в своей статье, посвященной новому методу создания цифровых иллюстраций — ExcelArt.
Всего голосов 130: ↑125 и ↓5+120
Комментарии56

Android Data Binding for RecyclerView: flexible way

Время на прочтение7 мин
Количество просмотров14K


Со времени первого анонса на Google IO 2015 новой библиотеки Data Binding Library прошло немало времени. Появилось много примеров, много гайдов и много исправлений и доделок в самой библиотеке. Вот уже и биндинг стал two-way, и ссылаться на другие View по их id можно в самом layout-файле да и армия поклонников этой библиотеки неуклонно растет. И, наверное, каждый новый адепт начинает с поиска примеров — как правильно использовать так чтобы и удобно, и меньше кода, и по-феншуй. Если сейчас вбить запрос на подобии «Android DataBinding + RecyclerView» то, наверняка, получим целую кучу ссылок на различные гайды. Даже на Хабре уже была подобная статья — Android Data Binding in RecyclerView.

Но не смотря на такое обилие ресурсов/гайдов, многие из них показывают базовый функционал, и каждый разработчик, начиная активно использовать Data Binding, придумывает свой, удобный ему способ работы. Далее будет показан один из таких способов.
Пример тут: DataBinding_For_RecyclerView
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии7

Android: выдвигающийся экран снизу

Время на прочтение5 мин
Количество просмотров96K
Данная статья является переводом статьи Emrullah Luleci, а также её продолжения.

Нижний экран (Здесь и далее под «нижним экраном/слоем» будет подразумеваться элемент bottom sheet — прим. пер.) — компонент, выезжающий снизу экрана, который используется для отображения дополнительного контента. Подробнее об этом элементе можно узнать на официальной сайте посвященном материальному дизайну.

image

Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии8

5 UI фишек для современного Андроид приложения. Код, идеи и живой пример

Время на прочтение5 мин
Количество просмотров22K
image

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

Статья не ставит своей целью научить проектировать пользовательский интерфейс или объяснить сокровенный смысл Material дизайна, но надеюсь, приведенные примеры смогут вдохновить Ввас на эксперименты с дизайном ваших приложений.
Читать дальше →
Всего голосов 23: ↑18 и ↓5+13
Комментарии15

О чём молчит Google и почему вам стоит использовать Apache HttpComponents в Android

Время на прочтение7 мин
Количество просмотров24K
Эту статью нужно было публиковать гораздо раньше (почти на шесть лет), сэкономив тем самым Android разработчикам огромное количество месяцев бессмысленной разработки — но увы, не всегда есть на это время.

Введение


Если вы разрабатываете под Android, то наверняка сталкивались с тем, что открываете вы своё приложение, которое отлично работало несколько лет, и тут внезапно оказывается, что Apache httpComponents стали deprecated, и их не рекомендуется использовать. Сначала давайте разберём, что же произошло, а потом сделаем выводы, что делать.
Читать дальше →
Всего голосов 38: ↑31 и ↓7+24
Комментарии40

Оптимизируем свои трудозатраты при разработке приложения в Google Material Design

Время на прочтение3 мин
Количество просмотров22K


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

Итак, перед нами стоит задача: опираясь на готовые решения в открытом доступе, максимально оптимизировать затраченный труд на разработку приложения в стиле Google Material Design.
что удалось откопать...
Всего голосов 22: ↑18 и ↓4+14
Комментарии16

7 полезных утренних привычек психологически выносливых людей

Время на прочтение4 мин
Количество просмотров75K
Как начинают свой напряженный день американские (и не только) участники Олимпийских игр и «Морские котики» (и как можете действовать и вы!)?

image

Жизнь активного предпринимателя — это, мягко говоря, езда по американским горкам.
Как же преуспевающие люди ухитряются переживать такие сумасшедшие дни?
Читать дальше →
Всего голосов 57: ↑33 и ↓24+9
Комментарии19

Password Visibility Toggle — Android Support Library, revision 24.2.0

Время на прочтение4 мин
Количество просмотров11K

Здравствуйте! Предлагаю вниманию читателей перевод статьи об обновлении Android Support Library и одном немаловажном ее новом компоненте Password Visibility Toggle . Оригинал статьи можно найти здесь.


Считаю, что Password Visibility Toggle довольно интересный инструмент, причем довольно простой, который заслуживает отдельного внимания, поэтому прошу под кат.


Читать дальше →
Всего голосов 11: ↑9 и ↓2+7
Комментарии13
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Гродно, Гродненская обл., Беларусь
Зарегистрирован
Активность