Profile cover photo
Profile photo
Android Developers
1,021,317 followers -
A place for Android developers everywhere to meet, share and discuss the latest on Android development
A place for Android developers everywhere to meet, share and discuss the latest on Android development

1,021,317 followers
About
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.
Photo
BERJAYA
Add a comment...

Post has attachment
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
Photo
BERJAYA
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.
BERJAYA
Add a comment...

Post has attachment
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
BERJAYA
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.
BERJAYA
Add a comment...

Post has attachment
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
Photo
BERJAYA
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.
BERJAYA
Add a comment...

Post has attachment
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
Photo
BERJAYA
Add a comment...

Post has attachment
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
Photo
BERJAYA
Add a comment...

Post has attachment
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
Photo
BERJAYA
Add a comment...
Wait while more posts are being loaded