<?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: Geekaid</title>
    <description>The latest articles on DEV Community by Geekaid (@geekaid).</description>
    <link>https://dev.to/geekaid</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%2F978212%2Fcc917e77-4648-443e-8a6b-0f46afeba17c.png</url>
      <title>DEV Community: Geekaid</title>
      <link>https://dev.to/geekaid</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/geekaid"/>
    <language>en</language>
    <item>
      <title>Know the Widgets in Flutter: Scaffold</title>
      <dc:creator>Geekaid</dc:creator>
      <pubDate>Sat, 21 Jan 2023 04:30:00 +0000</pubDate>
      <link>https://dev.to/geekaid/know-the-widgets-in-flutter-scaffold-1ja8</link>
      <guid>https://dev.to/geekaid/know-the-widgets-in-flutter-scaffold-1ja8</guid>
      <description>&lt;p&gt;You are reading this post means you have just started learning flutter, and now every tutorial or codelab you open you came across a widget named Scaffold. Do not worry after reading this blog post you will have a clear understanding of Scaffold.&lt;/p&gt;

&lt;p&gt;If you have any problem setting up your flutter development environment refer to my &lt;a href="https://geekaid.in/how-to-setup-flutter-dev-environment-in-linux-using-android-studio/" rel="noopener noreferrer"&gt;flutter installation&lt;/a&gt; post where you can find a step-by-step guide.&lt;/p&gt;

&lt;p&gt;Let’s get started.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Widget?
&lt;/h2&gt;

&lt;p&gt;The Flutter app’s screens are made up entirely of widgets. You build the UI using widgets and the appearance of the UI depends on the choice and sequence of the Widget. Some examples of widgets are Scaffold, Text, etc.&lt;/p&gt;

&lt;p&gt;Now you have a clear idea about widgets we can move forward to the scaffold, in this blog post we will be discussing the basics of Scaffold.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Scaffold?
&lt;/h2&gt;

&lt;p&gt;The Scaffold is a widget in Flutter used to implement the basic material **design visual layout structure. **It provides APIs for showing drawers, app bars, bottom navigation, and bottom sheets.&lt;/p&gt;

&lt;p&gt;In simple words, Scaffold provides you with a structure where you put widgets according to your needs while simultaneously following material design.&lt;/p&gt;

&lt;p&gt;The following are the Scaffold constructor and properties.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const Scaffold({
    super.key,
    this.appBar,
    this.body,
    this.floatingActionButton,
    this.floatingActionButtonLocation,
    this.floatingActionButtonAnimator,
    this.persistentFooterButtons,
    this.persistentFooterAlignment = AlignmentDirectional.centerEnd,
    this.drawer,
    this.onDrawerChanged,
    this.endDrawer,
    this.onEndDrawerChanged,
    this.bottomNavigationBar,
    this.bottomSheet,
    this.backgroundColor,
    this.resizeToAvoidBottomInset,
    this.primary = true,
    this.drawerDragStartBehavior = DragStartBehavior.start,
    this.extendBody = false,
    this.extendBodyBehindAppBar = false,
    this.drawerScrimColor,
    this.drawerEdgeDragWidth,
    this.drawerEnableOpenDragGesture = true,
    this.endDrawerEnableOpenDragGesture = true,
    this.restorationId,
  }) 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Let’s take a look glance at Scaffold properties individually.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. appBar
&lt;/h2&gt;

&lt;p&gt;This is a horizontal bar placed at the top of the app UI. appBar in Scaffold used AppBar Widget which has properties like title, elevation, brightness, etc.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text("GeekAid")),
    );
  }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&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%2F7mj30ubrs6nz27331lzc.jpeg" 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%2F7mj30ubrs6nz27331lzc.jpeg" alt="appBar" width="800" height="607"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here, the appBar with the title property uses the Text widget to display the text “GeekAid” on the appBar.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. body
&lt;/h2&gt;

