<?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>Forem: Mujeeb Khan</title>
    <description>The latest articles on Forem by Mujeeb Khan (@mujeebkhanj2326).</description>
    <link>https://forem.com/mujeebkhanj2326</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%2F1071436%2F1f431be2-abc0-429d-902d-c35932a9fed3.jpeg</url>
      <title>Forem: Mujeeb Khan</title>
      <link>https://forem.com/mujeebkhanj2326</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/mujeebkhanj2326"/>
    <language>en</language>
    <item>
      <title>The Must have Chrome Extension While applying for your dream job</title>
      <dc:creator>Mujeeb Khan</dc:creator>
      <pubDate>Wed, 20 Dec 2023 16:15:51 +0000</pubDate>
      <link>https://forem.com/mujeebkhanj2326/the-must-have-chrome-extension-while-applying-for-your-dream-job-3jm6</link>
      <guid>https://forem.com/mujeebkhanj2326/the-must-have-chrome-extension-while-applying-for-your-dream-job-3jm6</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--knVq2IRR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gxfdkqcukgzj4kfo59at.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--knVq2IRR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gxfdkqcukgzj4kfo59at.png" alt="Image description" width="800" height="1043"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Are you tired of juggling multiple tabs while applying for jobs? The hassle of copying and pasting links from various sources into your job applications can be a real headache. But fear not! Link Wallet is here to streamline your application process and make your job hunt smoother than ever before.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem:
&lt;/h2&gt;

&lt;p&gt;You’ve found the perfect job opportunity and are ready to apply. But wait, you need to input your coding profiles, GitHub, LinkedIn, blog, personal portfolio, and more. Opening each tab, copying the URLs, and pasting them into the application forms is time-consuming and frustrating.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Solution — Link Wallet 🔗💼
&lt;/h2&gt;

&lt;p&gt;Link Wallet is your go-to Google Chrome extension designed to solve this exact problem. It’s a simple yet powerful tool that lets you store all your essential links in one convenient place. Whether it’s your coding profiles, professional portfolios, or social media profiles, Link Wallet securely stores them for easy access whenever you’re applying for your dream job.&lt;/p&gt;

&lt;h2&gt;
  
  
  🛠️ Installation
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;microsoft edge users &lt;a href="https://microsoftedge.microsoft.com/addons/detail/link-wallet/mgcnlecebdnjljkkalpelnhipjnkjfij"&gt;get here&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;or&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Download From &lt;a href="https://drive.google.com/file/d/1KnhJxTc4bMynpOVLpSbI2UBfgh4vax34/view"&gt;here&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;Extract the zip file&lt;/li&gt;
&lt;li&gt;Open up Chrome and go to the extensions page (Window → Extensions)&lt;/li&gt;
&lt;li&gt;Enable developer mode (if it’s not already)&lt;/li&gt;
&lt;li&gt;Click on “Load unpacked extension…”&lt;/li&gt;
&lt;li&gt;Open dist folder you have recently downloaded.&lt;/li&gt;
&lt;li&gt;Click on Select folder button&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  ⚙️ Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;quick access to your important link whenever you want&lt;/li&gt;
&lt;li&gt;add new links&lt;/li&gt;
&lt;li&gt;delete old links&lt;/li&gt;
&lt;li&gt;saved on local storage&lt;/li&gt;
&lt;li&gt;Extra notes:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Please report any bugs that you find as issues on the project&lt;br&gt;
contribute here&lt;br&gt;
If there is any question or confusion regarding the tutorial. Feel free to ask your questions in the comments below.&lt;/p&gt;




&lt;p&gt;Thank you for reading this article. If you found this helpful and interesting, please like and follow me for more such content.&lt;/p&gt;

&lt;p&gt;you can also check out my new app on playstore &lt;a href="https://play.google.com/store/apps/dev?id=6242034884087069041"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If I got something wrong, mention it in the comments. I would love to improve.&lt;/p&gt;

