Kotlinx Datetime

Dependency Add the following to your dependencies implementation(org.jetbrains.kotlinx:kotlinx-datetime:0.2.0) Usage import kotlinx.datetime.* val today = Clock.System.todayAt(TimeZone.currentSystemDefault()) If you target Android devices running below API 26, you need to use Android Gradle plugin 4.0 or newer and enable core library desugaring. https://github.com/Kotlin/kotlinx-datetime

How to create a mutable list in Kotlin?

Kotlin has its own keyword to create list which are mutable As a child I learned that our solar system has nine planets val planets = mutableListOf(“Mercury”, “Venus”, “Earth”, “Mars”, “Jupiter”, “Saturn”, “Uranus”, “Neptune”, “Pluto”) println(planets) In 2006 Pluto was reclassified as a dwarf planet. So let’s remove Pluto planets.remove(“Pluto”) println(planets)

Network Requests with Volley

Consider Volley a 2.0 version of Android Asynchronous Http Client. A major advantage of Volley over ASyncTask is that you can do multiple requests simultaneously without the overhead of thread management. Gradle Add implementation ‘com.android.volley:volley:1.2.1’ to your module gradle dependencies. Basic Anatomy of a Volley Request val queue = Volley.newRequestQueue(context) val stringRequest = StringRequest( Request.Method.GET,…

How to add a splash screen to your Android app in five steps

Adding a splash screen to your app can be done in a five-step process Add a background_color.xml <?xml version=”1.0″ encoding=”utf-8″?> <shape xmlns:android=”http://schemas.android.com/apk/res/android” android:shape=”rectangle”> <solid android:color=”@color/black” /> </shape> Add splashscreen.xml <?xml version=”1.0″ encoding=”utf-8″?> <layer-list xmlns:android=”http://schemas.android.com/apk/res/android”> <item android:drawable=”@drawable/background_color”/> <item> <bitmap android:gravity=”center” android:src=”@drawable/prestissimo_logo_green”/> </item> </layer-list> Add themes.xml <style name=”SplashTheme” parent=”Theme.MaterialComponents.Light.NoActionBar”> <item name=”android:windowBackground”>@drawable/splashscreen</item> <item name=”android:statusBarColor”>@color/pg_green</item> </style> Add new activity:…

Localization of Android Apps

If you want to add another language for your app do the following Create a new folder e.g. app/src/main/res/values-de Add strings.xml into this folder Translate the content The cool thing about translation in android is that you can do it incrementally: when there is no translation for a string resource in a locale Android will…

Passing data between fragments using SafeArgs

App Gradle plugins { id ‘androidx.navigation.safeargs.kotlin Project Gradle dependencies { classpath “androidx.navigation:navigation-safe-args-gradle-plugin:2.3.5″ nav_graph.xml <fragment> <action android:id=”@+id/action_SecondFragment_to_FirstFragment” app:destination=”@id/FirstFragment” /> <argument android:name=”myArg” app:argType=”integer” /> FirstFragment import com.example.codelabsfirstappwithkotlin.databinding.FragmentFirstBinding val action = FirstFragmentDirections.actionFirstFragmentToSecondFragment(currentCount) findNavController().navigate(action) SecondFragment import androidx.navigation.fragment.navArgs val args: SecondFragmentArgs by navArgs() val count = args.myArg

ADB Cheat Sheet

Get Device Info The device command gives you info about connected well devices $adb devices -l List of devices attached LGD8559ea73a60 device product:g3_global_com model:LG_D855 device:g3 transport_id:2 Shell $ adb shell Services shell@g3:/ $ service list Found 132 services: 0 AtCmdFwd: [com.qualcomm.atfwd.IAtCmdFwd] …   Device Properties shell@g3:/ $ getprop [DEVICE_PROVISIONED]: [1] … Get CPU information shell@g3:/…