&lt;p&gt;The body is another essential property of the Scaffold, it is the space present below the appBar and behind the floatingActionButton.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text("GeekAid")),
      body: const Center(
          child: Text(
        "Scaffold Demo",
        style: TextStyle(fontSize: 40),
      )),
    );
  }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&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%2Fcxp9u0glo008wkons9aa.jpeg" 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%2Fcxp9u0glo008wkons9aa.jpeg" alt="Body" width="800" height="1373"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here, the body property of the Scaffold uses a Centre to centre alignment (horizontally and vertically) of the content and Text widget to display the text “Scaffold Demo”.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. floatingActionButton
&lt;/h2&gt;

&lt;p&gt;a floatingActionButton is a button that is displayed at the bottom right corner floating above the body. floatingActionButton is used to promote some primary action in the app example: add.&lt;/p&gt;

&lt;p&gt;floatingActionButton uses the FloatingActionButton widget to display the button.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text("GeekAid")),
      body: const Center(
          child: Text(
        "Scaffold Demo",
        style: TextStyle(fontSize: 40),
      )),
      floatingActionButton: FloatingActionButton(
        elevation: 10,
        child: const Icon(Icons.add),
        onPressed: () {
          print("flatingActionButton pressed");
        },
      ),
    );
  }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&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%2Fw3fwxbz3jxnu1nka5wb4.jpeg" 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%2Fw3fwxbz3jxnu1nka5wb4.jpeg" alt="FloatingActionButton" width="800" height="372"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here, the floatingActionButton property of Scaffold uses the FloatingActionButton widget to display a floating button at the bottom right corner. It uses an Icon widget to display the icon.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. drawer
&lt;/h2&gt;

&lt;p&gt;The drawer is a side panel or slider menu which is generally hidden in mobile devices and which can be accessed by sliding left to right or vice versa.&lt;/p&gt;

&lt;p&gt;If you use a drawer in the app an icon is automatically added in the appBar at appropriate positions which can be used to access the drawer.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;drawer: Drawer(
  elevation: 12,
  child: ListView(
    children: const &amp;lt;Widget&amp;gt;[
    DrawerHeader(
      decoration: BoxDecoration(color: Colors.orange),
      child: Center(
        child: Text("Geek Aid", style: TextStyle(fontSize: 40)))),
        ListTile(
          title: Text("Item 1"),
        ),
        ListTile(
          title: Text("Item 2"),
        )
    ],
  ),
),
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&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%2F0v6ay60vhz6jjk5pmluq.jpeg" 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%2F0v6ay60vhz6jjk5pmluq.jpeg" alt="Drawer" width="800" height="884"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here, the drawer property of Scaffold uses the Drawer widget to display the sliding menu. The DrawerHeader widget is used to display the header of the drawer and ListTile to display the menu items.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. persistentFooterButtons
&lt;/h2&gt;

&lt;p&gt;The persistentFooterButtons are placed at bottom of the Scaffold if used with bottomNavigationBar and floatingActionButton then it lies above the bottomNavigationBar and below the floatingActionButton.&lt;/p&gt;

&lt;p&gt;persistentFooterButtons remain at their assigned positions even if the body content is scrolled as the name suggests they remain persistently visible.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;persistentFooterButtons: &amp;lt;Widget&amp;gt;[
 ElevatedButton(onPressed: () {}, child: const Icon(Icons.search)),
 ElevatedButton(onPressed: () {}, child: const Icon(Icons.send)),
],
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&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%2Fz8d2mfgw7s9eg9yhowyw.jpeg" 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%2Fz8d2mfgw7s9eg9yhowyw.jpeg" alt="PersistantFooterButtons" width="800" height="317"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here, the persistentFooterButtons property of the Scaffold uses a list of widgets to display the widgets above the bottomNavigationBar.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. bottomNavigationBar
&lt;/h2&gt;

&lt;p&gt;bottomNavigationBar is used to render bottom Navigation below the persistentFotterButtons.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;bottomNavigationBar: BottomNavigationBar(
  currentIndex: 0,
  items: const [
    BottomNavigationBarItem(label: "Home", icon: Icon(Icons.home)),
    BottomNavigationBarItem(label: "Search", icon: Icon(Icons.search)),
    BottomNavigationBarItem(label: "Lock", icon: Icon(Icons.lock)),
  ],
),
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&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%2Fac2t0rga1yuw5amhvn54.jpeg" 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%2Fac2t0rga1yuw5amhvn54.jpeg" alt="BottomNavigationBar" width="800" height="428"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here, the bottomNavigationBar property of the Scaffold uses the BottomNavigationBar widget to display the bottomNavigationBar. BottomNavigationBarItem is used to display the navigation icon and add a label to it.&lt;/p&gt;

