Communities and Collections
Posts
Post has attachment
How to win back your subscribers
Tips and tricks → https://goo.gl/LM7Mk9
We often hear that retention is your biggest challenge. In this post we’ve gathered best practices from developers to help you keep your subscribers, and win back those who have churned.
Tips and tricks → https://goo.gl/LM7Mk9
We often hear that retention is your biggest challenge. In this post we’ve gathered best practices from developers to help you keep your subscribers, and win back those who have churned.

Add a comment...
Post has attachment
Public
Combine the power of Content Values with the brevity of Kotlin. Use the Android KTX Content Values creator and just pass a Pair<StringKey, Value>.
Android KTX: https://github.com/android/android-ktx/blob/master/src/main/java/androidx/core/content/ContentValues.kt#L21
#31DaysOfKotlin
Android KTX: https://github.com/android/android-ktx/blob/master/src/main/java/androidx/core/content/ContentValues.kt#L21
#31DaysOfKotlin

Add a comment...
Post has attachment
Deep Dive: MediaPlayer Best Practices
Read the full post here → goo.gl/Ai8YK5
MediaPlayer seems to be deceptively simple to use, but complexity lives just below the surface. We cover the traps one might run into, along with possible solutions.
Read the full post here → goo.gl/Ai8YK5
MediaPlayer seems to be deceptively simple to use, but complexity lives just below the surface. We cover the traps one might run into, along with possible solutions.
Add a comment...
Post has attachment
Public
Designing Watch Faces with #WearOSbyGoogle!
Watch the full video here → goo.gl/3sbGgP
The watch face is one of the most prominent UI elements of Wear OS by Google (formerly Android Wear). In this short video, we go through the major design features and APIs to help you get started on watch face development. We dive into how to code a custom watch face with Android Studio, focusing on onSurfaceChanged, onDraw & onAmbientModeChanged.
For more information, check out:
Adding Complications to your watch face - Codelabs → https://goo.gl/gZwa6P
Developing Wear OS watch faces → https://goo.gl/gtS65L
Watch the full video here → goo.gl/3sbGgP
The watch face is one of the most prominent UI elements of Wear OS by Google (formerly Android Wear). In this short video, we go through the major design features and APIs to help you get started on watch face development. We dive into how to code a custom watch face with Android Studio, focusing on onSurfaceChanged, onDraw & onAmbientModeChanged.
For more information, check out:
Adding Complications to your watch face - Codelabs → https://goo.gl/gZwa6P
Developing Wear OS watch faces → https://goo.gl/gtS65L
Add a comment...
Post has attachment
Overcome these 3 challenges and grow your game’s audience
Read the post → https://goo.gl/18b5em
There are similar patterns to the top challenges game developers experience, regardless of the size of their games business. In this post Saikala Sultanova (Director of User Acquisition at Ubisoft) shares how to overcome three of these challenges: goal setting, acquisition intelligence and soft launches.
Read the post → https://goo.gl/18b5em
There are similar patterns to the top challenges game developers experience, regardless of the size of their games business. In this post Saikala Sultanova (Director of User Acquisition at Ubisoft) shares how to overcome three of these challenges: goal setting, acquisition intelligence and soft launches.
Add a comment...
Post has attachment
Public
Bundle up, and get ready for the concise bundle creator in Android KTX. No more calls to `putString`, `putInt`, or any of their 20 friends.
One call will make you a new bundle, and it’ll even handle Arrays!
Code: https://github.com/android/android-ktx/blob/master/src/main/java/androidx/core/os/Bundle.kt#L27
#31DaysOfKotlin
One call will make you a new bundle, and it’ll even handle Arrays!
Code: https://github.com/android/android-ktx/blob/master/src/main/java/androidx/core/os/Bundle.kt#L27
#31DaysOfKotlin

Add a comment...
Post has attachment
How top games developers calculate lifetime value
Learn more about calculating LTV in games + download the whitepaper →
https://medium.com/googleplaydev/predicting-your-games-monetization-future-ce176169b056
The complex nature of mobile game monetization and competition in the games industry means that there is pressure to find more innovative approaches to take action from your data, in order to give your business an edge. One method is to build models that help to predict the lifetime value (LTV) of your game players.
Learn more about calculating LTV in games + download the whitepaper →
https://medium.com/googleplaydev/predicting-your-games-monetization-future-ce176169b056
The complex nature of mobile game monetization and competition in the games industry means that there is pressure to find more innovative approaches to take action from your data, in order to give your business an edge. One method is to build models that help to predict the lifetime value (LTV) of your game players.
Add a comment...
Post has attachment
Public
Iterators in interesting places? Android KTX adds iterators to ViewGroup and SparseArray
To define iterator extensions use the `operator` keyword. Foreach loops will use the extensions!
Docs: https://kotlinlang.org/docs/reference/control-flow.html#for-loops
Android KTX: https://github.com/android/android-ktx/blob/master/src/main/java/androidx/core/view/ViewGroup.kt#L66
#31DaysOfKotlin
To define iterator extensions use the `operator` keyword. Foreach loops will use the extensions!
Docs: https://kotlinlang.org/docs/reference/control-flow.html#for-loops
Android KTX: https://github.com/android/android-ktx/blob/master/src/main/java/androidx/core/view/ViewGroup.kt#L66
#31DaysOfKotlin

Add a comment...
Post has attachment
Public
Utility methods for a class? Add them to the top level of the source file. In Java, they are compiled as static methods of that class.
Doc: https://kotlinlang.org/docs/reference/basic-syntax.html
Are you defining static constants for your class? Make them top-level properties. They will be compiled to a field and static accessor(s).
#31DaysOfKotlin
Doc: https://kotlinlang.org/docs/reference/basic-syntax.html
Are you defining static constants for your class? Make them top-level properties. They will be compiled to a field and static accessor(s).
#31DaysOfKotlin

Add a comment...
Post has attachment
Public
Write Kotlin (time * 2) faster with operator overloading. Objects like Path, Range or SpannableStrings naturally allow for operations like addition or subtraction. With Kotlin, you can implement your own operators.
https://goo.gl/FLS5H8
https://goo.gl/Ymb2em
#31DaysOfKotlin
https://goo.gl/FLS5H8
https://goo.gl/Ymb2em
#31DaysOfKotlin

Add a comment...
Wait while more posts are being loaded





