<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5215777427512085470</id><updated>2024-06-22T12:02:45.439+05:30</updated><category term="Android"/><category term="Jetpack"/><category term="compose"/><category term="kotlin"/><category term="recyclerview"/><category term="Generate Map Key"/><category term="Google Cloud messageing"/><category term="MVP"/><category term="Network connection"/><category term="Obtain Google Maps API key"/><category term="Push notification"/><category term="Splash screen"/><category term="alert dialog"/><category term="android search bar"/><category term="cardview"/><category term="custom listview search"/><category term="jetPack Compose"/><category term="kotlin android"/><category term="listview"/><category term="phonegap"/><category term="ADT keyboard issue"/><category term="ADT plugin r20"/><category term="ADT plugin upgrade r20 + keyboard issue"/><category term="About Android 11"/><category term="Andoid 11 2020 expected release date"/><category term="Android 11 release date"/><category term="Android 12"/><category term="Android 8"/><category term="Android Architecture Components"/><category term="Android Architecture with MVP"/><category term="Android Capture Image from Camera causes NullPointerException on Samsung phones"/><category term="Android Compose"/><category term="Android Facebook"/><category term="Android Foursquare SDK"/><category term="Android Foursquare integration source code"/><category term="Android Google TV"/><category term="Android Google TV enulator"/><category term="Android Google TV example"/><category term="Android Google map v2 integration"/><category term="Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8"/><category term="Android MVP Plugin"/><category term="Android Project"/><category term="Android Push Notifications using Firebase Cloud Messaging FCM"/><category term="Android Push notification"/><category term="Android Splash screen demo"/><category term="Android Studio google Md5 fingerprint"/><category term="Android Studio google SHA1 fingerprint"/><category term="Android Studio google fingerprint"/><category term="Android Studio google hash key"/><category term="Android Test driven development."/><category term="Android Unit Testing With Roboelectric"/><category term="Android activity life cycle tutorial"/><category term="Android animation on textview"/><category term="Android check Notification Access Setting is enable or not"/><category term="Android dropbox sdk"/><category term="Android eclipse configuration"/><category term="Android exmple"/><category term="Android facebook Hashkey"/><category term="Android facebook download source code"/><category term="Android horizontal progress bar with multiple color| three level progress bar"/><category term="Android login form demo"/><category term="Android map click listner"/><category term="Android multipart image upload"/><category term="Android send sms"/><category term="Android set reminder"/><category term="Android setup in eclipse step by step"/><category term="Android step by step Integration in eclipse"/><category term="Android studio generate keystore certificate in a minute"/><category term="Android upload image on server"/><category term="Android-facebook sample application"/><category term="Best practice to update UI from BroadcastReceiver"/><category term="Black screen on startup"/><category term="Button"/><category term="Class"/><category term="Composable functions"/><category term="Compse"/><category term="Configuring the Google TV Emulator"/><category term="Custom font"/><category term="Data Binding"/><category term="Demo"/><category term="Dialog"/><category term="Dialogue box in phone gap"/><category term="Dismiss popup window on back pressed in android"/><category term="Draw polygon dynamically"/><category term="Dropdown"/><category term="Dropdown menu"/><category term="DropdownMenu Composable"/><category term="Dynamice swipe on list item."/><category term="Eclipse Roboelectric setup"/><category term="Enum"/><category term="Example"/><category term="FCM"/><category term="Facebook"/><category term="Facebook like navigation example"/><category term="Fonts in XML"/><category term="Foursquare Integration"/><category term="GCM"/><category term="Google Maps API"/><category term="Gps  coordinates"/><category term="HTML5   Database"/><category term="HTML5 database storage"/><category term="Hide div on clicking anywhere on page"/><category term="Horizontal View Swiping"/><category term="How To fix white screen on app Start up?"/><category term="How to center a button in jetpack Compose"/><category term="How to read all the coming notifications in android"/><category term="Image inside scrollview"/><category term="Image upload in android"/><category term="Integrating Zxing QR Code scanner Into your android Application"/><category term="Jetpack Compose textview"/><category term="Jetpack textview"/><category term="Keyboard not working with ADT upgrade"/><category term="Keytool"/><category term="LazyColumn"/><category term="Linkedin"/><category term="List View in android.Horizontal listview in android"/><category term="ListView setOnItemClickListener notw working"/><category term="Listen to incoming Whatsapp messages"/><category term="LiveData"/><category term="MVP Template"/><category term="MVP tutorial"/><category term="Maps API key"/><category term="MediaStore.Audio.Media"/><category term="MediaStore.Images.Media"/><category term="MediaStore.Images.Thumbnails"/><category term="MediaStore.Video.Media"/><category term="Mobile World"/><category term="Model-View-Presenter"/><category term="Multipart image upload on server in android"/><category term="Network check in Phone gap"/><category term="NetworkOnMainThreadException"/><category term="Notification"/><category term="Null Intent passed back On Samsung Galaxy Tab"/><category term="Obtaining Gps  coordinates"/><category term="Paymengateway"/><category term="Payment gateway in android"/><category term="Paypal"/><category term="Paypal integration"/><category term="Paypal integration in android"/><category term="PhoneGap Geolocation"/><category term="Popup"/><category term="QR Code scanner"/><category term="QR code"/><category term="RX Java"/><category term="Retrofit"/><category term="Retrofit with RX example"/><category term="Roboelectric"/><category term="Sample"/><category term="Sample Project"/><category term="Section header in android"/><category term="Send sms in Java"/><category term="Sending  emails to multiple users"/><category term="Sending Emails without User Intervention"/><category term="Sending email without using any built-in mailing app"/><category term="Sending emails with attachment"/><category term="Sending sms in Java"/><category term="Show listview horizontally"/><category term="Simple Actionbar for Android Application"/><category term="Splash Screen API"/><category term="Splash Screen API Example"/><category term="Toolbar"/><category term="TopAppBar"/><category term="Unity"/><category term="When is Android 11 &#39;R&#39; coming out"/><category term="Working with RecyclerView in Android &amp; Kotlin"/><category term="Working with custom font Android O"/><category term="adapter"/><category term="add event on calendar"/><category term="andoid window token null"/><category term="android - Display video files in listview from sdcard folder"/><category term="android 12 splash screen example github"/><category term="android Strict mode"/><category term="android accessing https"/><category term="android action bar example"/><category term="android add meeting on calendar"/><category term="android alphabetindexer example"/><category term="android animation"/><category term="android background services"/><category term="android barcode scanner"/><category term="android bluetooth"/><category term="android broadcast receiver"/><category term="android custom action bar"/><category term="android custom calendar view"/><category term="android dropbox"/><category term="android dropbox syncing"/><category term="android enable tethering"/><category term="android facebook like slide menu"/><category term="android fetch data over https"/><category term="android get json from HTTPS url"/><category term="android getting html field value in java"/><category term="android horizontal scrollview"/><category term="android incoming call"/><category term="android incoming sms"/><category term="android java script demo"/><category term="android linkedin"/><category term="android linkedin integration"/><category term="android listview example"/><category term="android listview section headers"/><category term="android load html page"/><category term="android lock application"/><category term="android query media store"/><category term="android services tutorial"/><category term="android ssl"/><category term="android testing button click using roboelectric"/><category term="android testing imageview using roboelectric"/><category term="android testing new Activity launch in android using roboelectric"/><category term="android vertical scrollview"/><category term="android viewflipper  example"/><category term="android webview client"/><category term="android-listview-swipe"/><category term="blacklist the application in android"/><category term="bluetooth tethering"/><category term="call intent from button click"/><category term="call intent from html button click"/><category term="cardviwe with backward compatibility"/><category term="check wifi settings in android"/><category term="check wifi settings in phone gap"/><category term="click event in android on html webview"/><category term="clicklistener"/><category term="close popup window in android"/><category term="cloud"/><category term="column"/><category term="convert image into circle"/><category term="crop image in circular shape"/><category term="custom alert box"/><category term="custom toggle button"/><category term="custom toggle button in android"/><category term="deserialize json java"/><category term="dismiss popup window."/><category term="downloadablefonts"/><category term="dynamic view flipping"/><category term="facebook page navigation example."/><category term="fade in and fade out animation in android"/><category term="feature coming in Android 11 in 2020"/><category term="firbase"/><category term="font"/><category term="google"/><category term="google like search android app"/><category term="google map"/><category term="google search functionality"/><category term="gson error android"/><category term="html5 database application"/><category term="html5 local storage android"/><category term="jetpack layout"/><category term="keystore"/><category term="kotlin recycler view"/><category term="launch activity + push notification"/><category term="launch activity when push come in android"/><category term="left to right animation in android"/><category term="linkedin consumer key"/><category term="linkedin secret key"/><category term="list view search in android"/><category term="listing all calendar  event"/><category term="listview search in android"/><category term="listview swipe in android"/><category term="load webview from assert folder"/><category term="menu"/><category term="menu bar navigation in android"/><category term="messaging"/><category term="network call in Main UI Thread"/><category term="network call on main thread"/><category term="noclassdeffounderror in android"/><category term="onclick listener on button in Jetpack Compose"/><category term="programatically enable adn disble the wifi"/><category term="recycler view with backward compatability"/><category term="right to left animation in android"/><category term="roboelectric AndroidManifest.xml not found error"/><category term="scale down the image"/><category term="scale down the image in android"/><category term="scaling bitmap image"/><category term="scaling image with better quality"/><category term="scroll image in android"/><category term="search functionality on listview"/><category term="search icon inside edit text"/><category term="send event mail"/><category term="send message in android"/><category term="send sms using web application"/><category term="sherlock action bar menu item background with custom view with my own application logp"/><category term="show hide div example"/><category term="showing alphabetical letters on side of Android ListView"/><category term="slide down animation in andriod"/><category term="slide page in and out in android"/><category term="slide up animation in android"/><category term="swipe on listview"/><category term="swipe view in android"/><category term="text and icon"/><category term="toggle button"/><category term="toggle switch button"/><category term="turn off wifi in android"/><category term="turn on wifi in android"/><category term="tutorial"/><category term="unable to add window"/><category term="using Jetpack compose"/><category term="viewpager inside recylcer view"/><category term="webview in android"/><category term="wifi connection"/><category term="wifi connection in android"/><category term="zxing QR code Scanner"/><category term="zxing android integration"/><category term="zxing bar code scanner"/><title type='text'>Android Developers Blog</title><subtitle type='html'>Android developer blog for beginners - Learn Android Programming and how to develop android app. It covers Android programming tutorials, with complete source code available for download, also android tutorial with full example, including Android UI controls, layouts, and solution of all development related issue.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.androiddevelopersolutions.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://www.androiddevelopersolutions.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Mukesh Kumar</name><uri>http://www.blogger.com/profile/02072401063614368529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD4EXedD0XSwj1WD_SvECJbg1Qth8YtRU-15NsOz31jJma_L2HVlGpHl_6B3-GSIIOiTmY8X-oojQnIYhVyB8DFbUZPHQv8753syeSVObDcbR8EzuEOQJfrfe0Tmi4Ig/s113/FB_IMG_1495976002512.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>126</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5215777427512085470.post-2296804668202768332</id><published>2023-07-03T22:15:00.007+05:30</published><updated>2023-07-03T22:19:44.595+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Compse"/><category scheme="http://www.blogger.com/atom/ns#" term="Jetpack"/><category scheme="http://www.blogger.com/atom/ns#" term="jetPack Compose"/><category scheme="http://www.blogger.com/atom/ns#" term="Jetpack Compose textview"/><title type='text'>JetPack Compose: Basic TextView Sample in JetPack Compose</title><content type='html'>&lt;p&gt;&amp;nbsp;Hi All,&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;This is the very basic Text View Sample Jetpack compose.&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyYx1sfg0F36sPGcmRaznHqC-RGRE_9GutA6ecjaE5xpUdaJEcGBoSlBOvpAtsUTBqURZFWCeb-PUyvKBDJCQywJeF9O7ZRVYbB8RWX0SGstbVGjSgyovtTyF1ZOWy0iDW6nDTSGsJVeOij7Dhk13e1QRoHPp_S1y8G_ksMmpkG531uhyoSyhhFFy9ays/s1300/1_2v6zotc8p-bt9oX2mI0vkQ.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;400&quot; data-original-width=&quot;1300&quot; height=&quot;82&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyYx1sfg0F36sPGcmRaznHqC-RGRE_9GutA6ecjaE5xpUdaJEcGBoSlBOvpAtsUTBqURZFWCeb-PUyvKBDJCQywJeF9O7ZRVYbB8RWX0SGstbVGjSgyovtTyF1ZOWy0iDW6nDTSGsJVeOij7Dhk13e1QRoHPp_S1y8G_ksMmpkG531uhyoSyhhFFy9ays/w268-h82/1_2v6zotc8p-bt9oX2mI0vkQ.png&quot; width=&quot;268&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;b&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;1. Text Color:&lt;/b&gt; Change the text color using color parameter
  
&lt;pre&gt;@Composable
fun ColorText() {
    Text(&quot;Text in Red Color&quot;, color = Color.Red ,  modifier = Modifier
        .padding(8.dp) // margin
        .padding(8.dp) // padding
    )
}

&lt;b&gt;2. Text Size:&lt;/b&gt; Change the text size using fontSize parameter
&lt;pre&gt;@Composable
fun TextWithSize(label : String, size : TextUnit) {
    Text(label, fontSize = size)
}

//TextWithSize(&quot;Big text&quot;,40.sp) -- call this method 
&lt;/pre&gt;


&lt;b&gt;3.Bold Text:&lt;/b&gt; Use fontWeight parameter to making the bold text
&lt;pre&gt;@Composable
fun BoldText() {
    Text(&quot;Text in Bold&quot;, fontWeight = FontWeight.Bold,  modifier = Modifier
        .padding(8.dp) // margin
        .padding(8.dp)) // padding
}
&lt;/pre&gt;

&lt;b&gt;4. Italic Text:&lt;/b&gt; Use fontStyle paramter to making the italic text
&lt;pre&gt;@Composable
fun ItalicText() {
    Text(&quot;Italic Text&quot;, fontStyle = FontStyle.Italic,  modifier = Modifier
        .padding(8.dp) // margin
        .padding(8.dp)) // padding
}
&lt;/pre&gt;

&lt;b&gt;5. Maximum number of lines:&lt;/b&gt; To limit the number of visible lines in a
Text composable, set the maxLines parameter,
&lt;pre&gt;@Composable
fun MaxLines() {
    Text(&quot;Text with Max line 2 &quot;.repeat(50), maxLines = 2, modifier = Modifier
        .padding(8.dp) // margin
        .padding(8.dp)) // padding
}
&lt;/pre&gt;
&lt;b&gt;6. Text Overflow:&lt;/b&gt; When limiting a long text, you may want to indicate
a text overflow, which is only shown if the displayed text is truncated.
To do so, set the textOverflow parameter
&lt;pre&gt;@Composable
fun OverflowedText() {
    Text(&quot;Text with three dot at end, Text Overflow  &quot;.repeat(150),
        maxLines = 3, overflow = TextOverflow.Ellipsis,
        modifier = Modifier
            .padding(8.dp)) // margin
}
&lt;/pre&gt;
&lt;br /&gt;
Download code from &lt;a href=&quot;https://github.com/mukesh4u/Jetpack-Compose-TextViewSample&quot;&gt;here&lt;/a&gt;
&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.androiddevelopersolutions.com/feeds/2296804668202768332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.androiddevelopersolutions.com/2023/07/jetpack-compose-basic-textview-sample.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/2296804668202768332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/2296804668202768332'/><link rel='alternate' type='text/html' href='http://www.androiddevelopersolutions.com/2023/07/jetpack-compose-basic-textview-sample.html' title='JetPack Compose: Basic TextView Sample in JetPack Compose'/><author><name>Mukesh Kumar</name><uri>http://www.blogger.com/profile/02072401063614368529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD4EXedD0XSwj1WD_SvECJbg1Qth8YtRU-15NsOz31jJma_L2HVlGpHl_6B3-GSIIOiTmY8X-oojQnIYhVyB8DFbUZPHQv8753syeSVObDcbR8EzuEOQJfrfe0Tmi4Ig/s113/FB_IMG_1495976002512.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyYx1sfg0F36sPGcmRaznHqC-RGRE_9GutA6ecjaE5xpUdaJEcGBoSlBOvpAtsUTBqURZFWCeb-PUyvKBDJCQywJeF9O7ZRVYbB8RWX0SGstbVGjSgyovtTyF1ZOWy0iDW6nDTSGsJVeOij7Dhk13e1QRoHPp_S1y8G_ksMmpkG531uhyoSyhhFFy9ays/s72-w268-h82-c/1_2v6zotc8p-bt9oX2mI0vkQ.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5215777427512085470.post-5569622446751066146</id><published>2021-10-21T14:51:00.011+05:30</published><updated>2021-10-21T17:26:04.399+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android 12"/><category scheme="http://www.blogger.com/atom/ns#" term="android 12 splash screen example github"/><category scheme="http://www.blogger.com/atom/ns#" term="Splash screen"/><category scheme="http://www.blogger.com/atom/ns#" term="Splash Screen API"/><category scheme="http://www.blogger.com/atom/ns#" term="Splash Screen API Example"/><title type='text'>Splash Screen API in Android 12 | Android 12 Splash Screen  Example | Splash screens in Android 12 | Splash screen demo Using Splash Screen API | Splash Screen API Example</title><content type='html'>&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;span style=&quot;font-family: inherit;&quot;&gt;Hi All,&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Today I am going to share a tutotial and a sample demo of Android 12&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Splash Screen Api.&amp;nbsp; Android 12 Splash screen api introduce in Android 12.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Android 12 adds the SplashScreen API, which enables a new app launch animation&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;for all apps when running on a device with Android 12 or higher. This includes an&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;into-app motion at launch, a splash screen showing your app icon, and a transition&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;to your app itself.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_aZvt2wM31WzDoElYTB_lBK5R7yGEM9TPf3XRsjovdyWp03KdVda0XaM3_8XlTyIh4XeXtPZYeFZviW5ZCYADGEARc0jMOtjEeduWFxb-UKljFBWutpcrrSp6rT-4pxcUckIuC3E-MaE/s1386/splash-screen-gmail-example.gif&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1386&quot; data-original-width=&quot;640&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_aZvt2wM31WzDoElYTB_lBK5R7yGEM9TPf3XRsjovdyWp03KdVda0XaM3_8XlTyIh4XeXtPZYeFZviW5ZCYADGEARc0jMOtjEeduWFxb-UKljFBWutpcrrSp6rT-4pxcUckIuC3E-MaE/w296-h640/splash-screen-gmail-example.gif&quot; width=&quot;296&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;Note: &lt;/b&gt;As Splash Screen&amp;nbsp; introduced in Android 12 so it will work on Android&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Api level 31 and above.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;We can Customize the Splash Screen Theme:&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; - &lt;/b&gt;With the help of below attribute we can customize our Splash activity theme.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;1.&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;span color=&quot;var(--devsite-code-strings-color)&quot;&gt;&lt;b&gt;android:windowSplashScreenBackground : &lt;/b&gt;Used for Splash Screen background color.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span color=&quot;var(--devsite-code-strings-color)&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span color=&quot;var(--devsite-code-strings-color)&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;
&lt;pre class=&quot;java&quot; name=&quot;code&quot;&gt;&lt;!--splash screen background color--&gt;
&lt;item name=&quot;android:windowSplashScreenBackground&quot;&gt;#FFFFFF&lt;/item&gt;	
&lt;/pre&gt;
  &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;2.&amp;nbsp;&lt;span color=&quot;var(--devsite-code-strings-color)&quot;&gt;&lt;b&gt;android:windowSplashScreenAnimatedIcon&lt;/b&gt;:&amp;nbsp; Used&amp;nbsp;&lt;/span&gt;to replace an icon in&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;the center&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;of the starting window. If the object is animatable and drawable through &lt;/span&gt;&lt;b style=&quot;font-family: inherit;&quot;&gt;AnimationDrawable&amp;nbsp;&lt;/b&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;and &lt;/span&gt;&lt;b style=&quot;font-family: inherit;&quot;&gt;AnimatedVectorDrawable&lt;/b&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;, you also need to set windowSplashScreenAnimationDuration to play the animation while showing the&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;starting window.&lt;/span&gt;&lt;/div&gt;