&lt;p&gt;These are some primary properties of scaffold we have discussed, now go ahead and start tweaking these properties one at a time to get a clear understanding and hands-on.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In this article, I tried to explain how to use Scaffold and its properties.&lt;/p&gt;

&lt;p&gt;If I got something wrong, Inform me on my social media accounts and feel free to contact me and help me to correct it, I would love to improve and rectify my mistake.&lt;/p&gt;

&lt;p&gt;You can subscribe to my newsletter at &lt;a href="//geekaid.in"&gt;geekaid.in&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;❤️❤️ Thanks for reading this article ❤️❤️&lt;/p&gt;

</description>
      <category>watercooler</category>
    </item>
    <item>
      <title>How to set up your flutter development environment</title>
      <dc:creator>Geekaid</dc:creator>
      <pubDate>Sat, 14 Jan 2023 16:54:51 +0000</pubDate>
      <link>https://dev.to/geekaid/how-to-set-up-your-flutter-development-environment-b28</link>
      <guid>https://dev.to/geekaid/how-to-set-up-your-flutter-development-environment-b28</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%2Fcdn-images-1.medium.com%2Fmax%2F11580%2F0%2AB8rDzueoT7TaP37X" 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%2Fcdn-images-1.medium.com%2Fmax%2F11580%2F0%2AB8rDzueoT7TaP37X" alt="How to set up your flutter development enviorment" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How to set up your flutter development environment
&lt;/h2&gt;

&lt;p&gt;“For the best return on your money, pour your purse into your head”&lt;/p&gt;

&lt;p&gt;Hurry! now you have decided to learn flutter and it will be a good decision. Your journey will be full of hurdles but the whole community and I are here to help you out so relax.&lt;/p&gt;

&lt;p&gt;The first hurdle you are facing is how to set up your development environment, Let’s get started.&lt;/p&gt;

&lt;p&gt;Open &lt;a href="https://docs.flutter.dev/get-started/install?gclsrc=ds&amp;amp;gclsrc=ds" rel="noopener noreferrer"&gt;docs.flutter.dev&lt;/a&gt; and select your operating system. I will be giving general steps here to install flutter, the documentation is very clear and I will address the common issue you will face.&lt;/p&gt;

&lt;h2&gt;
  
  
  #1. Download and install Android Studio
&lt;/h2&gt;

&lt;p&gt;You will need an IDE to write code you can choose some other IDE but google recommends android studio and we will also install it.&lt;/p&gt;

&lt;p&gt;To download android studio visit &lt;a href="https://developer.android.com/studio?gclsrc=ds&amp;amp;gclsrc=ds" rel="noopener noreferrer"&gt;developer.android.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The installation is pretty simple to open the installer and give it the required permission read the term and conditions which no one does.&lt;/p&gt;

&lt;p&gt;Allow android studio to download the latest SDK and some other files for its smooth functioning.&lt;/p&gt;

&lt;h2&gt;
  
  
  #2. Download flutter SDK
&lt;/h2&gt;

&lt;p&gt;For windows and mac users you can either download the zip file or clone the stable version from GitHub.&lt;/p&gt;

&lt;p&gt;Linux users can use snap to install or else apt repository.&lt;/p&gt;

&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%2F3hwao46adxk9w157vmyf.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%2F3hwao46adxk9w157vmyf.png" alt="Choose your operating system" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  #3. Add the path
&lt;/h2&gt;

&lt;p&gt;The next step is to add a flutter/bin path to the global variables so that you can use the flutter cmd globally.&lt;/p&gt;

&lt;p&gt;Windows:-&lt;/p&gt;

