[{"channel_id":1005272660,"post_id":2226,"date":1789032981000,"forwards":"1","views":"494"},{"channel_id":1005272660,"post_id":2225,"date":1787909920000,"forwards":"2","views":"741","comments":"1","text":"\u0427\u0442\u043e \u043d\u043e\u0432\u043e\u0433\u043e \u0432 Jetpack Compose August &#039;26 (2026.08.00)<br><br>- Breaking Changes<br>- Graphics: Mesh Gradients, Wide Color Gamut &amp; HDR Support<br>- Styles<br>- Runtime Optimizations: Keyed SideEffect Overload<br>- Animation: Interactive Two-Stage Transitions<br>- Text, Input &amp; Platform Integrations: Editable Text Formatting, Text Selection, Credential Manager Integration<br>- Layout Enhancements: Named Areas in Grid Layout<br>- Performance<br>- Testing &amp; Tooling Upgrades: Test Synchronization<br><br>#android #compose<br><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/android-developers.googleblog.com\/2026\/08\/jetpack-compose-august-2026-release.html\">https:\/\/android-developers.googleblog.com\/2026\/08\/jetpack-compose-august-2026-release.html<\/a>","text_length":576,"media":{"root":"\/003\/sQgAAFQ-6zsAAAAAiQqT09X5P0I","webpage":{"url":"https:\/\/android-developers.googleblog.com\/2026\/08\/jetpack-compose-august-2026-release.html","type":"article","title":"What's new in the Jetpack Compose August '26 release","site_name":"Android Developers Blog","display_url":"android-developers.googleblog.com\/2026\/08\/jetpack-compose-august-2026-release.html","description":"News and insights on the Android platform, developer tools, and events.","thumbs":{"m":{"w":320,"h":160,"hash":"CZyvRKSksar-dHNhYS_fHg&ts=1789482248"},"x":{"w":800,"h":400,"hash":"9ysKq1PXQUV-InznVfw-Fg&ts=1789482248"},"y":{"w":1024,"h":512,"hash":"sxk4nD6KLDfYlRsmMaYE3A&ts=1789482248"},"i":{"bytes":"AUACg|DRlaJQrHucDHemMVVd2flIyKVhgbWUMOuCKaxzJHn+8K0RDJFDr04zQSWJ3k4UZNOdsqwD4PamMxBB4zgZpLUByttBK5GDgg0UgVmXAUKOuBxRRp1AaST1OaUgbIz3LiiimwRKYULZ281FJxIR2AFFFKO4AJGAwDRRRRYZ\/9k="}}}}},{"channel_id":1005272660,"post_id":2224,"date":1787822161000,"forwards":"12","views":"756"},{"channel_id":1005272660,"post_id":2223,"date":1787134428000,"forwards":"5","views":"669","text":"\u0412\u044b\u043f\u0443\u0441\u043a \u043f\u043e\u0434\u043a\u0430\u0441\u0442\u0430 Android Developer Backstage \u043f\u0440\u043e AI<br><br>Android AI Tools: Vibe coding, sub-agents, and the Android CLI<br><br>- Introduction to AI tools<br>- Building with Android CLI<br>- Sub-agents and parallel processing<br>- Managing code with the change review tool<br>- Testing app features with Journeys<br>- Extending capabilities with Android skills<br>- How development is evolving with agents<br>- Keeping humans in the loop<br><br>#android #ai<br><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=BEJ-RSgThuo\">https:\/\/www.youtube.com\/watch?v=BEJ-RSgThuo<\/a><br><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/adbackstage.libsyn.com\/android-ai-tools-vibe-coding-sub-agents-and-the-android-cli\">https:\/\/adbackstage.libsyn.com\/android-ai-tools-vibe-coding-sub-agents-and-the-android-cli<\/a>","text_length":555,"media":{"root":"\/012\/rwgAAFQ-6zsAAAAAbZSIGTvmhFE","webpage":{"url":"https:\/\/www.youtube.com\/watch?v=BEJ-RSgThuo","type":"video","title":"Android AI Tools: Vibe coding, sub-agents, and the Android CLI","site_name":"YouTube","display_url":"youtube.com\/watch?v=BEJ-RSgThuo","description":"Learn how the latest Android Studio AI features can streamline your daily development tasks. While the original agent mode chat was helpful, we rebuilt it with a re-architected experience that supports parallel tool calls and background sub-agents. For instance, you can now have an agent analyze code in the background while you continue working on a different feature. Try out the updated Journeys feature to see how plain text instructions can automatically test your critical user paths.\n\nChapters:\n00:00 - Introduction to AI tools\n03:28 - Building with Android CLI\n11:35 - Sub-agents and parallel processing\n27:10 - Managing code with the change review tool\n35:08 - Testing app features with Journeys\n43:36 - Extending capabilities with Android skills\n54:10 - How development is evolving with agents\n1:03:00 - Keeping humans in the loop\n\nWatch more Android Developers Backstage \u2192 https:\/\/goo.gle\/adb-podcast     \nSubscribe to Android Developers \u2192 https:\/\/goo.gle\/AndroidDevs \n\n#AndroidDevelopers #AndroidCLI #AndroidStudio\n\nSpeakers: Tor Norbye, Chet Haase, Xavier Durcohet, Esteban de la Canal","thumbs":{"m":{"w":320,"h":180,"hash":"TDufs4nLpKoi1nXyv1sT_w&ts=1789482248"},"x":{"w":800,"h":450,"hash":"9gouf75W5MCOy1fTDVDFCA&ts=1789482248"},"y":{"w":1280,"h":720,"hash":"Jez0sYRswX1dEBD-pncIsA&ts=1789482248"},"i":{"bytes":"AXACg|DMAJIAGTUhh5UbkBPv0+tXLIJ8iyKG3fd9jzTbkC3umVFADAE55waBlYQgxbgVz6Z5oFqzNtV4yc4+9UnnsBtOOeh29KdGHlnQ\/KQCORxQKxUZCrFSOR1oq\/fTRpujhwN33sDrRQOxTSYgL3xTWk3HJJJ96KKAEzShwKKKAEYg9uaKKKBH\/9k="}},"embed":{"url":"https:\/\/www.youtube.com\/embed\/BEJ-RSgThuo","type":"iframe","w":1280,"h":720}}}},{"channel_id":1005272660,"post_id":2222,"date":1786451700000,"forwards":"48","views":"1.5K","text":"\u0415\u0441\u043b\u0438 \u0432\u0434\u0440\u0443\u0433 \u0434\u0430\u0432\u043d\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0447\u0438\u0442\u0430\u043b\u0438 \u043f\u043e Compose - \u043a\u0440\u0430\u0442\u043a\u0438\u0439 \u043e\u0431\u0437\u043e\u0440 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u043d\u043e\u0432\u0448\u0435\u0441\u0442\u0432<br><br>#android #compose<br><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/proandroiddev.com\/stop-writing-compose-like-its-2024-10-recent-updates-every-android-developer-should-know-302c23b61e36\">https:\/\/proandroiddev.com\/stop-writing-compose-like-its-2024-10-recent-updates-every-android-developer-should-know-302c23b61e36<\/a>","text_length":237,"media":{"root":"\/00b\/rggAAFQ-6zsAAAAAXdTAWtqzsZw","webpage":{"url":"https:\/\/proandroiddev.com\/stop-writing-compose-like-its-2024-10-recent-updates-every-android-developer-should-know-302c23b61e36","type":"photo","title":"Stop Writing Compose Like It\u2019s 2024\u201310 Recent Updates Every Android Developer Should Know","site_name":"Medium","display_url":"proandroiddev.com\/stop-writing-compose-like-its-2024-10-recent-updates-every-android-developer-should-know-302c23b61e36","description":"You open an old Compose project.","author":"Subhankar Bag","thumbs":{"m":{"w":320,"h":179,"hash":"J3RGz71ZJHaz_PydXEPGQg&ts=1789482248"},"x":{"w":800,"h":447,"hash":"YVbd5BfU-Y4S9Ob4ThArFA&ts=1789482248"},"y":{"w":1024,"h":572,"hash":"OihC9bZ-dt0pVoR0wopTrQ&ts=1789482248"},"i":{"bytes":"AWACg|CXT7fy7RWXiRuSas7XBxv5xnGTS22DbxkdCvSpMjfj+X9aAK0UpmJCSbtvfkA1Jh843jJ9zVU7LeQrllQce351PFE6OWLfJ7c5oAi1C38yzdj8zpyD\/OirNz8lvITjAU5ooAp6VOTGYiPud60SuTkcf1oooAqbFSckjdJ\/ePbr0qyqLEvyg4A6ZoooAoavc7YBCBzJ1PtRRRQB\/9k="}}}}},{"channel_id":1005272660,"post_id":2221,"date":1785414387000,"forwards":"2","views":"548"},{"channel_id":1005272660,"post_id":2220,"date":1784624492000,"views":"646","text":"\u0427\u0442\u043e \u043d\u043e\u0432\u043e\u0433\u043e \u0432 Android Studio Quail 2:<br><br>- Multi-tasking with parallel chats<br>- Memory leak detection with LeakCanary<br>- App Quality Insights agent integration<br>- Quality &amp; stability improvements<br><br>#androidstudio <br><br> <a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/android-developers.googleblog.com\/2026\/06\/android-studio-quail-2-stable-features.html\">https:\/\/android-developers.googleblog.com\/2026\/06\/android-studio-quail-2-stable-features.html<\/a>","text_length":302,"media":{"root":"\/011\/rAgAAFQ-6zsAAAAAUcxXEFl_PuA","webpage":{"url":"https:\/\/android-developers.googleblog.com\/2026\/06\/android-studio-quail-2-stable-features.html","type":"article","title":"Android Studio Quail 2 is Stable: Multi-task with the Android Studio AI agent","site_name":"Android Developers Blog","display_url":"android-developers.googleblog.com\/2026\/06\/android-studio-quail-2-stable-features.html","description":"News and insights on the Android platform, developer tools, and events.","thumbs":{"m":{"w":320,"h":168,"hash":"OHfFY93fx9K9Gls3vHzRUg&ts=1789482248"},"x":{"w":800,"h":420,"hash":"7d2uWDjPAAQKCG6gIeYjVQ&ts=1789482248"},"y":{"w":1200,"h":630,"hash":"Pwre0Sng4aMHTSCrUflyaA&ts=1789482248"},"i":{"bytes":"AVACg|DYOAKjZzgnOBSu2QMEH6VVuTIQEjGSe\/YUbK4t3YjWRjd5Vjs6YAq1v5wGJqrAyRIRncx\/WpkyB83FKMhzRLlvU0VF5pxRVcyMyruNM812O0scGiiudFx3JImCNwoPvUk8pGAOM0UVS2FIhYsVyWNFFFIk\/9k="}}}}},{"channel_id":1005272660,"post_id":2219,"date":1784279496000,"forwards":"3","views":"780","comments":"1"},{"channel_id":1005272660,"post_id":2218,"date":1784030817000,"forwards":"25","views":"627","text":"\u0412\u0438\u0434\u0435\u043e \u0441 \u0441\u043e\u0432\u0435\u0442\u0430\u043c\u0438 \u043f\u043e \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 (I\/O Connect \u201826)<br><br>0:00 - Introduction<br>2:58 - Memory on Android<br>9:16 - App memory limits in Android 17<br>10:12 - In-field monitoring and profiling<br>15:24 - R8 and memory optimization<br>20:34 - Bitmaps and image management<br>27:48 - App resilience and Low memory killer daemon<br>30:24 - Track app kills and handle memory pressure<br>33:47 - Recap of app optimization techniques<br>35:06 - Improve startup time with profiles<br>36:06 - Save UI state with rememberSaveable<br>37:12 - Session summary<br><br>#performance\u00a0 #android\u00a0 <br><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=4BlGtrTeCMU\">https:\/\/www.youtube.com\/watch?v=4BlGtrTeCMU<\/a>","text_length":608,"media":{"root":"\/006\/qggAAFQ-6zsAAAAAr0X8b7NMo80","webpage":{"url":"https:\/\/www.youtube.com\/watch?v=4BlGtrTeCMU","type":"video","title":"Optimize your app performance for the next generation of Android (I\/O Connect \u201826)","site_name":"YouTube","display_url":"youtube.com\/watch?v=4BlGtrTeCMU","description":"As memory management evolves toward enforced efficiency, learn how we\u2019re partnering with you to maintain a premium experience across the ecosystem. Dan Brown, Ataul Munim, and Alessando Dovis explore the tools available today to optimize your app\u2019s footprint and prepare for the roadmap of upcoming changes.\n\nChapters:\n0:00 - Introduction\n2:58 - Memory on Android\n9:16 - App memory limits in Android 17\n10:12 - In-field monitoring and profiling\n15:24 - R8 and memory optimization\n20:34 - Bitmaps and image management\n27:48 - App resilience and Low memory killer daemon\n30:24 - Track app kills and handle memory pressure\n33:47 - Recap of app optimization techniques\n35:06 - Improve startup time with profiles\n36:06 - Save UI state with rememberSaveable\n37:12 - Session summary\n\nSubscribe to Android Developers \u2192 https:\/\/goo.gle\/AndroidDevs \n\n\n#Android #GoogleIOConnect #AndroidApps\n\n\nEvent: Google I\/O Connect Berlin 2026\n\nSpeakers: Dan Brown, Ataul Munim, Alessando Dovis\nProducts Mentioned: Android","thumbs":{"m":{"w":320,"h":180,"hash":"Y9hxaDhZKCzAepyT3Pmmaw&ts=1789482248"},"x":{"w":800,"h":450,"hash":"vZIDBED5HJseloaj5WSFQA&ts=1789482248"},"y":{"w":1280,"h":720,"hash":"cNZxMEk1yMCNcoctl13eHQ&ts=1789482248"},"i":{"bytes":"AXACg|DGAyeKd5b\/ANxvyqSELtJIzjrkDj9akMY7pz9B\/jQBBEA0qK3QsAa3JLKx2fu4wW7AMTWSoUTRYXB3Acd+frW9dSsQI40cEkfOQQB+NAFG9tLOOxd4lHmADBDH1FFW9SbdpUpwRwOCMHqKKAOaqQyuRjI\/KiigBI22SKx\/hINbUur20qgbJOOc4H+NFFAIivdUguLR4UWQM2MZAx1ooooA\/9k="}},"embed":{"url":"https:\/\/www.youtube.com\/embed\/4BlGtrTeCMU","type":"iframe","w":1280,"h":720}}}},{"channel_id":1005272660,"post_id":2217,"date":1783923953000,"forwards":"3","views":"240","text":"<b>\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0439\u0441\u044f \u043d\u0430 Android \u041c\u0438\u0442\u0430\u043f \u043e\u0442 \u0421\u0431\u0435\u0440\u0430 \u26a1\ufe0f<\/b><br><br>14 \u0438\u044e\u043b\u044f \u043d\u043e\u0432\u043e\u0435 \u043b\u0435\u0442\u043d\u0435\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0421\u0431\u0435\u0440\u0430 \u043d\u0430 \u043e\u0434\u0438\u043d \u0432\u0435\u0447\u0435\u0440 \u0441\u0442\u0430\u043d\u0435\u0442 \u0442\u043e\u0447\u043a\u043e\u0439 \u043f\u0440\u0438\u0442\u044f\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f Android-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432.<br><br>\u0421\u043f\u0438\u043a\u0435\u0440\u044b \u0438\u0437 \u0421\u0431\u0435\u0440\u0430, \u0410\u0432\u0438\u0442\u043e \u0438 SberDevices \u0440\u0430\u0437\u0431\u0435\u0440\u0443\u0442 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043a\u0435\u0439\u0441\u044b: \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0434\u043b\u044f \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432, \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043d\u0430 Jetpack Compose \u0438 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e \u0435\u0449\u0451 \u0434\u043e \u0440\u0435\u043b\u0438\u0437\u0430.<br><br>\u0410 \u043f\u043e\u0441\u043b\u0435 \u0434\u043e\u043a\u043b\u0430\u0434\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043d\u0430 \u043b\u0435\u0442\u043d\u0435\u0439 \u0442\u0435\u0440\u0440\u0430\u0441\u0435: \u043e\u0431\u0441\u0443\u0434\u0438\u0442\u044c \u0432\u044b\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u044f, \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u043a\u043e\u043b\u043b\u0435\u0433\u0430\u043c\u0438 \u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u0432\u0435\u0447\u0435\u0440 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 Android Community \ud83d\ude0e<br><br>\ud83d\udcc5 14 \u0438\u044e\u043b\u044f, 18:30<br>\ud83d\udccd \u0421\u0431\u0435\u0440.\u0421\u0440\u0435\u0434\u0430, \u041c\u043e\u0441\u043a\u0432\u0430, \u0417\u0435\u043c\u043b\u044f\u043d\u043e\u0439 \u0412\u0430\u043b, 9\u0410<br>\ud83d\udcbb \u041e\u0447\u043d\u043e \u0438 \u043e\u043d\u043b\u0430\u0439\u043d<br><br>\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u0447\u043d\u044b\u0445 \u043c\u0435\u0441\u0442 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043e \u2014 <a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/developers.sber.ru\/portal\/sreda\/android-meetup\">\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0439\u0441\u044f \u0441\u043a\u043e\u0440\u0435\u0435<\/a>","text_length":660,"media":{"root":"\/003\/qQgAAFQ-6zsAAAAAiQqT09X5P0I","photo":{"thumbs":{"m":{"w":320,"h":320,"hash":"C4haBWxVnx82RI2qF4q_tg&ts=1789482248"},"x":{"w":800,"h":800,"hash":"hfQ398fjc4pmMMcclFPf_A&ts=1789482248"},"y":{"w":1254,"h":1254,"hash":"8WYAQZeiDTxpJh0VUz2vZQ&ts=1789482248"},"i":{"bytes":"AoACg|DTO7PB4pBkcsRgClkcIhY9hVWCbzXdZM\/N0FSZk8kn7rch\/ShXM0WVO0+oqvPcCImIfePNV4rpoOX5U9u9PoFzQRJFbLSbh6YopHuEQgM2D6UUBdEhwRg4IPrUDzJG5ynPqBUkiodu4SHP90dKYI4VQ\/JIR6FSaWoWZRu42muEcDgr1oESeSWlGWJwOelaDLGz7SknHQ4qvcQKsHmJvyOzcVWhLi9x0scMhDSdhRVL5nOADu7k0UmBq7iO5pC7ZyJGA9MUUUxczEDvuyZCR6YpxYMMEk+xooqRpsj8oEjrgdqKKKZVj\/\/Z"}}}}},{"channel_id":1005272660,"post_id":2216,"date":1782300158000,"forwards":"21","views":"728","text":"\u041a\u0430\u043a\u00a0 Gradle \u0440\u0435\u0448\u0430\u0435\u0442 \u043a\u0430\u043a\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 \u043f\u0435\u0440\u0435\u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c<blockquote>Gradle compiles Kotlin to bytecode, uses the ASM library to strip out all private internals leaving only the public skeleton, then SHA-256 hashes that skeleton. If the hash matches the cached value, dependent modules are skipped entirely \u2014 only a public signature change produces a different hash and triggers downstream recompilation.<\/blockquote>#android #gradle\u00a0 <a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/keep.google.com\/#label\/kotlin\">#kotlin<br><br><\/a><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/proandroiddev.com\/how-gradle-decides-what-to-recompile-the-multi-module-secret-that-surprises-most-android-devs-353a5437488b\">https:\/\/proandroiddev.com\/how-gradle-decides-what-to-recompile-the-multi-module-secret-that-surprises-most-android-devs-353a5437488b<\/a>","text_length":542,"media":{"root":"\/006\/qAgAAFQ-6zsAAAAAr0X8b7NMo80","webpage":{"url":"https:\/\/proandroiddev.com\/how-gradle-decides-what-to-recompile-the-multi-module-secret-that-surprises-most-android-devs-353a5437488b","type":"photo","title":"How Gradle Decides What to Recompile \u2014 The Multi-Module Secret That Surprises Most Android Devs\u2014 ABI Hashing Explained","site_name":"Medium","display_url":"proandroiddev.com\/how-gradle-decides-what-to-recompile-the-multi-module-secret-that-surprises-most-android-devs-353a5437488b","description":"You changed one private function. Gradle rebuilt only one module out of forty-seven. Here\u2019s the exact mechanism behind that decision.","author":"Muhammad Zahab Ahmad","thumbs":{"m":{"w":320,"h":179,"hash":"NyHZkl37KCBwQOkQDs5chQ&ts=1789482248"},"x":{"w":800,"h":447,"hash":"4qx8niC5gG7RfWY2Ahlr9w&ts=1789482248"},"y":{"w":1024,"h":572,"hash":"KbMc1VP-2IC5bb4v9i0LSw&ts=1789482248"},"i":{"bytes":"AWACg|DMiQyNgED6nFSGEg43J+BogKgfKSXI6bQalIbIxnI5wFxVtk2IjGQM5U\/Q1J9nbONyfnT9jAZIb1+7ShSWIIPA7L3qVJhZEDoUOCQfoaKdKqoO+70orRMixVBxUyThR8ylm9d1FFQzQcbhT\/Af++qDPkHaCCe+aKKEkBHuLdSTiiiiqIP\/2Q=="}}}}},{"channel_id":1005272660,"post_id":2215,"date":1782214766000,"forwards":"3","views":"661","text":"\ud83e\udd16 <b>Android-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u2014 \u044d\u0442\u043e \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u0440\u0430\u0441\u0438\u0432\u044b\u0439 \u044d\u043a\u0440\u0430\u043d. \u0417\u0430 \u043d\u0438\u043c \u0441\u0442\u043e\u044f\u0442 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u0432\u043d\u0435\u0448\u043d\u0438\u043c API, \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043b\u043e\u0433\u0438\u043a\u0438 \u043f\u043e \u0441\u043b\u043e\u044f\u043c \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u0431\u0435\u0437 \u0445\u0430\u043e\u0441\u0430 \u0432 \u043a\u043e\u0434\u0435.<\/b><br><br>\ud83d\uddd3 <b>2 \u0438\u044e\u043b\u044f \u0432 20:00 \u041c\u0421\u041a <\/b>\u043f\u0440\u0438\u0433\u043b\u0430\u0448\u0430\u0435\u043c \u0432\u0430\u0441 \u043d\u0430 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u0443\u0440\u043e\u043a \u0432 \u043f\u0440\u0435\u0434\u0434\u0432\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0440\u0442\u0430 \u043a\u0443\u0440\u0441\u0430 \u00abAndroid-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a. \u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c\u00bb. \u041d\u0430 \u0437\u0430\u043d\u044f\u0442\u0438\u0438 \u0440\u0430\u0437\u0431\u0435\u0440\u0451\u043c \u043f\u0443\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Android-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438: \u043e\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0443 \u0434\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435.\u00a0<br><br>\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u043c API, \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u0445\u043e\u0434 \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 \u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f, \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 \u0441\u043b\u043e\u0438 \u043f\u043e \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0430\u043c \u0447\u0438\u0441\u0442\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u0438 MVVM, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u0442\u044c \u043b\u043e\u0433\u0438\u043a\u0443 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445.<br><br>\u27a1\ufe0f \u0423\u0440\u043e\u043a \u043f\u043e\u0434\u043e\u0439\u0434\u0451\u0442 \u0442\u0435\u043c, \u043a\u0442\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u043a\u0430\u0440\u044c\u0435\u0440\u0443 \u0432 Android-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0438 \u0445\u043e\u0447\u0435\u0442 \u043f\u043e\u043d\u044f\u0442\u044c, \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0435. <b>\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0439\u0442\u0435\u0441\u044c \u0438 \u0440\u0430\u0437\u0431\u0435\u0440\u0438\u0442\u0435\u0441\u044c, \u043a\u0430\u043a \u0441\u0432\u044f\u0437\u0430\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440, \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 \u0438 \u044d\u043a\u0440\u0430\u043d \u0432 \u043e\u0434\u043d\u043e\u043c Android-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438: <\/b><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/otus.pw\/hg85x\/\">https:\/\/otus.pw\/hg85x\/<\/a><br><br>\u0420\u0435\u043a\u043b\u0430\u043c\u0430. \u041e\u041e\u041e \u00ab\u041e\u0442\u0443\u0441 \u043e\u043d\u043b\u0430\u0439\u043d-\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u00bb, \u041e\u0413\u0420\u041d 1177746618576, <a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"http:\/\/www.otus.ru\">www.otus.ru<\/a>","text_length":968,"media":{"root":"\/003\/pwgAAFQ-6zsAAAAAiQqT09X5P0I","photo":{"thumbs":{"m":{"w":320,"h":320,"hash":"bGX9HDwDvN3lARE3IjHn7w&ts=1789482248"},"x":{"w":800,"h":800,"hash":"DPj7YOZdeWW6CztKQEneKw&ts=1789482248"},"y":{"w":1080,"h":1080,"hash":"wHe5LAJf2UeXQrvZJZBL3w&ts=1789482248"},"i":{"bytes":"AoACg|C5NeIkpjJwVYZz3Hei4vViXEYyx9elUbyeOO5YxkvkYIPIqO2Xz5Sh6EcjGcVVhaLUA7ytsB+\/64AP1rcijWKMIvQdKyhpoE29nBAOMc88VoQl0iRGO5gOT+NIOZEpTLZ3MPbPFFOHTnrRSGYs2l3DXB2ldjH72en4URW8trLIgOe2cdRWvIXHKkY\/3Sf5VCUJyT1+jU0xNXRCks3l7T97OS\/FSWkhaIiT74\/WnhcDpz9GpNhHTg54+VqQKKJFdyw3Ywf0op0YJyWx7cEUVKTRTZJTXAZSCM\/WiimxEHlHH+rjqdAFUADH0ooqYqzGOoooqxH\/2Q=="}}}}},{"channel_id":1005272660,"post_id":2214,"date":1781873698000,"forwards":"12","views":"525","text":"\u0412\u0438\u0434\u0435\u043e \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Android Skills \u0438 \u043a\u0430\u043a \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c<br><br>#android #ai<br><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=qZLQVlLgTDU\">https:\/\/www.youtube.com\/watch?v=qZLQVlLgTDU<\/a>","text_length":118,"media":{"root":"\/006\/pggAAFQ-6zsAAAAAr0X8b7NMo80","webpage":{"url":"https:\/\/www.youtube.com\/watch?v=qZLQVlLgTDU","type":"video","title":"What are Android skills and how to use them with AI tools?","site_name":"YouTube","display_url":"youtube.com\/watch?v=qZLQVlLgTDU","description":"Discover how Android skills empower any AI tools and agents, such as Android Studio, Google Antigravity and Android CLI, in executing specialized workflows and ground LLMs with more knowledge. Learn how these modular instructions overcome AI limitations, providing current and domain-specific knowledge for your projects, following Android best practices. We'll show you how they streamline complex tasks, including a migration from XML to Jetpack Compose, making your workflow more efficient.\n\nChapters:\n0:00 - Introduction\n0:23 - What are skills?\n0:52 - Using skills\n2:23 - Tackling challenges with LLMs\n3:52 - Android skill types\n5:31 - Skill tips\n7:11 - XML to Compose migration skill\n7:50 - Live demo\n15:35 - Reviewing the results\n\nResources:\nSubscribe to Android Developers \u2192 https:\/\/goo.gle\/AndroidDevs \nAndroid skills \u2192 https:\/\/goo.gle\/android-skills\nAndroid CLI \u2192 https:\/\/goo.gle\/android-cli\n\n\nSpeaker: Simona Milanovic \nProducts Mentioned: Android Studio,Android","thumbs":{"m":{"w":320,"h":180,"hash":"vT4CAz98iNjDI7QKk2E8TA&ts=1789482248"},"x":{"w":800,"h":450,"hash":"GjVlrQIsBbUkrd1vBkAOXA&ts=1789482248"},"y":{"w":1280,"h":720,"hash":"jc42ZPRnyM07L0hfRvVQuw&ts=1789482248"},"i":{"bytes":"AXACg|DZOccdaaN+eSu3HQCopEkLkqTjA\/ixTDHMRwW6\/wB+gCxISsbEdQCapGeUR8N8xOBmrTAi3YN12msK4umEpUYwh4qXfoNGtazO7FHbcynBPrRVDTZme6AAzu5Y+lFNXA26QAjqc0UUxCONyMvqMVlXOlzTOGV48jrnNFFICSw0+a2m3uyEf7JooooA\/9k="}},"embed":{"url":"https:\/\/www.youtube.com\/embed\/qZLQVlLgTDU","type":"iframe","w":1280,"h":720}}}},{"channel_id":1005272660,"post_id":2213,"date":1781780521000,"forwards":"3","views":"536","comments":"2","text":"<b>\u041a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 SDK \u0434\u043b\u044f \u043c\u043e\u043d\u0435\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439<\/b><br><br>\u041d\u0435\u0434\u0430\u0432\u043d\u043e \u042f\u043d\u0434\u0435\u043a\u0441 \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b \u043d\u043e\u0432\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e SDK \u0434\u043b\u044f \u0441\u0432\u043e\u0435\u0439 \u0440\u0435\u043a\u043b\u0430\u043c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438. \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u043f\u0435\u0447\u0430\u0442\u043b\u044f\u0435\u0442, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043f\u043e\u0434\u0443\u043c\u0430\u043b\u0438 \u043e\u0431\u043e \u0432\u0441\u0451\u043c:<br><br>- \u043e\u0431\u043b\u0435\u0433\u0447\u0438\u043b\u0438 SDK \u0434\u043b\u044f Android \u043d\u0430 30%. \u0410 \u0447\u0435\u043c \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u0435\u0435 SDK, \u0442\u0435\u043c \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0438 \u043c\u0435\u043d\u044c\u0448\u0435 \u0432\u0435\u0441\u0438\u0442 \u0432\u0430\u0448\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435. \u0421\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u2014 \u0432\u044b\u0448\u0435 \u043a\u043e\u043d\u0432\u0435\u0440\u0441\u0438\u044f \u0432 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443;<br>- \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 Kotlin Coroutines \u0438 Swift async\/await;<br>- \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043b\u0438 \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u0447\u0435\u0440\u0435\u0437 \u0418\u0418-\u0430\u0433\u0435\u043d\u0442\u043e\u0432;<br><br>\u0410 \u0442\u0435\u043c, \u043a\u0442\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 Compose Multiplatform, \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u043b\u0438 \u0432\u0440\u0435\u043c\u044f. \u0421\u043e\u0437\u0434\u0430\u043b\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0440\u0435\u043a\u043b\u0430\u043c\u043d\u044b\u0445 \u0431\u043b\u043e\u043a\u043e\u0432 \u0431\u0435\u0437 \u0434\u0443\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0451\u0440\u0441\u0442\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c \u043e\u0442 \u0440\u0443\u0442\u0438\u043d\u044b.<br><br>\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e Yandex Mobile Ads SDK 8 \u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0435 \u0441 \u0441\u0435\u043c\u0451\u0440\u043a\u0438 \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e, \u0447\u0438\u0442\u0430\u0439\u0442\u0435 <a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/clck.ru\/3UDm85\">\u0442\u0443\u0442.<\/a>","text_length":727,"media":{"root":"\/013\/pQgAAFQ-6zsAAAAAWyDNLbgnN_Q","photo":{"thumbs":{"m":{"w":320,"h":180,"hash":"e7lb1hYs1XUV0nEpbendGQ&ts=1789482248"},"x":{"w":800,"h":450,"hash":"QLhw1t7qLotgdIR6_rVeBg&ts=1789482248"},"y":{"w":1280,"h":720,"hash":"Ww5wzB0iuNOTattI6AlrMQ&ts=1789482248"},"i":{"bytes":"AXACg|CHyzUixHPSnCeP0NOW4Gfu11CF+znbnbUTQ89KuecmM7lx6ZqIyoaSbAqeWaKnaeMdm\/KimAzcPSnq6jquaKKBj\/NX+5TWlB6DFFFJAMLKe1FFFMD\/2Q=="}}}}},{"channel_id":1005272660,"post_id":2212,"date":1781083575000,"forwards":"8","views":"1.2K","text":"\u0412\u044b\u0448\u0435\u043b Kotlin 2.4.0\u00a0<br><br>\u0427\u0442\u043e \u043d\u043e\u0432\u043e\u0433\u043e:<br>- Language: Stable context parameters, explicit backing fields, and multiple features for annotation use-site targets.<br>- Standard library: Stabilized support for the UUID API and support for checking sorted order.<br>- Kotlin\/JVM: Support for Java 26 and annotations in metadata enabled by default.<br>- Kotlin\/Native: Support for Swift packages as dependencies, updates on Swift export, and the CMS GC enabled by default.<br>- Kotlin\/Wasm: Incremental compilation enabled by default and support for WebAssembly Component Model.<br>- Kotlin\/JS: Support for value class export and ES2015 features in JS code inlining.<br>- Gradle: Compatibility with Gradle 9.5.0.<br>- Maven: Automatic alignment between Java and JVM target versions.<br>- Kotlin compiler: More consistent inline function behavior during .klib compilation.<br><br>#kotlin <br><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/blog.jetbrains.com\/kotlin\/2026\/06\/kotlin-2-4-0-released\/\">https:\/\/blog.jetbrains.com\/kotlin\/2026\/06\/kotlin-2-4-0-released\/<\/a>","text_length":909,"media":{"root":"\/003\/pAgAAFQ-6zsAAAAAiQqT09X5P0I","webpage":{"url":"https:\/\/blog.jetbrains.com\/kotlin\/2026\/06\/kotlin-2-4-0-released","type":"photo","title":"Kotlin 2.4.0 Released | The Kotlin Blog","site_name":"The JetBrains Blog","display_url":"blog.jetbrains.com\/kotlin\/2026\/06\/kotlin-2-4-0-released","description":"The Kotlin 2.4.0 release is out! This release brings new language features, support for Swift packages as dependencies, updates to Swift export, and more. Take a look!","thumbs":{"m":{"w":320,"h":180,"hash":"dhZGJdQ6QcqVNpLyhB7Uzw&ts=1789482248"},"x":{"w":800,"h":450,"hash":"uSt9SbdQZJ2xc5bcXdNKXw&ts=1789482248"},"y":{"w":1280,"h":720,"hash":"Q_7TvcsuohDUrAxjCZGTUQ&ts=1789482248"},"i":{"bytes":"AXACg|DM70tIOpqe2uBbyFym7Ix9K2jsBXNFaX9qLj\/VH8x\/hVO6mFxLvCbeMfWtIt9gIKKeF4yaK0sxjR1xTvlH3gaKK51sCAmLsrde5pCVxwDnNFFaXEOXkiiiit0Wtj\/\/2Q=="}}}}}]