&lt;pre class=&quot;java&quot; name=&quot;code&quot;&gt;&lt;!--provide animatedly drawable--&gt;
&lt;item name=&quot;android:windowSplashScreenAnimatedIcon&quot;&gt;
	@drawable/splash_screen_animateable_icon
&lt;/item&gt;	
&lt;/pre&gt;

3.&amp;nbsp;&lt;span color=&quot;var(--devsite-code-strings-color)&quot; style=&quot;font-size: 14px;&quot;&gt;&lt;b&gt;android:windowSplashScreenAnimationDuration : &lt;/b&gt;Used&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;to indicate the duration of the splash screen icon animation. Max duration is 1000ms.&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;
&lt;pre class=&quot;java&quot; name=&quot;code&quot;&gt;&lt;!--max duration is 1000ms--&gt;
&lt;item name=&quot;android:windowSplashScreenAnimationDuration&quot;&gt;800&lt;/item&gt;	
&lt;/pre&gt;  
&lt;br /&gt;4.&amp;nbsp;&lt;/span&gt;&lt;span color=&quot;var(--devsite-code-strings-color)&quot; style=&quot;font-size: 14px;&quot;&gt;&lt;b&gt;android:windowSplashScreenIconBackgroundColor :&lt;/b&gt; Used&lt;/span&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&amp;nbsp;to set a background behind&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&amp;nbsp;the splash screen icon. This is useful if there isn’t enough contrast between the window&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&amp;nbsp;background and the icon.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;
&lt;pre class=&quot;java&quot; name=&quot;code&quot;&gt;&lt;!--icon background color--&gt;
&lt;item name=&quot;android:windowSplashScreenIconBackgroundColor&quot;&gt;#004d28&lt;/item&gt;	
&lt;/pre&gt; 
 &lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;5.&amp;nbsp;&lt;span color=&quot;var(--devsite-code-strings-color)&quot;&gt;&lt;b&gt;android:windowSplashScreenBrandingImage:&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;We can use this to set an image to be shown at the bottom of the splash screen. The design guidelines recommend against using a branding image.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;
&lt;pre class=&quot;java&quot; name=&quot;code&quot;&gt;&lt;!--splash screen branding image--&gt;
&lt;item name=&quot;android:windowSplashScreenBrandingImage&quot;&gt;@drawable/ic_logo_12&lt;/item&gt;	
&lt;/pre&gt; 
&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;h1 style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;b&gt;Keep the splash screen on-screen for longer periods:&lt;/b&gt;&lt;/span&gt;&lt;/h1&gt;&lt;div&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;div&gt;The splash screen is dismissed as soon as your app draws its first frame. If you need to load a small amount of data such as in-app settings from a local disk asynchronously, you can use ViewTreeObserver.OnPreDrawListener to suspend the app to draw its first frame.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If your starting activity finishes before drawing (for example, by not setting the content view and finishing before onResume), the pre-draw listener is not needed.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;
&lt;pre class=&quot;java&quot; name=&quot;code&quot;&gt;override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        mainViewModel = ViewModelProvider(this).get(MainViewModel::class.java)
        content = findViewById(android.R.id.content)
        if (Build.VERSION.SDK_INT &amp;gt;= Build.VERSION_CODES.S) {
            Log.d(&quot;MainActivity&quot;, &quot;onCreate: I AM RUNNING ON API 12 or higher&quot;)
            content.viewTreeObserver.addOnPreDrawListener(object :
                    ViewTreeObserver.OnPreDrawListener {
                    override fun onPreDraw(): Boolean =
                        when {
                            mainViewModel.mockDataLoading() -&amp;gt; {
                                content.viewTreeObserver.removeOnPreDrawListener(this)
                                true
                            }
                            else -&amp;gt; false
                        }
                })
        }
    }	&lt;/pre&gt;&lt;/span&gt;&lt;/div&gt;&lt;b&gt;

Customizing Splash Screen Animation: &lt;/b&gt;In Android 12 we get the Splash screen&amp;nbsp;&lt;div&gt;instance by calling getSplashScreen() from Activity class.&amp;nbsp;So we can further customize&lt;/div&gt;&lt;div&gt;the animation of the splash screen through &lt;b&gt;Activity.getSplashScreen().&lt;/b&gt;&lt;div&gt;
&lt;pre class=&quot;java&quot; name=&quot;code&quot;&gt;        splashScreen.setOnExitAnimationListener { splashScreenView -&amp;gt;
            val slideUp = ObjectAnimator.ofFloat(
                splashScreenView,
                View.TRANSLATION_Y,
                0f,
                -splashScreenView.height.toFloat()
            )
            slideUp.interpolator = AnticipateInterpolator()
            slideUp.duration = 200L

            // Call SplashScreenView.remove at the end of your custom animation.
            slideUp.doOnEnd { splashScreenView.remove() }

            // Run your animation.
            slideUp.start()
        }	
&lt;/pre&gt;  
&lt;b&gt;Code: MainActivity.kt&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;
&lt;pre class=&quot;java&quot; name=&quot;code&quot;&gt;package com.example.android12splashscreenapi

import android.animation.ObjectAnimator
import android.os.Build
import android.os.Bundle
import android.util.Log
import android.view.View
import android.view.ViewTreeObserver
import android.view.animation.AnticipateInterpolator
import androidx.appcompat.app.AppCompatActivity
import androidx.core.animation.doOnEnd
import androidx.lifecycle.ViewModelProvider

class MainActivity : AppCompatActivity() {
    lateinit var content: View
    lateinit var mainViewModel: MainViewModel
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        mainViewModel = ViewModelProvider(this).get(MainViewModel::class.java)
        content = findViewById(android.R.id.content)
        if (Build.VERSION.SDK_INT &amp;gt;= Build.VERSION_CODES.S) {
            Log.d(&quot;MainActivity&quot;, &quot;onCreate: I AM RUNNING ON API 12 or higher&quot;)
            content.viewTreeObserver.addOnPreDrawListener(object :
                    ViewTreeObserver.OnPreDrawListener {
                    override fun onPreDraw(): Boolean =
                        when {
                            mainViewModel.mockDataLoading() -&amp;gt; {
                                content.viewTreeObserver.removeOnPreDrawListener(this)
                                true
                            }
                            else -&amp;gt; false
                        }
                })

            // custom exit on splashScreen
            splashScreen.setOnExitAnimationListener { splashScreenView -&amp;gt;
                val slideUp = ObjectAnimator.ofFloat(
                    splashScreenView,
                    View.TRANSLATION_Y,
                    0f,
                    -splashScreenView.height.toFloat()
                )
                slideUp.interpolator = AnticipateInterpolator()
                slideUp.duration = 200L

                // Call SplashScreenView.remove at the end of your custom animation.
                slideUp.doOnEnd { splashScreenView.remove() }

                // Run your animation.
                slideUp.start()
            }
        }
    }
}
	
&lt;/pre&gt;  
&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;
Reference&lt;/b&gt;:&lt;/div&gt;&lt;div&gt;1.&lt;a href=&quot; https://developer.android.com/guide/topics/ui/splash-screen#suspend-drawing&quot;&gt;&amp;nbsp;https://developer.android.com/guide/topics/ui/splash-screen#suspend-drawing&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Note&lt;/b&gt;: For updating/migraating your older app&amp;nbsp; for Android 12 please check below&lt;/div&gt;&lt;div&gt;tutorial.&lt;/div&gt;&lt;div&gt;1.&lt;a href=&quot; https://developer.android.com/guide/topics/ui/splash-screen/migrate&quot;&gt;&amp;nbsp;https://developer.android.com/guide/topics/ui/splash-screen/migrate&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Download Complete Code &lt;a href=&quot;https://github.com/mukesh4u/Android12SplashScreenApiSample&quot;&gt;Here&lt;/a&gt;&lt;/div&gt;&lt;div&gt;Hope this will help Someone.&lt;/div&gt;&lt;div&gt;Enjoy Coding ..........................&amp;nbsp; :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.androiddevelopersolutions.com/feeds/5569622446751066146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.androiddevelopersolutions.com/2021/10/splash-screen-api-in-android-12-android.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/5569622446751066146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/5569622446751066146'/><link rel='alternate' type='text/html' href='http://www.androiddevelopersolutions.com/2021/10/splash-screen-api-in-android-12-android.html' title='Splash Screen API in Android 12 | Android 12 Splash Screen  Example | Splash screens in Android 12 | Splash screen demo Using Splash Screen API | Splash Screen API Example'/><author><name>Mukesh Kumar</name><uri>http://www.blogger.com/profile/02072401063614368529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD4EXedD0XSwj1WD_SvECJbg1Qth8YtRU-15NsOz31jJma_L2HVlGpHl_6B3-GSIIOiTmY8X-oojQnIYhVyB8DFbUZPHQv8753syeSVObDcbR8EzuEOQJfrfe0Tmi4Ig/s113/FB_IMG_1495976002512.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_aZvt2wM31WzDoElYTB_lBK5R7yGEM9TPf3XRsjovdyWp03KdVda0XaM3_8XlTyIh4XeXtPZYeFZviW5ZCYADGEARc0jMOtjEeduWFxb-UKljFBWutpcrrSp6rT-4pxcUckIuC3E-MaE/s72-w296-h640-c/splash-screen-gmail-example.gif" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5215777427512085470.post-1143536296854639521</id><published>2021-09-28T22:29:00.002+05:30</published><updated>2021-09-28T22:31:30.776+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="compose"/><category scheme="http://www.blogger.com/atom/ns#" term="Jetpack"/><category scheme="http://www.blogger.com/atom/ns#" term="Toolbar"/><category scheme="http://www.blogger.com/atom/ns#" term="TopAppBar"/><category scheme="http://www.blogger.com/atom/ns#" term="tutorial"/><title type='text'>Android Jetpack Compose Toolbar example | Jetpack Compose TopAppBar</title><content type='html'>&lt;div&gt;Hi Friends,&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Many of us looking for Toolbar example in Jetpack Compose or&lt;/div&gt;&lt;div&gt;TopAppBar example in Jetpack compose. Today I am going to share&amp;nbsp; you&amp;nbsp;&lt;/div&gt;&lt;div&gt;a sample which helps you in creating Toolbar in Jetpack compose.&lt;/div&gt;&lt;div&gt;Also in this tutoriail I am providing you how to create toolbar menu item using&lt;/div&gt;&lt;div&gt;JetPack Compose.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEt784IVrlxKWeYSXGAcdtPLHra-1AMdfIqIqTVtsMRfpOnvnZjGGmGE8fQebCaHqlfWKyWKTrNlkYr7y4CXD6OPPQq_67oIp70V7HzOxnv0hi8HAHRbv6bD2eCwbwbTDzxEy5kSrhJEY/s846/toolbar.PNG&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;846&quot; data-original-width=&quot;403&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEt784IVrlxKWeYSXGAcdtPLHra-1AMdfIqIqTVtsMRfpOnvnZjGGmGE8fQebCaHqlfWKyWKTrNlkYr7y4CXD6OPPQq_67oIp70V7HzOxnv0hi8HAHRbv6bD2eCwbwbTDzxEy5kSrhJEY/w298-h400/toolbar.PNG&quot; width=&quot;298&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;b&gt;Source Code:&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt; &lt;script src=&quot;https://gist.github.com/mukesh4u/3c9f9e486d268b968fc7a6788c50b06c.js&quot;&gt;&lt;/script&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;Complete Activity class&lt;/b&gt;&lt;br /&gt;&lt;script src=&quot;https://gist.github.com/mukesh4u/1e360b0dade00556ea43e680d2f7a523.js&quot;&gt;&lt;/script&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Download code from &lt;a href=&quot;https://github.com/mukesh4u/JetpackComposeToolbar&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hope this will help someone.&lt;/div&gt;&lt;div&gt;Enjoy Coding............... :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.androiddevelopersolutions.com/feeds/1143536296854639521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.androiddevelopersolutions.com/2021/09/android-jetpack-compose-toolbar.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/1143536296854639521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/1143536296854639521'/><link rel='alternate' type='text/html' href='http://www.androiddevelopersolutions.com/2021/09/android-jetpack-compose-toolbar.html' title='Android Jetpack Compose Toolbar example | Jetpack Compose TopAppBar'/><author><name>Mukesh Kumar</name><uri>http://www.blogger.com/profile/02072401063614368529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD4EXedD0XSwj1WD_SvECJbg1Qth8YtRU-15NsOz31jJma_L2HVlGpHl_6B3-GSIIOiTmY8X-oojQnIYhVyB8DFbUZPHQv8753syeSVObDcbR8EzuEOQJfrfe0Tmi4Ig/s113/FB_IMG_1495976002512.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEt784IVrlxKWeYSXGAcdtPLHra-1AMdfIqIqTVtsMRfpOnvnZjGGmGE8fQebCaHqlfWKyWKTrNlkYr7y4CXD6OPPQq_67oIp70V7HzOxnv0hi8HAHRbv6bD2eCwbwbTDzxEy5kSrhJEY/s72-w298-h400-c/toolbar.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5215777427512085470.post-7363492821354360861</id><published>2021-09-28T13:06:00.001+05:30</published><updated>2021-09-28T13:09:56.291+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="compose"/><category scheme="http://www.blogger.com/atom/ns#" term="Dropdown"/><category scheme="http://www.blogger.com/atom/ns#" term="Dropdown menu"/><category scheme="http://www.blogger.com/atom/ns#" term="DropdownMenu Composable"/><category scheme="http://www.blogger.com/atom/ns#" term="Jetpack"/><category scheme="http://www.blogger.com/atom/ns#" term="menu"/><title type='text'>Android Jetpack Compose Dropdown menu Example | Dropdown menu using DropdownMenu Composable</title><content type='html'>&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;Dropdown menu:&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;&lt;/b&gt;We are going to use&lt;b&gt;&amp;nbsp;DropdownMenu&lt;/b&gt; Composable for creating dropdown menu.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjd3tLJy28PAMCju5h24IJCqKcHSjGIn2w_GXy5hYMajFMMSQPLkHdDW29PpZeUAHC8eVtGVdnuzG3oLrO8T7b8uAWtKCsq_z_9wDFQTHDCD2kB4AmmDKkNK5za2MP3TpRPTgmaKHlP8jk/s851/dropdownmenu.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;851&quot; data-original-width=&quot;418&quot; height=&quot;286&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjd3tLJy28PAMCju5h24IJCqKcHSjGIn2w_GXy5hYMajFMMSQPLkHdDW29PpZeUAHC8eVtGVdnuzG3oLrO8T7b8uAWtKCsq_z_9wDFQTHDCD2kB4AmmDKkNK5za2MP3TpRPTgmaKHlP8jk/w253-h286/dropdownmenu.PNG&quot; width=&quot;253&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;pre style=&quot;background-color: white; font-family: &amp;quot;JetBrains Mono&amp;quot;, monospace; font-size: 9.8pt;&quot;&gt;&lt;span style=&quot;color: navy; font-weight: bold;&quot;&gt;fun &lt;/span&gt;DropdownMenu(&lt;br /&gt;    expanded: Boolean,&lt;br /&gt;    onDismissRequest: () -&amp;gt; Unit,&lt;br /&gt;    modifier: Modifier = Modifier,&lt;br /&gt;    offset: DpOffset = DpOffset(&lt;span style=&quot;color: blue;&quot;&gt;0&lt;/span&gt;.dp, &lt;span style=&quot;color: blue;&quot;&gt;0&lt;/span&gt;.dp),&lt;br /&gt;    properties: PopupProperties = PopupProperties(&lt;span style=&quot;color: #4a86e8;&quot;&gt;focusable = &lt;/span&gt;&lt;span style=&quot;color: navy; font-weight: bold;&quot;&gt;true&lt;/span&gt;),&lt;br /&gt;    content: @Composable ColumnScope.() -&amp;gt; Unit&lt;br /&gt;)&lt;/pre&gt;&lt;br /&gt;In Above code if &lt;b&gt;expanded&lt;/b&gt; is true, the popup menu with dropdown content will be shown.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;onDismissRequest&lt;/b&gt; will be called when the menu should be dismiss,&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;pre&gt;@Composable
fun DropdownDemo() {
    var expanded by remember { mutableStateOf(false) }
    val items = listOf(
        &quot;Apple&quot;, &quot;Banana&quot;, &quot;Cherry&quot;, &quot;Grapes&quot;,
        &quot;Mango&quot;, &quot;Pineapple&quot;, &quot;Pear&quot;
    )
    var selectedIndex by remember { mutableStateOf(0) }
    Column(
        modifier = Modifier
            .fillMaxSize()
            .wrapContentSize(Alignment.TopStart)
            .padding(all = 5.dp)
    ) {
        Text(
            items[selectedIndex],
            modifier = Modifier
                .fillMaxWidth()
                .clickable(onClick = { expanded = true })
                .background(
                    Color.Red
                ),
            color = Color.White,
            fontSize = 20.sp,
            textAlign = TextAlign.Start
        )
        DropdownMenu(
            expanded = expanded,
            onDismissRequest = { expanded = false },
            modifier = Modifier
                .fillMaxWidth()
                .background(
                    Color.Gray
                )
        ) {
            items.forEachIndexed { index, s -&amp;gt;
                DropdownMenuItem(onClick = {
                    selectedIndex = index
                    expanded = false
                }) {
                    Text(text = s)
                }
            }
        }
    }
}&lt;/pre&gt;&lt;br /&gt;Hope this will help someone.&lt;br /&gt;Enjoy Coding.......... :)
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.androiddevelopersolutions.com/feeds/7363492821354360861/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.androiddevelopersolutions.com/2021/09/android-jetpack-compose-dropdown-menu.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/7363492821354360861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/7363492821354360861'/><link rel='alternate' type='text/html' href='http://www.androiddevelopersolutions.com/2021/09/android-jetpack-compose-dropdown-menu.html' title='Android Jetpack Compose Dropdown menu Example | Dropdown menu using DropdownMenu Composable'/><author><name>Mukesh Kumar</name><uri>http://www.blogger.com/profile/02072401063614368529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD4EXedD0XSwj1WD_SvECJbg1Qth8YtRU-15NsOz31jJma_L2HVlGpHl_6B3-GSIIOiTmY8X-oojQnIYhVyB8DFbUZPHQv8753syeSVObDcbR8EzuEOQJfrfe0Tmi4Ig/s113/FB_IMG_1495976002512.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjd3tLJy28PAMCju5h24IJCqKcHSjGIn2w_GXy5hYMajFMMSQPLkHdDW29PpZeUAHC8eVtGVdnuzG3oLrO8T7b8uAWtKCsq_z_9wDFQTHDCD2kB4AmmDKkNK5za2MP3TpRPTgmaKHlP8jk/s72-w253-h286-c/dropdownmenu.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5215777427512085470.post-8925638470392673951</id><published>2021-09-24T17:37:00.000+05:30</published><updated>2021-09-26T07:56:55.234+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Button"/><category scheme="http://www.blogger.com/atom/ns#" term="compose"/><category scheme="http://www.blogger.com/atom/ns#" term="Example"/><category scheme="http://www.blogger.com/atom/ns#" term="How to center a button in jetpack Compose"/><category scheme="http://www.blogger.com/atom/ns#" term="Jetpack"/><category scheme="http://www.blogger.com/atom/ns#" term="onclick listener on button in Jetpack Compose"/><title type='text'>Android Jetpack Compose Button Example | How to center a button in jetpack Compose | How to onclick listener on button in Jetpack Compose</title><content type='html'>Hi Friends,&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Today I am sharing a Sample of Jetpack Compose Button view. I will show you how&lt;/div&gt;&lt;div&gt;to set&amp;nbsp;onclick listener on button in Jetpack Compose. How to style on Button in&lt;/div&gt;&lt;div&gt;Jetpack Compse , how to set height and width of button in Jetpack compose.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwFgQjKn33k0SKTcqwVKyRqJSPk-4tOsnzkBE1NZc7drUAsQBOyZjOFYMJ-7o2PQrXiADX7-sGl3kQli_7bqzUuG6zbr0I5YXap8tEJWmnIOCkyJWt0DS3GHQ6scpCoZnHGeY1Zji41Lc/s861/button.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;861&quot; data-original-width=&quot;423&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwFgQjKn33k0SKTcqwVKyRqJSPk-4tOsnzkBE1NZc7drUAsQBOyZjOFYMJ-7o2PQrXiADX7-sGl3kQli_7bqzUuG6zbr0I5YXap8tEJWmnIOCkyJWt0DS3GHQ6scpCoZnHGeY1Zji41Lc/w196-h400/button.PNG&quot; width=&quot;196&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&amp;nbsp;&lt;b&gt; Code:&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;script src=&quot;https://gist.github.com/mukesh4u/31dc71a0adf7e5fc24a4e0887f23cee8.js&quot;&gt;&lt;/script&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;b&gt;&amp;nbsp; &lt;/b&gt;Hope this will help someone.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;b&gt;&amp;nbsp; &lt;/b&gt;Enjoy Coding........... :)&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.androiddevelopersolutions.com/feeds/8925638470392673951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.androiddevelopersolutions.com/2021/09/android-jetpack-compose-button-example.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/8925638470392673951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/8925638470392673951'/><link rel='alternate' type='text/html' href='http://www.androiddevelopersolutions.com/2021/09/android-jetpack-compose-button-example.html' title='Android Jetpack Compose Button Example | How to center a button in jetpack Compose | How to onclick listener on button in Jetpack Compose'/><author><name>Mukesh Kumar</name><uri>http://www.blogger.com/profile/02072401063614368529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD4EXedD0XSwj1WD_SvECJbg1Qth8YtRU-15NsOz31jJma_L2HVlGpHl_6B3-GSIIOiTmY8X-oojQnIYhVyB8DFbUZPHQv8753syeSVObDcbR8EzuEOQJfrfe0Tmi4Ig/s113/FB_IMG_1495976002512.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwFgQjKn33k0SKTcqwVKyRqJSPk-4tOsnzkBE1NZc7drUAsQBOyZjOFYMJ-7o2PQrXiADX7-sGl3kQli_7bqzUuG6zbr0I5YXap8tEJWmnIOCkyJWt0DS3GHQ6scpCoZnHGeY1Zji41Lc/s72-w196-h400-c/button.PNG" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5215777427512085470.post-5025680957696637380</id><published>2021-09-24T17:35:00.002+05:30</published><updated>2021-09-28T13:35:13.144+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="clicklistener"/><category scheme="http://www.blogger.com/atom/ns#" term="compose"/><category scheme="http://www.blogger.com/atom/ns#" term="Jetpack"/><category scheme="http://www.blogger.com/atom/ns#" term="listview"/><category scheme="http://www.blogger.com/atom/ns#" term="using Jetpack compose"/><title type='text'>Android Jetpack compose- Android Listview using Jetpack compose | Jetpack compose listview clicklistener</title><content type='html'>&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;Hello all,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; Today I am going to share my anothere Android Jetpack Compose tutoria.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span&gt;How to set clicklistener on listview in android Jetpack Compses, how to set&amp;nbsp;&lt;/span&gt;clicklistener&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;on button using Jetpack Compse.&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghNIGVcyiLTsFDLKaZZkCvoXqZMm37L0AB0UjbZvX5Dk6aYUQ8n3tyw6wyHomjfCmecTkGYgMoh6SFD1eB2IqAA_secQYITOqaDbgHpHTMrn4sDGetPegx3sQLpn_FDXD-G07G7Qdi8Qw/s1300/1_2v6zotc8p-bt9oX2mI0vkQ.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;400&quot; data-original-width=&quot;1300&quot; height=&quot;61&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghNIGVcyiLTsFDLKaZZkCvoXqZMm37L0AB0UjbZvX5Dk6aYUQ8n3tyw6wyHomjfCmecTkGYgMoh6SFD1eB2IqAA_secQYITOqaDbgHpHTMrn4sDGetPegx3sQLpn_FDXD-G07G7Qdi8Qw/w200-h61/1_2v6zotc8p-bt9oX2mI0vkQ.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3tc1x7H-dsRTaUUQ7rElGblGM-wKxzUD2mnEsBKtssNzfTzNL7_xQeAQ9II0S2Yun6TgTaWN8H1G3Yn2IHqANE_S0zj_SVFeCukWhAhDSuMiYZasBn_4690jhFU5z_ddz0g5o56tOpL8/s853/Capture.PNG&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;853&quot; data-original-width=&quot;413&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3tc1x7H-dsRTaUUQ7rElGblGM-wKxzUD2mnEsBKtssNzfTzNL7_xQeAQ9II0S2Yun6TgTaWN8H1G3Yn2IHqANE_S0zj_SVFeCukWhAhDSuMiYZasBn_4690jhFU5z_ddz0g5o56tOpL8/s320/Capture.PNG&quot; width=&quot;155&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;I am sharing below code where I am handling list item click in jetpack compose.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;
 &lt;script src=&quot;https://gist.github.com/mukesh4u/b2ebf8b7aa3e1c1e7c405911f7f76e0a.js&quot;&gt;&lt;/script&gt;&lt;br/&gt;
