Issue #349
source link: https://www.tuicool.com/articles/hit/rEbaIn7
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Articles & Tutorials
(medium.com)
Joe Birch describes how he built the Chord Assist guitar — a guitar that will help to improve the experience for the mute, deaf and blind when it comes to learning the guitar.
(medium.com)
Roman Elizarov shares his thoughts on how optionals make nullability a safer way to indicate the absence of values.
Sponsored
(square.com)
Square In-App Payments SDK makes it easy to integrate secure, compliant payments. The SDK provides an interactive card-entry interface that’s optimized for speed and customizable to match your app. Google Pay and stored card on file supported for quicker checkout.
(www.raywenderlich.com)
In this ConstraintLayout tutorial, Fuad Kamal shows how to dynamically position UI elements in relation to other elements on the screen and to animate your views.
Sponsored
(www.vettery.com)
Vettery specializes in developer roles and is completely free for job seekers. Interested? Submit your profile, and if accepted, you can receive interview requests directly from top companies growing their dev teams.
(proandroiddev.com)
James Shvarts introduces his implementation of the MVI architectural pattern and how he arrived at this implementation.
(medium.com)
If you launch a coroutine using launch(Dispatchers.Main) while already on the main thread, will the code execute immediately? No, is the short answer. Craig Russell explains why.
(medium.com)
In this tutorial, Paul Trebilcox-Ruiz uses the previous article as a starting point and take the next step towards something a little more interesting: tracking location so that the map displayed makes sense contextually for your user.
(ryanharter.com)
This post by Ryan Harter is part 3 in a series on setting up Google Cloud Build (GCB) for Android developers. In this post he looks at two builders that make caching data between builds easy, speeding up your builds
(zsmb.co)
A much-anticipated PR has finally been merged into Retrofit 2, officially bringing coroutine support. Márton Braun takes a look at a couple different ways to make use of this.
(zdominguez.com)
Over time Zarah Dominguez has moved from seeing data binding as a Butterknife replacement to utilizing more data binding features. But, she noticed that the framework provides a lot more bindings than expected, enabling her to remove duplicate code.
(blog.stylingandroid.com)
Mark Allison's series of articles on building an app from scratch now starts looking at the first feature module which will provide a list of the most popular artists on last.fm.
(medium.com)
Yaowei Yeo poured his heart into getting a product out to market over countless late night caffeine-fuelled coding sessions. Then one day, Google’s faceless system flagged, then shut down his account, ending the 7 years spent developing for Android.
(monzo.com)
Tas Morfopoulos describes the steps taken and a description of the overall architecture of their chat app, including lots of (simplified) code examples to help you understand how it was built.
(medium.com)
ViewPager has had many issues which may have made it difficult to work with. Chris Mitchell takes a look at the newly released alpha version of the updated ViewPager view which aims to provide a solution to these issues.
(kotlinexpertise.com)
Simon Wirtz dropped the Java language more-or-less entirely in favor of Kotlin because he feels much more productive with the language. Here he lists a couple of those reasons.
(jakewharton.com)
Jake Wharton continues his look into R8, this time delving into how Strings are given special treatment in the Java and Kotlin language, in Java bytecode, and in Dalvik bytecode and how R8 can manipulate them at compile-time.
(blog.danlew.net)
Kotlin comes with several high-level, generic standard functions that apply to any object: let(), run(), with(), apply(), and also(). Dan Lew describes why it's OK to not use them until you have a deeper understanding of the language.
Sponsored
Jobs
(Berlin Kreuzberg)
We are looking for a passionate and product-driven Senior Android Engineer to join our marvelous Mobile team: a group of people with a shared interest in great user experience, robust software, fast delivery, and clear communication. Come build the best classical music streaming service with us!
(Vienna)
Wegfinder is an award-winning app with a growing user base. It combines public and individual transport to provide an easy to use intermodal mobility solution. Join our international agile development team (10 people) to build high-quality software you can be proud of!
Libraries & Code
(github.com)
A Round ImageView that works with vectors
News
(android-developers.googleblog.com)
Google worked last year to improve abuse detection technologies & systems and significantly increased their team of product managers, engineers, policy experts, and operations leaders to fight against bad actors.
(android-developers.googleblog.com)
Google is refocusing Android Things as a platform for OEM partners to build devices in smart speakers and smart displays categories moving forward.
Videos & Podcasts
(www.youtube.com)
In this video, Nate Ebel shows how to quickly run Kotlin code in Android Studio and IntelliJ without having to run your program or writes tests
(fragmentedpodcast.com)
After you’ve been working on an app for some time, the most common quandary one runs into is the need to rewrite the app. Jeroen walks us through his thinking about when it's best to rewrite.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK