

{"id":120050,"date":"2024-07-02T18:00:13","date_gmt":"2024-07-02T12:30:13","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=120050"},"modified":"2026-06-01T14:21:23","modified_gmt":"2026-06-01T08:51:23","slug":"flutter-calculator-app","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/flutter-calculator-app\/","title":{"rendered":"Flutter Project &#8211; Calculator App"},"content":{"rendered":"<p>Due to advancements in Flutter in recent years, several startups and organizations have been using it to create their apps. Flutter&#8217;s flexibility allows for the use of a single codebase to build apps on Android and iOS. Therefore, it is important to learn Flutter nowadays.<\/p>\n<p>In this project, we will be working on making a Calculator in Flutter. The app will have the basic functionalities of a calculator, like addition, subtraction, multiplication, division, deletion, etc.<\/p>\n<p>Through this Flutter Calculator App project, we will get to know various varieties of widgets like GridView builder, Customized button, etc, which will be used to develop this app in Flutter.<\/p>\n<p>So, let\u2019s dive in!<\/p>\n<h2>Prerequisites For Calculator App Using Flutter<\/h2>\n<p><strong>Before starting the project, you should have the following installed on your computer:-<\/strong><\/p>\n<p><strong>(i) Flutter &#8211;<\/strong> You can refer to the link for installing <a href=\"https:\/\/docs.flutter.dev\/get-started\/install\">Flutter<\/a> depending on your operating system.<br \/>\n<strong>(ii) Android Studio &#8211;<\/strong> This is necessary as it will be used to run app in the <a href=\"https:\/\/developer.android.com\/studio\">Android<\/a> emulator.<br \/>\n<strong>(iii) Visual Studio Code &#8211;<\/strong> Although this is not necessary, you can also build apps in Android Studio. But in our case we have used <a href=\"https:\/\/code.visualstudio.com\/download\">VS code<\/a> as it is a good code editor.<\/p>\n<p>Now that the setup is ready, let\u2019s get started!<\/p>\n<h3>Download Flutter Calculator App Project<\/h3>\n<p>Please download the source code of Flutter Calculator App Project: <a href=\"https:\/\/drive.google.com\/file\/d\/1uCLNXz97EsTLU4Ybh3fGbs53bWGPbIw4\/view?usp=drive_link\"><strong>Flutter Calculator App Project Code.<\/strong><\/a><\/p>\n<h3>Create New Project<\/h3>\n<p>First, let\u2019s create a new project for the App.<br \/>\nGo to the directory on your terminal\/command-line and enter the command $flutter create \u201cProject-Name\u201d.<br \/>\nHere as you can see from the below image, I am using the project-name as a calculator.<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/flutter-create-calcutator.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-132535 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/flutter-create-calcutator.webp\" alt=\"flutter create calcutator\" width=\"473\" height=\"57\" \/><\/a><\/p>\n<h3>Steps to Build Flutter Calculator App<\/h3>\n<h4>1. Creating Main Layout for the App<\/h4>\n<p>Let\u2019s start with creating the main layout of the page. The below image shows the main.dart file which first executes when the app runs. Here we have set the background color for the AppBar as an Orange accent and background for the home page as black with a little white added to it. You can choose the colors according to your interest. Here, we have created a separate widget for HomeScreen, which is returned as the body for Scaffold.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">import 'package:flutter\/material.dart';\r\n\r\nimport '.\/home_screen.dart';\r\n\r\nvoid main() {\r\n  return runApp(\r\n    MaterialApp(\r\n      theme: ThemeData(primaryColor: Colors.orangeAccent),\r\n      home: Scaffold(\r\n        appBar: AppBar(\r\n          title: const Text('Calculator'),\r\n          backgroundColor: Colors.orangeAccent,\r\n        ),\r\n        backgroundColor: const Color.fromARGB(255, 20, 20, 20),\r\n        body: const HomeScreen(),\r\n      ),\r\n    ),\r\n  );\r\n}<\/pre>\n<h4>2. Building UI of HomeScreen<\/h4>\n<p>Next, we start building the UI of the HomeScreen. We have used Stateful Widget for HomeScreen as can be seen below, the reason for this is that the UI needed to update as the user makes new calculations. We have also initialized two variables, userInput and finalResult, which will store the input expression by the user and the result of the expression, respectively.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">class HomeScreen extends StatefulWidget {\r\n  const HomeScreen({super.key});\r\n\r\n  @override\r\n  State&lt;HomeScreen&gt; createState() {\r\n    return _HomeScreenState();\r\n  }\r\n}\r\n\r\nclass _HomeScreenState extends State&lt;HomeScreen&gt; {\r\n\r\n  \/\/ These are the buttons that will be displayed on the calculator\r\n  var buttons = [ 'AC', 'DEL', '%',  '\/', '7', '8', '9',  'x',  '4',  '5', '6', '-',  '1', '2', '3', '+', '', '0', '.', '='] ;\r\n  var userInput = '';\r\n  var finalResult = '';<\/pre>\n<p>The HomeScreen consists of two parts:-(i) The Display Screen and (ii) The Buttons to give Input. The below image shows the code for displaying part of the calculator. It consists of two text fields stored in a container, the input from the user and the result, which is displayed below. These two are stored in the Column widget as they need to be displayed vertically.<\/p>\n<p>The specifications like fontSize, color, padding , alignment can be seen from the code below.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">@override\r\n  Widget build(BuildContext context) {\r\n    return Column(\r\n      children: [\r\n        Expanded(\r\n          \/\/ Display part of the Calculator\r\n          child: Column(\r\n            mainAxisAlignment: MainAxisAlignment.spaceEvenly,\r\n            children: [\r\n              \/\/ Input from User\r\n              Container(\r\n                padding: const EdgeInsets.all(20),\r\n                alignment: Alignment.centerRight,\r\n                child: Text(\r\n                  userInput,\r\n                  style: const TextStyle(fontSize: 21, color: Colors.white),\r\n                ),\r\n              ),\r\n              \/\/ Answer to the Calculation\r\n              Container(\r\n                padding: const EdgeInsets.all(20),\r\n                alignment: Alignment.centerRight,\r\n                child: Text(\r\n                  finalResult,\r\n                  style: const TextStyle(fontSize: 24, color: Colors.white),\r\n                ),\r\n              ),\r\n            ],\r\n          ),\r\n        ),<\/pre>\n<p>Next, let\u2019s create the buttons part of the calculator through which the user will give input as numbers and various operators like +, &#8211; *, etc. Here, we have used GridView builder to create the view for buttons, as the buttons will be arranged in the form of a grid. We have used crossAxisCount in the SilverGridDelegate as 4 so that each row will contain four buttons.<\/p>\n<p>Using itemBuilder in GridView builder, we are returning the styled buttons where for each button we are passing the background color, text color, text and the function which will be executed when the button is pressed. Here StyledButton is a new widget which we have created, which is mentioned in the section.<\/p>\n<p>For each unique type of button like numbers or operators, different styling is done.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">\/\/ Buttons Part of the Calculator\r\n        Expanded(\r\n          flex: 2,\r\n          child: GridView.builder(\r\n            padding: const EdgeInsets.all(15),\r\n            itemCount: buttons.length,\r\n            gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(\r\n                crossAxisCount: 4, mainAxisSpacing: 15, crossAxisSpacing: 15),\r\n            itemBuilder: (BuildContext context, int index) {\r\n              \/\/ When button is 'AC'\r\n              if (index == 0) {\r\n                return StyledButton(\r\n                    bgColor: const Color.fromARGB(255, 174, 174, 174),\r\n                    textColor: Colors.black,\r\n                    text: buttons[index],\r\n                    func: () {\r\n                      setState(() {\r\n                        userInput = '';\r\n                        finalResult = '';\r\n                      });\r\n                    });\r\n              }\r\n              \/\/ When Button is 'DEL'\r\n              else if (index == 1) {\r\n                return StyledButton(\r\n                    bgColor: const Color.fromARGB(255, 174, 174, 174),\r\n                    textColor: Colors.black,\r\n                    text: buttons[index],\r\n                    func: () {\r\n                      setState(() {\r\n                        userInput =\r\n                            userInput.substring(0, userInput.length - 1);\r\n                      });\r\n                    });\r\n              }\r\n              \/\/When Button is '%'\r\n              else if (index == 2) {\r\n                return StyledButton(\r\n                    bgColor: const Color.fromARGB(255, 174, 174, 174),\r\n                    textColor: Colors.black,\r\n                    text: buttons[index],\r\n                    func: () {\r\n                      setState(() {\r\n                        userInput += buttons[index];\r\n                      });\r\n                    });\r\n              }\r\n              \/\/ When Button is '\/' , 'x', '-', '+'\r\n              else if (index == 3 || index == 7 || index == 11 || index == 15) {\r\n                return StyledButton(\r\n                    bgColor: Colors.orangeAccent,\r\n                    textColor: Colors.white,\r\n                    text: buttons[index],\r\n                    func: () {\r\n                      setState(() {\r\n                        userInput += buttons[index];\r\n                      });\r\n                    });\r\n              }\r\n              \/\/ When Button is '='\r\n              else if (index == 19) {\r\n                return StyledButton(\r\n                    bgColor: Colors.orangeAccent,\r\n                    textColor: Colors.white,\r\n                    text: buttons[index],\r\n                    func: () {\r\n                      setState(() {\r\n                        finalResult = evaluate(userInput);\r\n                      });\r\n                    });\r\n              }\r\n              \/\/ For the remaining buttons\r\n              else {\r\n                return StyledButton(\r\n                    bgColor: const Color.fromARGB(221, 52, 51, 51),\r\n                    textColor: Colors.white,\r\n                    text: buttons[index],\r\n                    func: () {\r\n                      setState(() {\r\n                        userInput += buttons[index];\r\n                      });\r\n                    });\r\n              }\r\n            },\r\n          ),\r\n        ),<\/pre>\n<h4>3. Styling of Button<\/h4>\n<p>The below code shows the styling of the button used in the calculator for which we have created a new widget. Here we are returning a GestureDetector as a button which takes the shape of a circle using the CircleAvatar widget. The font size is set to 26. The widget accepts the background color, text color, and text to be displayed as well as the function in its constructor function.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">import 'package:flutter\/material.dart';\r\n\r\nclass StyledButton extends StatelessWidget {\r\n  const StyledButton(\r\n      {required this.bgColor,\r\n      required this.textColor,\r\n      required this.text,\r\n      required this.func,\r\n      super.key});\r\n\r\n  final Color bgColor;\r\n  final Color textColor;\r\n  final String text;\r\n  final func;\r\n\r\n  @override\r\n  Widget build(BuildContext context) {\r\n    return GestureDetector(\r\n      onTap: func,\r\n      child: CircleAvatar(\r\n        radius: 20,\r\n        backgroundColor: bgColor,\r\n        child: Text(\r\n          text,\r\n          style: TextStyle(\r\n              color: textColor, fontSize: 26, fontWeight: FontWeight.w600),\r\n        ),\r\n      ),\r\n    );\r\n  }\r\n}<\/pre>\n<h4>4. Function to Evaluate Expression<\/h4>\n<p>Here we have used the math expressions library available in Flutter for calculating the expression given by the user. As can be seen below before giving the input to the parser, the \u2018x\u2019 sign in the expression is replaced by the \u2018*\u2019 sign as the library recognizes the latter for multiplication. Then the expression is evaluated using the ContextModel.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">import 'package:math_expressions\/math_expressions.dart';\r\n\r\nString evaluate(String exp) {\r\n  String expModified = exp.replaceAll('x', '*');\r\n\r\n  Parser p = Parser();\r\n  Expression calc = p.parse(expModified);\r\n\r\n  ContextModel cm = ContextModel();\r\n  num eval = calc.evaluate(EvaluationType.REAL, cm);\r\n  String result = eval.toString();\r\n\r\n  return '= $result';\r\n}<\/pre>\n<h3>Flutter Calculator App Output<\/h3>\n<p><strong>1. Multiplication<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/flutter-claculator-app-output.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-132527 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/flutter-claculator-app-output.webp\" alt=\"flutter claculator app output\" width=\"300\" height=\"557\" \/><\/a><\/p>\n<p><strong>2. Divison<\/strong><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/flutter-claculator-app.webp\"><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-132528 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/flutter-claculator-app.webp\" alt=\"flutter claculator app\" width=\"300\" height=\"568\" \/><\/a><\/p>\n<p><strong>3. Addition<\/strong><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/output-flutter-claculator-app.webp\"><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-132529 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/output-flutter-claculator-app.webp\" alt=\"output flutter claculator app \" width=\"300\" height=\"498\" \/><\/a><\/p>\n<h3><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/flutter-claculator.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-132530 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/flutter-claculator.webp\" alt=\"flutter claculator\" width=\"300\" height=\"558\" \/><\/a><\/h3>\n<h3>Conclusion<\/h3>\n<p>I hope through this article, you get to know how to build a calculator in Flutter and the various components included in building it like GridView builder, Custom Styled Buttons, function to evaluate mathematical expressions and much more.<\/p>\n<p>Thank you for reading! Keep Learning Flutter!<span hidden class=\"__iawmlf-post-loop-links\" data-iawmlf-links=\"[{&quot;id&quot;:104,&quot;href&quot;:&quot;https:\\\/\\\/docs.flutter.dev\\\/get-started\\\/install&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20250914042324\\\/https:\\\/\\\/docs.flutter.dev\\\/get-started\\\/install&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2025-12-05 21:21:00&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-10 11:35:53&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-13 15:22:01&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-16 23:25:27&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-20 05:48:48&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-23 20:06:31&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-27 02:37:50&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-30 06:04:07&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-03 08:38:13&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-06 15:40:23&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-10 16:01:56&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-14 09:38:23&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-17 17:00:08&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-21 03:52:14&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-24 14:31:20&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-29 04:30:04&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-02 06:09:04&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-06 16:05:19&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-11 06:18:59&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-15 16:39:34&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-23 19:54:37&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-27 11:36:36&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-03 02:56:23&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-07 21:41:59&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-11 19:44:31&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-15 11:06:43&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-22 12:54:22&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-26 02:54:47&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-02 13:36:10&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-06 15:34:06&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-10 06:29:56&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-13 12:55:56&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-18 07:13:02&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-21 08:07:48&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-26 16:50:52&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-29 22:58:23&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-03 15:32:29&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-06 23:55:20&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-12 01:48:22&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-15 20:55:56&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-19 17:46:14&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-22 18:34:44&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-26 13:42:37&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-31 15:28:25&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-05 03:46:23&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-08 15:19:03&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-13 01:12:06&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-16 02:14:19&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-20 07:49:46&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-23 19:18:06&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-28 04:16:03&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-07-02 02:12:43&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-07-06 12:41:42&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-07-12 15:36:12&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-07-16 08:55:42&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-07-20 05:29:30&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-07-25 11:05:10&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-07-29 03:30:39&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-07-29 03:30:39&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:105,&quot;href&quot;:&quot;https:\\\/\\\/developer.android.com\\\/studio&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20251202124635\\\/https:\\\/\\\/developer.android.com\\\/studio&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2025-12-05 21:21:07&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2025-12-09 10:52:29&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2025-12-12 14:56:07&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2025-12-16 00:19:09&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2025-12-19 07:25:53&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2025-12-22 10:42:11&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2025-12-26 03:17:56&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2025-12-29 06:25:55&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-01-01 10:52:49&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-01-04 17:32:46&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-01-08 15:52:46&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-11 22:04:15&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-01-15 00:17:50&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-01-18 14:43:54&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-01-22 12:08:47&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-01-25 13:13:07&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-01-29 01:03:13&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-02-01 18:04:59&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-02-05 06:37:55&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-02-08 09:12:53&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-02-11 13:41:30&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-02-15 11:39:22&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-02-18 13:52:15&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-02-21 16:17:18&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-02-25 02:36:20&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-02-28 05:56:50&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-03-03 14:23:47&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-03-07 01:25:34&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-03-10 10:45:18&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-03-13 23:35:02&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-03-17 04:39:01&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-03-20 04:41:40&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-03-23 06:47:41&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-03-26 17:19:43&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-03-30 07:29:08&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-02 13:36:10&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-05 18:44:52&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-08 20:57:23&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-11 22:58:17&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-15 10:52:19&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-18 16:28:10&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-22 05:16:23&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-26 02:09:28&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-29 08:32:16&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-05-02 14:37:35&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-05-05 17:27:15&quot;,&quot;http_code&quot;:429},{&quot;date&quot;:&quot;2026-05-09 00:11:31&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-05-12 03:42:11&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-05-15 05:35:22&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-05-19 07:55:47&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-05-22 16:31:55&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-05-26 13:42:38&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-05-30 15:02:52&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-06-02 16:31:52&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-06-06 12:02:38&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-06-10 16:59:14&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-06-13 18:01:54&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-06-17 05:27:52&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-06-22 00:49:18&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-06-26 11:58:19&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-06-29 14:46:02&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-07-03 00:52:42&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-07-06 04:29:00&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-07-09 04:45:32&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-07-12 15:36:13&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-07-16 00:31:42&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-07-19 01:47:51&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-07-22 03:28:21&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-07-25 23:34:00&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-07-29 03:24:00&quot;,&quot;http_code&quot;:503}],&quot;broken&quot;:true,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-07-29 03:24:00&quot;,&quot;http_code&quot;:503},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:106,&quot;href&quot;:&quot;https:\\\/\\\/code.visualstudio.com\\\/download&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20251204121135\\\/https:\\\/\\\/code.visualstudio.com\\\/download&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2025-12-05 21:21:11&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-09 06:36:09&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-13 13:39:51&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-16 16:39:19&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-20 05:48:47&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-23 15:52:52&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-26 16:42:55&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-30 06:04:07&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-03 08:38:13&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-06 11:44:47&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-09 15:03:55&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-12 17:34:08&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-16 07:23:38&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-19 08:10:24&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-22 12:08:46&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-25 13:13:06&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-28 16:33:40&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-02 06:09:04&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-05 11:09:13&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-10 05:12:37&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-13 09:16:38&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-16 09:57:52&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-20 19:12:00&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-24 07:09:55&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-27 11:07:37&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-03 02:56:23&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-06 10:14:55&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-10 09:42:31&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-13 21:54:55&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-17 09:04:15&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-22 09:38:30&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-25 18:47:58&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-29 09:14:33&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-01 13:26:26&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-05 13:53:54&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-08 14:38:46&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-12 03:23:57&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-15 10:52:19&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-18 16:28:11&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-22 05:16:24&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-25 15:25:43&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-28 18:00:52&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-02 00:06:57&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-05 06:50:53&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-11 05:39:12&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-14 08:20:31&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-17 14:13:55&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-21 06:49:17&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-25 07:48:29&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-28 08:01:28&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-31 15:28:21&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-03 17:34:37&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-06 23:32:44&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-10 14:18:20&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-13 15:09:34&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-17 05:27:51&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-21 17:20:09&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-26 11:58:19&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-30 04:57:07&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-07-03 05:35:31&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-07-06 12:41:44&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-07-10 06:52:21&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-07-13 16:40:15&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-07-17 00:33:35&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-07-20 06:17:52&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-07-24 11:50:09&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-07-28 01:32:41&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-07-28 01:32:41&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:2611,&quot;href&quot;:&quot;https:\\\/\\\/drive.google.com\\\/file\\\/d\\\/1uCLNXz97EsTLU4Ybh3fGbs53bWGPbIw4\\\/view?usp=drive_link&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20260601085203\\\/https:\\\/\\\/drive.google.com\\\/file\\\/d\\\/1uCLNXz97EsTLU4Ybh3fGbs53bWGPbIw4\\\/view?usp=drive_link&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-06-02 08:33:38&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-05 09:40:10&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-10 16:59:13&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-17 11:47:24&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-23 19:18:05&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-29 06:51:08&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-07-05 00:12:59&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-07-08 03:22:53&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-07-12 15:36:13&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-07-19 01:47:51&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-07-22 09:30:52&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-07-29 03:30:40&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-07-29 03:30:40&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;}]\"><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Due to advancements in Flutter in recent years, several startups and organizations have been using it to create their apps. Flutter&#8217;s flexibility allows for the use of a single codebase to build apps on&#46;&#46;&#46;<\/p>\n","protected":false},"author":86671,"featured_media":132526,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[28289],"tags":[30255,30254,30257,30249,30253,30256,30251,30252,30250],"class_list":["post-120050","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-flutter-tutorials","tag-calculator-app","tag-calculator-app-using-flutter","tag-calculator-project","tag-flutter","tag-flutter-calculator-app","tag-flutter-calculator-app-project","tag-flutter-project-for-practice","tag-flutter-project-ideas","tag-flutter-projects"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Flutter Project - Calculator App - DataFlair<\/title>\n<meta name=\"description\" content=\"The app will have the basic functionalities of a calculator like addition, subtraction, multiplication, division or deletion etc.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/flutter-calculator-app\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Flutter Project - Calculator App - DataFlair\" \/>\n<meta property=\"og:description\" content=\"The app will have the basic functionalities of a calculator like addition, subtraction, multiplication, division or deletion etc.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/flutter-calculator-app\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-07-02T12:30:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-01T08:51:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/flutter-calculator-app.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"TechVidvan Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"TechVidvan Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Flutter Project - Calculator App - DataFlair","description":"The app will have the basic functionalities of a calculator like addition, subtraction, multiplication, division or deletion etc.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/data-flair.training\/blogs\/flutter-calculator-app\/","og_locale":"en_US","og_type":"article","og_title":"Flutter Project - Calculator App - DataFlair","og_description":"The app will have the basic functionalities of a calculator like addition, subtraction, multiplication, division or deletion etc.","og_url":"https:\/\/data-flair.training\/blogs\/flutter-calculator-app\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2024-07-02T12:30:13+00:00","article_modified_time":"2026-06-01T08:51:23+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/flutter-calculator-app.webp","type":"image\/webp"}],"author":"TechVidvan Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"TechVidvan Team","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/flutter-calculator-app\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/flutter-calculator-app\/"},"author":{"name":"TechVidvan Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/0e594f928e31fc96628ac40f6ae74f49"},"headline":"Flutter Project &#8211; Calculator App","datePublished":"2024-07-02T12:30:13+00:00","dateModified":"2026-06-01T08:51:23+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/flutter-calculator-app\/"},"wordCount":841,"commentCount":0,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/flutter-calculator-app\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/flutter-calculator-app.webp","keywords":["calculator app","calculator app using flutter","calculator project","flutter","flutter calculator app","flutter calculator app project","flutter project for practice","flutter project ideas","flutter projects"],"articleSection":["Flutter Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/flutter-calculator-app\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/flutter-calculator-app\/","url":"https:\/\/data-flair.training\/blogs\/flutter-calculator-app\/","name":"Flutter Project - Calculator App - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/flutter-calculator-app\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/flutter-calculator-app\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/flutter-calculator-app.webp","datePublished":"2024-07-02T12:30:13+00:00","dateModified":"2026-06-01T08:51:23+00:00","description":"The app will have the basic functionalities of a calculator like addition, subtraction, multiplication, division or deletion etc.","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/flutter-calculator-app\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/flutter-calculator-app\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/flutter-calculator-app\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/flutter-calculator-app.webp","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/flutter-calculator-app.webp","width":1200,"height":628,"caption":"flutter calculator app"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/flutter-calculator-app\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"Flutter Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/flutter-tutorials\/"},{"@type":"ListItem","position":3,"name":"Flutter Project &#8211; Calculator App"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/0e594f928e31fc96628ac40f6ae74f49","name":"TechVidvan Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/c89190da3d4010c71ba476b618ab10fdc2335c82cdfa0ad5002d98d0f2473444?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c89190da3d4010c71ba476b618ab10fdc2335c82cdfa0ad5002d98d0f2473444?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c89190da3d4010c71ba476b618ab10fdc2335c82cdfa0ad5002d98d0f2473444?s=96&d=mm&r=g","caption":"TechVidvan Team"},"description":"TechVidvan Team provides high-quality content &amp; courses on AI, ML, Data Science, Data Engineering, Data Analytics, programming, Python, DSA, Android, Flutter, full stack web dev, MERN, and many latest technology.","url":"https:\/\/data-flair.training\/blogs\/author\/test001\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/120050","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/86671"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=120050"}],"version-history":[{"count":13,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/120050\/revisions"}],"predecessor-version":[{"id":148701,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/120050\/revisions\/148701"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/132526"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=120050"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=120050"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=120050"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}