&lt;p&gt;Open the start menu and type env from the results select &lt;strong&gt;Edit environment variables for your account.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Click on add new path and paste the path **flutter/bin **append the path before this if exists.&lt;/p&gt;

&lt;p&gt;Mac:-&lt;/p&gt;

&lt;p&gt;Extract the file to the desired location.&lt;/p&gt;

&lt;p&gt;example:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ cd ~/geekAid
$ unzip ~/Downloads/flutter_macos_3.3.6-stable.zip
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Add flutter to your path, open the terminal at the install location and paste this cmd.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ export PATH="$PATH:`pwd`/flutter/bin"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;To add flutter to your path refer to &lt;a href="https://docs.flutter.dev/get-started/install/macos#update-your-path" rel="noopener noreferrer"&gt;this&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Linux:-&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ https://docs.flutter.dev/get-started/install/macos#update-your-path
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;If you have used snap to install flutter then you are good to go. You can use the cmd given below to check the flutter path.&lt;/p&gt;

&lt;p&gt;You can also add the flutter path to the terminal temporarily, but I just go ahead and add it permanently.&lt;/p&gt;

&lt;p&gt;You can refer to this article to add flutter to your path refer &lt;a href="https://docs.flutter.dev/get-started/install/linux#update-your-path" rel="noopener noreferrer"&gt;it&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  #4. Run flutter doctor
&lt;/h2&gt;

&lt;p&gt;To check the flutter installation is done properly and that there are no issues present open the terminal and write the cmd “ flutter doctor” and hit enter.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ flutter doctor
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;If you got all the green flags then you are good to go.&lt;/p&gt;

&lt;p&gt;But this will not be the case for many of you. Here I will discuss the most common issue here.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Flutter SDK not found in the specified location&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You can install it from Android Studio.&lt;/p&gt;

&lt;p&gt;Menu &amp;gt; Tools &amp;gt; SDK Manager &amp;gt; Android SDK &amp;gt; SDK Tools (tab)&lt;/p&gt;

&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%2F99gyz61ak0nb6l1h80xm.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%2F99gyz61ak0nb6l1h80xm.png" alt="Install missing SDK" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From here find the missing dependency and install it.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Flutter run error: You have not accepted the license agreements&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;To accept the license and go ahead open the terminal and run the cmd&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; $ flutter doctor --android-licensed
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Now, after resolving the error run again “flutter doctor” to check for further issues.&lt;/p&gt;

&lt;p&gt;If you still facing issues I suggest you try to find that issue on &lt;a href="https://stackoverflow.com/" rel="noopener noreferrer"&gt;StackOverflow&lt;/a&gt; and resolve it.&lt;/p&gt;

&lt;h2&gt;
  
  
  #5. Installing the required plugins in android studio
&lt;/h2&gt;

&lt;p&gt;These plugins give you run &amp;amp; debug support, syntax highlighting, code completion, widget editing assistance, and more.&lt;/p&gt;

&lt;p&gt;To install plugins go to settings by ‘Ctrl+Alt+S’ or Menu&amp;gt; File &amp;gt; Settings.&lt;/p&gt;

&lt;p&gt;In the setting open the plugin sections.&lt;/p&gt;

&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%2Fpe5r9oopdwia05dq3ye6.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%2Fpe5r9oopdwia05dq3ye6.png" alt="Search and install plugins" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You need to install two plugins and search for them in the marketplace&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;flutter&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;dart&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Once installed restart the IDE and you are good to go.&lt;/p&gt;

</description>
      <category>python</category>
      <category>gamedev</category>
      <category>beginners</category>
      <category>welcome</category>
    </item>
    <item>
      <title>How to connect android studio with Firebase</title>
      <dc:creator>Geekaid</dc:creator>
      <pubDate>Tue, 13 Dec 2022 04:45:00 +0000</pubDate>
      <link>https://dev.to/geekaid/how-to-connect-android-studio-with-firebase-2ecp</link>
      <guid>https://dev.to/geekaid/how-to-connect-android-studio-with-firebase-2ecp</guid>
      <description>&lt;p&gt;I am sure you have started your journey of learning android development and then this mountain of problems came, but do not worry I help you out just follow the steps and follow my lead.&lt;/p&gt;