&lt;p&gt;Connect with me on &lt;a href="https://medium.com/@mujeebkhan1831"&gt;Medium&lt;/a&gt;, &lt;a href="https://github.com/khan-mujeeb"&gt;GitHub&lt;/a&gt;, &lt;a href="https://twitter.com/mujeebk51620752"&gt;Twitter&lt;/a&gt; and &lt;a href="https://www.linkedin.com/in/mujeeb-ur-rahman-khan/"&gt;LinkedIn&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
      <category>coding</category>
    </item>
    <item>
      <title>How to create a simple QR Code Scanner and publish it on play store in 5mins</title>
      <dc:creator>Mujeeb Khan</dc:creator>
      <pubDate>Mon, 17 Jul 2023 18:00:34 +0000</pubDate>
      <link>https://forem.com/mujeebkhanj2326/how-to-create-a-simple-qr-code-scanner-and-publish-it-on-play-store-in-5mins-9n9</link>
      <guid>https://forem.com/mujeebkhanj2326/how-to-create-a-simple-qr-code-scanner-and-publish-it-on-play-store-in-5mins-9n9</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---yDvBEik--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v23fedjog8qi2bj3p6kw.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---yDvBEik--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v23fedjog8qi2bj3p6kw.gif" width="800" height="1422"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;👋Hello guyz,&lt;br&gt;
I want you to checkout my QR Code Scanner on &lt;a href="https://play.google.com/store/apps/details?id=com.khandev.qrcodescanner"&gt;Play Store&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;source code of my QR code scanner &lt;a href="https://github.com/khan-mujeeb/QR-Code-scanner"&gt;github&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In this article I am going to tell you how you can also create your QR code scanner and publish it on Play Store.&lt;/p&gt;
&lt;h2&gt;
  
  
  Pre-requisite
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Android Studio&lt;/li&gt;
&lt;li&gt;basic idea of java/kotlin&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Now it’s time to create our own QR Code in just 5mins.
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TuGYdLky--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pfwtj5k28x6t2vi4mxwx.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TuGYdLky--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pfwtj5k28x6t2vi4mxwx.gif" alt="Image description" width="500" height="226"&gt;&lt;/a&gt;&lt;/p&gt;



&lt;h2&gt;
  
  
  Why Google Code Scanner
&lt;/h2&gt;

&lt;p&gt;The Google code scanner API provides a complete solution for scanning codes without requiring your app to request camera permission, while preserving user privacy. This is accomplished by delegating the task of scanning the code to Google Play services and returning only the scan results to your app. All image processing occurs on the device and Google doesn't store the results or image data.&lt;/p&gt;



&lt;h3&gt;
  
  
  Step 1: Add the dependency of a Google code scanner in the build.gradle
&lt;/h3&gt;

&lt;p&gt;&lt;br&gt;
&lt;strong&gt;Include in your top-level settings.gradle file&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight kotlin"&gt;&lt;code&gt;&lt;span class="nf"&gt;dependencyResolutionManagement&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nf"&gt;repositories&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nf"&gt;google&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="nf"&gt;mavenCentral&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Add the dependency of a code scanner in the app/build.gradle&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight kotlin"&gt;&lt;code&gt;&lt;span class="nf"&gt;dependencies&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="n"&gt;implementation&lt;/span&gt; &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;com&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;google&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;android&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;gms&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;play-services-code-scanner&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mf"&gt;16.0.0&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;p&gt;&lt;strong&gt;Add meta-data in the manifest file so that Google Play services automatically download the scanner module to the device while your app is installed from the Play Store&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;application&lt;/span&gt; &lt;span class="err"&gt;...&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  ...
  &lt;span class="nt"&gt;&amp;lt;meta-data&lt;/span&gt;
      &lt;span class="na"&gt;android:name=&lt;/span&gt;&lt;span class="s"&gt;"com.google.mlkit.vision.DEPENDENCIES"&lt;/span&gt;
      &lt;span class="na"&gt;android:value=&lt;/span&gt;&lt;span class="s"&gt;"barcode_ui"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  ...
&lt;span class="nt"&gt;&amp;lt;/application&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;h3&gt;
  
  
  Step 2: Code for Scan Code
&lt;/h3&gt;

&lt;p&gt;&lt;br&gt;
&lt;strong&gt;Get an instance of GmsBarcodeScanner&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight kotlin"&gt;&lt;code&gt;&lt;span class="kd"&gt;val&lt;/span&gt; &lt;span class="py"&gt;scanner&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;GmsBarcodeScanning&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="c1"&gt;// Or with a configured options&lt;/span&gt;
&lt;span class="c1"&gt;// val scanner = GmsBarcodeScanning.getClient(this, options)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;p&gt;&lt;strong&gt;Request a code scanning by calling startScan()&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight kotlin"&gt;&lt;code&gt;&lt;span class="n"&gt;scanner&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;startScan&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;addOnSuccessListener&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="n"&gt;barcode&lt;/span&gt; &lt;span class="p"&gt;-&amp;gt;&lt;/span&gt;
        &lt;span class="kd"&gt;val&lt;/span&gt; &lt;span class="py"&gt;result&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;barcode&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rawValue&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;addOnCanceledListener&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="c1"&gt;// Task canceled&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;addOnFailureListener&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt; &lt;span class="p"&gt;-&amp;gt;&lt;/span&gt;
        &lt;span class="c1"&gt;// Task failed with an exception&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;our basic QR code scanner is ready to scan qr code &lt;br&gt;