&lt;div style=&quot;text-align: left;&quot;&gt; Downlaod complete code from&amp;nbsp;&lt;a href=&quot;https://github.com/mukesh4u/JetPackComposeList&quot;&gt;here&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Hope this will help someone.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Enjoy Coding....... :)&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.androiddevelopersolutions.com/feeds/5025680957696637380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.androiddevelopersolutions.com/2021/09/android-jetpack-compose-android.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/5025680957696637380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/5025680957696637380'/><link rel='alternate' type='text/html' href='http://www.androiddevelopersolutions.com/2021/09/android-jetpack-compose-android.html' title='Android Jetpack compose- Android Listview using Jetpack compose | Jetpack compose listview clicklistener'/><author><name>Mukesh Kumar</name><uri>http://www.blogger.com/profile/02072401063614368529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD4EXedD0XSwj1WD_SvECJbg1Qth8YtRU-15NsOz31jJma_L2HVlGpHl_6B3-GSIIOiTmY8X-oojQnIYhVyB8DFbUZPHQv8753syeSVObDcbR8EzuEOQJfrfe0Tmi4Ig/s113/FB_IMG_1495976002512.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghNIGVcyiLTsFDLKaZZkCvoXqZMm37L0AB0UjbZvX5Dk6aYUQ8n3tyw6wyHomjfCmecTkGYgMoh6SFD1eB2IqAA_secQYITOqaDbgHpHTMrn4sDGetPegx3sQLpn_FDXD-G07G7Qdi8Qw/s72-w200-h61-c/1_2v6zotc8p-bt9oX2mI0vkQ.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5215777427512085470.post-225410716132726746</id><published>2021-09-24T13:09:00.002+05:30</published><updated>2021-09-26T23:18:26.077+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="alert dialog"/><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="compose"/><category scheme="http://www.blogger.com/atom/ns#" term="Dialog"/><category scheme="http://www.blogger.com/atom/ns#" term="Jetpack"/><category scheme="http://www.blogger.com/atom/ns#" term="Popup"/><title type='text'>Android Jetpack Compose Alert Dialog Sample | Jetpack Compose Dialog</title><content type='html'>&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;Hi Friends,&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Today I am sharing the Jetpack Compse Alert Dialog Sample.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;What is Alert Dialog?&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; white-space: pre;&quot;&gt;- Alert&amp;nbsp;dialog&amp;nbsp;is&amp;nbsp;a&amp;nbsp;Dialog&amp;nbsp;which&amp;nbsp;interrupts&amp;nbsp;the&amp;nbsp;user&amp;nbsp;with&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; white-space: pre;&quot;&gt;urgent&amp;nbsp;information,&amp;nbsp;details&amp;nbsp;or&amp;nbsp;actions.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTcEZnOYu1JgthrSLZMirZYMxK4UdAUSqIiR77C1loGEqeFCN6ZWRWIBlPNDHoENZlCYstohSockpmWBWBgUCweEvDwTQHYRcdYD1OqxCTwri0WSrXeZ6Vx00x0hJRl4TDdKPwpgYgIJM/s846/alert+dialog.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;846&quot; data-original-width=&quot;420&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTcEZnOYu1JgthrSLZMirZYMxK4UdAUSqIiR77C1loGEqeFCN6ZWRWIBlPNDHoENZlCYstohSockpmWBWBgUCweEvDwTQHYRcdYD1OqxCTwri0WSrXeZ6Vx00x0hJRl4TDdKPwpgYgIJM/w199-h400/alert+dialog.PNG&quot; width=&quot;199&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;script src=&quot;https://gist.github.com/mukesh4u/31dc71a0adf7e5fc24a4e0887f23cee8.js&quot;&gt;&lt;/script&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Hope this will help someone.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Enjoy Coding........ :)&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;span style=&quot;background-color: white; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.androiddevelopersolutions.com/feeds/225410716132726746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.androiddevelopersolutions.com/2021/09/android-jetpack-compose-alert-dialog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/225410716132726746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/225410716132726746'/><link rel='alternate' type='text/html' href='http://www.androiddevelopersolutions.com/2021/09/android-jetpack-compose-alert-dialog.html' title='Android Jetpack Compose Alert Dialog Sample | Jetpack Compose Dialog'/><author><name>Mukesh Kumar</name><uri>http://www.blogger.com/profile/02072401063614368529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD4EXedD0XSwj1WD_SvECJbg1Qth8YtRU-15NsOz31jJma_L2HVlGpHl_6B3-GSIIOiTmY8X-oojQnIYhVyB8DFbUZPHQv8753syeSVObDcbR8EzuEOQJfrfe0Tmi4Ig/s113/FB_IMG_1495976002512.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTcEZnOYu1JgthrSLZMirZYMxK4UdAUSqIiR77C1loGEqeFCN6ZWRWIBlPNDHoENZlCYstohSockpmWBWBgUCweEvDwTQHYRcdYD1OqxCTwri0WSrXeZ6Vx00x0hJRl4TDdKPwpgYgIJM/s72-w199-h400-c/alert+dialog.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5215777427512085470.post-6054483812282988040</id><published>2021-09-23T22:12:00.001+05:30</published><updated>2021-09-23T22:12:51.597+05:30</updated><title type='text'>How to get Context in Jetpack Compose</title><content type='html'>&lt;div style=&quot;text-align: left;&quot;&gt;Hello All,&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; Many of us facing issue in using/getting context in JetPack Compose.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span&gt;Here I am sharing a composbale function where I am using context for showing toast message.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;
 &lt;script src=&quot;https://gist.github.com/mukesh4u/57f56fc3386fc47a8c4f5527d953f9ec.js&quot;&gt;&lt;/script&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.androiddevelopersolutions.com/feeds/6054483812282988040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.androiddevelopersolutions.com/2021/09/how-to-get-context-in-jetpack-compose.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/6054483812282988040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/6054483812282988040'/><link rel='alternate' type='text/html' href='http://www.androiddevelopersolutions.com/2021/09/how-to-get-context-in-jetpack-compose.html' title='How to get Context in Jetpack Compose'/><author><name>Mukesh Kumar</name><uri>http://www.blogger.com/profile/02072401063614368529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD4EXedD0XSwj1WD_SvECJbg1Qth8YtRU-15NsOz31jJma_L2HVlGpHl_6B3-GSIIOiTmY8X-oojQnIYhVyB8DFbUZPHQv8753syeSVObDcbR8EzuEOQJfrfe0Tmi4Ig/s113/FB_IMG_1495976002512.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5215777427512085470.post-4668371419547028992</id><published>2021-09-23T20:54:00.000+05:30</published><updated>2021-09-23T20:54:49.588+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="jetPack Compose"/><category scheme="http://www.blogger.com/atom/ns#" term="LazyColumn"/><category scheme="http://www.blogger.com/atom/ns#" term="recyclerview"/><title type='text'>Android Jetpack Compose- An easy way to RecyclerView | How to create a RecyclerView in Jetpack Compose | LazyColumn-JetPack Compose</title><content type='html'>&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;Hello Friends,&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; Today I am going to share a my another JetPack Compose tutorial.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span&gt;Here I am going to share you the creation of listview/recyclerview using&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span&gt;Compose.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyjE7fWvA0HQOrB6dYXPCBaD1tWTwvHb3DP4IJwqfEUMGs2aajpOOE_2QvUhIjAzaG9D7Ctxaenq06aNGeDD1pJOMNXPMq-K8fHC8RLTFNZbcPNwRwZxl1JkamWMbK97TWTB84XAnXjT4/s853/Capture.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;853&quot; data-original-width=&quot;413&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyjE7fWvA0HQOrB6dYXPCBaD1tWTwvHb3DP4IJwqfEUMGs2aajpOOE_2QvUhIjAzaG9D7Ctxaenq06aNGeDD1pJOMNXPMq-K8fHC8RLTFNZbcPNwRwZxl1JkamWMbK97TWTB84XAnXjT4/w194-h400/Capture.PNG&quot; width=&quot;194&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;b&gt;Creating a listview/recyclerview in Compose:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;b&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;Creating a listview/recyclerview in Compose is easy.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;No Adapter. No View holder.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;What is LazyColumn?&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;-&lt;/b&gt;&amp;nbsp;A &lt;span style=&quot;color: #2b00fe;&quot;&gt;LazyColumn&lt;/span&gt; is a vertically scrolling list that only composes and lays out the currently visible items. It’s similar to a Recyclerview in the classic Android View system.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;
  &lt;script src=&quot;https://gist.github.com/mukesh4u/49a6ac7044c01ed2fcdbf31f92a699dc.js&quot;&gt;&lt;/script&gt;
  &lt;br /&gt;&lt;/div&gt;&lt;div&gt;Download code from &lt;a href=&quot;https://github.com/mukesh4u/JetPackComposeList&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;&lt;/div&gt;Hope this will help someone.&lt;div&gt;Enjoy Coding......................... :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.androiddevelopersolutions.com/feeds/4668371419547028992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.androiddevelopersolutions.com/2021/09/android-jetpack-compose-easy-way-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/4668371419547028992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/4668371419547028992'/><link rel='alternate' type='text/html' href='http://www.androiddevelopersolutions.com/2021/09/android-jetpack-compose-easy-way-to.html' title='Android Jetpack Compose- An easy way to RecyclerView | How to create a RecyclerView in Jetpack Compose | LazyColumn-JetPack Compose'/><author><name>Mukesh Kumar</name><uri>http://www.blogger.com/profile/02072401063614368529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD4EXedD0XSwj1WD_SvECJbg1Qth8YtRU-15NsOz31jJma_L2HVlGpHl_6B3-GSIIOiTmY8X-oojQnIYhVyB8DFbUZPHQv8753syeSVObDcbR8EzuEOQJfrfe0Tmi4Ig/s113/FB_IMG_1495976002512.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyjE7fWvA0HQOrB6dYXPCBaD1tWTwvHb3DP4IJwqfEUMGs2aajpOOE_2QvUhIjAzaG9D7Ctxaenq06aNGeDD1pJOMNXPMq-K8fHC8RLTFNZbcPNwRwZxl1JkamWMbK97TWTB84XAnXjT4/s72-w194-h400-c/Capture.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5215777427512085470.post-2887533575235514595</id><published>2021-09-22T14:45:00.005+05:30</published><updated>2021-09-22T14:57:32.724+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="cardview"/><category scheme="http://www.blogger.com/atom/ns#" term="column"/><category scheme="http://www.blogger.com/atom/ns#" term="jetpack layout"/><category scheme="http://www.blogger.com/atom/ns#" term="Jetpack textview"/><title type='text'>Android Jetpack- Jetpack cardview sample</title><content type='html'>&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;Hi All,&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipVjLmZq8NJHW1UV8AbVr0bftzyznMfZ7vkF1Zp3C3xDOj0xUQR79qaLsfWxIw-L1LXEivivzSjAsw-pAs67jD5HoqPTdlfH7bGqe61pZQUZCB2bAFv7Kk58NfKKKsSVd7zWzxqp6uyYc/s1300/1_2v6zotc8p-bt9oX2mI0vkQ.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;400&quot; data-original-width=&quot;1300&quot; height=&quot;98&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipVjLmZq8NJHW1UV8AbVr0bftzyznMfZ7vkF1Zp3C3xDOj0xUQR79qaLsfWxIw-L1LXEivivzSjAsw-pAs67jD5HoqPTdlfH7bGqe61pZQUZCB2bAFv7Kk58NfKKKsSVd7zWzxqp6uyYc/w320-h98/1_2v6zotc8p-bt9oX2mI0vkQ.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Today I am going to share &lt;b&gt;Jetpack&lt;/b&gt; &lt;b&gt;CardView&lt;/b&gt; sample. Here I am going to create a simple android cardview UI&amp;nbsp; withoutt using the android Xml and layout editor.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;We are going to build the UI using &lt;b&gt;Composable funtion(&lt;/b&gt;i.e: using &lt;b&gt;Jetpack&lt;/b&gt; &lt;b&gt;Compse&lt;/b&gt;).&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;Column :&amp;nbsp;&lt;/b&gt;&amp;nbsp;We are going to use &lt;b&gt;Column&lt;/b&gt; &lt;b&gt;function&lt;/b&gt; for arranging the view vertically.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;For arranging the view horizontally you can use &lt;b&gt;Row&lt;/b&gt; &lt;b&gt;function&lt;/b&gt;.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBe66KNG948n914j803PII6mKBqlrCfuV_GaZMXfw_tK1hpzQ3blrK62CMvNpAN_7yatY_knpxB821gHiW-tzTmzQRdoEk7HlZ2k-iz8S0zGISRVr4D1Ew54qzKG-s3tcX90RChhjIOIg/s838/Capture.PNG&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;838&quot; data-original-width=&quot;403&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBe66KNG948n914j803PII6mKBqlrCfuV_GaZMXfw_tK1hpzQ3blrK62CMvNpAN_7yatY_knpxB821gHiW-tzTmzQRdoEk7HlZ2k-iz8S0zGISRVr4D1Ew54qzKG-s3tcX90RChhjIOIg/w193-h400/Capture.PNG&quot; width=&quot;193&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&amp;nbsp;&lt;b&gt;Check MainActivity.kt file for Code,&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;
