Today, I had a huge Json in my app and I wanted to fetch all these values in a general way. I also wanted to parse Json for only one time to avoid try/catch each time I access any value. So, first thing I had in mind was to convert the JSONObject in the HashMap or Map<> etc. So if you are using Gson in your apps for json mapping, then you can use this one line code for conversion.

Continue reading

To showing/hiding the password dots in the EditText in android, here’s the easy one-line way. Here’s the dummy layout with an EditText and a CheckBox for toggling the password dots. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="16dp" android:orientation="vertical"> <EditText android:id="@+id/edtPassword" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Enter password" android:inputType="textPassword" /> <android.support.v7.widget.AppCompatCheckBox android:id="@+id/checkbox" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Show Password" /> </LinearLayout> Now, you can toggle the password on the OnCheckedChangeListener using this snippet. checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean value) { if (value) { // Show Password edtPassword.

Continue reading

In my current project at work, I had to setup a private maven repository hosted at Artifactory. I was assigned login credentials to access the libraries (or artifacts) from the repository. But, when I was fetching it from Android Studio project through build.gradle file, I was getting this exception on syncing the project. org.gradle.internal.resource.transport.http.HttpRequestException: Could not GET 'MY_MAVEN_ARTIFACT_URL_GOES_HERE'. Caused by: java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) at java.

Continue reading

Welcome to Flutter Pub

The Pub(lication) for all about the Flutter and its magic. Since in late June 2018 when Flutter moved from beta phase to the release phase, I have been trying to find time to explore this amazing mobile development framework and learn a few things about it. And believing in the ***“Knowledge for free, knowledge for all” ***philosophy, I have always tried to share my knowledge with others through writing on my blog, Medium, AndroidPub, books, or public speaking.

Continue reading

Encrypt Strings Please copy the AESUtils class in your project first and then you can use it like this. String encrypted = ""; String sourceStr = "This is any source string"; try { encrypted = AESUtils.encrypt(sourceStr); Log.d("TEST", "encrypted:" + encrypted); } catch (Exception e) { e.printStackTrace(); } Decrypt Strings Please copy the AESUtils class in your project first and then you can use it like this. String encrypted = "ANY_ENCRYPTED_STRING_HERE"; String decrypted = ""; try { decrypted = AESUtils.

Continue reading

In this data-driven era of technology, almost all websites and apps have one thing in common. That’s text validation for their data input forms and pages. This task of validating input and text before calling web services and APIs have become a routine for developers. In Android, this sometimes become too complex and tedious to perform validations and checks on multiple EditText and TextInputLayout views. Specially, when it comes to perform multiple checks to make sure that your user’s password is unbreakable and complex.

Continue reading

In the recent Google IO 2018 event held in May 2018, Google recommended developers to update to latest Android APIs after August 1, 2018. So, this article is a big big reminder for this announcement. > # August 1 has passed and all the new android apps on Google Play should target API Level 26 (Android Oreo) in order to be published. But Why? Why should I update it? Well simple answer is: boss’s orders.

Continue reading

Author's picture

Wajahat Karim

Android Developer. Open Source Contributor. Writer. Speaker

Senior Android Developer

Karachi, Pakistan