&lt;p&gt;The first step is to make an account on Firebase. Now you have made one let’s get started.&lt;/p&gt;

&lt;p&gt;Open the ram eater, oops! I mean android studio and Firebase in the browser in the Firebase&lt;/p&gt;

&lt;h2&gt;
  
  
  Follow the steps
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Create a project on Firebase
&lt;/h3&gt;

&lt;p&gt;Open your Firebase account and click on Add project&lt;/p&gt;

&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%2Fidmmunw70tt06nsd50uw.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%2Fidmmunw70tt06nsd50uw.png" alt="Add project to firebase" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Project Name and other details
&lt;/h3&gt;

&lt;p&gt;Give your project a name in my case I have used the name “Test” and click on continue. &lt;br&gt;
For now, we will turn off google analytics and proceed, click on create a project and sit back and relax till Firebase creates your project.&lt;/p&gt;

&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%2Fsh0vumn2r43mulzxaja8.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%2Fsh0vumn2r43mulzxaja8.png" alt="Disable google analytics in Firebase" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Adding Firebase to App
&lt;/h3&gt;

&lt;p&gt;Click on the android icon and now we have a list of tasks to do.&lt;/p&gt;

&lt;p&gt;First, you fill in the package name, you can find the package name in the build.gradle, and in the file under the namespace, you can find your package name.&lt;/p&gt;

&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%2Fdbrlp7tk96464zarylx6.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%2Fdbrlp7tk96464zarylx6.png" alt="Adding android app to Firebase" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Well, some services of Firebase require a SHA1 key and I know it took me a while to out find how to get one. Fire up the android studio and open the run anything cmd execute to open “run anything” double press the Ctrl button and in the window type “signingReport” and hit enter.&lt;/p&gt;

&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%2Fosfzn3d4yftucg4q26gi.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%2Fosfzn3d4yftucg4q26gi.png" alt="Generating signingReport in android studio" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now a window will open and it will be showing your MD5, SHA1 and SHA256 keys from here copy SHA1 and paste it into the SHA1 input box on the firebase page.&lt;/p&gt;

&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%2Fx1rd46s1m1u9smh1ge5i.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%2Fx1rd46s1m1u9smh1ge5i.png" alt="Getting SHA1, SHA256 and MD5 keys" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, click on the register.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Add the config file
&lt;/h3&gt;

&lt;p&gt;Download the config file and copy it. Now open android studio and there change the view from android to project, move to the app &amp;gt; src directory, and paste the file here.&lt;/p&gt;

&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%2Fjuhy60i6nmupazw9tb2u.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%2Fjuhy60i6nmupazw9tb2u.png" alt="Adding google-service file in android projects" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now go to the Firebase page and click on next.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Add Firebase SDK
&lt;/h3&gt;

&lt;p&gt;In this step simply copy the dependencies mentioned and paste them into the mentioned Gradle files. You have two build.gradle file one is app level and another is module level.&lt;/p&gt;

&lt;p&gt;Note:- those who use Gradle 7.+ will not see any dependency section in the build script in the project-level Gradle file so simply add the dependency section.&lt;/p&gt;

&lt;p&gt;Now your app is successfully connected to firebase.&lt;/p&gt;

&lt;p&gt;To learn how to use Firebase services I suggest you build some projects using it and I think the notes application is one of the best projects beginner-level application that you can build to learn Firebase. Here are some suggestions use Firebase authentication to provide auth service to the app, use the cloud store as a database and store the notes of the user and just see some services like analytics, crash analytics, and messaging that Firebase provides, these services you will be needing when you publish your apps as these will allow you to monitor the crashes and app performance.&lt;/p&gt;