&lt;script src=&quot;https://gist.github.com/mukesh4u/22e099feabc279341376eb280d2c5581.js&quot;&gt;&lt;/script&gt;&lt;br /&gt;Download complete code &lt;a href=&quot;https://github.com/mukesh4u/JetPackCardView&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;
Hope this will help someone.&lt;br /&gt;Enjoy coding.... :)
&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.androiddevelopersolutions.com/feeds/2887533575235514595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.androiddevelopersolutions.com/2021/09/android-jetpack-jetpack-cardview-sample.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/2887533575235514595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/2887533575235514595'/><link rel='alternate' type='text/html' href='http://www.androiddevelopersolutions.com/2021/09/android-jetpack-jetpack-cardview-sample.html' title='Android Jetpack- Jetpack cardview sample'/><author><name>Mukesh Kumar</name><uri>http://www.blogger.com/profile/02072401063614368529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD4EXedD0XSwj1WD_SvECJbg1Qth8YtRU-15NsOz31jJma_L2HVlGpHl_6B3-GSIIOiTmY8X-oojQnIYhVyB8DFbUZPHQv8753syeSVObDcbR8EzuEOQJfrfe0Tmi4Ig/s113/FB_IMG_1495976002512.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipVjLmZq8NJHW1UV8AbVr0bftzyznMfZ7vkF1Zp3C3xDOj0xUQR79qaLsfWxIw-L1LXEivivzSjAsw-pAs67jD5HoqPTdlfH7bGqe61pZQUZCB2bAFv7Kk58NfKKKsSVd7zWzxqp6uyYc/s72-w320-h98-c/1_2v6zotc8p-bt9oX2mI0vkQ.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5215777427512085470.post-4863108522146963084</id><published>2021-09-21T21:31:00.007+05:30</published><updated>2021-09-22T14:54:29.187+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Composable functions"/><category scheme="http://www.blogger.com/atom/ns#" term="compose"/><category scheme="http://www.blogger.com/atom/ns#" term="Jetpack"/><title type='text'>Android Jetpack- Composable functions</title><content type='html'>&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; white-space: pre;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; white-space: pre;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi65V99FQOhd1xJmLIbg5QTyQ7zqIC19yVqLIxZKADyl8MH9dG6391cZ0J8L9difs-EqrN_RR8bj6jVuVF7Jc_MO7icI3B1Uz8WFFEJECzv4SVdJKmER9IcRKbiS2pWnDI-_J11M0NvTYI/s1300/1_2v6zotc8p-bt9oX2mI0vkQ.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;400&quot; data-original-width=&quot;1300&quot; height=&quot;122&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi65V99FQOhd1xJmLIbg5QTyQ7zqIC19yVqLIxZKADyl8MH9dG6391cZ0J8L9difs-EqrN_RR8bj6jVuVF7Jc_MO7icI3B1Uz8WFFEJECzv4SVdJKmER9IcRKbiS2pWnDI-_J11M0NvTYI/w400-h122/1_2v6zotc8p-bt9oX2mI0vkQ.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; white-space: pre;&quot;&gt;&lt;b&gt;Jetpack&amp;nbsp;Compose&lt;/b&gt;&amp;nbsp;is&amp;nbsp;built&amp;nbsp;around&amp;nbsp;composable&amp;nbsp;functions.&amp;nbsp;These&amp;nbsp;functions &lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; white-space: pre;&quot;&gt;let&amp;nbsp;you&amp;nbsp;define&amp;nbsp;your&amp;nbsp;app&#39;s&amp;nbsp;UI&amp;nbsp;programmatically&amp;nbsp;by&amp;nbsp;describing&amp;nbsp;how&amp;nbsp;it&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; white-space: pre;&quot;&gt;should&amp;nbsp;look&amp;nbsp;and &lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; white-space: pre;&quot;&gt;providing&amp;nbsp;data&amp;nbsp;dependencies,&amp;nbsp;rather&amp;nbsp;than&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; white-space: pre;&quot;&gt;focusing&amp;nbsp;on&amp;nbsp;the&amp;nbsp;process&amp;nbsp;of &lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; white-space: pre;&quot;&gt;the&amp;nbsp;UI&#39;s&amp;nbsp;construction&amp;nbsp;(initializing&amp;nbsp;an&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; white-space: pre;&quot;&gt;element,&amp;nbsp;attaching&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; white-space: pre;&quot;&gt;it&amp;nbsp;to&amp;nbsp;a&amp;nbsp;parent,&amp;nbsp;etc.).&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-color: white; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;To&amp;nbsp;create&amp;nbsp;a&amp;nbsp;composable&amp;nbsp;function,&amp;nbsp;just&amp;nbsp;add&amp;nbsp;the&amp;nbsp;&lt;b&gt;@Composable&lt;/b&gt;&amp;nbsp;annotation&lt;/div&gt;&lt;div&gt;to&amp;nbsp;the&amp;nbsp;function&amp;nbsp;name.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src=&quot;https://gist.github.com/mukesh4u/44002a1254467c3da98ac50b92d9fd8a.js&quot;&gt;&lt;/script&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;
Enjoy Coding.... :)</content><link rel='replies' type='application/atom+xml' href='http://www.androiddevelopersolutions.com/feeds/4863108522146963084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.androiddevelopersolutions.com/2021/09/android-jetpack-composable-functions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/4863108522146963084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/4863108522146963084'/><link rel='alternate' type='text/html' href='http://www.androiddevelopersolutions.com/2021/09/android-jetpack-composable-functions.html' title='Android Jetpack- Composable functions'/><author><name>Mukesh Kumar</name><uri>http://www.blogger.com/profile/02072401063614368529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD4EXedD0XSwj1WD_SvECJbg1Qth8YtRU-15NsOz31jJma_L2HVlGpHl_6B3-GSIIOiTmY8X-oojQnIYhVyB8DFbUZPHQv8753syeSVObDcbR8EzuEOQJfrfe0Tmi4Ig/s113/FB_IMG_1495976002512.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi65V99FQOhd1xJmLIbg5QTyQ7zqIC19yVqLIxZKADyl8MH9dG6391cZ0J8L9difs-EqrN_RR8bj6jVuVF7Jc_MO7icI3B1Uz8WFFEJECzv4SVdJKmER9IcRKbiS2pWnDI-_J11M0NvTYI/s72-w400-h122-c/1_2v6zotc8p-bt9oX2mI0vkQ.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5215777427512085470.post-207995221729822003</id><published>2021-09-04T22:35:00.001+05:30</published><updated>2021-09-04T22:35:20.320+05:30</updated><title type='text'>Android Jetpack Compose-Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8</title><content type='html'>&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;Hi All,&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Many of us facing below issue&amp;nbsp;&amp;nbsp;while running the Android Jetpack&amp;nbsp;&lt;/div&gt;&lt;div&gt;Compose Project.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;pre class=&quot;default s-code-block&quot; style=&quot;border-radius: 5px; border: 0px; box-sizing: inherit; font-family: var(--ff-mono); font-size: 13px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: 1.30769; margin-bottom: calc(var(--s-prose-spacing) + 0.4em); margin-top: 0px; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 12px; vertical-align: baseline; width: auto;&quot;&gt;&lt;code class=&quot;hljs language-erlang&quot; style=&quot;border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&amp;gt; Failed to apply plugin &#39;com.android.internal.application&#39;.
    &amp;gt; Android Gradle plugin requires Java &lt;span class=&quot;hljs-number&quot; style=&quot;border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;11&lt;/span&gt; to run. You are currently using Java &lt;span class=&quot;hljs-number&quot; style=&quot;border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;1.8&lt;/span&gt;.
    You can &lt;span class=&quot;hljs-keyword&quot; style=&quot;border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;try&lt;/span&gt; some &lt;span class=&quot;hljs-keyword&quot; style=&quot;border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;of&lt;/span&gt; the following options:
    - changing the IDE settings.
    - changing the JAVA_HOME environment variable.
    - changing `org.gradle.java.home` in `gradle.properties`.&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;In order to fix this issue we need to use Java 11. You can find it in Preferences &amp;gt; Build, Execution, Deployment &amp;gt; Build Tools &amp;gt; Gradle &amp;gt; Gradle JDK.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguB1bkvgCyR-uTUrxqD-44V4_JPziVbfOmvRGxW5cq8rHTBEXJqv0NQhGUDAgdHSzqWMEHp2RRURwaIvRXprX-RN3c_AhYwTapaLBbsaawGORk2Dvm8UAe5Vv6CIhj33FPWswdram0Qxw/s1219/jdk11+error.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;803&quot; data-original-width=&quot;1219&quot; height=&quot;286&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguB1bkvgCyR-uTUrxqD-44V4_JPziVbfOmvRGxW5cq8rHTBEXJqv0NQhGUDAgdHSzqWMEHp2RRURwaIvRXprX-RN3c_AhYwTapaLBbsaawGORk2Dvm8UAe5Vv6CIhj33FPWswdram0Qxw/w523-h286/jdk11+error.png&quot; width=&quot;523&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Hope this will help some one.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Enjoy Coding.......&amp;nbsp; :)&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;pre class=&quot;default s-code-block&quot; style=&quot;border-radius: 5px; border: 0px; box-sizing: inherit; font-family: var(--ff-mono); font-size: 13px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: 1.30769; margin-bottom: calc(var(--s-prose-spacing) + 0.4em); margin-top: 0px; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 12px; vertical-align: baseline; width: auto;&quot;&gt;&lt;code class=&quot;hljs language-erlang&quot; style=&quot;border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.androiddevelopersolutions.com/feeds/207995221729822003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.androiddevelopersolutions.com/2021/09/android-jetpack-compose-android-gradle.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/207995221729822003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/207995221729822003'/><link rel='alternate' type='text/html' href='http://www.androiddevelopersolutions.com/2021/09/android-jetpack-compose-android-gradle.html' title='Android Jetpack Compose-Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8'/><author><name>Mukesh Kumar</name><uri>http://www.blogger.com/profile/02072401063614368529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD4EXedD0XSwj1WD_SvECJbg1Qth8YtRU-15NsOz31jJma_L2HVlGpHl_6B3-GSIIOiTmY8X-oojQnIYhVyB8DFbUZPHQv8753syeSVObDcbR8EzuEOQJfrfe0Tmi4Ig/s113/FB_IMG_1495976002512.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguB1bkvgCyR-uTUrxqD-44V4_JPziVbfOmvRGxW5cq8rHTBEXJqv0NQhGUDAgdHSzqWMEHp2RRURwaIvRXprX-RN3c_AhYwTapaLBbsaawGORk2Dvm8UAe5Vv6CIhj33FPWswdram0Qxw/s72-w523-h286-c/jdk11+error.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5215777427512085470.post-628009975939889879</id><published>2021-09-01T23:22:00.006+05:30</published><updated>2021-09-04T22:42:03.445+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android Compose"/><category scheme="http://www.blogger.com/atom/ns#" term="Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8"/><category scheme="http://www.blogger.com/atom/ns#" term="Jetpack"/><title type='text'>Android Jetpack Compose- Android Studio with Jetpack Compose Getting Started | Jetpack Compose Tutoria </title><content type='html'>&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Hi All,&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/div&gt;Today I am going to share my first JetPack Compose Tutorial. Here we learn how\nto setup android compose in android studio. We see the rquired dependency and other settings.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Step 1: Installation:&lt;/b&gt;&amp;nbsp;&amp;nbsp;First we have to download &lt;a href=&quot;https://www.blogger.com/#&quot;&gt;Android Studio Arctic Fox&lt;/a&gt;. That’s because when we use Android Studio to develop our app with Jetpack Compose, we can benefit from &lt;a href=&quot;https://www.blogger.com/#&quot;&gt;smart editor features&lt;/a&gt;, such as New Project templates and the ability to immediately &lt;br /&gt;preview our Compose UI.&lt;/div&gt;&lt;div&gt;&lt;span face=&quot;Roboto, &amp;quot;Noto Sans&amp;quot;, &amp;quot;Noto Sans JP&amp;quot;, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Noto Naskh Arabic&amp;quot;, &amp;quot;Noto Sans Thai&amp;quot;, &amp;quot;Noto Sans Hebrew&amp;quot;, &amp;quot;Noto Sans Bengali&amp;quot;, sans-serif&quot; style=&quot;background-color: white; color: #202124; font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span face=&quot;Roboto, &amp;quot;Noto Sans&amp;quot;, &amp;quot;Noto Sans JP&amp;quot;, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Noto Naskh Arabic&amp;quot;, &amp;quot;Noto Sans Thai&amp;quot;, &amp;quot;Noto Sans Hebrew&amp;quot;, &amp;quot;Noto Sans Bengali&amp;quot;, sans-serif&quot; style=&quot;background-color: white; color: #202124; font-size: 16px;&quot;&gt;Step2: &lt;b&gt;Create android app :&amp;nbsp;&lt;/b&gt;&amp;nbsp;After the installint of latest android studio from link&lt;b&gt;&amp;nbsp;&lt;/b&gt;now lets&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span face=&quot;Roboto, &amp;quot;Noto Sans&amp;quot;, &amp;quot;Noto Sans JP&amp;quot;, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Noto Naskh Arabic&amp;quot;, &amp;quot;Noto Sans Thai&amp;quot;, &amp;quot;Noto Sans Hebrew&amp;quot;, &amp;quot;Noto Sans Bengali&amp;quot;, sans-serif&quot; style=&quot;background-color: white; color: #202124; font-size: 16px;&quot;&gt;create an app.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;span face=&quot;Roboto, &amp;quot;Noto Sans&amp;quot;, &amp;quot;Noto Sans JP&amp;quot;, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Noto Naskh Arabic&amp;quot;, &amp;quot;Noto Sans Thai&amp;quot;, &amp;quot;Noto Sans Hebrew&amp;quot;, &amp;quot;Noto Sans Bengali&amp;quot;, sans-serif&quot; style=&quot;background-color: white; color: #202124; font-size: 16px;&quot;&gt;Open &lt;b&gt;Android Studio&lt;/b&gt;&amp;nbsp;&amp;gt; select&amp;nbsp;&lt;span style=&quot;box-sizing: inherit; font-weight: 700;&quot;&gt;File &amp;gt; New &amp;gt; New Project&lt;/span&gt;&amp;nbsp;from the menu bar.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;box-sizing: inherit; margin: 12px 0px; padding: 0px;&quot;&gt;In the&amp;nbsp;&lt;span style=&quot;box-sizing: inherit; font-weight: 700;&quot;&gt;Select a Project Template&lt;/span&gt;&amp;nbsp;window, select&amp;nbsp;&lt;span style=&quot;box-sizing: inherit; font-weight: 700;&quot;&gt;Empty Compose Activity&lt;/span&gt;&amp;nbsp;and click&amp;nbsp;&lt;span style=&quot;box-sizing: inherit; font-weight: 700;&quot;&gt;Next&lt;/span&gt;.&lt;/li&gt;&lt;li style=&quot;box-sizing: inherit; margin: 12px 0px; padding: 0px;&quot;&gt;In the&amp;nbsp;&lt;span style=&quot;box-sizing: inherit; font-weight: 700;&quot;&gt;Configure your project&lt;/span&gt;&amp;nbsp;window, do the following:&lt;ol style=&quot;box-sizing: inherit; list-style: outside lower-alpha; margin: 0px; padding-left: 40px;&quot;&gt;&lt;li style=&quot;box-sizing: inherit; margin: 12px 0px; padding: 0px;&quot;&gt;Set the&amp;nbsp;&lt;span style=&quot;box-sizing: inherit; font-weight: 700;&quot;&gt;Name&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;box-sizing: inherit; font-weight: 700;&quot;&gt;Package name&lt;/span&gt;, and&amp;nbsp;&lt;span style=&quot;box-sizing: inherit; font-weight: 700;&quot;&gt;Save location&lt;/span&gt;&amp;nbsp;as you normally would.&lt;/li&gt;&lt;li style=&quot;box-sizing: inherit; margin: 12px 0px; padding: 0px;&quot;&gt;Note that, in the&amp;nbsp;&lt;span style=&quot;box-sizing: inherit; font-weight: 700;&quot;&gt;Language&lt;/span&gt;&amp;nbsp;dropdown menu,&amp;nbsp;&lt;span style=&quot;box-sizing: inherit; font-weight: 700;&quot;&gt;Kotlin&lt;/span&gt;&amp;nbsp;is the only available option because Jetpack Compose works only with classes written in Kotlin.&lt;/li&gt;&lt;li style=&quot;box-sizing: inherit; margin: 12px 0px; padding: 0px;&quot;&gt;In the&amp;nbsp;&lt;span style=&quot;box-sizing: inherit; font-weight: 700;&quot;&gt;Minimum API level dropdown&lt;/span&gt;&amp;nbsp;menu, select API level 21 or higher.&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;Click&amp;nbsp;&lt;span style=&quot;box-sizing: inherit; font-weight: 700;&quot;&gt;Finish&lt;/span&gt;.&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFGMTXS99AEAcglCPefVrH293bsmKUv5GIeAYLrwasS9VcpC0vrj7O6pv7pEK-cZICJqzVvj57FaiW0ATL0zb7xhaun23GaS_7JTO0qeOS-Zu3LTqyjv_4-McLjbqc_AgWDMTgW04VYxw/s1219/compose_template.PNG&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;795&quot; data-original-width=&quot;1219&quot; height=&quot;261&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFGMTXS99AEAcglCPefVrH293bsmKUv5GIeAYLrwasS9VcpC0vrj7O6pv7pEK-cZICJqzVvj57FaiW0ATL0zb7xhaun23GaS_7JTO0qeOS-Zu3LTqyjv_4-McLjbqc_AgWDMTgW04VYxw/w400-h261/compose_template.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp;You can see below dependecny in your app &lt;b&gt;build.gradle&lt;/b&gt; file which is required for Compose.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&amp;nbsp;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTR3uGBQ2i94hDNNdAfuZyXLJtlo6DDJKAoFmnAq5mOpj_ULgVs5TsJ2XrGt0oZJsHv6huAs4Yqp3PXociKUaCCR6oAqVpmKutIBr9EIne04Us8LpRJhH6T0IqUijN2pExJJjFjQj0A2w/s737/compose_template3.PNG&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;286&quot; data-original-width=&quot;737&quot; height=&quot;155&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTR3uGBQ2i94hDNNdAfuZyXLJtlo6DDJKAoFmnAq5mOpj_ULgVs5TsJ2XrGt0oZJsHv6huAs4Yqp3PXociKUaCCR6oAqVpmKutIBr9EIne04Us8LpRJhH6T0IqUijN2pExJJjFjQj0A2w/w400-h155/compose_template3.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqrr-dnzBw-nOXHHzMF2s1KubU6-EfqMPpc9VMuu6YLz04ukGVjPpw7wFH7Fe25tajo1KzKTuzuJVen3EXvxKF_uREd7EZWA0-7-F0Rk1zcMe7Nguik6yPhMh2yYtUK_HGLQKwFfwv8n0/s861/compose_template2.PNG&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;425&quot; data-original-width=&quot;861&quot; height=&quot;198&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqrr-dnzBw-nOXHHzMF2s1KubU6-EfqMPpc9VMuu6YLz04ukGVjPpw7wFH7Fe25tajo1KzKTuzuJVen3EXvxKF_uREd7EZWA0-7-F0Rk1zcMe7Nguik6yPhMh2yYtUK_HGLQKwFfwv8n0/w400-h198/compose_template2.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&amp;nbsp;For more check this &lt;a href=&quot;https://developer.android.com/jetpack/compose/setup?authuser=2#sample&quot; target=&quot;_blank&quot;&gt;tutorial&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;While setting it if you are facing issue of&amp;nbsp; &lt;span style=&quot;color: red;&quot;&gt;&quot;Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8&quot;.&amp;nbsp;&lt;/span&gt;Plesase check this &lt;a href=&quot;https://www.androiddevelopersolutions.com/2021/09/android-jetpack-compose-android-gradle.html&quot; target=&quot;_blank&quot;&gt;tutorial&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Hope this will help some one.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Enjoy Coding....... :)&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.androiddevelopersolutions.com/feeds/628009975939889879/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.androiddevelopersolutions.com/2021/09/android-studio-with-jetpack-compose.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/628009975939889879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/628009975939889879'/><link rel='alternate' type='text/html' href='http://www.androiddevelopersolutions.com/2021/09/android-studio-with-jetpack-compose.html' title='Android Jetpack Compose- Android Studio with Jetpack Compose Getting Started | Jetpack Compose Tutoria '/><author><name>Mukesh Kumar</name><uri>http://www.blogger.com/profile/02072401063614368529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD4EXedD0XSwj1WD_SvECJbg1Qth8YtRU-15NsOz31jJma_L2HVlGpHl_6B3-GSIIOiTmY8X-oojQnIYhVyB8DFbUZPHQv8753syeSVObDcbR8EzuEOQJfrfe0Tmi4Ig/s113/FB_IMG_1495976002512.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFGMTXS99AEAcglCPefVrH293bsmKUv5GIeAYLrwasS9VcpC0vrj7O6pv7pEK-cZICJqzVvj57FaiW0ATL0zb7xhaun23GaS_7JTO0qeOS-Zu3LTqyjv_4-McLjbqc_AgWDMTgW04VYxw/s72-w400-h261-c/compose_template.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5215777427512085470.post-8082518146392634121</id><published>2020-05-11T23:03:00.004+05:30</published><updated>2020-05-11T23:09:54.313+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Class"/><category scheme="http://www.blogger.com/atom/ns#" term="Enum"/><category scheme="http://www.blogger.com/atom/ns#" term="kotlin"/><title type='text'>Kotlin - Enum Classes in Kotlin | Enum Methods | Enum Properties</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgq2pnhi2L4JtHX3OaKxEo6v6dfZhT_UhjmWwswA8JuNXAkcQKBJVc_GWPEht0HKVWXwXIs7Gq6Ky2_mgvafGdEbONM9LmTVmG_EaxWjeAqHHTe4hf4L7sfCR_3XzQ_taZHVCTaCpqO5Hc/s1600/download.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;225&quot; data-original-width=&quot;225&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgq2pnhi2L4JtHX3OaKxEo6v6dfZhT_UhjmWwswA8JuNXAkcQKBJVc_GWPEht0HKVWXwXIs7Gq6Ky2_mgvafGdEbONM9LmTVmG_EaxWjeAqHHTe4hf4L7sfCR_3XzQ_taZHVCTaCpqO5Hc/s200/download.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;Hello Friend,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Today I am going to share about Enum class in Kotlin&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
