What is python pbr?
In Distributing your own package on PyPi I’ve talked about setuptools and twine to upload a package to the Python Package Index. PBR is a nice little add-on to simplify the setup and the deplyoment of your packages.
In Distributing your own package on PyPi I’ve talked about setuptools and twine to upload a package to the Python Package Index. PBR is a nice little add-on to simplify the setup and the deplyoment of your packages.
Stetho is a sophisticated debug bridge for Android applications. When enabled, developers have access to the Chrome Developer Tools feature natively part of the Chrome desktop browser. Developers can also choose to enable the optional dumpapp tool which offers a powerful command-line interface to application internals. Gradle implementation ‘com.facebook.stetho:stetho:1.6.0’ Initialization class PracticeTrackerApplication : Application() {…
kapt is short for Kotlin annotation processor tool. Why do I need it? tl;dr; every time you use an annotation in a Kotlin file you need to use kapt. E.g. @Parcelize in Pass custom objects via SafeArgs Prerequisites dependencies { kapt(“groupId:artifactId:version”) } plugins { kotlin(“kapt”) version “1.5.31” } Further reading https://kotlinlang.org/docs/kapt.html
Ninja is a build system which replaces the GNU make in AOSP Up to Marshmallow / 6,0 the build system was based on GNU Make In Nougat / 7.0 and later, the build is run by ninja Ninja works from a pre-processed manifest generated by kati and soong kati kati converts Android.mk files into ninja…
What a nice room! Room is an ORM which runs on Android and persists its data into an sqlite database.
import android.os.StrictMode import android.os.StrictMode.ThreadPolicy import android.os.StrictMode.VmPolicy class LevelUpApplication : Application() { override fun onCreate() { if (BuildConfig.DEBUG) { StrictMode.setThreadPolicy( ThreadPolicy.Builder() .detectDiskReads() .detectDiskWrites() .detectNetwork() .penaltyLog() .build() ) StrictMode.setVmPolicy( VmPolicy.Builder() .detectLeakedSqlLiteObjects() .detectLeakedClosableObjects() .penaltyLog() .penaltyDeath() .build() ) } super.onCreate() https://developer.android.com/reference/android/os/StrictMode
Perhaps you have code that looks like that: val mImageView = findViewById<ImageView>(R.id.img_view) mImageView.setOnClickListener(View.OnClickListener This has worked properly over the last years but what are the drawbacks? Or what are the promises of the new View Binding concept? View Binding is always null-safe and type-safe It compiles faster Gradle Enable View Binding in gradle: android {…
I’ve integrated a QRCode scanner into my app and it worked fine on my old Android 5 device but throws the error Camera: Camera new cameraInitNormal:-13 on Android 8. To fix this You have to integrate some code to check if permission is already granted by the user and in case it is not, request…
Motivation When you are building an Android App you finally want to publish it in the Google Play Store. To achieve this you need to build an signed app bundle in Android Studio first Settings Select build variant “release” Go to Build -> Select Build Variant Now a new tool window becomes visible. Select “release”…
Boy Scout rule You may know the boy scout rule: Always leave the campground cleaner than you found it! So, when there is some litter: pick it up. Boy Scout rule in Clean Code Always leave the code you are editing a little bit better than you found it If there is no documentation, write…