Ребята, это сириус мазафакинг щит. Не знал про такую штуку с tools namespace, но считаю, что это очень круто. В ваших
#hack #resources #tools
https://blog.stylingandroid.com/tool-time-part-1-2/
tools:text=“…” и tools:src="..." можно писать штуки типа @tools:sample/cities или @tools:sample/avatars для дефолтных dummy-данных. #hack #resources #tools
https://blog.stylingandroid.com/tool-time-part-1-2/
Styling Android
Tool Time – Part 1
A common use-case when we're designing a layout containing a RecyclerView (or, if you're a glutton for punishment: ListView) is that we may have to display data that is either generated or obtained at
Ты входишь в тёмную комнату. В лунном свете, пробившемся сквозь мутное окно, удаётся различить очертания нескольких бочек. Подойдя к одной из них, ты чувствуешь резкий неприятный запах. Внезапно включается яркий свет, с потолка на верёвке к тебе спускается ложка. К ложке приклеена бумажка. Надпись на ней гласит: “Тебе предстоит съесть всё, до последней капли. Игра началась”.
Как-то так мы и пишем под Android. А подробнее об этом написал хорошо знакомый нам @Harmonizr в своей статье.
#problem #criticism
http://javanese.online/%D1%81%D1%82%D0%B0%D1%82%D1%8C%D0%B8/%D1%84%D1%83%D0%BD%D0%B4%D0%B0%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D1%8B_android/
Как-то так мы и пишем под Android. А подробнее об этом написал хорошо знакомый нам @Harmonizr в своей статье.
#problem #criticism
http://javanese.online/%D1%81%D1%82%D0%B0%D1%82%D1%8C%D0%B8/%D1%84%D1%83%D0%BD%D0%B4%D0%B0%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D1%8B_android/
javanese.online
Фундаментальные проблемы Android — Javanese
Почему под Android так больно разрабатывать.
Почему Google уже не торт, за авторством Steve Yegge.
#google
https://medium.com/@steve.yegge/why-i-left-google-to-join-grab-86dfffc0be84
https://medium.com/@steve.yegge/why-i-left-google-to-join-grab-86dfffc0be84
Medium
Why I left Google to join Grab
Note: This is my first time using Medium. Please forgive any faux pas. Also, it’s pretty long even for me, so you might want to go grab a…
А вот и вторая часть статьи про фишки tools namespace в XML-вёрстке подоспела. На этот раз речь пойдёт о том, как такие sample-данные подготовить самому.
#hack #resources #tools
https://blog.stylingandroid.com/tool-time-part-2/
#hack #resources #tools
https://blog.stylingandroid.com/tool-time-part-2/
Styling Android
Tool Time – Part 2
A common use-case when we're designing a layout containing a RecyclerView (or, if you're a glutton for punishment: ListView) is that we may have to display data that is either generated or obtained at
Статья от Russell Cohen, в которой почти на пальцах разбирается, как же работает Google Authenticator и похожие на него аппы. “Ain’t no magic here”
#2factor #auth #google
https://rcoh.me/posts/two-factor-auth/
#2factor #auth #google
https://rcoh.me/posts/two-factor-auth/
rcoh.me
Demystifying Two Factor Auth
I always wondered how Google Authenticator style 2-factor codes worked. The process of going from QR code to rotating 6-digit pin seemed a bit magical. A few days ago, my curiosity found itself coupled with some free time. Here’s what I found:
What’s in the…
What’s in the…
Потрясающий разбор реализаций HashMap в разных языках. Тут, вообще говоря, и добавить-то больше нечего :)
#hashmap #languages #datastructures
https://rcoh.me/posts/hash-map-analysis/
#hashmap #languages #datastructures
https://rcoh.me/posts/hash-map-analysis/
rcoh.me
An Analysis of Hash Map Implementations in Popular Languages
Few data-structures are more ubiquitous in real-world development than the hash table. Nearly every major programming features an implementation in its standard library or built into the runtime. Yet, there is no conclusive best strategy to implement one…
Наверное, не очень существенная вещь, но может кому-то пригодится. Мини-статья о том, как переиспользовать Gradle демон между студией и терминалом.
#gradle #daemon #cheatsheet
https://medium.com/@mydogtom/tip-how-to-reuse-gradle-daemon-between-android-studio-and-terminal-df5232d63f38
#gradle #daemon #cheatsheet
https://medium.com/@mydogtom/tip-how-to-reuse-gradle-daemon-between-android-studio-and-terminal-df5232d63f38
Medium
Tip: How to reuse Gradle daemon between Android Studio and terminal
When I run first gradle command from terminal, it starts new daemon instead of reusing already existed one.
Google выпустили preview Android KTX. Это такая пачка Kotlin extensions для разных Android API. В общем всё то, что народ сам городил на гитхабчике, только от Google.
#kotlin #extensions #library
https://github.com/android/android-ktx
#kotlin #extensions #library
https://github.com/android/android-ktx
GitHub
GitHub - android/android-ktx: A set of Kotlin extensions for Android app development.
A set of Kotlin extensions for Android app development. - android/android-ktx
Статья в блоге Яндекса на Хабре, в которой они внушительно разжевали AccountManager. На самом деле это не статья, а видео с какого-то их доклада, но кажется, что читать быстрее.
#accountmanager #auth #oauth
https://habrahabr.ru/company/yandex/blog/347152/
#accountmanager #auth #oauth
https://habrahabr.ru/company/yandex/blog/347152/
Хабр
Account Manager: аккаунты, токены и все-все-все. Лекция Яндекса
Android предоставляет мощную систему работы с аккаунтами. Наличие Account Manager уже давно помогает Яндексу — за годы разработки приложений и сервисов мы накопи...
Очень неожиданно и очень смешно: Jake наш Wharton на Github обмолвился, что фрагменты, которые не из support библиотеки, в Android P станут deprecated.
#androidp #fragment #supportlib
https://github.com/android/android-ktx/pull/161#issuecomment-363270555
#androidp #fragment #supportlib
https://github.com/android/android-ktx/pull/161#issuecomment-363270555
GitHub
Add FragmentManager extension for transactions by romtsn · Pull Request #161 · android/android-ktx
Add extension to execute FragmentTransaction in a handy way
fragmentManager.transact {
remove(fragmentOne)
add(R.id.fragment_container, fragmentTwo)
}
fragmentManager.transact {
remove(fragmentOne)
add(R.id.fragment_container, fragmentTwo)
}
День богат на смешные новости. Какой-то чувак обнаружил, что его апп не устанавливается на девайс Samsung из-за одинаковых пермишенов в манифесте. Конфликтовал его апп с Samsung’овским ассистентом Bixby. Чувак, конечно, такого не ожидал, он вроде бы пермишен сам выдумал. Ну он не растерялся, стал смотреть, почему, кто, откуда. И вот похоже, что какой-то одарённый юноша в Samsung скопипастил со StackOverflow пример прямо с таким пермишеном и прямо в манифест Bixby. Красота!
#samsung #manifest #permissions
https://commonsware.com/blog/2018/02/06/vet-your-manifest.html
#samsung #manifest #permissions
https://commonsware.com/blog/2018/02/06/vet-your-manifest.html
Commonsware
The CommonsBlog — Vet Your Manifest
Mark Murphy's CommonsBlog
Вот ещё небольшая статья-шпаргалка про разницу между разными директивами ProGuard. Хороших выходных :)
#cheatsheet #proguard
https://jebware.com/blog/?p=418
#cheatsheet #proguard
https://jebware.com/blog/?p=418
Jebware
Distinguishing between the different ProGuard “-keep” directives
If you search for ProGuard rules for a Java or Android library, you’ll see a lot of answers on StackOverflow that tell you to do something like this:-keep class com.foo.library.** { *; }That
Chris Craik рассказал о проблемах
#database #cursor #sqlite
https://medium.com/google-developers/large-database-queries-on-android-cb043ae626e8
SQLiteCursor, возникающих при работе с большими (для мобилки, разумеется) объёмами данных. Про проблемы и внутренности это он, конечно, хорошо. Но вот его заключение меня огорчает: “Fortunately, these problems all have a single simple workaround: small queries”. Знаете, это такой ответ в стиле: “These are not the droids you are looking for”. Но статью всё-таки полистайте :)#database #cursor #sqlite
https://medium.com/google-developers/large-database-queries-on-android-cb043ae626e8
Medium
Large Database Queries on Android
Windows of Opportunity
Новость одной строкой: Google выпустили версию 1.0 своего ARCore.
Комментарий одной строкой: Java SDK этого дела всё ещё выглядит довольно грустно.
#ar #arcore #google
https://developers.googleblog.com/2018/02/announcing-arcore-10-and-new-updates-to.html
Комментарий одной строкой: Java SDK этого дела всё ещё выглядит довольно грустно.
#ar #arcore #google
https://developers.googleblog.com/2018/02/announcing-arcore-10-and-new-updates-to.html
Googleblog
Announcing ARCore 1.0 and new updates to Google Lens
News and insights on Google platforms, tools, and events.
Интересная статья про красоту Lisp’а. Если тебя, как это когда-то было со мной, пичкали в универе Lisp’ом, то, скорее всего, ничего нового ты не узнаешь. В обратном же случае, крайне рекомендую.
#lisp #fp
http://blog.rongarret.info/2018/02/yes-code-is-data-but-thats-not-what.html
#lisp #fp
http://blog.rongarret.info/2018/02/yes-code-is-data-but-thats-not-what.html
blog.rongarret.info
Yes, code is data, but that's not what makes Lisp cool
There has been some debate on Hacker News lately about what makes Lisp cool , in particular about whether the secret sauce is homo-iconici...
Хорошая шпаргалка с тем, как разные
#keyboard #inputtype #cheatsheet
https://jebware.com/blog/?p=259
inputType у TextView влияют на soft-клавиатуру.#keyboard #inputtype #cheatsheet
https://jebware.com/blog/?p=259
Jebware
Android InputTypes and Keyboards
When reading input from an Android user with an EditText, you have a simple way to help that user out by setting the InputType. If you need the user to input a number, for example, you set the num
Некто Дмитрий Рабецкий (надеюсь, не переврал фамилию) написал классную статью про рендеринг 2D графики и Hardware Acceleration. Тут важно понимать, что речь идёт не про рисование каких-то простых кастомных вьюшек, а про несколько более сложные конструкции.
#view #rendering #graphics
https://medium.com/rosberryapps/make-your-custom-view-60fps-in-android-4587bbffa557
#view #rendering #graphics
https://medium.com/rosberryapps/make-your-custom-view-60fps-in-android-4587bbffa557
Medium
Make Your Custom View 60fps in Android
How often did you have to work with 2D graphics creating your own custom View? I’m sure in a majority of projects 2D drawing comes down to…
Вот ещё небольшая, но интересная статья. С последними версиями Firebase + Crashlytics можно для каждого краша посмотреть на последовательность экранов, которые юзер перед этим посетил.
#firebase #analytics #crashlytics
https://medium.com/@vitovalov/understanding-how-to-reproduce-crashes-with-firebase-crashlytics-logs-d1554187dfb2
#firebase #analytics #crashlytics
https://medium.com/@vitovalov/understanding-how-to-reproduce-crashes-with-firebase-crashlytics-logs-d1554187dfb2
Medium
Understanding how to reproduce crashes with Firebase Crashlytics Logs
Hunt those bugs faster — Enhancing crash analysis
@istima прислал распрекраснейшую статью. Вот читаешь, и сразу видно, что наш человек писал. Название простое, но говорящее: “Fuck you Android Framework”.
#android #framework #supportlib
https://medium.com/@drinfo/fuck-you-android-framework-ddbb02c4ae48
#android #framework #supportlib
https://medium.com/@drinfo/fuck-you-android-framework-ddbb02c4ae48
Medium
Fuck you Android Framework
Fuck you Android Framework for those horrible XMLs I have to write for layouts. Fuck you for your useless layout editor that generates…