- How to create/initialize enum classes&lt;br /&gt;
- methods and properties of enum classes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Initializing enums –&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/mukesh4u/9d00a60454540a18db21dd69533ee838.js&quot;&gt;&lt;/script&gt;

&lt;br /&gt;
Now we can easily access the color of fruits,&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/mukesh4u/6629d1878d73c8d7d23cb09f8a6a0eb5.js&quot;&gt;&lt;/script&gt;

&lt;b&gt;Enum Methods-&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;b&gt;values&lt;/b&gt;: This method returns a list of all the constants defined within the enum class.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;valueOf&lt;/b&gt;: This methods returns the enum constant defined in enum, matching the input string.&amp;nbsp; If the constant, is not present in the enum, then an IllegalArgumentException is thrown.&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;b&gt;Enum Properties-&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;b&gt;ordinal: &lt;/b&gt;This property stores the ordinal value of the constant, which is usually a zero-based index.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;name&lt;/b&gt;: This property stores the name of the constant.&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
Below is the example which help us to understand the uses of Enum method and Properties.&lt;/div&gt;
&lt;div&gt;
&lt;script src=&quot;https://gist.github.com/mukesh4u/d53812ee68d104da0155c53b882df4c8.js&quot;&gt;&lt;/script&gt;
&lt;/div&gt;
&lt;div&gt;
Outputs:
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivWfsIiL_lyo3f480-9IR79pnpyF21oOgVUnZrRNbNIBMjSN4WfX4CoADyoZgN0CWyypkBGWXDUDOYa2RfzKavECa8cBGDYpe4HniwGU7O6Hr1nrK1WzUkgadkNBph-KoiEAm2EZ4vGHk/s1600/Capture.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;265&quot; data-original-width=&quot;898&quot; height=&quot;117&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivWfsIiL_lyo3f480-9IR79pnpyF21oOgVUnZrRNbNIBMjSN4WfX4CoADyoZgN0CWyypkBGWXDUDOYa2RfzKavECa8cBGDYpe4HniwGU7O6Hr1nrK1WzUkgadkNBph-KoiEAm2EZ4vGHk/s400/Capture.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Hope this will help some one.&lt;br /&gt;
Enjoy Coding... :)
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.androiddevelopersolutions.com/feeds/8082518146392634121/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.androiddevelopersolutions.com/2020/05/kotlin-enum-classes-in-kotlin.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/8082518146392634121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/8082518146392634121'/><link rel='alternate' type='text/html' href='http://www.androiddevelopersolutions.com/2020/05/kotlin-enum-classes-in-kotlin.html' title='Kotlin - Enum Classes in Kotlin | Enum Methods | Enum Properties'/><author><name>Mukesh Kumar</name><uri>http://www.blogger.com/profile/02072401063614368529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD4EXedD0XSwj1WD_SvECJbg1Qth8YtRU-15NsOz31jJma_L2HVlGpHl_6B3-GSIIOiTmY8X-oojQnIYhVyB8DFbUZPHQv8753syeSVObDcbR8EzuEOQJfrfe0Tmi4Ig/s113/FB_IMG_1495976002512.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgq2pnhi2L4JtHX3OaKxEo6v6dfZhT_UhjmWwswA8JuNXAkcQKBJVc_GWPEht0HKVWXwXIs7Gq6Ky2_mgvafGdEbONM9LmTVmG_EaxWjeAqHHTe4hf4L7sfCR_3XzQ_taZHVCTaCpqO5Hc/s72-c/download.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5215777427512085470.post-8401299297822507398</id><published>2020-05-11T15:44:00.000+05:30</published><updated>2020-05-11T16:00:27.788+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="kotlin"/><category scheme="http://www.blogger.com/atom/ns#" term="MVP"/><category scheme="http://www.blogger.com/atom/ns#" term="Notification"/><title type='text'>Kotlin - Android notification in kotlin | Android MVP in Kotlin</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Hello Friends,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Lets first tell you what is notification.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUarui5AVaCFdyTJL9RrzjJ1PbPfclmbUmAfSG8FzdiNHNUvm0mBIfyKCFhv6XdJJtgm4PBXVbgsQH6NYWjQQ16fb13wzv_XsvoA-sA5dFYESqwkKUM2CexuYlpTWlMOOc5vxwQ0hwvG8/s1600/android-software-development-kotlin-mobile-app-development-java-png-favpng-X0wXNu6XMsar3s2Emu2stttCS.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;574&quot; data-original-width=&quot;820&quot; height=&quot;224&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUarui5AVaCFdyTJL9RrzjJ1PbPfclmbUmAfSG8FzdiNHNUvm0mBIfyKCFhv6XdJJtgm4PBXVbgsQH6NYWjQQ16fb13wzv_XsvoA-sA5dFYESqwkKUM2CexuYlpTWlMOOc5vxwQ0hwvG8/s320/android-software-development-kotlin-mobile-app-development-java-png-favpng-X0wXNu6XMsar3s2Emu2stttCS.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Notification&amp;nbsp;&lt;/b&gt;is a message that is used to display some short messages outside of our main application. Even if the app is not running, notifications will still work. Notifications have the following contents: an icon, title of notification and some text content.&lt;br /&gt;
&lt;br /&gt;
Now today I am going to share , how create notification in Kotlin.&lt;br /&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/mukesh4u/50fa140ad149ac281b205ce136834de3.js&quot;&gt;&lt;/script&gt;

Download code from &lt;a href=&quot;https://github.com/mukesh4u/KotlinNotification&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;&lt;br /&gt;
Hope this will helps someone..&lt;br /&gt;
Enjoy Coding.... :)&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.androiddevelopersolutions.com/feeds/8401299297822507398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.androiddevelopersolutions.com/2020/05/kotlin-android-notification-in-kotlin.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/8401299297822507398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/8401299297822507398'/><link rel='alternate' type='text/html' href='http://www.androiddevelopersolutions.com/2020/05/kotlin-android-notification-in-kotlin.html' title='Kotlin - Android notification in kotlin | Android MVP in Kotlin'/><author><name>Mukesh Kumar</name><uri>http://www.blogger.com/profile/02072401063614368529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD4EXedD0XSwj1WD_SvECJbg1Qth8YtRU-15NsOz31jJma_L2HVlGpHl_6B3-GSIIOiTmY8X-oojQnIYhVyB8DFbUZPHQv8753syeSVObDcbR8EzuEOQJfrfe0Tmi4Ig/s113/FB_IMG_1495976002512.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUarui5AVaCFdyTJL9RrzjJ1PbPfclmbUmAfSG8FzdiNHNUvm0mBIfyKCFhv6XdJJtgm4PBXVbgsQH6NYWjQQ16fb13wzv_XsvoA-sA5dFYESqwkKUM2CexuYlpTWlMOOc5vxwQ0hwvG8/s72-c/android-software-development-kotlin-mobile-app-development-java-png-favpng-X0wXNu6XMsar3s2Emu2stttCS.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5215777427512085470.post-624235544723984511</id><published>2020-01-03T22:07:00.000+05:30</published><updated>2020-01-03T22:12:31.225+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="About Android 11"/><category scheme="http://www.blogger.com/atom/ns#" term="Andoid 11 2020 expected release date"/><category scheme="http://www.blogger.com/atom/ns#" term="Android 11 release date"/><category scheme="http://www.blogger.com/atom/ns#" term="feature coming in Android 11 in 2020"/><category scheme="http://www.blogger.com/atom/ns#" term="When is Android 11 &#39;R&#39; coming out"/><title type='text'>Mobile World : The next version of Android is officially Android 11 | About android 11 release in 2020 | Android 11 name | Features coming in Android 11 </title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPEWH5PUO5ODOeboBUMHwx3dVhFzyDh8OzLfQNbiB-75ctb4FXF8229mUrfefMf6C8ywQ013DZ6y5BAb3VBEzUNVlO7L0EN6OFbWBM-Q7-4wUwKFtea4KMCnZmrdFsWlFQoG_gIxPQY8c/s1600/android-11.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;900&quot; data-original-width=&quot;1600&quot; height=&quot;225&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPEWH5PUO5ODOeboBUMHwx3dVhFzyDh8OzLfQNbiB-75ctb4FXF8229mUrfefMf6C8ywQ013DZ6y5BAb3VBEzUNVlO7L0EN6OFbWBM-Q7-4wUwKFtea4KMCnZmrdFsWlFQoG_gIxPQY8c/s400/android-11.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;font-size: 14.0pt; line-height: 115%;&quot;&gt;Android 11:&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Next Alphabet R Android 11 soon to Arrive&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;font-size: 14.0pt; line-height: 115%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%;&quot;&gt;Google is all set to introduce &lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;Android 11&lt;/b&gt; after success of its Android 9 and Android 10 in queue. Much
of the information is not disclosed for now but is awaited and speculation is
that Android 11 will be more oriented on dual display. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%;&quot;&gt;Android&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%;&quot;&gt; &lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;launch
date&lt;/b&gt; is expected around September 2020 but rumours had started already. &lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;Android 11&lt;/b&gt; will be available for
free.&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;After Android Q version this
Android 11 will be called Android R as expected alphabetically. Also, the
trends of naming their android after desserts is also said to be maintained. &lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;Android 10 was in some non-Google company like
Oneplus 7T and 7T Pro but possibly it could be different for Android 11.
Although it will be available for smart phones who want to be upgrade possibly.&lt;span style=&quot;font-size: 14pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;font-size: 14.0pt; line-height: 115%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;font-size: 14.0pt; line-height: 115%;&quot;&gt;Android 11&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;font-size: 14.0pt; line-height: 115%;&quot;&gt; in Smart phones&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;font-size: 14.0pt; line-height: 115%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%;&quot;&gt;If
to put in simple language Android is an open source operating system that
powers Google and Smart phones. Also, this operating system is based on a modified
version of the Linux Kernel. It’s a decade old and the most popular mobile
operating system in world.&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;Android 11&lt;/b&gt; like other Android software
is for smart phones and tablets. Although to compare it with iPhones, Androids
varies a lot. But today both are multitasking. &lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;Android 11&lt;/b&gt; like other old version will be empowering Samsung
series, Xperia, HTC series and many more.&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;
&lt;/span&gt;It is at least believes to be on pixel phones. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%;&quot;&gt;Android 11 features&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%;&quot;&gt;Now
if talking about &lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;Android 11&lt;/b&gt;
features, most of it is unknown for now and soon expected to be disclosed but
expectation are “Scoped Storage” which is supposed to be in Android 10 but
Google pushed it back due to complaints from Android developers. This feature
makes memory read speeds much quicker, improves security, and stops you needing
to give every new apps permission.&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;Also
all those features which is gone missing or not as expected in Android 10 will
be anticipated to be there in Android 11. Just to name few:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;1.&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;Near field Communication (NFC)&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%;&quot;&gt;NFC
determines how your Android phone connects or interacts with the nearest
device. This connection does not depend on Wi-Fi, 3G or LTE.&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;It helped users to share videos, photos,
music by not using any apps but by pressing phone against each other.&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;But this feature is gone now and causes
hindrance to share. NFC is expected in Android 11 to get away with this problem
of sharing.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;2.
Improvement in Dark Mode&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%;&quot;&gt;Using
phone in darker made is a treat to eye. It makes different apps look way far
better than it is normally.&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;Android 10
has lots of problem regarding it. Every app does not have to have its darker
mode feature, so if smart phone has it already it will reduce much inconvenience
of jumping to different apps. Also on apps that do have dark mode some text
aren’t colour wrapped and go invisible. Having better dark mode option is what
in line of expectation from &lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;Android 11.&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0Z9eN2BgHmJD-k_ILws6bdG6zWFprPlK4rVnGBNToBbkPeITrRwrrPrcOXdTRZbmM18WBVHDfbCtNssNBsznVcH6aDbmxVGpbAhdk_kbyYGCk56OK87bZ1uAM_9g5cpTbl9KjsbOpBs0/s1600/dark+mode.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;420&quot; data-original-width=&quot;800&quot; height=&quot;210&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0Z9eN2BgHmJD-k_ILws6bdG6zWFprPlK4rVnGBNToBbkPeITrRwrrPrcOXdTRZbmM18WBVHDfbCtNssNBsznVcH6aDbmxVGpbAhdk_kbyYGCk56OK87bZ1uAM_9g5cpTbl9KjsbOpBs0/s400/dark+mode.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%;&quot;&gt;&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%;&quot;&gt;&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;3.
Easy access like “Chat bubbles”&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%;&quot;&gt;Chat
bubbles over the top of the apps which enables you to see your whole
conversations while you are on other apps. Isn’t amazing feature?&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;Like Facebook messenger, it should be an &lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;Android feature&lt;/b&gt; as well.&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;It allows you to use other apps while
chatting. User does not have to dodge every time they get a message. It’s of
utmost use when we need notification while working on other apps. Especially
with Instagram, , Twitter, WhatsApp, Facebook . You can easily continue with
your conversation anytime.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWvyR6MIiU35egderOiZYXYwzTXbf2MoO4-gMAybgZX3rM-vm_1-tS9vdrLk_riSqywk-7O6te46JGe18Ofr1IfHeR-ePHcsxTKkw-YCIkH0W8R0Zbr8sVxxjB2Q0Oy0lN3reR5s7uGLA/s1600/chat+bubble.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;393&quot; data-original-width=&quot;750&quot; height=&quot;208&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWvyR6MIiU35egderOiZYXYwzTXbf2MoO4-gMAybgZX3rM-vm_1-tS9vdrLk_riSqywk-7O6te46JGe18Ofr1IfHeR-ePHcsxTKkw-YCIkH0W8R0Zbr8sVxxjB2Q0Oy0lN3reR5s7uGLA/s400/chat+bubble.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;font-size: 14.0pt; line-height: 115%;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;Android 11&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;font-size: 14.0pt; line-height: 115%;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt; Updates over different
phones&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;font-size: 14.0pt; line-height: 115%;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%;&quot;&gt; &amp;nbsp; So
the phone that going to have this Android version is:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;font-family: &amp;quot;wingdings&amp;quot;; line-height: 115%; text-indent: -0.25in;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-stretch: normal; line-height: normal;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%; text-indent: -0.25in;&quot;&gt;Nokia:&amp;nbsp; After google, Nokia is the next original
equipment&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%; text-indent: -0.25in;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Manufacturer (OEM) which is expected to do software&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%; text-indent: -0.25in;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;upgrade.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;text-indent: -0.25in;&quot;&gt;Their &#39;Android R&#39; OTA update is to be done&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;text-indent: -0.25in;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;is –
Nokia 9 Pure View&lt;/span&gt;&lt;/div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Nokia 6.2&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
Nokia 7.2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;font-family: &amp;quot;wingdings&amp;quot;; line-height: 115%; text-indent: -0.25in;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-stretch: normal; line-height: normal;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%; text-indent: -0.25in;&quot;&gt;Samsung:&amp;nbsp; Needless to mention that Samsung Galaxy S10
and&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%; text-indent: -0.25in;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Samsung Galaxy Note 10 will going to be upgraded&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%; text-indent: -0.25in;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; to&amp;nbsp;&lt;/span&gt;&lt;b style=&quot;text-indent: -0.25in;&quot;&gt;&amp;nbsp;Android 11 Features&lt;/b&gt;&lt;span style=&quot;text-indent: -0.25in;&quot;&gt;.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraph&quot; style=&quot;margin-left: 1.0in; mso-add-space: auto;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%; text-indent: -0.25in;&quot;&gt;

