<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Görkem Kara</title>
    <description>The latest articles on DEV Community by Görkem Kara (@gorkemkara).</description>
    <link>https://dev.to/gorkemkara</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2164295%2F62a164e9-1eba-4aae-9ff7-a920aafa13d7.png</url>
      <title>DEV Community: Görkem Kara</title>
      <link>https://dev.to/gorkemkara</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gorkemkara"/>
    <language>en</language>
    <item>
      <title>Mastering @Stable in Jetpack Compose for Better UI Performance</title>
      <dc:creator>Görkem Kara</dc:creator>
      <pubDate>Wed, 23 Oct 2024 07:23:37 +0000</pubDate>
      <link>https://dev.to/gorkemkara/mastering-stable-in-jetpack-compose-for-better-ui-performance-797</link>
      <guid>https://dev.to/gorkemkara/mastering-stable-in-jetpack-compose-for-better-ui-performance-797</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpr8bewxp8vu74uiszkfs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpr8bewxp8vu74uiszkfs.png" alt="Image description" width="800" height="800"&gt;&lt;/a&gt;&lt;br&gt;
Mutable objects often lead to unexpected UI updates in Jetpack Compose. By using @Stable, you can control when and how recompositions happen, ensuring a smoother experience.&lt;/p&gt;

&lt;p&gt;But how exactly does @Stable work, and when should you use it over @Immutable?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://gorkemkara.net/immutable-vs-stable-performance-jetpack-compose/" rel="noopener noreferrer"&gt;Discover all the details in my full guide: Jetpack Compose: Immutable vs Stable&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>compose</category>
      <category>android</category>
      <category>androiddev</category>
      <category>mobile</category>
    </item>
    <item>
      <title>Supercharging Your Debugging Skills with Android Logcat 💻🚀</title>
      <dc:creator>Görkem Kara</dc:creator>
      <pubDate>Thu, 03 Oct 2024 22:33:43 +0000</pubDate>
      <link>https://dev.to/gorkemkara/supercharging-your-debugging-skills-with-android-logcat-2ih6</link>
      <guid>https://dev.to/gorkemkara/supercharging-your-debugging-skills-with-android-logcat-2ih6</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3bn5x50nx9o844doedyh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3bn5x50nx9o844doedyh.png" alt="Supercharging Your Debugging Skills with Android Logcat 💻🚀" width="800" height="800"&gt;&lt;/a&gt;&lt;br&gt;
Logcat is a staple in every Android developer’s toolkit. However, many devs might not know all its hidden features that can drastically improve their debugging efficiency. Let's explore some tips to make your Logcat debugging super smooth!&lt;/p&gt;

&lt;h3&gt;
  
  
  💡 Advanced Filtering for Better Focus
&lt;/h3&gt;

&lt;p&gt;Stop getting lost in endless lines of logs! Utilize filters like &lt;code&gt;package:yourapp&lt;/code&gt; and &lt;code&gt;tag~:User&lt;/code&gt; to isolate the logs you actually care about. This will make your debugging process much more manageable.&lt;/p&gt;

&lt;h3&gt;
  
  
  🚨 Master the Log Levels
&lt;/h3&gt;

&lt;p&gt;Do you know when to use &lt;code&gt;warn&lt;/code&gt; vs. &lt;code&gt;error&lt;/code&gt;? Understanding Logcat’s log levels (e.g., &lt;code&gt;info&lt;/code&gt;, &lt;code&gt;debug&lt;/code&gt;, &lt;code&gt;verbose&lt;/code&gt;) can help you quickly catch the most important logs and track down issues faster.&lt;/p&gt;

&lt;h3&gt;
  
  
  🛠️ Key Shortcuts for Quick Debugging
&lt;/h3&gt;

&lt;p&gt;Save time by learning shortcuts like &lt;code&gt;Ctrl + Space&lt;/code&gt; to auto-complete filters and &lt;code&gt;Alt + Enter&lt;/code&gt; to quickly toggle between different log levels. These little tricks can make a world of difference when you're debugging under pressure.&lt;/p&gt;

&lt;p&gt;To explore more tips, tricks, and advanced Logcat features that can save you hours of work, read the complete guide here:&lt;br&gt;
&lt;a href="https://gorkemkara.net/mastering-android-logcat-efficient-debugging-tips-for-all-levels/" rel="noopener noreferrer"&gt;Mastering Android Logcat: Efficient Debugging Tips for All Levels&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;By following these tricks, you'll be able to optimize your Logcat debugging process and write more efficient code! 💡👨‍💻&lt;/p&gt;