you can do further improvement according to your need.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Guyzz don't forget to check my qr code scanner on &lt;a href="https://play.google.com/store/apps/details?id=com.khandev.qrcodescanner"&gt;Play Store&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In next article we will learn how to publish our qr code scanner on play store.&lt;/p&gt;

&lt;p&gt;Thank you for reading this article. If you found this helpful and interesting, please like and follow me for more such content.&lt;/p&gt;

&lt;p&gt;If I got something wrong, mention it in the comments. I would love to improve.&lt;/p&gt;

&lt;p&gt;Connect with me on &lt;a href="https://github.com/khan-mujeeb"&gt;GitHub&lt;/a&gt;, &lt;a href="https://medium.com/@mujeebkhan1831"&gt;Medium&lt;/a&gt; and &lt;a href="https://www.linkedin.com/in/mujeeb-ur-rahman-khan/"&gt;LinkedIn&lt;/a&gt;&lt;/p&gt;

</description>
      <category>android</category>
      <category>kotlin</category>
      <category>opensource</category>
      <category>java</category>
    </item>
    <item>
      <title>What is the difference between val and const val in kotlin?</title>
      <dc:creator>Mujeeb Khan</dc:creator>
      <pubDate>Tue, 25 Apr 2023 11:41:53 +0000</pubDate>
      <link>https://forem.com/mujeebkhanj2326/what-is-the-difference-between-val-and-const-val-in-kotlin-2b6n</link>
      <guid>https://forem.com/mujeebkhanj2326/what-is-the-difference-between-val-and-const-val-in-kotlin-2b6n</guid>
      <description>&lt;p&gt;If you’re new to Kotlin, you might be wondering what is need of const val when we have val? 🤔&lt;/p&gt;

&lt;p&gt;Both are the same, Right? 🤔&lt;/p&gt;

&lt;p&gt;Then this article is for you. 😄&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The main difference between val and const val is that val can be assigned a value at runtime, whereas const val must be assigned a value at compile time and cannot be changed afterward(their values are hardcoded).
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/*
const val eg.
*/
const val baseUrl  = "https://rickandmortyapi.com/api"

/*
val eg.
*/
val db = FirebaseDatabase.getInstance()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;const val can only be declared at the top level of a file or inside an object declaration, whereas val can be declared anywhere within a function, class or object.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Example of const val deceleration at the top level of file&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
package com.example.admindashboard

import android.content.Intent
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.example.admindashboard.databinding.ActivityMainBinding
import com.example.admindashboard.ui.AddBooks
import com.example.admindashboard.ui.ControlPanelActivity
import com.example.admindashboard.ui.NotifficationActivity

const val message = "Hello "                // correct

class MainActivity : AppCompatActivity() {

    const val message2 = "hello again"      // incorrect

// other code
    var binding: ActivityMainBinding? = null
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding!!.root)

    }

}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Example of const val declaration inside object&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;package com.example.admindashboard.utils

import com.google.firebase.database.FirebaseDatabase
import com.google.firebase.storage.FirebaseStorage

object FirebaseUtils {

    const val bookNodeName = "books"  // const val declaration

    val firebaseDatabase = FirebaseDatabase.getInstance()

    var pyqRef = firebaseDatabase.getReference("pyq")


}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Thank you for reading this article. If you found this helpful and interesting, like it.&lt;/p&gt;

&lt;p&gt;If I got something wrong, mention it in the comments. I would love to improve.&lt;/p&gt;

&lt;p&gt;Connect with me on &lt;a href="https://github.com/khan-mujeeb"&gt;GitHub&lt;/a&gt; and &lt;a href="https://www.linkedin.com/in/mujeeb-ur-rahman-khan/"&gt;LinkedIn&lt;/a&gt;&lt;/p&gt;

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