&lt;span lang=&quot;EN-IN&quot; style=&quot;font-family: &amp;quot;calibri&amp;quot; , &amp;quot;sans-serif&amp;quot;; line-height: 115%;&quot;&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 21.4667px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;font-family: &amp;quot;wingdings&amp;quot;; line-height: 21.4667px; text-indent: -0.25in;&quot;&gt;Ø&lt;/span&gt;Xiaomi:&amp;nbsp; &amp;nbsp;The MIUI 12 will be expected to be based on&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%; text-indent: -0.25in;&quot;&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;font-family: &amp;quot;calibri&amp;quot; , &amp;quot;sans-serif&amp;quot;; line-height: 115%;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Android R version.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%; text-indent: -0.25in;&quot;&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;font-family: &amp;quot;calibri&amp;quot; , &amp;quot;sans-serif&amp;quot;; line-height: 115%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%; text-indent: -0.25in;&quot;&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;font-family: &amp;quot;calibri&amp;quot; , &amp;quot;sans-serif&amp;quot;; line-height: 115%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%; text-indent: -0.25in;&quot;&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;font-family: &amp;quot;calibri&amp;quot; , &amp;quot;sans-serif&amp;quot;; line-height: 115%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%; text-indent: -0.25in;&quot;&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;font-family: &amp;quot;calibri&amp;quot; , &amp;quot;sans-serif&amp;quot;; line-height: 115%;&quot;&gt;Hope you like this article.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;line-height: 115%; text-indent: -0.25in;&quot;&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;font-family: &amp;quot;calibri&amp;quot; , &amp;quot;sans-serif&amp;quot;; line-height: 115%;&quot;&gt;Enjoy reading article :)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;font-size: 14pt; line-height: 115%; text-indent: -0.25in;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;font-size: 14pt; line-height: 115%; text-indent: -0.25in;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.androiddevelopersolutions.com/feeds/624235544723984511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.androiddevelopersolutions.com/2020/01/mobile-world-next-version-of-android-is.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/624235544723984511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/624235544723984511'/><link rel='alternate' type='text/html' href='http://www.androiddevelopersolutions.com/2020/01/mobile-world-next-version-of-android-is.html' title='Mobile World : The next version of Android is officially Android 11 | About android 11 release in 2020 | Android 11 name | Features coming in Android 11 '/><author><name>Mukesh Kumar</name><uri>http://www.blogger.com/profile/02072401063614368529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD4EXedD0XSwj1WD_SvECJbg1Qth8YtRU-15NsOz31jJma_L2HVlGpHl_6B3-GSIIOiTmY8X-oojQnIYhVyB8DFbUZPHQv8753syeSVObDcbR8EzuEOQJfrfe0Tmi4Ig/s113/FB_IMG_1495976002512.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPEWH5PUO5ODOeboBUMHwx3dVhFzyDh8OzLfQNbiB-75ctb4FXF8229mUrfefMf6C8ywQ013DZ6y5BAb3VBEzUNVlO7L0EN6OFbWBM-Q7-4wUwKFtea4KMCnZmrdFsWlFQoG_gIxPQY8c/s72-c/android-11.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5215777427512085470.post-8744260534786172627</id><published>2019-10-08T21:06:00.002+05:30</published><updated>2020-07-27T23:11:41.783+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android MVP Plugin"/><category scheme="http://www.blogger.com/atom/ns#" term="MVP Template"/><title type='text'>Android MVP template | Android MVP Plugin </title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Hello Friends,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Today I am sharing the android MVP template which make the development&lt;br /&gt;
Faster. This is an android studio template inspired by android view-model template.&lt;br /&gt;
&lt;br /&gt;
When we follow Android MVP architecture in any project, for each module or feature&lt;br /&gt;
we need to create an Activity/Fragment,&amp;nbsp; a Presenter and a Contract class and also&lt;br /&gt;
a layout file corresponding to them. This is really an time taking process.&lt;br /&gt;
&lt;br /&gt;
So Taking advantage of Android Studio template I created&amp;nbsp; a MVP template&lt;br /&gt;
which creates all this file at the start.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;Getting Started&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;1.&amp;nbsp; Download the MVPActivity Teamplate ,which you found at the bottom of this blog.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;2.&amp;nbsp; For&amp;nbsp;&lt;b&gt;WINDOW&lt;/b&gt;,&amp;nbsp;&lt;/span&gt;Just copy directory MVPActivity&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;to&amp;nbsp;&amp;nbsp;&lt;span style=&quot;font-size: x-small;&quot;&gt;$ANDROID_STUDIO_FOLDER$\plugins\android\lib\templates\activities\&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;3. For&amp;nbsp; &lt;b&gt;Mac,&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&lt;/span&gt;Just copy directory MVPActivity&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;to&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;$ANDROID_STUDIO_FOLDER$/Contents/plugins/android/lib/templates/activities/&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.blogger.com/video.g?token=AD6v5dwJIrK9D5D0tIv_oJ0XdSbM8et_ykeqCeKzrj144hHoR9ugbrhPzafLk_b-CzrASsEsPkqz0USHfluoBT3PKg&#39; class=&#39;b-hbp-video b-uploaded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
4. Below are the few common files,&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;A. template.xml&lt;/b&gt;&lt;b&gt;&amp;nbsp; – &lt;/b&gt;This will contain information about the template&lt;br /&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name, minSdkVersion, etc&amp;nbsp; &amp;nbsp;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/mukesh4u/cab49fe0aaf33c4ba9d94bded701480c.js&quot;&gt;&lt;/script&gt;
&lt;/div&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;b&gt;B. recipe.xml.ftl&lt;/b&gt;&amp;nbsp;&lt;b&gt;-&lt;/b&gt; This will contain instructions explaining how to&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; create the template, 
including what variables to ask the user for and&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; what should be done with those variables.&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/mukesh4u/92afbed90144596f024827b3bb95d63c.js&quot;&gt;&lt;/script&gt;

&amp;nbsp; &amp;nbsp; &lt;b&gt;C. globals.xml.ftl&lt;/b&gt;  – This defines global variables&lt;br /&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/mukesh4u/4dacd4e79ac4b0d654d589aefbac16ac.js&quot;&gt;&lt;/script&gt;&amp;nbsp; &amp;nbsp;

&lt;b&gt;D. root/  folder – &lt;/b&gt;this will contain the template code.


&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8vfIM973BV71lmt17XfD2sn3MgyzOmbK7Pd6j_s2aA-b2DAdppXM1MdlVysA5FgaJj0mJQi-q_xC0_cZ5uQQ37elCPaRdcPRRLVUoOdCwgrftsxzasrPdahzYsn03ztUgONkWBnAcyx8/s1600/mcp1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;687&quot; data-original-width=&quot;1033&quot; height=&quot;211&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8vfIM973BV71lmt17XfD2sn3MgyzOmbK7Pd6j_s2aA-b2DAdppXM1MdlVysA5FgaJj0mJQi-q_xC0_cZ5uQQ37elCPaRdcPRRLVUoOdCwgrftsxzasrPdahzYsn03ztUgONkWBnAcyx8/s320/mcp1.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5DCOoR7roZrJMlbv7MPBW6WXH-Agg5hdubkjgmHEnpw9hhp-GIroy7MpPz48qoz2Qms-eFxXtz-F4I3WOUR4UqL3OMoWG6Yff4nurFoSy90NfbqLI_-7618fYR4y18m6Sx09X8IPYEsc/s1600/mvp2.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;610&quot; data-original-width=&quot;476&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5DCOoR7roZrJMlbv7MPBW6WXH-Agg5hdubkjgmHEnpw9hhp-GIroy7MpPz48qoz2Qms-eFxXtz-F4I3WOUR4UqL3OMoWG6Yff4nurFoSy90NfbqLI_-7618fYR4y18m6Sx09X8IPYEsc/s320/mvp2.PNG&quot; width=&quot;248&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Download code from &lt;a href=&quot;https://github.com/mukesh4u/MVPActivity&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Hope this will helps some one...&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Enjoy Coding........... :)&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.androiddevelopersolutions.com/feeds/8744260534786172627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.androiddevelopersolutions.com/2019/10/android-mvp-template.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/8744260534786172627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/8744260534786172627'/><link rel='alternate' type='text/html' href='http://www.androiddevelopersolutions.com/2019/10/android-mvp-template.html' title='Android MVP template | Android MVP Plugin '/><author><name>Mukesh Kumar</name><uri>http://www.blogger.com/profile/02072401063614368529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD4EXedD0XSwj1WD_SvECJbg1Qth8YtRU-15NsOz31jJma_L2HVlGpHl_6B3-GSIIOiTmY8X-oojQnIYhVyB8DFbUZPHQv8753syeSVObDcbR8EzuEOQJfrfe0Tmi4Ig/s113/FB_IMG_1495976002512.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8vfIM973BV71lmt17XfD2sn3MgyzOmbK7Pd6j_s2aA-b2DAdppXM1MdlVysA5FgaJj0mJQi-q_xC0_cZ5uQQ37elCPaRdcPRRLVUoOdCwgrftsxzasrPdahzYsn03ztUgONkWBnAcyx8/s72-c/mcp1.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5215777427512085470.post-473143872029994109</id><published>2019-10-07T18:07:00.002+05:30</published><updated>2019-10-07T18:07:28.695+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="adapter"/><category scheme="http://www.blogger.com/atom/ns#" term="kotlin android"/><category scheme="http://www.blogger.com/atom/ns#" term="kotlin recycler view"/><category scheme="http://www.blogger.com/atom/ns#" term="Working with RecyclerView in Android &amp; Kotlin"/><title type='text'>Kotlin Android - RecyclerView Example</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Hello Friends,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Today I am sharing the demo of &lt;b&gt;&lt;span style=&quot;color: blue;&quot;&gt;RecyclerView&lt;/span&gt;&lt;/b&gt; in Kotlin.&lt;br /&gt;
A &lt;b&gt;&lt;span style=&quot;color: blue;&quot;&gt;RecyclerView&lt;/span&gt;&lt;/b&gt; is essentially a &lt;b&gt;ViewGroup &lt;/b&gt;of containers called &lt;b&gt;ViewHolders &lt;/b&gt;which&lt;br /&gt;
populate a particular item.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgM4D9sGS5T6cEuJ3tlywEqFFelTdEpFH7lsOdAPrp55m_hBuGlavHynuYoDux_jDz7dWSafzTONK5k_d4B8AXc8oMqlmIwRkACPB0Nhx1BaoYi9QJZuoWqYfTT2ec2UDXkCJBskdGDdeY/s1600/recyclerview_kotlin.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;876&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgM4D9sGS5T6cEuJ3tlywEqFFelTdEpFH7lsOdAPrp55m_hBuGlavHynuYoDux_jDz7dWSafzTONK5k_d4B8AXc8oMqlmIwRkACPB0Nhx1BaoYi9QJZuoWqYfTT2ec2UDXkCJBskdGDdeY/s320/recyclerview_kotlin.png&quot; width=&quot;175&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
So lets first familiar with &lt;b&gt;RecyclerView &lt;/b&gt;and What &lt;b&gt;RecyclerView &lt;/b&gt;requires:&lt;br /&gt;
1. It requires &lt;b&gt;a set of data objects&lt;/b&gt; to work with&lt;br /&gt;
2. An &lt;b&gt;xml file of the individual view item&lt;/b&gt;&lt;br /&gt;
3. An &lt;b&gt;adapter &lt;/b&gt;to bind that data to the views shown in the ViewHolders&lt;br /&gt;
4. &lt;b&gt;ViewHolder &lt;/b&gt;to populate the UI from the xml item file&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;br /&gt;&lt;/u&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;u&gt;Getting Started&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/mukesh4u/da5a7bf5b89084bc6b84085a4953071f.js&quot;&gt;&lt;/script&gt;
&lt;br /&gt;
Download code from &lt;a href=&quot;https://github.com/mukesh4u/KotlinExample&quot;&gt;here&lt;/a&gt;&lt;br /&gt;
Hope this will helps someone.&lt;br /&gt;
Enjoy coding.... :)

&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.androiddevelopersolutions.com/feeds/473143872029994109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.androiddevelopersolutions.com/2019/10/kotlin-android-recyclerview-example.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/473143872029994109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/473143872029994109'/><link rel='alternate' type='text/html' href='http://www.androiddevelopersolutions.com/2019/10/kotlin-android-recyclerview-example.html' title='Kotlin Android - RecyclerView Example'/><author><name>Mukesh Kumar</name><uri>http://www.blogger.com/profile/02072401063614368529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD4EXedD0XSwj1WD_SvECJbg1Qth8YtRU-15NsOz31jJma_L2HVlGpHl_6B3-GSIIOiTmY8X-oojQnIYhVyB8DFbUZPHQv8753syeSVObDcbR8EzuEOQJfrfe0Tmi4Ig/s113/FB_IMG_1495976002512.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgM4D9sGS5T6cEuJ3tlywEqFFelTdEpFH7lsOdAPrp55m_hBuGlavHynuYoDux_jDz7dWSafzTONK5k_d4B8AXc8oMqlmIwRkACPB0Nhx1BaoYi9QJZuoWqYfTT2ec2UDXkCJBskdGDdeY/s72-c/recyclerview_kotlin.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5215777427512085470.post-8197860173069145555</id><published>2019-10-05T23:10:00.001+05:30</published><updated>2019-10-07T09:56:13.528+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="alert dialog"/><category scheme="http://www.blogger.com/atom/ns#" term="kotlin"/><category scheme="http://www.blogger.com/atom/ns#" term="kotlin android"/><title type='text'>Kotlin Android – AlertDialog – Example</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Hello Friends,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Here is the demo Alert Dialog in &lt;b&gt;&lt;span style=&quot;color: blue;&quot;&gt;Kotlin&lt;/span&gt;&lt;/b&gt;. Android &lt;b&gt;AlertDialog &lt;/b&gt;class&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; is used to display a dialog box to user with positive and negative buttons.&lt;br /&gt;
It Appears on top of the activity layout. You may not physically access any other&lt;br /&gt;
UI components of activity. It will be run on UI thread.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieSRb66XzgDId8t_Za6SyQ87PQjzY_I9NS6FiaEXxENxs8WlK02Szg_FV70sPAK7IGcSmKdN3BKIglzq8If1guvKt0ClIG-9TXUtKFFO_izMf2gr1oR6ecKuU9sdb3UgWoo73pPtAJRhY/s1600/screen1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;876&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieSRb66XzgDId8t_Za6SyQ87PQjzY_I9NS6FiaEXxENxs8WlK02Szg_FV70sPAK7IGcSmKdN3BKIglzq8If1guvKt0ClIG-9TXUtKFFO_izMf2gr1oR6ecKuU9sdb3UgWoo73pPtAJRhY/s320/screen1.png&quot; width=&quot;175&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmlUEqW0Io2kTH_ZvvjH-n68mx2iLloO1h5j-ABpmnH7pWrvRHIDbXuQnhLzH830KL4s_HokGTeEKUZmNene8vr3KeCmUc0LWquffG2uaKmpQcoDMXEBQKtuDKZ7OSOl6ToUKrL3_vNSg/s1600/screen2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;876&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmlUEqW0Io2kTH_ZvvjH-n68mx2iLloO1h5j-ABpmnH7pWrvRHIDbXuQnhLzH830KL4s_HokGTeEKUZmNene8vr3KeCmUc0LWquffG2uaKmpQcoDMXEBQKtuDKZ7OSOl6ToUKrL3_vNSg/s320/screen2.png&quot; width=&quot;175&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To &lt;b&gt;Create &lt;/b&gt;an &lt;b&gt;AlertDialog&lt;/b&gt;, step by step process is :&lt;br /&gt;
&lt;br /&gt;
1. Create an AlertDialog Builder using the activity’s context.&lt;br /&gt;
2. Set message content using the builder.&lt;br /&gt;
3. Set Positive Button Text and Action to be taken when the button is clicked using the builder.&lt;br /&gt;
4. Set Negative Button Text and Action to be taken when the button is clicked using the builder.&lt;br /&gt;
5. Create AlertDialog from the builder.&lt;br /&gt;
6. You may set the title to the AlertDialog box using setTitle() method.&lt;br /&gt;
&lt;br /&gt;
1.&amp;nbsp;&lt;span style=&quot;background-color: white; font-family: &amp;quot;courier new&amp;quot;; font-size: 9pt;&quot;&gt;MainActivity.kt&lt;/span&gt;&lt;br /&gt;
&lt;pre class=&quot;java&quot; name=&quot;code&quot;&gt;package com.android.developer.soulutions.myapplication