</description>
      <category>android</category>
      <category>androiddev</category>
      <category>mobile</category>
      <category>kotlin</category>
    </item>
    <item>
      <title>Handling null + null in Kotlin: What Happens?</title>
      <dc:creator>Görkem Kara</dc:creator>
      <pubDate>Thu, 03 Oct 2024 22:28:30 +0000</pubDate>
      <link>https://dev.to/gorkemkara/handling-null-null-in-kotlin-what-happens-fh9</link>
      <guid>https://dev.to/gorkemkara/handling-null-null-in-kotlin-what-happens-fh9</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0sw7qj886uhnwe6ktpqy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0sw7qj886uhnwe6ktpqy.png" alt="kotlin null plus null handling" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Handling &lt;code&gt;null + null&lt;/code&gt; in Kotlin: What Happens?
&lt;/h1&gt;

&lt;p&gt;When developing in &lt;strong&gt;Kotlin&lt;/strong&gt;, you're bound to run into scenarios involving &lt;strong&gt;null&lt;/strong&gt; values. Kotlin's approach to null safety is well-known, but what happens when you try to add &lt;code&gt;null + null&lt;/code&gt;? Let's explore this seemingly simple yet thought-provoking situation!&lt;/p&gt;

&lt;h3&gt;
  
  
  Kotlin and Null Safety
&lt;/h3&gt;

&lt;p&gt;Kotlin’s compiler is strict when it comes to handling &lt;code&gt;null&lt;/code&gt;s. It doesn't let you add &lt;code&gt;null&lt;/code&gt; values without clear handling. But what if you attempt to add &lt;code&gt;null + null&lt;/code&gt;? 🤔 The compiler won't just sit back—it will prompt you to handle it, either by using safe calls (&lt;code&gt;?.&lt;/code&gt;) or the Elvis operator (&lt;code&gt;?:&lt;/code&gt;). This is part of &lt;strong&gt;Kotlin's type safety&lt;/strong&gt; design.&lt;/p&gt;

&lt;p&gt;For a deeper understanding of &lt;strong&gt;Kotlin null safety&lt;/strong&gt; and best practices, check out my blog post:&lt;br&gt;
&lt;a href="https://gorkemkara.net/kotlin-null-plus-null-safety-explained/" rel="noopener noreferrer"&gt;&lt;strong&gt;Kotlin Null + Null Safety Explained&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  The Case of &lt;code&gt;null + null&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;When you try to add &lt;code&gt;null + null&lt;/code&gt; in Kotlin, an error will occur. The language enforces clear handling of &lt;code&gt;null&lt;/code&gt;s to prevent unexpected behaviors or crashes in your application. This is especially important in &lt;strong&gt;Android development&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If you're interested in learning more about handling &lt;code&gt;null&lt;/code&gt;s properly and how to use safe calls and nullable types effectively, take a look at:&lt;br&gt;
&lt;a href="https://gorkemkara.net/understanding-of-kotlin-flow-and-its-key-features/" rel="noopener noreferrer"&gt;&lt;strong&gt;Understanding of Kotlin Flow and its Key Features&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Kotlin in Android Development
&lt;/h3&gt;

&lt;p&gt;Null handling in Kotlin is crucial for Android development. Learn more about handling concurrency and null safety in Android apps using Kotlin in my blog post:&lt;br&gt;
&lt;a href="https://gorkemkara.net/concurrency-in-kotlin-using-coroutines/" rel="noopener noreferrer"&gt;&lt;strong&gt;Concurrency in Kotlin Using Coroutines&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;For a comprehensive guide on &lt;code&gt;null + null&lt;/code&gt; in Kotlin and mastering other Kotlin features, visit the full article:&lt;br&gt;
&lt;a href="https://gorkemkara.net/kotlin-null-plus-null-safety-explained/" rel="noopener noreferrer"&gt;&lt;strong&gt;Kotlin Null + Null Safety Explained&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;For more Kotlin and Android development tips, don't forget to follow my blog:&lt;br&gt;
&lt;a href="https://gorkemkara.net/" rel="noopener noreferrer"&gt;&lt;strong&gt;gorkemkara.net&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>android</category>
      <category>androiddev</category>
      <category>kotlin</category>
      <category>java</category>
    </item>
  </channel>
</rss>
