Skip to main content

Posts

Kotlin program to find punctuations in the given string

val strWithPunct = "hi there! How are you doing today? , #, %..." val punctuationSet = setOf('!', '#', '%', '.') val count = strWithPunct.count { c -> c in punctuationSet } println("$count ")
Recent posts

What is the difference between var and val and val const ?

-> Var are mutable and assigned with the values multiple times  -> Val is read-only and not purely immutable, val can be initialized at runtime/runtime constants  ->  const will be assigned to immutable property of the class, only with the primitive datatypes and the string, not objects, const will be initialized at the compile time/compile time constants  -> val const - immutable + compile time  

Ways to define Singleton Classes

Singleton classes comes under "Creational design pattern", Singleton pattern restricts from creating multiple instances of the class,and ensure that only one object should be available in the JVM, there are different ways to implement singleton classes as below :- Ways to define Singleton classes :- 1. By defining the singleton class object as static final variable, this is known as early initialization of singleton object. public class SingletoneClassExample{ Private static final instance = new SingletoneClassExample(); // Define private constructor to avoid other classes from creating instance private SingletoneClassExample(){ } public static SingletoneClassExample getInstance(){         return instance;   } } By creating singleton class using above method the class object will be created at class loading itself, so if application is not using this class still the object will be created. 2. Define singleton class object on method call public class SingletoneCl

Working with Android Shared Preferences

          Shared preferences allows android application to save data in the form of "Key-Value" pair, shared preferences will be an , XML file which will be stored in applications internal storage space under " shared_prefs " folder under data/data/(package name of the application) . Shared Preferences won't clear data after "force close" of an application, it will get cleared only in case of user clears the application data (under settings -> apps -> clear Data) or uninstall an application. Shared preferences can be edited using SharedPreferences.Editor class. APIs to access shared preference below, getDefaultSharedPreferences()  :- Return default shared preference file which is used by PrefrenceManager in the given context. getSharedPreferences(String my_prf_name, int mode) :- Returns shared preference file of the given name. Below are  sample code snippets, 1. Saving data in to the shared preferences, //Retrieve shared prefere

Adding Call log entries in Native Call Logs

While adding call logs we can set number in CallLog.Calls.NUMBER field , same for date  and duration. CallLog.Calls.CACHED_NAME will be filled with the cached name in case if the number is already saved in Contacts database. ContentValues values = new ContentValues(); values.put(CallLog.Calls.NUMBER, number); values.put(CallLog.Calls.DATE, System.currentTimeMillis()); values.put(CallLog.Calls.DURATION, 0); values.put(CallLog.Calls.TYPE, CallLog.Calls.OUTGOING_TYPE); //Type of call Outgoing/Incoming/Missed etc values.put(CallLog.Calls.NEW, 1); values.put(CallLog.Calls.CACHED_NAME, ""); values.put(CACHED_NUMBER_TYPE, 0); values.put(CACHED_NUMBER_LABEL, ""); this.getContentResolver().insert(CallLog.Calls.CONTENT_URI, values); Below Permissions are required to add call logs , add it in Manifest file, <uses-permission android:name="android.permission.WRITE_CALL_LOG"></uses-permission> <uses-permission android:name="android.perm

Implementing RecyclerView

I'm working on Android hybrid apps from last 5 years, its very tough to stay in touch with Native android UI, Now I started learning through sample applications, so thought of sharing my learning here.           RecyclerView has came with Material design in Android Lollipop, RecyclerView is advanced, flexible version of Listview, RecyclerView uses the view holder pattern  and improve the performance by reusing off screen views and rebinds them to the data which is scrolling on the screen, now lets see the difference between list view and recyclerview. Difference between RecyclerView and Listview :- 1. RecyclerView forces to use RecyclerView.ViewHolder (Inbuilt view Holder) to hold the elements, to reuse the cells while scrolling, which was optional in Listview which we used to create in adapters getView() method. 2. Animation while adding list items or removing list items are already added in the recyclerview. 3. List views were only of vertical types, however with recy