This Week’s Links
Adventures in Navigation Land – Part 2
In Mark Allison’s recent series on Maintainable Architecture, the final task was separating out the Navigation logic by means of the Jetpack Navigation architecture component. However, his experimentation with the library was not all swift sailing for the most part because of some fundamental errors and misunderstandings. In this article, take a look at some of those issues Allison faced and how he overcame them.
Announcing Okio 2: Our Fast + Simple I/O Library, Okio, Has a New Release that Supports Kotlin
At Square, they’re excited about Kotlin. Eager to adopt Kotlin’s powerful new features, this week the Square team released Okio 2.0. In this release, they’ve converted the project’s source code from .java
to .kt.
, which lets them use Kotlin in the library and offer APIs that feel right when the calling code is in Kotlin.
Android Bug Allows Geolocation of Users
Researchers have discovered a weakness in all version of Android except 9, the most recent release, that can allow an attacker to gather sensitive information such as the MAC address and BSSID name and pinpoint the location of an affected device.The vulnerability is a result of the way that Android broadcasts device information to apps installed on a device. Read more on this bug in this post.
Exploiting Decades-Old Telephone Tech to Break into Android Devices
While it might feel like there’s always new smartphones out, that can make your new phone feel old, in many way, the newest smart phones are still based on decades-old electronics. In fact, antiquated 20th century telephone tech can be used to carry out decidedly 21st century attacks on many mainstream smartphones. Read how in this post.
6 Things to Remember When Localizing Mobile Apps
Mobile app development is now expanding beyond the English bubble, which makes localizing mobile apps a necessity for any developer who wants to make the most out of their products. Releasing an app in English or just one language in general and keeping it at that, llike many developers used to do, is not a smart move anymore. Read this post for some key tips for localizing your app.
Dan Lew writes about working on a new markdown handler for Trello Android. It uses commonmark-java to parse an abstract syntax tree, which is then converted into a single, complex
Spannable
. That Spannable
is constructed piece-by-piece from the AST, so it involves a lot of appending text and setting spans. Read more in this post.Kotlin Contracts: Make Great Deals With The Compiler!
There’s a great feature in the Kotlin v1.3 that needs more attention, and that is, Kotlin Contracts, which is a great way to tell the compiler about what a function does and help it become more intelligent. Adib Faramarzi, senior Android developer at TAP30, explains how to use this feature in this post.
A Major Release Just Around the Corner — Meet Kotlin 1.3-M2
Moving full steam towards Kotlin 1.3, we’re happy to announce the second milestone release, Kotlin 1.3-M2, which unveils new features and improves the stability of those already announced. Read this post for some highlights featured in this release.
An Introduction to Inline Classes in Kotlin
Whether you’re writing massive data-chomping processes that execute in the cloud, or apps running on low-powered cell phones, most developers want their code to run fast. With Kotlin’s new inline classes feature, developers can now create the data types t without giving up the performance!
Video
Caster.io: What’s Kodein
Learn the basics of Kodein and how is it different than other well known Dependency Injection frameworks like Dagger.
Caster.io: First Steps
In this lesson, learn about the different libraries or artifacts provided by Kodein depending on the platform used. Also get all the steps required to integrate Kodein on your project and therefore add a Dependency Injection system to it.
Open Source
StateProgressBar
ProgressBar is an Android library to realize the various states and transitions in a ProgressBar.
RxPM
RxPM is a reactive implementation of Presentation Model pattern. Android.RxPM allows developers to use the RxJava from the view to the model. The main advantage inclues the ability to write UI logic declaratively. RxPM focuses on practice, so the library solves most of the typical presentation layer problems.