import android.content.DialogInterface
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.support.v7.app.AlertDialog
import kotlinx.android.synthetic.main.activity_main.*

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        btnShowAlert.setOnClickListener {
            // build alert dialog
            val dialogBuilder = AlertDialog.Builder(this)

            // set message of alert dialog
            dialogBuilder.setMessage(&quot;Do you want to close this  ?&quot;)
                    // if the dialog is cancelable
                    .setCancelable(false)
                    // positive button text and action
                    .setPositiveButton(&quot;OK&quot;, DialogInterface.OnClickListener { dialog, id -&amp;gt;
                        finish()
                    })
                    // negative button text and action
                    .setNegativeButton(&quot;Cancel&quot;, DialogInterface.OnClickListener { dialog, id -&amp;gt;
                        dialog.cancel()
                    })

            // create dialog box
            val alert = dialogBuilder.create()
            // set title for alert dialog box
            alert.setTitle(&quot;AlertDialogExample&quot;)
            // show alert dialog
            alert.show()
        };
    }
}
 
&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;
Download the code from &lt;a href=&quot;https://github.com/mukesh4u/KotlinExample&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Hope this will helps someone.&lt;br /&gt;
Enjoy Coding................... :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.androiddevelopersolutions.com/feeds/8197860173069145555/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.androiddevelopersolutions.com/2019/10/kotlin-android-alertdialog-example.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/8197860173069145555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/8197860173069145555'/><link rel='alternate' type='text/html' href='http://www.androiddevelopersolutions.com/2019/10/kotlin-android-alertdialog-example.html' title='Kotlin Android – AlertDialog – Example'/><author><name>Mukesh Kumar</name><uri>http://www.blogger.com/profile/02072401063614368529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD4EXedD0XSwj1WD_SvECJbg1Qth8YtRU-15NsOz31jJma_L2HVlGpHl_6B3-GSIIOiTmY8X-oojQnIYhVyB8DFbUZPHQv8753syeSVObDcbR8EzuEOQJfrfe0Tmi4Ig/s113/FB_IMG_1495976002512.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieSRb66XzgDId8t_Za6SyQ87PQjzY_I9NS6FiaEXxENxs8WlK02Szg_FV70sPAK7IGcSmKdN3BKIglzq8If1guvKt0ClIG-9TXUtKFFO_izMf2gr1oR6ecKuU9sdb3UgWoo73pPtAJRhY/s72-c/screen1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5215777427512085470.post-7519094349154856770</id><published>2018-12-14T17:26:00.002+05:30</published><updated>2018-12-14T17:31:36.820+05:30</updated><title type='text'>React Native- Invariant Violation: The navigation prop is missing for this navigator | react-navigation 3- navigation prop is missing for this navigator.</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Hello Friend,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Recently I faced few issue while implementing the react-navigation in my app.&lt;br /&gt;
I spent lots of time in it and then finally I found the actual cause of it.&lt;br /&gt;
&lt;br /&gt;
1.&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;undefined is not an object (evaluating &#39;RNGestureHandlerModule.State&#39;)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7epf39MVYFI4AWpz2n0laxwBMgxDzkXKUwHZZ4Q65kO28fJ40IIJzAqOlqLpon3ogyo7kND8oohRFvdv-IMC0dod3Y8QI5pHf5_BH8qn8GCQcGE737oU6xhCz3Ufu4mpE66QAqTWdsaI/s1600/40913265-9e74c068-6826-11e8-8bc5-316098311ed3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;960&quot; data-original-width=&quot;540&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7epf39MVYFI4AWpz2n0laxwBMgxDzkXKUwHZZ4Q65kO28fJ40IIJzAqOlqLpon3ogyo7kND8oohRFvdv-IMC0dod3Y8QI5pHf5_BH8qn8GCQcGE737oU6xhCz3Ufu4mpE66QAqTWdsaI/s400/40913265-9e74c068-6826-11e8-8bc5-316098311ed3.png&quot; width=&quot;225&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
Then I follow following steps to resolve this,&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;remove node_modules and package-lock.json&lt;/li&gt;
&lt;li&gt;npm install&lt;/li&gt;
&lt;li&gt;npm install --save react-navigation&lt;/li&gt;
&lt;li&gt;npm install --save react-native-gesture-handler&lt;/li&gt;
&lt;li&gt;react-native link&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
After following this I face another issue i:e,&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
2.&lt;span style=&quot;color: red;&quot;&gt; Invariant Violation: The navigation prop is missing for this navigator. In&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;react-navigation 3 you must set up your app container directly. More info:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;https://reactnavigation.org/docs/en/app-containers.html&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGf5NzERR2JvxCvDpqwCTYZ8gd2vxB5fGhKY_HOpEs5NDKyD8oYpRNqormhfyq7AWPtkeblH38WSJWfnQRiKUjHRuUoiJdQmDxJFcIaMkeXLMJRGe8axbpjyXDMpUm4Ot0mY3JwGlKI4U/s1600/Screen+Shot+2018-12-14+at+4.33.37+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;708&quot; data-original-width=&quot;350&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGf5NzERR2JvxCvDpqwCTYZ8gd2vxB5fGhKY_HOpEs5NDKyD8oYpRNqormhfyq7AWPtkeblH38WSJWfnQRiKUjHRuUoiJdQmDxJFcIaMkeXLMJRGe8axbpjyXDMpUm4Ot0mY3JwGlKI4U/s400/Screen+Shot+2018-12-14+at+4.33.37+PM.png&quot; width=&quot;197&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;Note&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;:&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;This is an react-navigation 3.0 bug. You can go through the below link for more details.&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
-&amp;nbsp;React Navigation 3.0 has a number of &lt;a href=&quot;https://reactnavigation.org/blog/#breaking-changes&quot; target=&quot;_blank&quot;&gt;breaking changes&lt;/a&gt; including an explicit app container required for the root navigator.&lt;br /&gt;
&lt;br /&gt;
In the past, any navigator could act as the navigation container at the top-level of your app because they were all wrapped in “navigation containers”. The navigation container, now known as an app container, is a higher-order-component that maintains the navigation state of your app and handles interacting with the outside world to turn linking events into navigation actions and so on.&lt;br /&gt;
&lt;br /&gt;
In v2 and earlier, the containers in React Navigation are automatically provided by the create Navigator functions. As of v3, you are required to use the container directly. In v3 we also renamed createNavigationContainer to createAppContainer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below are the complete code,&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;html&quot; name=&quot;code&quot;&gt;/**
 * This is an example code for Navigator
 */
import React, { Component } from &#39;react&#39;;
import {createStackNavigator,createAppContainer} from &#39;react-navigation&#39;;
 
import FirstPage from &#39;./src/component/FirstPage&#39;;
import SecondPage from &#39;./src/component/SecondPage&#39;;
//import all the screens we are going to switch 
 
const RootStack = createStackNavigator({
    //Constant which holds all the screens like index of any book 
    FirstPage: { screen: FirstPage }, 
    //First entry by default be our first screen if we do not define initialRouteName
    SecondPage: { screen: SecondPage }, 
  },
  {
    initialRouteName: &#39;FirstPage&#39;,
  }
);
const App = createAppContainer(RootStack);&lt;/pre&gt;

&lt;br /&gt;
&lt;br /&gt;
Download complet code from &lt;a href=&quot;https://github.com/mukesh4u/ReactNavigation&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;&lt;br /&gt;
Hope this will helps someone........&lt;br /&gt;
&lt;br /&gt;
Enjoy coding..... :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.androiddevelopersolutions.com/feeds/7519094349154856770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.androiddevelopersolutions.com/2018/12/react-native-invariant-violation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/7519094349154856770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/7519094349154856770'/><link rel='alternate' type='text/html' href='http://www.androiddevelopersolutions.com/2018/12/react-native-invariant-violation.html' title='React Native- Invariant Violation: The navigation prop is missing for this navigator | react-navigation 3- navigation prop is missing for this navigator.'/><author><name>Mukesh Kumar</name><uri>http://www.blogger.com/profile/02072401063614368529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD4EXedD0XSwj1WD_SvECJbg1Qth8YtRU-15NsOz31jJma_L2HVlGpHl_6B3-GSIIOiTmY8X-oojQnIYhVyB8DFbUZPHQv8753syeSVObDcbR8EzuEOQJfrfe0Tmi4Ig/s113/FB_IMG_1495976002512.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7epf39MVYFI4AWpz2n0laxwBMgxDzkXKUwHZZ4Q65kO28fJ40IIJzAqOlqLpon3ogyo7kND8oohRFvdv-IMC0dod3Y8QI5pHf5_BH8qn8GCQcGE737oU6xhCz3Ufu4mpE66QAqTWdsaI/s72-c/40913265-9e74c068-6826-11e8-8bc5-316098311ed3.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5215777427512085470.post-7410611452291800623</id><published>2018-12-05T17:16:00.004+05:30</published><updated>2018-12-05T17:16:27.522+05:30</updated><title type='text'>Kotlin-Create TextView Programatically</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Hello Friends,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; In this tutorial I am going create a textview dynamically in &lt;span style=&quot;color: blue;&quot;&gt;&lt;b&gt;kotlin&lt;/b&gt;&lt;/span&gt; and add it to &lt;b&gt;&lt;span style=&quot;color: blue;&quot;&gt;Linearlayout&lt;/span&gt;&lt;/b&gt; layout.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;1. activity_main.xml:&lt;/b&gt; Following is the activity_main.xml containing the TextView with the text .&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;xml&quot; name=&quot;code&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;  
 &amp;lt;android.support.constraint.ConstraintLayout xmlns:android=&quot;https://schemas.android.com/apk/res/android&quot;  
  xmlns:app=&quot;http://schemas.android.com/apk/res-auto&quot;  
  xmlns:tools=&quot;http://schemas.android.com/tools&quot;  
  android:layout_width=&quot;match_parent&quot;  
  android:layout_height=&quot;match_parent&quot;  
  tools:context=&quot;.TextViewSample&quot;&amp;gt;  
  &amp;lt;LinearLayout  
   android:id=&quot;@+id/ll_main_layout&quot;  
   android:layout_width=&quot;match_parent&quot;  
   android:layout_height=&quot;wrap_content&quot;  
   android:orientation=&quot;vertical&quot;&amp;gt;  
   &amp;lt;TextView  
    android:id=&quot;@+id/tv_static&quot;  
    android:layout_width=&quot;wrap_content&quot;  
    android:layout_height=&quot;wrap_content&quot;  
    android:textSize=&quot;20sp&quot;  
    android:padding=&quot;20sp&quot;  
    android:justificationMode=&quot;inter_word&quot;  
    android:text=&quot;This textview is created from xml&quot;/&amp;gt;  
  &amp;lt;/LinearLayout&amp;gt;  
 &amp;lt;/android.support.constraint.ConstraintLayout&amp;gt;

&lt;/pre&gt;
&lt;b&gt;2. Creation of textview dynamically,&lt;/b&gt;
&lt;br /&gt;
&lt;pre class=&quot;java&quot; name=&quot;code&quot;&gt;val tv_programtically = TextView(this)
tv_programtically.textSize = 20f
tv_programtically.text = &quot;This textview is an dynamic textview in kotlin&quot;
&lt;/pre&gt;
&lt;br /&gt;
3. Finally the complete code is:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;
&lt;b&gt;&lt;span style=&quot;color: blue;&quot;&gt;TextViewSample.kt&lt;/span&gt;&lt;/b&gt;


&lt;br /&gt;
&lt;pre class=&quot;java&quot; name=&quot;code&quot;&gt;package com.android.developer.kotlinsample

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.widget.LinearLayout
import android.widget.TextView
class TextViewSample : AppCompatActivity() {

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_text_view_sample)

    /** Dynamic creation of text view */
    val tv_programtically = TextView(this)
    tv_programtically.textSize = 20f
    tv_programtically.text = &quot;This textview is an dynamic textview in kotlin&quot;
    /**------end--------**/

    // add TextView to LinearLayout
    val ll_main_layout = findViewById(R.id.ll_main_layout) as LinearLayout
    ll_main_layout.addView(tv_programtically)
  }
}&lt;/pre&gt;
Hope this will help some one.
Enjoy Coding.... :)


&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.androiddevelopersolutions.com/feeds/7410611452291800623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.androiddevelopersolutions.com/2018/12/kotlin-create-textview-programatically.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/7410611452291800623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/7410611452291800623'/><link rel='alternate' type='text/html' href='http://www.androiddevelopersolutions.com/2018/12/kotlin-create-textview-programatically.html' title='Kotlin-Create TextView Programatically'/><author><name>Mukesh Kumar</name><uri>http://www.blogger.com/profile/02072401063614368529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD4EXedD0XSwj1WD_SvECJbg1Qth8YtRU-15NsOz31jJma_L2HVlGpHl_6B3-GSIIOiTmY8X-oojQnIYhVyB8DFbUZPHQv8753syeSVObDcbR8EzuEOQJfrfe0Tmi4Ig/s113/FB_IMG_1495976002512.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5215777427512085470.post-1883551341128614622</id><published>2018-12-05T17:16:00.002+05:30</published><updated>2018-12-05T17:16:09.254+05:30</updated><title type='text'>Kotlin-bind OnClickListener on view</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Hello Friends,&lt;br /&gt;
&amp;nbsp;In this tutorial I am showing you how to bind the click listener on View in Kotlin.
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1. Code snippet to set OnClickListener&amp;nbsp;on Textview in Kotlin Android&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;java&quot; name=&quot;code&quot;&gt;val tvStatic = findViewById(R.id.tv_static) as TextView
tvStatic.setOnClickListener {
 // your code to perform when the user clicks on the TextView
 Toast.makeText(this, &quot;You clicked on TextView &#39;Click Me&#39;.&quot;, Toast.LENGTH_SHORT).show()
}
&lt;/pre&gt;
&lt;br /&gt;
&lt;b&gt;2.&amp;nbsp;&lt;/b&gt;&lt;b&gt;Code snippet to set&amp;nbsp;OnClickListener&lt;/b&gt;&lt;b&gt;&amp;nbsp;on Button in Kotlin Android&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;java&quot; name=&quot;code&quot;&gt;// get reference to button
val btn_click = findViewById(R.id.btn_click_me) as Button
// set on-click listener
btn_click.setOnClickListener {
    Toast.makeText(this@MainActivity, &quot;You clicked on Button.&quot;, Toast.LENGTH_SHORT).show()
}
&lt;/pre&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;3.&amp;nbsp;&lt;/b&gt;&lt;b&gt;Code snippet to set&amp;nbsp;OnClickListener&lt;/b&gt;&lt;b&gt;&amp;nbsp;on ImageView in Kotlin Android&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;java&quot; name=&quot;code&quot;&gt;// get reference to ImageView
val iv_profile = findViewById(R.id.image_view) as ImageView
// set on-click listener for ImageView
iv_profile.setOnClickListener {
    // your code here
}
&lt;/pre&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
Hope this will help someone.&lt;br /&gt;
Enjoy Coding..... :)&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.androiddevelopersolutions.com/feeds/1883551341128614622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.androiddevelopersolutions.com/2018/12/kotlin-bind-onclicklistener-on-view.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/1883551341128614622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/1883551341128614622'/><link rel='alternate' type='text/html' href='http://www.androiddevelopersolutions.com/2018/12/kotlin-bind-onclicklistener-on-view.html' title='Kotlin-bind OnClickListener on view'/><author><name>Mukesh Kumar</name><uri>http://www.blogger.com/profile/02072401063614368529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD4EXedD0XSwj1WD_SvECJbg1Qth8YtRU-15NsOz31jJma_L2HVlGpHl_6B3-GSIIOiTmY8X-oojQnIYhVyB8DFbUZPHQv8753syeSVObDcbR8EzuEOQJfrfe0Tmi4Ig/s113/FB_IMG_1495976002512.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5215777427512085470.post-7042668714043770885</id><published>2018-06-23T22:13:00.002+05:30</published><updated>2018-12-05T14:12:13.656+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android Architecture Components"/><category scheme="http://www.blogger.com/atom/ns#" term="Data Binding"/><category scheme="http://www.blogger.com/atom/ns#" term="LiveData"/><title type='text'>Android Live Data Tutorial | Live Data | Data Binding | Architecture Components</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;head&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Hello Friends,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Today I am going to share me small tutorial of &lt;b&gt;LiveData &lt;/b&gt;with &lt;b&gt;Data Binding.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;-What is LiveData?&lt;/b&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;b&gt;LiveData &lt;/b&gt;is an observable data holder class that can be observed within&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;a given lifecycle. It lets the components in your app, usually the UI,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;observe LiveData objects for changes.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;-The advantages of using LiveData&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/b&gt;Ensures your UI matches your data state&lt;/li&gt;
&lt;li&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;No memory leaks&lt;/li&gt;
&lt;li&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;No crashes due to stopped activities&lt;/li&gt;
&lt;li&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;No more manual lifecycle handling&lt;/li&gt;
&lt;li&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Always up to date data&lt;/li&gt;
&lt;li&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Proper configuration changes&lt;/li&gt;
&lt;li&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Sharing resources&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;b&gt;-How to use it in our app&lt;/b&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;&amp;nbsp; &amp;nbsp;a&lt;/b&gt;. Add below dependency in &lt;b&gt;app/build.gradle&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;java&quot; name=&quot;code&quot;&gt;implementation &quot;android.arch.lifecycle:extensions:1.1.1&quot; 
&lt;/pre&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;b&gt;&amp;nbsp; &amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&amp;nbsp; &lt;b&gt;&amp;nbsp;b. UserViewModel.java :&amp;nbsp;&lt;/b&gt;Creating a&amp;nbsp;&lt;b&gt;ViewModel&lt;/b&gt;&amp;nbsp;class&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;java&quot; name=&quot;code&quot;&gt;package com.android.developer.livedatademo.model;