</description>
      <category>monitoring</category>
    </item>
    <item>
      <title>Blockchain App Development Roadmap</title>
      <dc:creator>Geekaid</dc:creator>
      <pubDate>Thu, 24 Nov 2022 06:22:15 +0000</pubDate>
      <link>https://dev.to/geekaid/blockchain-app-development-roadmap-50nf</link>
      <guid>https://dev.to/geekaid/blockchain-app-development-roadmap-50nf</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vRaWCIxy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/7680/0%2AgHQ0nuuQ2HLYiVgh" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vRaWCIxy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/7680/0%2AgHQ0nuuQ2HLYiVgh" alt="Photo by [Shubham Dhage](https://unsplash.com/@theshubhamdhage?utm_source=medium&amp;amp;utm_medium=referral) on [Unsplash](https://unsplash.com?utm_source=medium&amp;amp;utm_medium=referral)" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;h2&gt;
  
  
  what is Blockchain
&lt;/h2&gt;

&lt;p&gt;Blockchain is a method of saving information that makes it impossible or difficult for anyone to be changed, hacked, or manipulated. A blockchain is a distributed ledger that copies the ledger and sends that across the network of computers participating in the blockchain.&lt;/p&gt;

&lt;p&gt;There are two types of Blockchain developers&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Core Developers&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;App Developers&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Core Developers
&lt;/h3&gt;

&lt;p&gt;These developers focus on the architecture of a blockchain system. They design the protocols used by the network. They are the supervisor of the blockchain they take the most vital decisions related to the blockchain.&lt;/p&gt;

&lt;h3&gt;
  
  
  App developers
&lt;/h3&gt;

&lt;p&gt;These developers use existing blockchains and develop apps that use the blockchain as their back end. These developers are similar to web developers who use create some web applications.&lt;/p&gt;

&lt;p&gt;These app developers make decentralized apps also known as Dapps. They are responsible for the front end as well as the back end of the app.&lt;/p&gt;

&lt;h2&gt;
  
  
  Things you need to know before learning blockchain app development
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Languages to learn
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Solidity&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Javascript&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Solidity
&lt;/h3&gt;

&lt;p&gt;Solidity is a statically typed object-oriented programing language that is specially designed by the Ethereum network team for building smart contracts.&lt;br&gt;
It is used to create smart contracts that implement business logic.&lt;/p&gt;

&lt;p&gt;Solidity is the most famous language for developing smart contracts.&lt;/p&gt;

&lt;p&gt;you can learn solidity from solidity &lt;a href="https://docs.soliditylang.org/en/v0.8.17/"&gt;documentation&lt;/a&gt; and if you are not comfortable with using reading documentation and figuring out things on your own then you can refer to the &lt;a href="https://www.youtube.com/c/DappUniversity"&gt;dapp university&lt;/a&gt; youtube channel.&lt;/p&gt;

&lt;h3&gt;
  
  
  Javascript
&lt;/h3&gt;

&lt;p&gt;Javascript is one of the most popular programming languages. You will be using javascript front-end frameworks to build the UI part of the application. To use Node.js and other libraries like Web3.js. You will be using javascript to connect the back-end part of the app i.e blockchain to the front-end. In simple words, you will be using it to put life into the app.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tools you need
&lt;/h3&gt;

&lt;h3&gt;
  
  
  Truffle
&lt;/h3&gt;

&lt;p&gt;Truffle provides the development and testing environment using the Ethereum virtual machine (EVM). You will be using truffle to make smart contracts as the truffle slogan says “Smart contracts made sweeter”. Truffle comes with great features that will help you build dapps.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ganache
&lt;/h3&gt;

&lt;p&gt;Ganache is a tool used to set up your own local Ethereum blockchain that you can use to deploy your apps and test them. Ganache give 10 Ethereum wallets with some Ethereum that you can use to test your apps and don’t get happy here the Ethereum you get has no value it is only for testing purpose.&lt;/p&gt;

&lt;h3&gt;
  
  
  Metamask
&lt;/h3&gt;

&lt;p&gt;Metamask is a cryptocurrency wallet that enables its users to store ethers into it. Your web browser is incapable of communicating with dapps. The interaction between dapps happens in the form of transactions and Metamask helps us to do that. Metamask is used to interact with dapps.&lt;/p&gt;

&lt;p&gt;These are the tools you will be needing to start to learn and build apps, to summarise it you need to learn solidity and javascript for the programming part, you going to need truffle suite and Metamask to test out the smart contract you have written and the dapp.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