import android.arch.lifecycle.MutableLiveData;
import android.arch.lifecycle.ViewModel;

/**
 * Created by mukesh on 13/6/18.
 */
public class UserViewModel extends ViewModel {

    // Create a LiveData with a String
    private MutableLiveData&lt;user&gt; mUser;

    public MutableLiveData&lt;user&gt; getUser() {
        if (mUser == null) {
            mUser = new MutableLiveData&lt;user&gt;();
        }
        return mUser;
    }
} 
&lt;/user&gt;&lt;/user&gt;&lt;/user&gt;&lt;/pre&gt;
&lt;br /&gt;
In Activity class we creates an observer which updates the ui.&lt;br /&gt;
&lt;pre class=&quot;java&quot; name=&quot;code&quot;&gt;final Observer&lt;user&gt; nameObserver = new Observer&lt;user&gt;() {
      @Override
      public void onChanged(@Nullable final User user) {
      // Update the UI, in this case, a TextView.
      binding.tvUserName.setText(user.getName());
    }
};
&lt;/user&gt;&lt;/user&gt;&lt;/pre&gt;
&lt;br /&gt;
Next step is observe the livedata, passing in the activity as a LifecycleOwner and the Observer.
&lt;br /&gt;
&lt;pre class=&quot;java&quot; name=&quot;code&quot;&gt;userViewModel.getUser().observe(this, nameObserver);
binding.btnClick.setOnClickListener(this); 
&lt;/pre&gt;
&lt;br /&gt;
The complete code,&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;java&quot; name=&quot;code&quot;&gt;package com.android.developer.livedatademo;

import android.arch.lifecycle.Observer;
import android.arch.lifecycle.ViewModelProviders;
import android.databinding.DataBindingUtil;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

import com.android.developer.livedatademo.databinding.ActivityMainBinding;
import com.android.developer.livedatademo.model.User;
import com.android.developer.livedatademo.model.UserViewModel;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    UserViewModel userViewModel;
    ActivityMainBinding binding;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
        // Get the ViewModel.
        userViewModel = ViewModelProviders.of(this).get(UserViewModel.class);
        // Create the observer which updates the UI.
        final Observer&lt;user&gt; nameObserver = new Observer&lt;user&gt;() {
            @Override
            public void onChanged(@Nullable final User user) {
                // Update the UI, in this case, a TextView.
                binding.tvUserName.setText(user.getName());
            }
        };

        // Observe the LiveData, passing in this activity as the LifecycleOwner and the observer.
        userViewModel.getUser().observe(this, nameObserver);
        binding.btnClick.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        User user = new User();
        user.setName(&quot;Mukesh Yadav&quot;);
        user.setAge(&quot;25&quot;);
        userViewModel.getUser().setValue(user);
    }
} 
&lt;/user&gt;&lt;/user&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;b&gt;Download the complete code &lt;a href=&quot;https://github.com/mukesh4u/LiveDataDemo&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Hope this will helps someone.&lt;br /&gt;
Enjoy Coding... :)&lt;br /&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.androiddevelopersolutions.com/feeds/7042668714043770885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.androiddevelopersolutions.com/2018/06/android-live-data-tutorial-live-data.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/7042668714043770885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/7042668714043770885'/><link rel='alternate' type='text/html' href='http://www.androiddevelopersolutions.com/2018/06/android-live-data-tutorial-live-data.html' title='Android Live Data Tutorial | Live Data | Data Binding | Architecture Components'/><author><name>Mukesh Kumar</name><uri>http://www.blogger.com/profile/02072401063614368529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD4EXedD0XSwj1WD_SvECJbg1Qth8YtRU-15NsOz31jJma_L2HVlGpHl_6B3-GSIIOiTmY8X-oojQnIYhVyB8DFbUZPHQv8753syeSVObDcbR8EzuEOQJfrfe0Tmi4Ig/s113/FB_IMG_1495976002512.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5215777427512085470.post-6046891760253018866</id><published>2017-12-17T12:09:00.001+05:30</published><updated>2017-12-18T10:53:36.983+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Android Architecture with MVP"/><category scheme="http://www.blogger.com/atom/ns#" term="Model-View-Presenter"/><category scheme="http://www.blogger.com/atom/ns#" term="MVP"/><category scheme="http://www.blogger.com/atom/ns#" term="MVP tutorial"/><title type='text'>Android MVP for Beginners | Android MVP tutorial | Model-View-Presenter: Android | Android Architecture with MVP</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Hello Friends,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Today I am&amp;nbsp; going to share a very simple example of &lt;b&gt;Android MVP.&lt;/b&gt;&lt;br /&gt;
In this sample I am using MVP pattern for network call and and user&lt;br /&gt;
form(login form) data validation which is mainly used in most of the android&lt;br /&gt;
application.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Model View Presenter&lt;/b&gt; divides application into three layers i.e: Model, View and Presenter.&lt;br /&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;b&gt;Model&lt;/b&gt;: This handles the data part of our application&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Presenter&lt;/b&gt;: It acts as a bridge that connects a Model and a View.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;View&lt;/b&gt;: This is responsible for laying out views with the relevant data as instructed by the Presenter&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJCP1BBgk89gJyTs6QvkCKAHU62yfANFyqLOxU6OwUa3VxrBuLXUAeXBqT6oK61RBOfz4QZD1uvSWqrYazfx_Rq-uGe-2JuKBN1zyLKPUL_f5IX-LGKAYc4BXQeNhkA1PUoU7KAwsWuXY/s1600/mvp.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;793&quot; data-original-width=&quot;1024&quot; height=&quot;308&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJCP1BBgk89gJyTs6QvkCKAHU62yfANFyqLOxU6OwUa3VxrBuLXUAeXBqT6oK61RBOfz4QZD1uvSWqrYazfx_Rq-uGe-2JuKBN1zyLKPUL_f5IX-LGKAYc4BXQeNhkA1PUoU7KAwsWuXY/s400/mvp.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;b&gt;Note:&amp;nbsp;&lt;/b&gt;The View never communicates with Model directly&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;b&gt;1. LoginActivity.java&amp;nbsp;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;java&quot; name=&quot;code&quot;&gt;package android.developer.solutions.androidmvp.activity.login.view;

import android.content.Intent;
import android.developer.solutions.androidmvp.R;
import android.developer.solutions.androidmvp.activity.home.view.HomeActivity;
import android.developer.solutions.androidmvp.activity.login.interactor.LoginInteractorImpl;
import android.developer.solutions.androidmvp.activity.login.presenter.ILoginPresenter;
import android.developer.solutions.androidmvp.activity.login.presenter.LoginPresenterImpl;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;

public class LoginActivity extends AppCompatActivity implements ILoginView {
    EditText username;
    EditText password;
    ProgressBar progress;
    Button button;
    private ILoginPresenter presenter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        progress = (ProgressBar) findViewById(R.id.progress);
        button = (Button) findViewById(R.id.btnLogin);
        password = (EditText) findViewById(R.id.password);
        username = (EditText) findViewById(R.id.username);
        presenter = new LoginPresenterImpl(this, new LoginInteractorImpl());
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                presenter.validateCredentials(username.getText().toString(), password.getText().toString());
            }
        });
    }

    @Override
    protected void onDestroy() {
        presenter.onDestroy();
        super.onDestroy();
    }

    @Override
    public void showProgress() {
        progress.setVisibility(View.VISIBLE);
    }

    @Override
    public void hideProgress() {
        progress.setVisibility(View.GONE);
    }

    @Override
    public void setUsernameError() {
        username.setError(&quot;Invalid user name&quot;);
    }

    @Override
    public void setPasswordError() {
        password.setError(&quot;Invalid password&quot;);
    }

    @Override
    public void navigateToHome() {
        startActivity(new Intent(this, HomeActivity.class));
        finish();
    }
}

&lt;/pre&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;2. ILoginView.java&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;java&quot; name=&quot;code&quot;&gt;package android.developer.solutions.androidmvp.activity.login.view;

/**
 * Created by Mukesh on 12/16/2017.
 * androiddevelopersolutions.com
 */
public interface ILoginView {
    void showProgress();
    void hideProgress();
    void setUsernameError();
    void setPasswordError();
    void navigateToHome();
}

&lt;/pre&gt;
&lt;br /&gt;
&lt;b&gt;Download complete code from&lt;/b&gt; &lt;a href=&quot;https://github.com/mukesh4u/AndroidMVP&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Hope this will helps some one.&lt;br /&gt;
&lt;b&gt;Enjoy Coding............ &lt;/b&gt;:)&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.androiddevelopersolutions.com/feeds/6046891760253018866/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.androiddevelopersolutions.com/2017/12/android-mvp-for-beginners-android-mvp.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/6046891760253018866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/6046891760253018866'/><link rel='alternate' type='text/html' href='http://www.androiddevelopersolutions.com/2017/12/android-mvp-for-beginners-android-mvp.html' title='Android MVP for Beginners | Android MVP tutorial | Model-View-Presenter: Android | Android Architecture with MVP'/><author><name>Mukesh Kumar</name><uri>http://www.blogger.com/profile/02072401063614368529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD4EXedD0XSwj1WD_SvECJbg1Qth8YtRU-15NsOz31jJma_L2HVlGpHl_6B3-GSIIOiTmY8X-oojQnIYhVyB8DFbUZPHQv8753syeSVObDcbR8EzuEOQJfrfe0Tmi4Ig/s113/FB_IMG_1495976002512.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJCP1BBgk89gJyTs6QvkCKAHU62yfANFyqLOxU6OwUa3VxrBuLXUAeXBqT6oK61RBOfz4QZD1uvSWqrYazfx_Rq-uGe-2JuKBN1zyLKPUL_f5IX-LGKAYc4BXQeNhkA1PUoU7KAwsWuXY/s72-c/mvp.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5215777427512085470.post-3572867753395526610</id><published>2017-11-27T15:32:00.002+05:30</published><updated>2017-11-27T15:54:57.394+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android 8"/><category scheme="http://www.blogger.com/atom/ns#" term="Custom font"/><category scheme="http://www.blogger.com/atom/ns#" term="downloadablefonts"/><category scheme="http://www.blogger.com/atom/ns#" term="font"/><category scheme="http://www.blogger.com/atom/ns#" term="Fonts in XML"/><category scheme="http://www.blogger.com/atom/ns#" term="Working with custom font Android O"/><title type='text'>Android O: Fonts – Part 1 | Working with custom font Android O | Custom font | Fonts in XML</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Hello Friends,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;b&gt;Android 8.0 &lt;/b&gt;(&lt;b&gt;API level 26&lt;/b&gt;) introduces a new feature, Fonts in &lt;b&gt;XML&lt;/b&gt;, which lets you use fonts as resources. You can add the font file in the &lt;span style=&quot;color: #38761d;&quot;&gt;res/font/&lt;/span&gt; folder to bundle fonts as resources. These fonts are compiled in your R file and are automatically available in Android Studio. You can access the font resources with the help of a new resource type, font. For example, to access a font resource, use &lt;span style=&quot;color: #38761d;&quot;&gt;@font/myfont&lt;/span&gt;, or &lt;span style=&quot;color: #38761d;&quot;&gt;R.font.myfont.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
To use the &lt;b&gt;Fonts&lt;/b&gt; in &lt;b&gt;XML&lt;/b&gt; feature on devices running Android &lt;b&gt;API version 14 and higher&lt;/b&gt;, use the &lt;b&gt;Support Library 26&lt;/b&gt;. For more information on using the support library, refer to the &lt;a href=&quot;https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml.html#using-support-lib&quot; target=&quot;_blank&quot;&gt;Using the support library&lt;/a&gt; section.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Steps&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;To add fonts as resources, perform the following steps in the Android Studio&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;h2&gt;
&lt;/h2&gt;
&lt;h3&gt;
&lt;/h3&gt;
&lt;h4&gt;
&lt;/h4&gt;
&lt;h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;Right-click the res folder and go to New &amp;gt; Android resource directory &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;The New Resource Directory window appears.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/h4&gt;
&lt;/ol&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfDfVasYr4HYBNft7MLghf_FJiqnBR0WAxLD9uZGmtRoGt2FUnl9cq-UydUO_uaJTGsaEMF339V96AEyZPWvkLBobblqbRFrSKR0XclAIOs-c-ly3JvE5O5x0GuCvtwRA7ygDPkhjG1GI/s1600/font1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;705&quot; data-original-width=&quot;1010&quot; height=&quot;278&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfDfVasYr4HYBNft7MLghf_FJiqnBR0WAxLD9uZGmtRoGt2FUnl9cq-UydUO_uaJTGsaEMF339V96AEyZPWvkLBobblqbRFrSKR0XclAIOs-c-ly3JvE5O5x0GuCvtwRA7ygDPkhjG1GI/s400/font1.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;ul&gt;
&lt;li&gt;In the Resource type list, select font, and then click OK.&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2FTdCHW-mr5Rc11rPi20tL0QAIDhL8bhz1ogWXN7XvSQ9RcEn8Uptk2cSt8VD7yoQ6FjtodRb3PfhcijGSZF9ChDRVG7A3D1pdpVEmr8fC1DfXXeTGUbPpfNzetq-rOh_p0l1NfaAjbM/s1600/font2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;476&quot; data-original-width=&quot;368&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2FTdCHW-mr5Rc11rPi20tL0QAIDhL8bhz1ogWXN7XvSQ9RcEn8Uptk2cSt8VD7yoQ6FjtodRb3PfhcijGSZF9ChDRVG7A3D1pdpVEmr8fC1DfXXeTGUbPpfNzetq-rOh_p0l1NfaAjbM/s400/font2.png&quot; width=&quot;308&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3qwhv4s73l64GQ60FEC_1mjL3a-aBv9151ZYo5tH6Qh3ZWvK8RHHzuEvVAL8N3IlibSLuIH4vyUyEmRvy_GWFrcfE6VgMPSU_I5UPb6tAVNx78E7pmRUtoIfwJBb_uQaudA-x8CrYdTs/s1600/font3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;501&quot; data-original-width=&quot;1472&quot; height=&quot;135&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3qwhv4s73l64GQ60FEC_1mjL3a-aBv9151ZYo5tH6Qh3ZWvK8RHHzuEvVAL8N3IlibSLuIH4vyUyEmRvy_GWFrcfE6VgMPSU_I5UPb6tAVNx78E7pmRUtoIfwJBb_uQaudA-x8CrYdTs/s400/font3.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;b&gt;Note:&lt;/b&gt; The name of the resource directory must be font.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;b&gt;Using fonts in XML layouts&amp;nbsp;&lt;/b&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;In the layout XML file, set the font Family attribute to the font file you want to access.&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxLgo8O51tuT4gt7uReGufgrK-iUfRiKql0W4CoEy_IvCtT8Es64669wo_x7V5GwLdi3sCEQ8scqieflNetdODvVqgWDDjz5KjEROYR0hKi5bRIoKhqrBH5P2B7mnXB-WIME_pZpBmIJ4/s1600/font_xml.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;188&quot; data-original-width=&quot;557&quot; height=&quot;216&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxLgo8O51tuT4gt7uReGufgrK-iUfRiKql0W4CoEy_IvCtT8Es64669wo_x7V5GwLdi3sCEQ8scqieflNetdODvVqgWDDjz5KjEROYR0hKi5bRIoKhqrBH5P2B7mnXB-WIME_pZpBmIJ4/s640/font_xml.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-BvRGQAv23s5MG9JbsU-CGA2dCOYTB2LHFv1PyWnws-4IJcKmbDQ6KPnrRmRyl4aNnqEFuC1CV4ffnXmLPcwzHoIu4-of43J2DSEhwDKqoUxvjxUs5lNaI4DC-OXRuoW68oB6UaFnWmo/s1600/font.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;876&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-BvRGQAv23s5MG9JbsU-CGA2dCOYTB2LHFv1PyWnws-4IJcKmbDQ6KPnrRmRyl4aNnqEFuC1CV4ffnXmLPcwzHoIu4-of43J2DSEhwDKqoUxvjxUs5lNaI4DC-OXRuoW68oB6UaFnWmo/s640/font.png&quot; width=&quot;348&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&amp;nbsp; &amp;nbsp; Download Complete code from &lt;a href=&quot;https://github.com/mukesh4u/Font&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&amp;nbsp; &amp;nbsp; Hope this will help some one.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
&amp;nbsp; &amp;nbsp; Enjoy coding.................. &amp;nbsp;;) &amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.androiddevelopersolutions.com/feeds/3572867753395526610/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.androiddevelopersolutions.com/2017/11/hello-friends-android-8.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/3572867753395526610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5215777427512085470/posts/default/3572867753395526610'/><link rel='alternate' type='text/html' href='http://www.androiddevelopersolutions.com/2017/11/hello-friends-android-8.html' title='Android O: Fonts – Part 1 | Working with custom font Android O | Custom font | Fonts in XML'/><author><name>Mukesh Kumar</name><uri>http://www.blogger.com/profile/02072401063614368529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD4EXedD0XSwj1WD_SvECJbg1Qth8YtRU-15NsOz31jJma_L2HVlGpHl_6B3-GSIIOiTmY8X-oojQnIYhVyB8DFbUZPHQv8753syeSVObDcbR8EzuEOQJfrfe0Tmi4Ig/s113/FB_IMG_1495976002512.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfDfVasYr4HYBNft7MLghf_FJiqnBR0WAxLD9uZGmtRoGt2FUnl9cq-UydUO_uaJTGsaEMF339V96AEyZPWvkLBobblqbRFrSKR0XclAIOs-c-ly3JvE5O5x0GuCvtwRA7ygDPkhjG1GI/s72-c/font1.png" height="72" width="72"/><thr:total>0</thr:total></entry></feed>