├── ios
├── Flutter
│ ├── Debug.xcconfig
│ ├── Release.xcconfig
│ └── AppFrameworkInfo.plist
├── Runner
│ ├── Runner-Bridging-Header.h
│ ├── Assets.xcassets
│ │ ├── LaunchImage.imageset
│ │ │ ├── LaunchImage.png
│ │ │ ├── LaunchImage@2x.png
│ │ │ ├── LaunchImage@3x.png
│ │ │ ├── README.md
│ │ │ └── Contents.json
│ │ └── AppIcon.appiconset
│ │ │ ├── Icon-App-20x20@1x.png
│ │ │ ├── Icon-App-20x20@2x.png
│ │ │ ├── Icon-App-20x20@3x.png
│ │ │ ├── Icon-App-29x29@1x.png
│ │ │ ├── Icon-App-29x29@2x.png
│ │ │ ├── Icon-App-29x29@3x.png
│ │ │ ├── Icon-App-40x40@1x.png
│ │ │ ├── Icon-App-40x40@2x.png
│ │ │ ├── Icon-App-40x40@3x.png
│ │ │ ├── Icon-App-60x60@2x.png
│ │ │ ├── Icon-App-60x60@3x.png
│ │ │ ├── Icon-App-76x76@1x.png
│ │ │ ├── Icon-App-76x76@2x.png
│ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ ├── Icon-App-83.5x83.5@2x.png
│ │ │ └── Contents.json
│ ├── AppDelegate.swift
│ ├── Base.lproj
│ │ ├── Main.storyboard
│ │ └── LaunchScreen.storyboard
│ └── Info.plist
├── Runner.xcodeproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ ├── WorkspaceSettings.xcsettings
│ │ │ └── IDEWorkspaceChecks.plist
│ ├── xcshareddata
│ │ └── xcschemes
│ │ │ └── Runner.xcscheme
│ └── project.pbxproj
├── Runner.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ ├── WorkspaceSettings.xcsettings
│ │ └── IDEWorkspaceChecks.plist
├── RunnerTests
│ └── RunnerTests.swift
└── .gitignore
├── images
├── eg1.jpg
├── appLogo.png
├── unit_1
│ ├── eg4.png
│ ├── eg5.png
│ ├── eg6.png
│ ├── eg.3.png
│ ├── eg222.jpg
│ └── data_dbms.jpg
├── unit_3
│ ├── e1.png
│ ├── e10.png
│ ├── e11.png
│ ├── e12.png
│ ├── e13.png
│ ├── e14.png
│ ├── e15.png
│ ├── e16.png
│ ├── e2.png
│ ├── e3.png
│ ├── e4.png
│ ├── e5.png
│ ├── e6.png
│ ├── e7.png
│ ├── e8.png
│ ├── e9.png
│ ├── js.jpg
│ ├── sql.jpg
│ └── html.jpg
├── unit_4
│ ├── p1.png
│ ├── p2.png
│ ├── p3.png
│ ├── p4.png
│ ├── p5.png
│ ├── p6.png
│ ├── eg_1.png
│ └── file-handling.png
├── unit_5
│ ├── eg11.png
│ └── eg22.png
├── unit_6
│ ├── sdlc.png
│ ├── prototype.png
│ ├── sprialmodel.png
│ ├── component_system.png
│ ├── informationsystem.png
│ └── software_develop.png
├── unit_2
│ ├── simplex.jpg
│ ├── fullDuplex.png
│ ├── half-duplex.jpg
│ └── internet_intranet.jpg
└── loading.json
├── screenshots
├── img1.png
├── img2.png
├── img3.png
└── project-6.png
├── fonts
├── Poppins-Regular.ttf
└── Ubuntu-Regular.ttf
├── analysis_options.yaml
├── android
├── app
│ ├── src
│ │ ├── main
│ │ │ ├── res
│ │ │ │ ├── appstore.png
│ │ │ │ ├── playstore.png
│ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ ├── drawable
│ │ │ │ │ └── launch_background.xml
│ │ │ │ ├── drawable-v21
│ │ │ │ │ └── launch_background.xml
│ │ │ │ ├── values
│ │ │ │ │ └── styles.xml
│ │ │ │ └── values-night
│ │ │ │ │ └── styles.xml
│ │ │ ├── kotlin
│ │ │ │ └── com
│ │ │ │ │ └── example
│ │ │ │ │ └── computer_12
│ │ │ │ │ └── MainActivity.kt
│ │ │ └── AndroidManifest.xml
│ │ ├── debug
│ │ │ └── AndroidManifest.xml
│ │ └── profile
│ │ │ └── AndroidManifest.xml
│ └── build.gradle
├── gradle.properties
├── gradle
│ └── wrapper
│ │ └── gradle-wrapper.properties
├── .gitignore
├── build.gradle
└── settings.gradle
├── lib
├── constant
│ └── const.dart
├── views
│ ├── components
│ │ ├── footer.dart
│ │ ├── drawer
│ │ │ ├── menu.dart
│ │ │ └── header.dart
│ │ ├── app_bar.dart
│ │ ├── headings.dart
│ │ ├── banner_ad_helper.dart
│ │ ├── cards.dart
│ │ ├── interstitial_ad.dart
│ │ └── custom_drawer.dart
│ ├── main_screen.dart
│ ├── topics
│ │ └── topics.dart
│ ├── drawer
│ │ └── drawer.dart
│ └── pages
│ │ ├── unit4.dart
│ │ ├── unit5.dart
│ │ └── unit3.dart
├── splash_screen.dart
├── providers
│ ├── rating_providers.dart
│ └── privacy_policy_provider.dart
├── main.dart
├── widgets
│ └── widgets.dart
└── strings
│ └── string_unit2.dart
├── .gitignore
├── pubspec.yaml
├── LICENSE
├── .metadata
├── README.md
└── pubspec.lock
/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Generated.xcconfig"
2 |
--------------------------------------------------------------------------------
/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Generated.xcconfig"
2 |
--------------------------------------------------------------------------------
/ios/Runner/Runner-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | #import "GeneratedPluginRegistrant.h"
2 |
--------------------------------------------------------------------------------
/images/eg1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/eg1.jpg
--------------------------------------------------------------------------------
/images/appLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/appLogo.png
--------------------------------------------------------------------------------
/images/unit_1/eg4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_1/eg4.png
--------------------------------------------------------------------------------
/images/unit_1/eg5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_1/eg5.png
--------------------------------------------------------------------------------
/images/unit_1/eg6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_1/eg6.png
--------------------------------------------------------------------------------
/images/unit_3/e1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_3/e1.png
--------------------------------------------------------------------------------
/images/unit_3/e10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_3/e10.png
--------------------------------------------------------------------------------
/images/unit_3/e11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_3/e11.png
--------------------------------------------------------------------------------
/images/unit_3/e12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_3/e12.png
--------------------------------------------------------------------------------
/images/unit_3/e13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_3/e13.png
--------------------------------------------------------------------------------
/images/unit_3/e14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_3/e14.png
--------------------------------------------------------------------------------
/images/unit_3/e15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_3/e15.png
--------------------------------------------------------------------------------
/images/unit_3/e16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_3/e16.png
--------------------------------------------------------------------------------
/images/unit_3/e2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_3/e2.png
--------------------------------------------------------------------------------
/images/unit_3/e3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_3/e3.png
--------------------------------------------------------------------------------
/images/unit_3/e4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_3/e4.png
--------------------------------------------------------------------------------
/images/unit_3/e5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_3/e5.png
--------------------------------------------------------------------------------
/images/unit_3/e6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_3/e6.png
--------------------------------------------------------------------------------
/images/unit_3/e7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_3/e7.png
--------------------------------------------------------------------------------
/images/unit_3/e8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_3/e8.png
--------------------------------------------------------------------------------
/images/unit_3/e9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_3/e9.png
--------------------------------------------------------------------------------
/images/unit_3/js.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_3/js.jpg
--------------------------------------------------------------------------------
/images/unit_3/sql.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_3/sql.jpg
--------------------------------------------------------------------------------
/images/unit_4/p1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_4/p1.png
--------------------------------------------------------------------------------
/images/unit_4/p2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_4/p2.png
--------------------------------------------------------------------------------
/images/unit_4/p3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_4/p3.png
--------------------------------------------------------------------------------
/images/unit_4/p4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_4/p4.png
--------------------------------------------------------------------------------
/images/unit_4/p5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_4/p5.png
--------------------------------------------------------------------------------
/images/unit_4/p6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_4/p6.png
--------------------------------------------------------------------------------
/screenshots/img1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/screenshots/img1.png
--------------------------------------------------------------------------------
/screenshots/img2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/screenshots/img2.png
--------------------------------------------------------------------------------
/screenshots/img3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/screenshots/img3.png
--------------------------------------------------------------------------------
/images/unit_1/eg.3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_1/eg.3.png
--------------------------------------------------------------------------------
/images/unit_1/eg222.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_1/eg222.jpg
--------------------------------------------------------------------------------
/images/unit_3/html.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_3/html.jpg
--------------------------------------------------------------------------------
/images/unit_4/eg_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_4/eg_1.png
--------------------------------------------------------------------------------
/images/unit_5/eg11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_5/eg11.png
--------------------------------------------------------------------------------
/images/unit_5/eg22.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_5/eg22.png
--------------------------------------------------------------------------------
/images/unit_6/sdlc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_6/sdlc.png
--------------------------------------------------------------------------------
/fonts/Poppins-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/fonts/Poppins-Regular.ttf
--------------------------------------------------------------------------------
/fonts/Ubuntu-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/fonts/Ubuntu-Regular.ttf
--------------------------------------------------------------------------------
/images/unit_2/simplex.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_2/simplex.jpg
--------------------------------------------------------------------------------
/screenshots/project-6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/screenshots/project-6.png
--------------------------------------------------------------------------------
/images/unit_1/data_dbms.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_1/data_dbms.jpg
--------------------------------------------------------------------------------
/images/unit_2/fullDuplex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_2/fullDuplex.png
--------------------------------------------------------------------------------
/images/unit_6/prototype.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_6/prototype.png
--------------------------------------------------------------------------------
/analysis_options.yaml:
--------------------------------------------------------------------------------
1 | analyzer:
2 | errors:
3 | must_be_immutable: ignore
4 | include: package:flutter_lints/flutter.yaml
5 |
--------------------------------------------------------------------------------
/images/unit_2/half-duplex.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_2/half-duplex.jpg
--------------------------------------------------------------------------------
/images/unit_4/file-handling.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_4/file-handling.png
--------------------------------------------------------------------------------
/images/unit_6/sprialmodel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_6/sprialmodel.png
--------------------------------------------------------------------------------
/images/unit_2/internet_intranet.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_2/internet_intranet.jpg
--------------------------------------------------------------------------------
/images/unit_6/component_system.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_6/component_system.png
--------------------------------------------------------------------------------
/images/unit_6/informationsystem.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_6/informationsystem.png
--------------------------------------------------------------------------------
/images/unit_6/software_develop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/images/unit_6/software_develop.png
--------------------------------------------------------------------------------
/android/app/src/main/res/appstore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/android/app/src/main/res/appstore.png
--------------------------------------------------------------------------------
/android/app/src/main/res/playstore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/android/app/src/main/res/playstore.png
--------------------------------------------------------------------------------
/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx4G -XX:+HeapDumpOnOutOfMemoryError
2 | android.useAndroidX=true
3 | android.enableJetifier=true
4 |
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
--------------------------------------------------------------------------------
/android/app/src/main/kotlin/com/example/computer_12/MainActivity.kt:
--------------------------------------------------------------------------------
1 | package com.example.computer_12
2 |
3 | import io.flutter.embedding.android.FlutterActivity
4 |
5 | class MainActivity: FlutterActivity()
6 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nishan-Pradhan06/Flutter_E-Note-App/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | zipStoreBase=GRADLE_USER_HOME
4 | zipStorePath=wrapper/dists
5 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-all.zip
6 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/android/.gitignore:
--------------------------------------------------------------------------------
1 | gradle-wrapper.jar
2 | /.gradle
3 | /captures/
4 | /gradlew
5 | /gradlew.bat
6 | /local.properties
7 | GeneratedPluginRegistrant.java
8 |
9 | # Remember to never publicly share your keystore.
10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
11 | key.properties
12 | **/*.keystore
13 | **/*.jks
14 |
--------------------------------------------------------------------------------
/ios/RunnerTests/RunnerTests.swift:
--------------------------------------------------------------------------------
1 | import Flutter
2 | import UIKit
3 | import XCTest
4 |
5 | class RunnerTests: XCTestCase {
6 |
7 | func testExample() {
8 | // If you add code to the Runner application, consider adding tests here.
9 | // See https://developer.apple.com/documentation/xctest for more information about using XCTest.
10 | }
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/lib/constant/const.dart:
--------------------------------------------------------------------------------
1 | import 'package:url_launcher/url_launcher.dart';
2 |
3 | // URL Launcher
4 | void openURL(String url) => launchUrl(Uri.parse(url));
5 |
6 | // Github Link
7 | const String gitHub = 'https://github.com/Nishan-Pradhan06';
8 | const String mail = 'mailto:nishanpradhan500@gmail.com';
9 | const String website = 'https://cs-notes.nishanpradhan.com.np/';
10 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md:
--------------------------------------------------------------------------------
1 | # Launch Screen Assets
2 |
3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory.
4 |
5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
--------------------------------------------------------------------------------
/android/build.gradle:
--------------------------------------------------------------------------------
1 | allprojects {
2 | repositories {
3 | google()
4 | mavenCentral()
5 | }
6 | }
7 |
8 | rootProject.buildDir = "../build"
9 | subprojects {
10 | project.buildDir = "${rootProject.buildDir}/${project.name}"
11 | }
12 | subprojects {
13 | project.evaluationDependsOn(":app")
14 | }
15 |
16 | tasks.register("clean", Delete) {
17 | delete rootProject.buildDir
18 | }
19 |
--------------------------------------------------------------------------------
/android/app/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/android/app/src/profile/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/lib/views/components/footer.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class Footer extends StatelessWidget {
4 | const Footer({
5 | super.key,
6 | });
7 |
8 | @override
9 | Widget build(BuildContext context) {
10 | return const Text(
11 | '***END***',
12 | textAlign: TextAlign.center,
13 | style: TextStyle(
14 | fontSize: 24.0,
15 | fontWeight: FontWeight.bold,
16 | ),
17 | );
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/ios/Runner/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import Flutter
2 | import UIKit
3 |
4 | @UIApplicationMain
5 | @objc class AppDelegate: FlutterAppDelegate {
6 | override func application(
7 | _ application: UIApplication,
8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
9 | ) -> Bool {
10 | GeneratedPluginRegistrant.register(with: self)
11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions)
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-v21/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchImage.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchImage@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "LaunchImage@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/lib/splash_screen.dart:
--------------------------------------------------------------------------------
1 | import 'package:computer_12/main.dart';
2 | import 'package:flutter/material.dart';
3 | import 'package:lottie/lottie.dart';
4 | import 'package:animated_splash_screen/animated_splash_screen.dart';
5 |
6 | class SplashScreen extends StatelessWidget {
7 | const SplashScreen({super.key});
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return AnimatedSplashScreen(
12 | splash: Lottie.network(
13 | 'https://assets4.lottiefiles.com/packages/lf20_f4dmlwbs.json'),
14 | nextScreen: const MyApp(),
15 | );
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/ios/.gitignore:
--------------------------------------------------------------------------------
1 | **/dgph
2 | *.mode1v3
3 | *.mode2v3
4 | *.moved-aside
5 | *.pbxuser
6 | *.perspectivev3
7 | **/*sync/
8 | .sconsign.dblite
9 | .tags*
10 | **/.vagrant/
11 | **/DerivedData/
12 | Icon?
13 | **/Pods/
14 | **/.symlinks/
15 | profile
16 | xcuserdata
17 | **/.generated/
18 | Flutter/App.framework
19 | Flutter/Flutter.framework
20 | Flutter/Flutter.podspec
21 | Flutter/Generated.xcconfig
22 | Flutter/ephemeral/
23 | Flutter/app.flx
24 | Flutter/app.zip
25 | Flutter/flutter_assets/
26 | Flutter/flutter_export_environment.sh
27 | ServiceDefinitions.json
28 | Runner/GeneratedPluginRegistrant.*
29 |
30 | # Exceptions to above rules.
31 | !default.mode1v3
32 | !default.mode2v3
33 | !default.pbxuser
34 | !default.perspectivev3
35 |
--------------------------------------------------------------------------------
/lib/views/components/drawer/menu.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class MenuDrawer extends StatelessWidget {
4 | final IconData icon;
5 | final String title;
6 | final VoidCallback onTap;
7 |
8 | const MenuDrawer({
9 | super.key,
10 | required this.icon,
11 | required this.title,
12 | required this.onTap,
13 | });
14 |
15 | @override
16 | Widget build(BuildContext context) {
17 | return ListTile(
18 | leading: Icon(icon, color: Colors.black),
19 | title: Text(
20 | title,
21 | style: const TextStyle(
22 | fontSize: 15,
23 | fontWeight: FontWeight.bold,
24 | ),
25 | ),
26 | onTap: onTap,
27 | );
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/lib/views/main_screen.dart:
--------------------------------------------------------------------------------
1 | import 'package:computer_12/views/components/app_bar.dart';
2 | import 'package:computer_12/views/components/custom_drawer.dart';
3 | import 'package:computer_12/views/topics/topics.dart';
4 | import 'package:flutter/material.dart';
5 |
6 | class ActionButton extends StatelessWidget {
7 | const ActionButton({super.key});
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return const Scaffold(
12 | appBar: CustomAppBar(
13 | titleText: 'Computer Science',
14 | ),
15 | body: SizedBox(
16 | child: TopicsList(),
17 | ),
18 | backgroundColor: Color.fromARGB(130, 173, 223, 241),
19 | // bottomNavigationBar: BannerAdHelper(),
20 | drawer: CustomDrawerComponent(),
21 | );
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/lib/views/components/app_bar.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class CustomAppBar extends StatelessWidget implements PreferredSizeWidget {
4 | final String titleText;
5 |
6 | const CustomAppBar({super.key, required this.titleText});
7 |
8 | @override
9 | Widget build(BuildContext context) {
10 | return AppBar(
11 | elevation: 40.0,
12 | backgroundColor: const Color(0xff618989),
13 | centerTitle: true,
14 | title: Text(
15 | titleText,
16 | style: const TextStyle(
17 | color: Colors.white,
18 | fontSize: 25.0,
19 | fontWeight: FontWeight.bold,
20 | ),
21 | ),
22 | );
23 | }
24 |
25 | @override
26 | Size get preferredSize => const Size.fromHeight(kToolbarHeight);
27 | }
28 |
--------------------------------------------------------------------------------
/android/settings.gradle:
--------------------------------------------------------------------------------
1 | pluginManagement {
2 | def flutterSdkPath = {
3 | def properties = new Properties()
4 | file("local.properties").withInputStream { properties.load(it) }
5 | def flutterSdkPath = properties.getProperty("flutter.sdk")
6 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
7 | return flutterSdkPath
8 | }()
9 |
10 | includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
11 |
12 | repositories {
13 | google()
14 | mavenCentral()
15 | gradlePluginPortal()
16 | }
17 | }
18 |
19 | plugins {
20 | id "dev.flutter.flutter-plugin-loader" version "1.0.0"
21 | id "com.android.application" version "7.3.0" apply false
22 | id "org.jetbrains.kotlin.android" version "1.7.10" apply false
23 | }
24 |
25 | include ":app"
26 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Miscellaneous
2 | *.class
3 | *.log
4 | *.pyc
5 | *.swp
6 | .DS_Store
7 | .atom/
8 | .buildlog/
9 | .history
10 | .svn/
11 | migrate_working_dir/
12 |
13 | # IntelliJ related
14 | *.iml
15 | *.ipr
16 | *.iws
17 | .idea/
18 |
19 | # The .vscode folder contains launch configuration and tasks you configure in
20 | # VS Code which you may wish to be included in version control, so this line
21 | # is commented out by default.
22 | #.vscode/
23 |
24 | # Flutter/Dart/Pub related
25 | **/doc/api/
26 | **/ios/Flutter/.last_build_id
27 | .dart_tool/
28 | .flutter-plugins
29 | .flutter-plugins-dependencies
30 | .pub-cache/
31 | .pub/
32 | /build/
33 |
34 | # Symbolication related
35 | app.*.symbols
36 |
37 | # Obfuscation related
38 | app.*.map.json
39 |
40 | # Android Studio will place build artifacts here
41 | /android/app/debug
42 | /android/app/profile
43 | /android/app/release
44 |
--------------------------------------------------------------------------------
/ios/Flutter/AppFrameworkInfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | App
9 | CFBundleIdentifier
10 | io.flutter.flutter.app
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | App
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | MinimumOSVersion
24 | 12.0
25 |
26 |
27 |
--------------------------------------------------------------------------------
/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: computer_12
2 | description: "A new Flutter project."
3 | publish_to: "none"
4 | version: 0.1.0
5 |
6 | environment:
7 | sdk: ">=3.4.1 <4.0.0"
8 |
9 | dependencies:
10 | flutter:
11 | sdk: flutter
12 |
13 | share: ^2.0.4
14 | rating_dialog: ^2.0.4
15 | lottie: ^3.1.0
16 | animated_splash_screen: ^1.3.0
17 | bulleted_list: ^0.0.1+0.1a
18 | url_launcher: ^6.3.0
19 | # facebook_audience_network: ^1.0.1
20 | provider: ^6.1.2
21 |
22 | dev_dependencies:
23 | flutter_test:
24 | sdk: flutter
25 | flutter_lints: ^3.0.0
26 |
27 | flutter:
28 | uses-material-design: true
29 |
30 | assets:
31 | - images/
32 | - images/unit_1/
33 | - images/unit_2/
34 | - images/unit_4/
35 | - images/unit_5/
36 | - images/unit_6/
37 | - images/unit_3/
38 |
39 | fonts:
40 | - family: Poppins
41 | fonts:
42 | - asset: fonts/Poppins-Regular.ttf
43 |
--------------------------------------------------------------------------------
/lib/views/components/headings.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class TopicsHeadings extends StatelessWidget {
4 | final String unit;
5 | const TopicsHeadings({required this.unit, super.key});
6 |
7 | @override
8 | Widget build(BuildContext context) {
9 | return Column(
10 | children: [
11 | Padding(
12 | padding: const EdgeInsets.all(2.0),
13 | child: Text(
14 | unit,
15 | textAlign: TextAlign.center,
16 | style: const TextStyle(
17 | fontSize: 24.0,
18 | fontWeight: FontWeight.bold,
19 | ),
20 | ),
21 | ),
22 | const Text(
23 | 'Sources: Buddha Publication Pvt. Ltd.',
24 | textAlign: TextAlign.center,
25 | style: TextStyle(
26 | fontSize: 14.0,
27 | fontStyle: FontStyle.italic,
28 | ),
29 | ),
30 | ],
31 | );
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/lib/views/components/banner_ad_helper.dart:
--------------------------------------------------------------------------------
1 | // import 'package:facebook_audience_network/facebook_audience_network.dart';
2 | // import 'package:flutter/cupertino.dart';
3 |
4 | // class BannerAdHelper extends StatefulWidget {
5 | // const BannerAdHelper({super.key});
6 |
7 | // @override
8 | // State createState() => _BannerAdHelperState();
9 | // }
10 |
11 | // class _BannerAdHelperState extends State {
12 | // @override
13 | // void initState() {
14 | // super.initState();
15 | // FacebookAudienceNetwork.init(
16 | // testingId: "b9f2908b-1a6b-4a5b-b862-ded7ce289e41",
17 | // );
18 | // }
19 |
20 | // @override
21 | // Widget build(BuildContext context) {
22 | // return FacebookBannerAd(
23 | // placementId: "IMG_16_9_APP_INSTALL#2312433698835503_2964944860251047",
24 | // bannerSize: BannerSize.STANDARD,
25 | // listener: (result, value) {
26 | // debugPrint("Banner Ad: $result --> $value");
27 | // },
28 | // );
29 | // }
30 | // }
31 |
--------------------------------------------------------------------------------
/lib/views/components/cards.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class TopicsCards extends StatelessWidget {
4 | final String title;
5 | final VoidCallback onPressed;
6 | const TopicsCards({super.key, required this.title, required this.onPressed});
7 |
8 | @override
9 | Widget build(BuildContext context) {
10 | final screenSize = MediaQuery.of(context).size;
11 | double textSize = screenSize.width * 0.04;
12 | return GestureDetector(
13 | onTap: onPressed,
14 | child: Card(
15 | color: const Color(0xff618989),
16 | elevation: 5.0,
17 | child: Padding(
18 | padding: const EdgeInsets.all(30.0),
19 | child: Center(
20 | child: Text(
21 | title,
22 | style: TextStyle(
23 | fontSize: textSize,
24 | fontWeight: FontWeight.bold,
25 | color: Colors.black87,
26 | ),
27 | ),
28 | ),
29 | ),
30 | ),
31 | );
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
15 |
18 |
19 |
--------------------------------------------------------------------------------
/android/app/src/main/res/values-night/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
15 |
18 |
19 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2023 [Nishan-Pradhan]
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including the rights to use, copy, modify,
8 | merge, publish, distribute, sublicense, and/or sell copies of the Software,
9 | and to permit persons to whom the Software is furnished to do so, subject to
10 | the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS," WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/lib/views/components/drawer/header.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class CustomDrawerHeader extends StatelessWidget {
4 | const CustomDrawerHeader({super.key});
5 |
6 | @override
7 | Widget build(BuildContext context) {
8 | return UserAccountsDrawerHeader(
9 | accountName: const Text(
10 | 'Computer Science',
11 | textAlign: TextAlign.center,
12 | style: TextStyle(
13 | fontSize: 15,
14 | fontWeight: FontWeight.bold,
15 | ),
16 | ),
17 | accountEmail: const Text(
18 | 'Grade 12 New Curriculam Course Notes',
19 | style: TextStyle(
20 | fontSize: 15,
21 | fontWeight: FontWeight.bold,
22 | ),
23 | selectionColor: Colors.black,
24 | ),
25 | currentAccountPicture: CircleAvatar(
26 | child: ClipOval(
27 | child: Image.asset(
28 | 'images/appLogo.png',
29 | width: 95,
30 | height: 95,
31 | ),
32 | ),
33 | ),
34 | decoration: const BoxDecoration(
35 | color: Colors.lightBlue,
36 | image: DecorationImage(
37 | image: NetworkImage(
38 | 'https://images.unsplash.com/photo-1635350181304-be3f00f5af76?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1974&q=80',
39 | ),
40 | fit: BoxFit.cover,
41 | ),
42 | ),
43 | );
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/lib/providers/rating_providers.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:rating_dialog/rating_dialog.dart';
3 |
4 | class RatingProvider with ChangeNotifier {
5 | void showRatingDialog(BuildContext context) {
6 | showDialog(
7 | barrierDismissible: false,
8 | context: context,
9 | builder: (context) {
10 | return RatingDialog(
11 | initialRating: 1.0,
12 | title: const Text(
13 | 'Feedback',
14 | textHeightBehavior:
15 | TextHeightBehavior(applyHeightToFirstAscent: true),
16 | softWrap: true,
17 | textAlign: TextAlign.center,
18 | style: TextStyle(
19 | fontSize: 25,
20 | fontWeight: FontWeight.bold,
21 | ),
22 | ),
23 | message: const Text(
24 | 'Tap a star to set your rating. Add more description here if you want.',
25 | textAlign: TextAlign.center,
26 | style: TextStyle(fontSize: 14),
27 | ),
28 | image: Image.asset(
29 | "images/appLogo.png",
30 | height: 100.0,
31 | width: 100,
32 | ),
33 | starSize: 25,
34 | submitButtonText: 'Submit',
35 | commentHint: 'Tell Us Your Comments',
36 | onCancelled: () => debugPrint('Cancelled'),
37 | onSubmitted: (response) {
38 | debugPrint(
39 | 'Rating: ${response.rating}, Comment: ${response.comment}');
40 | },
41 | );
42 | },
43 | );
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/lib/views/components/interstitial_ad.dart:
--------------------------------------------------------------------------------
1 | // import 'package:facebook_audience_network/ad/ad_interstitial.dart';
2 | // import 'package:flutter/material.dart';
3 |
4 | // class InterstitialAdManager {
5 | // // Function to load and show the interstitial ad with a callback for when the ad is done loading
6 | // static void loadAndShowInterstitialAd(
7 | // BuildContext context, VoidCallback onAdComplete) {
8 | // showDialog(
9 | // context: context,
10 | // barrierDismissible: false,
11 | // builder: (context) {
12 | // return const Center(
13 | // child: CircularProgressIndicator(
14 | // color: Color(0xff618989),
15 | // ),
16 | // );
17 | // },
18 | // );
19 |
20 | // FacebookInterstitialAd.loadInterstitialAd(
21 | // placementId: "IMG_16_9_APP_INSTALL#299486252083346_299911042040867",
22 | // listener: (result, value) {
23 | // if (result == InterstitialAdResult.LOADED) {
24 | // Navigator.of(context).pop(); // Close the loading dialog
25 | // FacebookInterstitialAd.showInterstitialAd();
26 | // Future.delayed(const Duration(milliseconds: 500),
27 | // onAdComplete); // Call callback after the ad
28 | // } else if (result == InterstitialAdResult.DISMISSED ||
29 | // result == InterstitialAdResult.ERROR) {
30 | // Navigator.of(context)
31 | // .pop(); // Close the loading dialog in case of error or dismissal
32 | // onAdComplete(); // Continue to the next page if the ad fails or is dismissed
33 | // }
34 | // },
35 | // );
36 | // }
37 | // }
38 |
--------------------------------------------------------------------------------
/ios/Runner/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/ios/Runner/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleDisplayName
8 | Computer 12
9 | CFBundleExecutable
10 | $(EXECUTABLE_NAME)
11 | CFBundleIdentifier
12 | $(PRODUCT_BUNDLE_IDENTIFIER)
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | computer_12
17 | CFBundlePackageType
18 | APPL
19 | CFBundleShortVersionString
20 | $(FLUTTER_BUILD_NAME)
21 | CFBundleSignature
22 | ????
23 | CFBundleVersion
24 | $(FLUTTER_BUILD_NUMBER)
25 | LSRequiresIPhoneOS
26 |
27 | UILaunchStoryboardName
28 | LaunchScreen
29 | UIMainStoryboardFile
30 | Main
31 | UISupportedInterfaceOrientations
32 |
33 | UIInterfaceOrientationPortrait
34 | UIInterfaceOrientationLandscapeLeft
35 | UIInterfaceOrientationLandscapeRight
36 |
37 | UISupportedInterfaceOrientations~ipad
38 |
39 | UIInterfaceOrientationPortrait
40 | UIInterfaceOrientationPortraitUpsideDown
41 | UIInterfaceOrientationLandscapeLeft
42 | UIInterfaceOrientationLandscapeRight
43 |
44 | CADisableMinimumFrameDurationOnPhone
45 |
46 | UIApplicationSupportsIndirectInputEvents
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/.metadata:
--------------------------------------------------------------------------------
1 | # This file tracks properties of this Flutter project.
2 | # Used by Flutter tool to assess capabilities and perform upgrades etc.
3 | #
4 | # This file should be version controlled and should not be manually edited.
5 |
6 | version:
7 | revision: "a14f74ff3a1cbd521163c5f03d68113d50af93d3"
8 | channel: "stable"
9 |
10 | project_type: app
11 |
12 | # Tracks metadata for the flutter migrate command
13 | migration:
14 | platforms:
15 | - platform: root
16 | create_revision: a14f74ff3a1cbd521163c5f03d68113d50af93d3
17 | base_revision: a14f74ff3a1cbd521163c5f03d68113d50af93d3
18 | - platform: android
19 | create_revision: a14f74ff3a1cbd521163c5f03d68113d50af93d3
20 | base_revision: a14f74ff3a1cbd521163c5f03d68113d50af93d3
21 | - platform: ios
22 | create_revision: a14f74ff3a1cbd521163c5f03d68113d50af93d3
23 | base_revision: a14f74ff3a1cbd521163c5f03d68113d50af93d3
24 | - platform: linux
25 | create_revision: a14f74ff3a1cbd521163c5f03d68113d50af93d3
26 | base_revision: a14f74ff3a1cbd521163c5f03d68113d50af93d3
27 | - platform: macos
28 | create_revision: a14f74ff3a1cbd521163c5f03d68113d50af93d3
29 | base_revision: a14f74ff3a1cbd521163c5f03d68113d50af93d3
30 | - platform: web
31 | create_revision: a14f74ff3a1cbd521163c5f03d68113d50af93d3
32 | base_revision: a14f74ff3a1cbd521163c5f03d68113d50af93d3
33 | - platform: windows
34 | create_revision: a14f74ff3a1cbd521163c5f03d68113d50af93d3
35 | base_revision: a14f74ff3a1cbd521163c5f03d68113d50af93d3
36 |
37 | # User provided section
38 |
39 | # List of Local paths (relative to this file) that should be
40 | # ignored by the migrate tool.
41 | #
42 | # Files that are not part of the templates will be ignored by default.
43 | unmanaged_files:
44 | - 'lib/main.dart'
45 | - 'ios/Runner.xcodeproj/project.pbxproj'
46 |
--------------------------------------------------------------------------------
/lib/main.dart:
--------------------------------------------------------------------------------
1 | import 'package:computer_12/providers/privacy_policy_provider.dart';
2 | import 'package:computer_12/providers/rating_providers.dart';
3 | import 'package:computer_12/views/main_screen.dart';
4 | import 'package:flutter/material.dart';
5 | import 'package:animated_splash_screen/animated_splash_screen.dart';
6 | import 'package:lottie/lottie.dart';
7 | import 'package:provider/provider.dart';
8 |
9 | /////initializing
10 | void main() {
11 | runApp(const MyApp());
12 | }
13 |
14 | // splash strating screen
15 | class MyApp extends StatelessWidget {
16 | const MyApp({super.key});
17 |
18 | @override
19 | Widget build(BuildContext context) {
20 | return MultiProvider(
21 | providers: [
22 | ChangeNotifierProvider(create: (_) => PrivacyPolicyProvider()),
23 | ChangeNotifierProvider(create: (_) => RatingProvider()),
24 | ],
25 | child: MaterialApp(
26 | theme: ThemeData(
27 | fontFamily: "Poppins",
28 | useMaterial3: true,
29 | ),
30 | debugShowCheckedModeBanner: false, //removes debug banner
31 | themeAnimationCurve: Curves.fastLinearToSlowEaseIn,
32 | home: AnimatedSplashScreen(
33 | splash: Column(
34 | //starting splash screen
35 | children: [
36 | Lottie.asset(
37 | 'images/loading.json',
38 | height: 350,
39 | width: 200,
40 | ),
41 | ],
42 | ),
43 | nextScreen: const MainScreen(),
44 | splashIconSize: 350,
45 | duration: 4500,
46 | splashTransition: SplashTransition.fadeTransition,
47 | backgroundColor: Colors.white,
48 | ),
49 | // const HomeView()
50 | ),
51 | );
52 | }
53 | }
54 |
55 | // /appbar title and bottom ad call
56 | class MainScreen extends StatelessWidget {
57 | const MainScreen({super.key});
58 |
59 | @override
60 | Widget build(BuildContext context) {
61 | return const Scaffold(
62 | body: ActionButton(),
63 | );
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/android/app/build.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id "com.android.application"
3 | id "kotlin-android"
4 | // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
5 | id "dev.flutter.flutter-gradle-plugin"
6 | }
7 |
8 | def localProperties = new Properties()
9 | def localPropertiesFile = rootProject.file("local.properties")
10 | if (localPropertiesFile.exists()) {
11 | localPropertiesFile.withReader("UTF-8") { reader ->
12 | localProperties.load(reader)
13 | }
14 | }
15 |
16 | def flutterVersionCode = localProperties.getProperty("flutter.versionCode")
17 | if (flutterVersionCode == null) {
18 | flutterVersionCode = "1"
19 | }
20 |
21 | def flutterVersionName = localProperties.getProperty("flutter.versionName")
22 | if (flutterVersionName == null) {
23 | flutterVersionName = "1.0"
24 | }
25 |
26 | android {
27 | namespace = "com.example.computer_12"
28 | compileSdk = flutter.compileSdkVersion
29 | ndkVersion = flutter.ndkVersion
30 |
31 | compileOptions {
32 | sourceCompatibility = JavaVersion.VERSION_1_8
33 | targetCompatibility = JavaVersion.VERSION_1_8
34 | }
35 |
36 | defaultConfig {
37 | // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
38 | applicationId = "com.example.computer_12"
39 | // You can update the following values to match your application needs.
40 | // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
41 | minSdk = flutter.minSdkVersion
42 | targetSdk = flutter.targetSdkVersion
43 | versionCode = flutterVersionCode.toInteger()
44 | versionName = flutterVersionName
45 | }
46 |
47 | buildTypes {
48 | release {
49 | // TODO: Add your own signing config for the release build.
50 | // Signing with the debug keys for now, so `flutter run --release` works.
51 | signingConfig = signingConfigs.debug
52 | }
53 | }
54 | }
55 |
56 | flutter {
57 | source = "../.."
58 | }
59 |
--------------------------------------------------------------------------------
/lib/views/components/custom_drawer.dart:
--------------------------------------------------------------------------------
1 | import 'dart:io';
2 | import 'package:computer_12/views/components/drawer/header.dart';
3 | import 'package:computer_12/views/components/drawer/menu.dart';
4 | import 'package:flutter/material.dart';
5 | import 'package:flutter/services.dart';
6 | import 'package:provider/provider.dart';
7 | import '../../providers/privacy_policy_provider.dart';
8 | import 'package:share/share.dart';
9 | import '../../providers/rating_providers.dart';
10 |
11 | class CustomDrawerComponent extends StatelessWidget {
12 | const CustomDrawerComponent({super.key});
13 |
14 | @override
15 | Widget build(BuildContext context) {
16 | return Drawer(
17 | elevation: 5.0,
18 | child: ListView(
19 | padding: EdgeInsets.zero,
20 | children: [
21 | const CustomDrawerHeader(),
22 | MenuDrawer(
23 | icon: Icons.home,
24 | title: 'Home',
25 | onTap: () {
26 | Navigator.of(context).pop();
27 | },
28 | ),
29 | MenuDrawer(
30 | icon: Icons.share_rounded,
31 | title: 'Share',
32 | onTap: () {
33 | Share.share(
34 | 'https://play.google.com/store/apps/details?id=com.instructivetech.testapp');
35 | },
36 | ),
37 | MenuDrawer(
38 | icon: Icons.star_outlined,
39 | title: 'Rating',
40 | onTap: () {
41 | Provider.of(context, listen: false)
42 | .showRatingDialog(context);
43 | },
44 | ),
45 | MenuDrawer(
46 | icon: Icons.lock_outline_rounded,
47 | title: 'Privacy Policies',
48 | onTap: () {
49 | Provider.of(context, listen: false)
50 | .showPrivacyDialog(context);
51 | },
52 | ),
53 | MenuDrawer(
54 | icon: Icons.exit_to_app_rounded,
55 | title: 'Exit',
56 | onTap: () {
57 | if (Platform.isAndroid) {
58 | SystemNavigator.pop();
59 | }
60 | },
61 | ),
62 | ],
63 | ),
64 | );
65 | }
66 | }
67 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Computer Science Grade 12 E-Note-App
2 |
3 | Welcome to the Computer Science Grade 12 E-Note-App, a Flutter-based application designed to provide comprehensive notes for computer science enthusiasts. Whether you are a student or a professional, this app aims to be your go-to resource for mastering the concepts of computer science.
4 |
5 | #### visit [website](https://cs-notes.nishanpradhan.com.np/) for more details.
6 |
7 | ## Live Preview Demo
8 |
9 | Experience the app firsthand by clicking on the following link: [Live Preview Demo](https://appetize.io/app/android/com.example.computer_12?device=pixel8&osVersion=14.0)
10 |
11 | 
12 |
13 | ## Installation Guide
14 |
15 | To run this project on your local machine, make sure you have Flutter installed. If Flutter is not installed, follow the [official installation guide](https://flutter.dev/docs/get-started/install).
16 |
17 | 1. **Clone the Repository:**
18 |
19 | ```bash
20 | git clone https://github.com/Nishan-Pradhan06/Flutter_E-Note-App.git
21 | 2. **Navigate to the Project Directory:**
22 | ```bash
23 | cd Flutter_E-Note-App
24 | 3. **Install Dependencies:**
25 | ```bash
26 | flutter pub get
27 | 4. **Run the Application::**
28 | ```bash
29 | flutter run
30 | ## Project Structure
31 | The project is organized into the following directories:
32 |
33 | - lib/: Contains the Dart code for the DigitalNote app.
34 | - android/: Android-specific configurations and files.
35 | - ios/: iOS-specific configurations and files.
36 | - test/: Tests for the application.
37 | ## Contributing
38 | We welcome contributions! If you'd like to enhance this DigitalNote app, please follow these steps:
39 |
40 | - Fork the repository.
41 | - Create your branch: git checkout -b feature/fooBar
42 | - Commit your changes: git commit -m 'Add some fooBar'
43 | - Push to the branch: git push origin feature/fooBar
44 | - Create a Pull Request.
45 | ## Support
46 | For any queries or issues, please open an issue on the [GitHub repository](https://github.com/Nishan-Pradhan06/Flutter_E-Note-App).
47 |
48 | ## License
49 | This project is licensed under the MIT License.
50 |
51 | Thank you for your interest and contributions! Together, let's make learning computer science an engaging and enriching experience.
52 |
--------------------------------------------------------------------------------
/android/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
16 |
20 |
24 |
25 |
26 |
27 |
28 |
29 |
31 |
34 |
35 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/ios/Runner/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/lib/widgets/widgets.dart:
--------------------------------------------------------------------------------
1 | // ignore_for_file: must_be_immutable, non_constant_identifier_names
2 |
3 | import 'package:flutter/material.dart';
4 |
5 | //headings
6 | Column chapterHeading() {
7 | return const Column(
8 | children: [
9 | Padding(
10 | padding: EdgeInsets.all(2.0),
11 | child: Text(
12 | 'Database',
13 | textAlign: TextAlign.center,
14 | style: TextStyle(
15 | fontSize: 24.0,
16 | fontWeight: FontWeight.bold,
17 | ),
18 | ),
19 | ),
20 | Text(
21 | 'Sources: Buddha Publication Pvt. Ltd.',
22 | textAlign: TextAlign.center,
23 | style: TextStyle(
24 | fontSize: 14.0,
25 | fontStyle: FontStyle.italic,
26 | ),
27 | ),
28 | ],
29 | );
30 | }
31 |
32 |
33 |
34 | //contents of heading
35 | class HeadingDetails extends StatelessWidget {
36 | String contents;
37 | HeadingDetails({
38 | required this.contents,
39 | super.key,
40 | });
41 |
42 | @override
43 | Widget build(BuildContext context) {
44 | return SelectableText(
45 | contents,
46 | textAlign: TextAlign.justify,
47 | // ignore: deprecated_member_use
48 | toolbarOptions:
49 | // ignore: deprecated_member_use
50 | const ToolbarOptions(copy: true, cut: true, selectAll: true),
51 | style: const TextStyle(
52 | fontSize: 16.0,
53 | ),
54 | );
55 | }
56 | }
57 | //topics
58 |
59 | class ChapterTopics extends StatelessWidget {
60 | String heading;
61 | ChapterTopics({
62 | required this.heading,
63 | super.key,
64 | });
65 |
66 | @override
67 | Widget build(BuildContext context) {
68 | return Text(
69 | heading,
70 | textAlign: TextAlign.start,
71 | style: const TextStyle(
72 | decoration: TextDecoration.underline,
73 | fontSize: 21.0,
74 | fontWeight: FontWeight.bold,
75 | ),
76 | );
77 | }
78 | }
79 |
80 | class ChapterHeadingMedium extends StatelessWidget {
81 | final String medium_heading;
82 | const ChapterHeadingMedium({
83 | required this.medium_heading,
84 | super.key,
85 | });
86 |
87 | @override
88 | Widget build(BuildContext context) {
89 | return Text(
90 | medium_heading,
91 | textAlign: TextAlign.left,
92 | textDirection: TextDirection.ltr,
93 | style: const TextStyle(
94 | decoration: TextDecoration.underline,
95 | fontSize: 17.0,
96 | fontWeight: FontWeight.bold,
97 | ),
98 | );
99 | }
100 | }
101 |
--------------------------------------------------------------------------------
/lib/strings/string_unit2.dart:
--------------------------------------------------------------------------------
1 | //details
2 |
3 |
4 | String titleText = 'Unit 2';
5 |
6 | String topics = 'Data Communication and Networking';
7 |
8 | String sources = 'Sources: Buddha Publication Pvt. Ltd.';
9 |
10 | //data communications
11 | String headline1 = "Data Communication";
12 |
13 | String pragraph1 =
14 | "Data communication is the process of using computing and communication technologies to transfer data from one place to another, or between participating parites. Data communication enables the movement of electronic or digital data between two or more network modes, regardless of geographical location, technological medium or data contents.";
15 |
16 | //type of data communications
17 | String headline2 = 'Types of data communicatin mode';
18 | String pragraph2 =
19 | "There are three types of data communication modes which are given below: -\ni) Simplex\nii) Half-Duplex\niii) Full-Duplex";
20 |
21 | //explaination
22 | String point1 = "1.Simplex";
23 | String point1Explanations =
24 | "In simplex mode, the commmunication is undirectional, as on a one way street. Only one of the two devices on a link can transmit, the other can only receive. Keyboard and traditional monitors are both examples of simplex. Keyboard can be only intorduce input, the monitor xan only accept the output. ";
25 | String exmaple1 = 'Simples Only A to B\nFig:- Simplex Communication';
26 |
27 | String point2 = '2.Half-Duplex';
28 | String point2Explanations =
29 | "In Half-Fuplex mode, each station can both transmit and receive is sending, the other can only receive, anmd vice versa. In this mode, the entire capacity of a channel is taken over by whichever of teo deveices is transmittnig at the time. Wakie-Talkie is the best example of half-duplex system.";
30 | String example2 =
31 | "Half-Duplex A to B or B to A\nFig:- Half-Duplex Communication";
32 |
33 | String point3 = '3.Full-Duplex';
34 | String point3Explanations =
35 | "In the Full-Duplex mode, both stations can transmit and receive simultaneously. This mde is like a two way traffic flowing in both directions at the same time. Here, signals going in either direction share the capacity of the link. Telephone network, online chatting are the example of full-duplex.";
36 | String example3 =
37 | 'Transmission in both directions simultaneously \nFig:- Full duplex communication';
38 |
39 | String headline3 = 'Computer Network';
40 | String pragraph3 =
41 | "Computer Network is defined as the interconnection of two or more computers or networking devices with the help of transmission media and set of protocols.";
42 |
43 | String h4 = 'Merits of Computer Network';
44 | String p4 = 'a. Sharing Resource';
45 | String p5 =
46 | "Hardware resources such as processor, storage devices, printers, scanner etc can be shared among us using computer network. It hepls to minimize the operational cost of an organization. Similarly software can be shared among us within a network.";
47 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "size" : "20x20",
5 | "idiom" : "iphone",
6 | "filename" : "Icon-App-20x20@2x.png",
7 | "scale" : "2x"
8 | },
9 | {
10 | "size" : "20x20",
11 | "idiom" : "iphone",
12 | "filename" : "Icon-App-20x20@3x.png",
13 | "scale" : "3x"
14 | },
15 | {
16 | "size" : "29x29",
17 | "idiom" : "iphone",
18 | "filename" : "Icon-App-29x29@1x.png",
19 | "scale" : "1x"
20 | },
21 | {
22 | "size" : "29x29",
23 | "idiom" : "iphone",
24 | "filename" : "Icon-App-29x29@2x.png",
25 | "scale" : "2x"
26 | },
27 | {
28 | "size" : "29x29",
29 | "idiom" : "iphone",
30 | "filename" : "Icon-App-29x29@3x.png",
31 | "scale" : "3x"
32 | },
33 | {
34 | "size" : "40x40",
35 | "idiom" : "iphone",
36 | "filename" : "Icon-App-40x40@2x.png",
37 | "scale" : "2x"
38 | },
39 | {
40 | "size" : "40x40",
41 | "idiom" : "iphone",
42 | "filename" : "Icon-App-40x40@3x.png",
43 | "scale" : "3x"
44 | },
45 | {
46 | "size" : "60x60",
47 | "idiom" : "iphone",
48 | "filename" : "Icon-App-60x60@2x.png",
49 | "scale" : "2x"
50 | },
51 | {
52 | "size" : "60x60",
53 | "idiom" : "iphone",
54 | "filename" : "Icon-App-60x60@3x.png",
55 | "scale" : "3x"
56 | },
57 | {
58 | "size" : "20x20",
59 | "idiom" : "ipad",
60 | "filename" : "Icon-App-20x20@1x.png",
61 | "scale" : "1x"
62 | },
63 | {
64 | "size" : "20x20",
65 | "idiom" : "ipad",
66 | "filename" : "Icon-App-20x20@2x.png",
67 | "scale" : "2x"
68 | },
69 | {
70 | "size" : "29x29",
71 | "idiom" : "ipad",
72 | "filename" : "Icon-App-29x29@1x.png",
73 | "scale" : "1x"
74 | },
75 | {
76 | "size" : "29x29",
77 | "idiom" : "ipad",
78 | "filename" : "Icon-App-29x29@2x.png",
79 | "scale" : "2x"
80 | },
81 | {
82 | "size" : "40x40",
83 | "idiom" : "ipad",
84 | "filename" : "Icon-App-40x40@1x.png",
85 | "scale" : "1x"
86 | },
87 | {
88 | "size" : "40x40",
89 | "idiom" : "ipad",
90 | "filename" : "Icon-App-40x40@2x.png",
91 | "scale" : "2x"
92 | },
93 | {
94 | "size" : "76x76",
95 | "idiom" : "ipad",
96 | "filename" : "Icon-App-76x76@1x.png",
97 | "scale" : "1x"
98 | },
99 | {
100 | "size" : "76x76",
101 | "idiom" : "ipad",
102 | "filename" : "Icon-App-76x76@2x.png",
103 | "scale" : "2x"
104 | },
105 | {
106 | "size" : "83.5x83.5",
107 | "idiom" : "ipad",
108 | "filename" : "Icon-App-83.5x83.5@2x.png",
109 | "scale" : "2x"
110 | },
111 | {
112 | "size" : "1024x1024",
113 | "idiom" : "ios-marketing",
114 | "filename" : "Icon-App-1024x1024@1x.png",
115 | "scale" : "1x"
116 | }
117 | ],
118 | "info" : {
119 | "version" : 1,
120 | "author" : "xcode"
121 | }
122 | }
123 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
37 |
38 |
39 |
40 |
43 |
49 |
50 |
51 |
52 |
53 |
63 |
65 |
71 |
72 |
73 |
74 |
80 |
82 |
88 |
89 |
90 |
91 |
93 |
94 |
97 |
98 |
99 |
--------------------------------------------------------------------------------
/lib/views/topics/topics.dart:
--------------------------------------------------------------------------------
1 | import 'package:computer_12/views/components/cards.dart';
2 | import 'package:flutter/material.dart';
3 | import 'package:computer_12/views/pages/unit1.dart';
4 | import 'package:computer_12/views/pages/unit2.dart';
5 | import 'package:computer_12/views/pages/unit3.dart';
6 | import 'package:computer_12/views/pages/unit4.dart';
7 | import 'package:computer_12/views/pages/unit5.dart';
8 | import 'package:computer_12/views/pages/unit6.dart';
9 | import 'package:computer_12/views/pages/unit7.dart';
10 |
11 | class TopicsList extends StatelessWidget {
12 | const TopicsList({super.key});
13 |
14 | // Function to navigate after the ad
15 | void navigateToPage(BuildContext context, Widget page) {
16 | Navigator.of(context).push(
17 | MaterialPageRoute(
18 | builder: (context) => page,
19 | ),
20 | );
21 | }
22 |
23 | @override
24 | Widget build(BuildContext context) {
25 | return SizedBox(
26 | height: MediaQuery.of(context).size.height,
27 | width: MediaQuery.of(context).size.width,
28 | child: ListView(
29 | children: [
30 | TopicsCards(
31 | title: 'DataBase',
32 | onPressed: () {
33 | Navigator.of(context).push(
34 | MaterialPageRoute(
35 | builder: (context) => const DataBase(),
36 | ),
37 | );
38 | },
39 | ),
40 | const SizedBox(
41 | height: 8.0,
42 | ),
43 | TopicsCards(
44 | title: 'Data Communication and Networking',
45 | onPressed: () {
46 | Navigator.of(context).push(
47 | MaterialPageRoute(
48 | builder: (context) => NetWork(),
49 | ),
50 | );
51 | },
52 | ),
53 | const SizedBox(
54 | height: 8.0,
55 | ),
56 | TopicsCards(
57 | title: 'Web Technology II',
58 | onPressed: () {
59 | Navigator.of(context).push(
60 | MaterialPageRoute(
61 | builder: (context) => const WebDevelopment(),
62 | ),
63 | );
64 | },
65 | ),
66 | const SizedBox(
67 | height: 8.0,
68 | ),
69 | TopicsCards(
70 | title: 'Programming in C',
71 | onPressed: () {
72 | Navigator.of(context).push(
73 | MaterialPageRoute(
74 | builder: (context) => const ProgrammingC(),
75 | ),
76 | );
77 | },
78 | ),
79 | const SizedBox(
80 | height: 8.0,
81 | ),
82 | TopicsCards(
83 | title: 'Objected Oriented Programming',
84 | onPressed: () {
85 | Navigator.of(context).push(
86 | MaterialPageRoute(
87 | builder: (context) => OoP(),
88 | ),
89 | );
90 | },
91 | ),
92 | const SizedBox(
93 | height: 8.0,
94 | ),
95 | TopicsCards(
96 | title: 'Software Process Model',
97 | onPressed: () {
98 | Navigator.of(context).push(
99 | MaterialPageRoute(
100 | builder: (context) => SpM(),
101 | ),
102 | );
103 | },
104 | ),
105 | const SizedBox(
106 | height: 8.0,
107 | ),
108 | TopicsCards(
109 | title: 'Recent Trend in Technology',
110 | onPressed: () {
111 | Navigator.of(context).push(
112 | MaterialPageRoute(
113 | builder: (context) => TechnologyChaper(),
114 | ),
115 | );
116 | },
117 | ),
118 | const SizedBox(
119 | height: 8.0,
120 | ),
121 | ],
122 | ),
123 | );
124 | }
125 | }
126 |
--------------------------------------------------------------------------------
/lib/providers/privacy_policy_provider.dart:
--------------------------------------------------------------------------------
1 | import 'package:computer_12/constant/const.dart';
2 | import 'package:flutter/gestures.dart';
3 | import 'package:flutter/material.dart';
4 | import 'package:url_launcher/url_launcher_string.dart';
5 |
6 | class PrivacyPolicyProvider with ChangeNotifier {
7 | // Updated showPrivacyDialog method
8 |
9 | Future showPrivacyDialog(BuildContext context) async {
10 | await showDialog(
11 | context: context,
12 | builder: (BuildContext context) {
13 | return AlertDialog(
14 | title: const Text(
15 | "Privacy Policies",
16 | style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold),
17 | ),
18 | content: SingleChildScrollView(
19 | child: Column(
20 | children: [
21 | RichText(
22 | textAlign: TextAlign.justify,
23 | text: TextSpan(
24 | style: const TextStyle(
25 | color: Colors.black), // default text style
26 | children: [
27 | const TextSpan(
28 | text:
29 | 'Our Computer Science 12 app does not collect, store, or share any personal information. It provides notes from public websites and does not need any permissions or access to your device. Some content comes from other websites, and they may have their own privacy policies. If we update this policy, changes will be posted here.\nFor any questions, contact us at ',
30 | style: TextStyle(
31 | fontSize: 12,
32 | ),
33 | ),
34 | TextSpan(
35 | style: const TextStyle(
36 | fontSize: 12,
37 | color: Colors.blue,
38 | decoration: TextDecoration.underline,
39 | ),
40 | text: "Mail Us.",
41 | recognizer: TapGestureRecognizer()
42 | ..onTap = () async {
43 | launchUrlString(mail);
44 | },
45 | ),
46 | ],
47 | ),
48 | ),
49 | RichText(
50 | textAlign: TextAlign.justify,
51 | text: TextSpan(
52 | style: const TextStyle(
53 | color: Colors.black), // default text style
54 | children: [
55 | const TextSpan(
56 | text:
57 | "\n\nIf you'd like to contribute to the app, you can do so through our ",
58 | style: TextStyle(
59 | fontSize: 12,
60 | ),
61 | ),
62 | TextSpan(
63 | style: const TextStyle(
64 | fontSize: 12,
65 | color: Colors.blue,
66 | decoration: TextDecoration.underline,
67 | ),
68 | text: "GitHub repository.",
69 | recognizer: TapGestureRecognizer()
70 | ..onTap = () async {
71 | launchUrlString(gitHub);
72 | },
73 | ),
74 | ],
75 | ),
76 | ),
77 | RichText(
78 | textAlign: TextAlign.justify,
79 | text: TextSpan(
80 | style: const TextStyle(
81 | color: Colors.black), // default text style
82 | children: [
83 | const TextSpan(
84 | text: "\n\nFor more information about app visit ",
85 | style: TextStyle(
86 | fontSize: 12,
87 | ),
88 | ),
89 | TextSpan(
90 | style: const TextStyle(
91 | fontSize: 12,
92 | color: Colors.blue,
93 | decoration: TextDecoration.underline,
94 | ),
95 | text: "Websites.",
96 | recognizer: TapGestureRecognizer()
97 | ..onTap = () async {
98 | launchUrlString(website);
99 | },
100 | ),
101 | ],
102 | ),
103 | ),
104 | ],
105 | ),
106 | ),
107 | actions: [
108 | TextButton(
109 | onPressed: () {
110 | Navigator.of(context).pop();
111 | },
112 | child: const Text('Close'),
113 | ),
114 | ],
115 | );
116 | },
117 | );
118 | }
119 | }
120 |
--------------------------------------------------------------------------------
/lib/views/drawer/drawer.dart:
--------------------------------------------------------------------------------
1 | // ignore_for_file: avoid_print, deprecated_member_use
2 | import 'package:flutter/gestures.dart';
3 | import 'package:flutter/material.dart';
4 | import 'package:flutter/services.dart';
5 | import 'dart:io';
6 | import 'package:share/share.dart';
7 | import 'package:rating_dialog/rating_dialog.dart';
8 | import 'package:url_launcher/url_launcher.dart';
9 |
10 | //slide nav bar drawer
11 | class NavDrawer extends StatefulWidget {
12 | const NavDrawer({super.key});
13 |
14 | @override
15 | State createState() => _NavDrawerState();
16 | }
17 |
18 | class _NavDrawerState extends State {
19 | var defaultText = const TextStyle(
20 | color: Colors.black,
21 | fontSize: 14.0,
22 | fontFamily: "Poppins",
23 | );
24 | var linkText = TextStyle(
25 | color: Colors.blue[900],
26 | fontSize: 14.0,
27 | fontFamily: "Poppins",
28 | );
29 |
30 | ///raating dilogue box. libary
31 | void show() {
32 | showDialog(
33 | barrierDismissible: false,
34 | context: context,
35 | builder: (context) {
36 | return Padding(
37 | padding: const EdgeInsets.symmetric(horizontal: 0.2),
38 | child: rateDilogPopUp(),
39 | );
40 | },
41 | );
42 | }
43 |
44 | RatingDialog rateDilogPopUp() {
45 | return RatingDialog(
46 | initialRating: 1.0,
47 | title: const Text(
48 | 'Feedback',
49 | textHeightBehavior: TextHeightBehavior(applyHeightToFirstAscent: true),
50 | softWrap: true,
51 | textAlign: TextAlign.center,
52 | style: TextStyle(
53 | fontSize: 25,
54 | fontWeight: FontWeight.bold,
55 | ),
56 | ),
57 | message: const Text(
58 | 'Tap a star to set your rating. Add more description here if you want.',
59 | textAlign: TextAlign.center,
60 | style: TextStyle(fontSize: 14),
61 | ),
62 | image: Image.asset(
63 | "images/icon_logo_app.png",
64 | height: 100.0,
65 | width: 100,
66 | ),
67 | starSize: 25,
68 | submitButtonText: 'Submit',
69 | commentHint: 'Tell Us Your Comments',
70 | onCancelled: () => print('cancelled'),
71 | onSubmitted: (response) {
72 | print('rating:${response.rating},comment:${response.comment}');
73 | },
74 | );
75 | }
76 |
77 | /// main drawer
78 | @override
79 | Widget build(BuildContext context) {
80 | return Drawer(
81 | elevation: 5.0,
82 | child: ListView(
83 | padding: EdgeInsets.zero,
84 | children: [
85 | UserAccountsDrawerHeader(
86 | accountName: const Text(
87 | 'Computer Science',
88 | textAlign: TextAlign.center,
89 | style: TextStyle(
90 | fontSize: 15,
91 | fontWeight: FontWeight.bold,
92 | ),
93 | ),
94 | accountEmail: const Text(
95 | 'Grade 12 New Curriculam Course Notes',
96 | style: TextStyle(
97 | fontSize: 15,
98 | fontWeight: FontWeight.bold,
99 | ),
100 | selectionColor: Colors.black,
101 | ),
102 | currentAccountPicture: CircleAvatar(
103 | child: ClipOval(
104 | child: Image.asset(
105 | 'images/icon_logo_app.png',
106 | width: 95,
107 | height: 95,
108 | ),
109 | ),
110 | ),
111 | decoration: const BoxDecoration(
112 | color: Colors.lightBlue,
113 | image: DecorationImage(
114 | image: NetworkImage(
115 | 'https://images.unsplash.com/photo-1635350181304-be3f00f5af76?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1974&q=80',
116 | ),
117 | fit: BoxFit.cover,
118 | ),
119 | ),
120 | ),
121 |
122 | // icons....
123 | Padding(
124 | padding: const EdgeInsets.symmetric(horizontal: 10),
125 | child: ListTile(
126 | leading: const Icon(Icons.home, color: Colors.black87),
127 | title: const Text(
128 | 'Home',
129 | style: TextStyle(
130 | fontSize: 15,
131 | fontWeight: FontWeight.bold,
132 | ),
133 | ),
134 | onTap: () {
135 | Navigator.of(context).pop();
136 |
137 | print('home');
138 | },
139 | ),
140 | ),
141 | Padding(
142 | padding: const EdgeInsets.symmetric(horizontal: 10),
143 | child: ListTile(
144 | leading: const Icon(Icons.share_rounded, color: Colors.black87),
145 | title: const Text(
146 | 'Share',
147 | style: TextStyle(
148 | fontSize: 15,
149 | fontWeight: FontWeight.bold,
150 | ),
151 | ),
152 | onTap: () {
153 | Share.share(
154 | 'https://play.google.com/store/apps/details?id=com.instructivetech.testapp');
155 | print('share');
156 | },
157 | ),
158 | ),
159 | Padding(
160 | padding: const EdgeInsets.symmetric(horizontal: 10),
161 | child: ListTile(
162 | leading: const Icon(Icons.star_outlined, color: Colors.black87),
163 | title: const Text(
164 | 'Rating',
165 | style: TextStyle(
166 | fontSize: 15,
167 | fontWeight: FontWeight.bold,
168 | ),
169 | ),
170 | onTap: () {
171 | show();
172 | print('Rate');
173 | },
174 | ),
175 | ),
176 | Padding(
177 | padding: const EdgeInsets.symmetric(horizontal: 10),
178 | child: ListTile(
179 | leading:
180 | const Icon(Icons.lock_outline_rounded, color: Colors.black87),
181 | title: const Text(
182 | 'Privacy Polices',
183 | style: TextStyle(
184 | fontSize: 15,
185 | fontWeight: FontWeight.bold,
186 | ),
187 | ),
188 | onTap: () {
189 | privacyDilogBox(context);
190 | },
191 | ),
192 | ),
193 |
194 | Padding(
195 | padding: const EdgeInsets.symmetric(horizontal: 10),
196 | child: ListTile(
197 | leading: const Icon(
198 | Icons.exit_to_app_rounded,
199 | color: Colors.black87,
200 | ),
201 | title: const Text(
202 | 'Exit',
203 | style: TextStyle(
204 | fontSize: 15,
205 | fontWeight: FontWeight.bold,
206 | ),
207 | ),
208 | onTap: () {
209 | if (Platform.isAndroid) {
210 | SystemNavigator.pop();
211 | print('exit');
212 | }
213 | },
214 | ),
215 | ),
216 | ],
217 | ),
218 | );
219 | }
220 |
221 | Future privacyDilogBox(BuildContext context) {
222 | return showDialog(
223 | context: context,
224 | builder: (BuildContext context) {
225 | return AlertDialog(
226 | title: const Text(
227 | "Privacy Policies",
228 | style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold),
229 | ),
230 | content: SingleChildScrollView(
231 | child: RichText(
232 | textAlign: TextAlign.justify,
233 | text: TextSpan(
234 | style: defaultText,
235 | children: [
236 | const TextSpan(
237 | text:
238 | "We prioritize your privacy. Notebook does not collect any personal data. Any information gathered is strictly limited to enhancing app functionality, such as device information and usage statistics. We do not store or share personally identifiable information with third parties. Our commitment to your privacy means we refrain from requesting or storing unnecessary personal details. While Notebook may include links to external sites, we do not assume responsibility for their privacy practices. Your data is safeguarded using industry-standard security measures. For any questions or concerns regarding our privacy policies. ",
239 | style: TextStyle(
240 | fontSize: 12,
241 | ),
242 | ),
243 | TextSpan(
244 | style: linkText,
245 | text: "GITHUB",
246 | recognizer: TapGestureRecognizer()
247 | ..onTap = () async {
248 | var url =
249 | "https://github.com/Nishan-Pradhan06/Flutter_E-Note-App";
250 | if (await canLaunch(url)) {
251 | await launch(url);
252 | } else {
253 | throw "cannot thorw url";
254 | }
255 | },
256 | ),
257 | ],
258 | ),
259 | ),
260 | ),
261 | actions: [
262 | TextButton(
263 | onPressed: () {
264 | Navigator.of(context).pop();
265 | },
266 | child: const Text('Close'),
267 | ),
268 | ],
269 | );
270 | },
271 | );
272 | }
273 | }
274 |
--------------------------------------------------------------------------------
/lib/views/pages/unit4.dart:
--------------------------------------------------------------------------------
1 | // ignore_for_file: must_be_immutable
2 |
3 | import 'package:computer_12/views/components/footer.dart';
4 | import 'package:computer_12/widgets/widgets.dart';
5 | import 'package:flutter/cupertino.dart';
6 | import 'package:flutter/material.dart';
7 | import '../components/app_bar.dart';
8 | import '../components/headings.dart';
9 |
10 | class ProgrammingC extends StatelessWidget {
11 | const ProgrammingC({super.key});
12 |
13 | @override
14 | Widget build(BuildContext context) {
15 | return Scaffold(
16 | appBar: const CustomAppBar(
17 | titleText: 'Unit 4',
18 | ),
19 | body: PageView(
20 | children: [
21 | GestureDetector(
22 | child: CupertinoScrollbar(
23 | thickness: 10.0,
24 | thumbVisibility: true,
25 | thicknessWhileDragging: 10.0,
26 | child: InteractiveViewer(
27 | child: Padding(
28 | padding: const EdgeInsets.symmetric(horizontal: 7.0),
29 | child: SingleChildScrollView(
30 | child: Column(
31 | crossAxisAlignment: CrossAxisAlignment.stretch,
32 | children: [
33 | const TopicsHeadings(
34 | unit: 'Programming in C',
35 | ),
36 | const SizedBox(
37 | height: 8.0,
38 | ),
39 | ChapterTopics(heading: 'Functions:'),
40 | HeadingDetails(
41 | contents:
42 | 'Functions are the self-contained program that contains several block of statement which performs the defined task. In C language, we can create one or more functions according to the requirements.\n\nUsually, In C programs flows from top left to right bottom of main() functions. We can create any number of functions below that main() functions. These function are called from main() function. Requirement while creating a functions.\n\na) Declare a function\n\nb) Call statement\n\nc) Definition of function.\n\nAfter the function is called from the main(), the flow of control will return to the main() function.\nProgram example of function.',
43 | ),
44 | const ImageWidget(imagePath: 'images/unit_4/p1.png'),
45 | const ImageWidget(imagePath: 'images/unit_4/p2.png'),
46 | const ChapterHeadingMedium(
47 | medium_heading: 'Advantages'),
48 | HeadingDetails(
49 | contents:
50 | '1. Big programs can be divided into smaller module using functions.\n2. Program development will be faster.\n3. Program debugging will be easier and faster.\n4. Use of functions reduce program complexity.\n5. Program length can be reduced through code reusability.\n6. Use of functions enhance program readability.\n7. Several developer can work on a single project.\n8. Functions are used to create own header file i.e mero.h\n9. Functions can be independently tested.',
51 | ),
52 | const SizedBox(
53 | height: 6.0,
54 | ),
55 | const ChapterHeadingMedium(
56 | medium_heading: 'Recursive functions: (V.Imp)'),
57 | HeadingDetails(
58 | contents:
59 | 'Those function which calls itself is known as recursive function and the concept of using recursive functions to repeat the execution of statements as per the requirement is known as recursion. The criteria for recursive functions are:\n1. The function should call itself.\n2. There should be terminating condition so that function calling will not be for infinite number of time. \n\nProgram example of recursive function',
60 | ),
61 | const ImageWidget(imagePath: 'images/unit_4/p3.png'),
62 | const ImageWidget(imagePath: 'images/unit_4/p4.png'),
63 | const SizedBox(
64 | height: 6.0,
65 | ),
66 | const ChapterHeadingMedium(
67 | medium_heading: 'Pointer (v-imp)'),
68 | HeadingDetails(
69 | contents:
70 | 'Pointers in C are similar to as other variables that we use to hold the data in our program but, instead of containing actual data, they contain a pointer to the address (memory location) where the data or information can be found.\n\nThese is an important and advance concept of C language since, variables names are not sufficient to provide the requirement of user while developing a complex program. However, use of pointers help to access memory address of that entities globally to any number of functions that we use in our program.\n\nImportance of Pointer.\n\n While using several numbers of functions in C program, every functions should be called and value should be passed locally. However, using pointer variable, which can access the address or memory location and points whatever the address (memory location) contains.\n\nPointer declaration\nData_type *variable_name\nEg, int *age;',
71 | ),
72 | const ChapterHeadingMedium(
73 | medium_heading: 'Advantages'),
74 | HeadingDetails(
75 | contents:
76 | '1. It helps us to access a variable that is not defined within a function.\n2. It helps to reduce program length and complexity i.e. faster program execution time.\n3. It is more convenient to handle datas.\n4. It helps to return one or more than one value from the functions.\nProgram example:',
77 | ),
78 | const ImageWidget(imagePath: 'images/unit_4/p5.png'),
79 | ChapterTopics(heading: 'File Handling in C'),
80 | HeadingDetails(
81 | contents:
82 | 'As we know, while program is in execution the content of variables are temporarily stored in main memory i.e. RAM. Data reside temporarily in RAM only at the time of program execution. After the completion of execution data gets erased away which means the data cannot be used for future references. To overcome this problem, file handling comes into existence through which we can store data permanently in our secondary storage and retrieve it whenever in future. Data are stored as datafile in our disk.'),
83 | Column(
84 | children: [
85 | Image.asset(
86 | "images/unit_4/file-handling.png",
87 | ),
88 | const Text('Fig:- File handling in C')
89 | ],
90 | ),
91 | const ChapterHeadingMedium(
92 | medium_heading: 'Opening a data file'),
93 | HeadingDetails(
94 | contents:
95 | 'Syntax:\n\n\t\t\tFILE *fptr\n\t\t\tfptr = fopen (“filename” , ”mode”)\n\nWhere, File name can be “library.txt”, “student.dat” ..etc\nMode:\n“w” to write/store data in a data file.\n“r” to display/read/retrieve/access data from a datafile.\n“a” to add/append data in existing datafile.',
96 | ),
97 | const ChapterHeadingMedium(
98 | medium_heading: 'Store/write data'),
99 | HeadingDetails(
100 | contents:
101 | 'Syntax:\n\n\t\t\tfprintf(fptr,”format specifiers” ,variables);\n\n\t\t\tEg; suppose if we want to store name, \n\t\t\tdisease, age and bed number of a \n\t\t\tpatient then, it is written as \n\n\t\t\tfprintf(fptr , ”%s %s %d %d”, n, d, a, b);\n\n\t\t\tWhere, variable are initialized as:\n\t\t\tchar n[10], d[10];\n\t\t\tint a, b;',
102 | ),
103 | const SizedBox(
104 | height: 6.0,
105 | ),
106 | HeadingDetails(
107 | contents:
108 | '1) Create a datafile “patient.txt” and store name, disease, age and bed number of a patient.',
109 | ),
110 | const ImageWidget(imagePath: 'images/unit_4/p6.png'),
111 | const ChapterHeadingMedium(
112 | medium_heading:
113 | 'Read/Display/retrieve/access data from a datafile'),
114 | HeadingDetails(
115 | contents:
116 | 'Syntax:\n\n\t\t\tfscanf(fptr , ”format specifiers” ,variables);\n\n\t\t\tEg; suppose if we want to display/ \n\t\t\tread name,disease, age and bed \n\t\t\tnumber of a patient then, it is written as \n\n\t\t\tfscanf(fptr , ”%s %s %d %d”, n, d, &a, &b);\n\n\t\t\tWhere, variable are initialized as:\n\t\t\tchar n[10], d[10];\n\t\t\tint a, b;',
117 | ),
118 | const SizedBox(
119 | height: 6.0,
120 | ),
121 | const Footer(),
122 | ],
123 | ),
124 | ),
125 | ),
126 | ),
127 | ),
128 | )
129 | ],
130 | ),
131 | // bottomNavigationBar: const BannerAdHelper(),
132 | );
133 | }
134 | }
135 |
136 | class ImageWidget extends StatelessWidget {
137 | final String imagePath;
138 | const ImageWidget({
139 | required this.imagePath,
140 | super.key,
141 | });
142 |
143 | @override
144 | Widget build(BuildContext context) {
145 | return Column(
146 | children: [
147 | Image.asset(
148 | imagePath,
149 | ),
150 | const SizedBox(
151 | height: 3.0,
152 | ),
153 | ],
154 | );
155 | }
156 | }
157 |
--------------------------------------------------------------------------------
/images/loading.json:
--------------------------------------------------------------------------------
1 | {"v":"4.10.1","fr":24,"ip":0,"op":72,"w":400,"h":400,"nm":"Comp 1","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Capa de formas 12","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":24,"s":[81.5,370.25,0],"e":[445.5,199.25,0],"to":[60.6666679382324,-28.5,0],"ti":[-60.6666679382324,28.5,0]},{"t":48}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[43,43,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[28,0],[34.935,-19.483],[31.619,18.821],[33,-14],[57,29],[0,0],[0,0],[0,0]],"o":[[-28,0],[-52,29],[-42,-25],[-28.892,12.257],[-57,-29],[0,0],[0,0],[0,0]],"v":[[367.75,-97],[277,-75],[155,-82],[35,-82],[-94,-82.326],[-200,-74],[-352.07,320.209],[499.162,354.093]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2980392156862745,0.7333333333333333,0.6313725490196078,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Forma 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":144,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Capa de formas 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":24,"s":[-133,374,0],"e":[231,203,0],"to":[60.6666679382324,-28.5,0],"ti":[-60.6666679382324,28.5,0]},{"t":48}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[43,43,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[28,0],[34.935,-19.483],[31.619,18.821],[33,-14],[57,29],[0,0],[0,0],[0,0]],"o":[[-28,0],[-52,29],[-42,-25],[-28.892,12.257],[-57,-29],[0,0],[0,0],[0,0]],"v":[[367.75,-97],[277,-75],[155,-82],[35,-82],[-94,-82.326],[-200,-74],[-352.07,320.209],[499.162,354.093]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.3137254901960784,0.8901960784313725,0.7607843137254902,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Forma 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":144,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Capa de formas 5","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":15,"s":[100],"e":[0]},{"t":16}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[199,-14.000000000000002,0],"e":[199,156,0],"to":[0,28.3333339691162,0],"ti":[0,-28.9375,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":12,"s":[199,156,0],"e":[199,164.066,0],"to":[0,4.54861259460449,0],"ti":[0,-2.45892143249512,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":13,"s":[199,164.066,0],"e":[199,166.125,0],"to":[0,13.1843204498291,0],"ti":[0,-1.72074222564697,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":14,"s":[199,166.125,0],"e":[199,168.375,0],"to":[0,2.04166674613953,0],"ti":[0,-0.04166666790843,0]},{"t":15}],"ix":2},"a":{"a":0,"k":[-1,-182.375,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":0,"s":[50,50,100],"e":[50,94,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":12,"s":[50,94,100],"e":[70,43.333,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":13,"s":[70,43.333,100],"e":[104.25800000000001,32,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":14,"s":[104.25800000000001,32,100],"e":[212,18,100]},{"t":15}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.938,0],[0,-5.25],[-4.563,0.125],[0.108,4.624]],"o":[[-0.813,0.125],[0,4.813],[4.563,-0.125],[-0.125,-5.375]],"v":[[-1.344,-193.078],[-8.75,-180.5],[-1.063,-172.313],[6.938,-180.188]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2980392156862745,0.7333333333333333,0.6313725490196078,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Forma 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Capa de formas 3","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":46,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":47,"s":[100],"e":[100]},{"t":48}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":47,"s":[199.98,168.25,0],"e":[199.98,158.037,0],"to":[0,-0.20375619828701,0],"ti":[0,17.58864402771,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":48,"s":[199.98,158.037,0],"e":[199.98,-10,0],"to":[-2.8421709430404e-14,-50.4047393798828,0],"ti":[0,1.17485654354095,0]},{"t":53}],"ix":2},"a":{"a":0,"k":[-32,-31,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":47,"s":[-4,1,100],"e":[1.5,4,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":48,"s":[1.5,4,100],"e":[2,3,100]},{"t":53}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[308,308],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Trazado elíptico 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2980392156862745,0.7333333333333333,0.6313725490196078,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-31,-31],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Elipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Capa de formas 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[199,252.99999999999997,0],"ix":2},"a":{"a":0,"k":[-32,-31,0],"ix":1},"s":{"a":0,"k":[55.00000000000001,55.00000000000001,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[308,308],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Trazado elíptico 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.2980392156862745,0.7333333333333333,0.6313725490196078,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Trazo 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-31,-31],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Elipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":12,"s":[50],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":24,"s":[100],"e":[50]},{"t":48}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":12,"s":[50],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":24,"s":[0],"e":[50]},{"t":48}],"ix":2},"o":{"a":0,"k":180,"ix":3},"m":1,"ix":2,"nm":"Recortar trazados 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Capa de formas 1","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[199,252.99999999999997,0],"ix":2},"a":{"a":0,"k":[-32,-31,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[308,308],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Trazado elíptico 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2980392156862745,0.7333333333333333,0.6313725490196078,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-31,-31],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Elipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":0,"nm":"Precomp. 1","tt":1,"refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[200,200,0],"ix":2},"a":{"a":0,"k":[200,200,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":400,"h":400,"ip":0,"op":144,"st":0,"bm":0}]}
--------------------------------------------------------------------------------
/pubspec.lock:
--------------------------------------------------------------------------------
1 | # Generated by pub
2 | # See https://dart.dev/tools/pub/glossary#lockfile
3 | packages:
4 | animated_splash_screen:
5 | dependency: "direct main"
6 | description:
7 | name: animated_splash_screen
8 | sha256: f45634db6ec4e8cf034c53e03f3bd83898a16fe3c9286bf5510b6831dfcf2124
9 | url: "https://pub.dev"
10 | source: hosted
11 | version: "1.3.0"
12 | archive:
13 | dependency: transitive
14 | description:
15 | name: archive
16 | sha256: cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d
17 | url: "https://pub.dev"
18 | source: hosted
19 | version: "3.6.1"
20 | async:
21 | dependency: transitive
22 | description:
23 | name: async
24 | sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
25 | url: "https://pub.dev"
26 | source: hosted
27 | version: "2.11.0"
28 | boolean_selector:
29 | dependency: transitive
30 | description:
31 | name: boolean_selector
32 | sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
33 | url: "https://pub.dev"
34 | source: hosted
35 | version: "2.1.1"
36 | bulleted_list:
37 | dependency: "direct main"
38 | description:
39 | name: bulleted_list
40 | sha256: "35ddc56b7fd9977ae3932264f5b722e702748a044aa16f0a7109bf7e4886fedb"
41 | url: "https://pub.dev"
42 | source: hosted
43 | version: "0.0.1+0.1a"
44 | characters:
45 | dependency: transitive
46 | description:
47 | name: characters
48 | sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
49 | url: "https://pub.dev"
50 | source: hosted
51 | version: "1.3.0"
52 | clock:
53 | dependency: transitive
54 | description:
55 | name: clock
56 | sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
57 | url: "https://pub.dev"
58 | source: hosted
59 | version: "1.1.1"
60 | collection:
61 | dependency: transitive
62 | description:
63 | name: collection
64 | sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
65 | url: "https://pub.dev"
66 | source: hosted
67 | version: "1.18.0"
68 | crypto:
69 | dependency: transitive
70 | description:
71 | name: crypto
72 | sha256: ec30d999af904f33454ba22ed9a86162b35e52b44ac4807d1d93c288041d7d27
73 | url: "https://pub.dev"
74 | source: hosted
75 | version: "3.0.5"
76 | fake_async:
77 | dependency: transitive
78 | description:
79 | name: fake_async
80 | sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
81 | url: "https://pub.dev"
82 | source: hosted
83 | version: "1.3.1"
84 | flutter:
85 | dependency: "direct main"
86 | description: flutter
87 | source: sdk
88 | version: "0.0.0"
89 | flutter_lints:
90 | dependency: "direct dev"
91 | description:
92 | name: flutter_lints
93 | sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1"
94 | url: "https://pub.dev"
95 | source: hosted
96 | version: "3.0.2"
97 | flutter_rating_bar:
98 | dependency: transitive
99 | description:
100 | name: flutter_rating_bar
101 | sha256: d2af03469eac832c591a1eba47c91ecc871fe5708e69967073c043b2d775ed93
102 | url: "https://pub.dev"
103 | source: hosted
104 | version: "4.0.1"
105 | flutter_test:
106 | dependency: "direct dev"
107 | description: flutter
108 | source: sdk
109 | version: "0.0.0"
110 | flutter_web_plugins:
111 | dependency: transitive
112 | description: flutter
113 | source: sdk
114 | version: "0.0.0"
115 | http:
116 | dependency: transitive
117 | description:
118 | name: http
119 | sha256: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010
120 | url: "https://pub.dev"
121 | source: hosted
122 | version: "1.2.2"
123 | http_parser:
124 | dependency: transitive
125 | description:
126 | name: http_parser
127 | sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b"
128 | url: "https://pub.dev"
129 | source: hosted
130 | version: "4.0.2"
131 | leak_tracker:
132 | dependency: transitive
133 | description:
134 | name: leak_tracker
135 | sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05"
136 | url: "https://pub.dev"
137 | source: hosted
138 | version: "10.0.5"
139 | leak_tracker_flutter_testing:
140 | dependency: transitive
141 | description:
142 | name: leak_tracker_flutter_testing
143 | sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806"
144 | url: "https://pub.dev"
145 | source: hosted
146 | version: "3.0.5"
147 | leak_tracker_testing:
148 | dependency: transitive
149 | description:
150 | name: leak_tracker_testing
151 | sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
152 | url: "https://pub.dev"
153 | source: hosted
154 | version: "3.0.1"
155 | lints:
156 | dependency: transitive
157 | description:
158 | name: lints
159 | sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
160 | url: "https://pub.dev"
161 | source: hosted
162 | version: "3.0.0"
163 | lottie:
164 | dependency: "direct main"
165 | description:
166 | name: lottie
167 | sha256: "6a24ade5d3d918c306bb1c21a6b9a04aab0489d51a2582522eea820b4093b62b"
168 | url: "https://pub.dev"
169 | source: hosted
170 | version: "3.1.2"
171 | matcher:
172 | dependency: transitive
173 | description:
174 | name: matcher
175 | sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
176 | url: "https://pub.dev"
177 | source: hosted
178 | version: "0.12.16+1"
179 | material_color_utilities:
180 | dependency: transitive
181 | description:
182 | name: material_color_utilities
183 | sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec
184 | url: "https://pub.dev"
185 | source: hosted
186 | version: "0.11.1"
187 | meta:
188 | dependency: transitive
189 | description:
190 | name: meta
191 | sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
192 | url: "https://pub.dev"
193 | source: hosted
194 | version: "1.15.0"
195 | mime:
196 | dependency: transitive
197 | description:
198 | name: mime
199 | sha256: "801fd0b26f14a4a58ccb09d5892c3fbdeff209594300a542492cf13fba9d247a"
200 | url: "https://pub.dev"
201 | source: hosted
202 | version: "1.0.6"
203 | nested:
204 | dependency: transitive
205 | description:
206 | name: nested
207 | sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20"
208 | url: "https://pub.dev"
209 | source: hosted
210 | version: "1.0.0"
211 | page_transition:
212 | dependency: transitive
213 | description:
214 | name: page_transition
215 | sha256: dee976b1f23de9bbef5cd512fe567e9f6278caee11f5eaca9a2115c19dc49ef6
216 | url: "https://pub.dev"
217 | source: hosted
218 | version: "2.1.0"
219 | path:
220 | dependency: transitive
221 | description:
222 | name: path
223 | sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
224 | url: "https://pub.dev"
225 | source: hosted
226 | version: "1.9.0"
227 | plugin_platform_interface:
228 | dependency: transitive
229 | description:
230 | name: plugin_platform_interface
231 | sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02"
232 | url: "https://pub.dev"
233 | source: hosted
234 | version: "2.1.8"
235 | provider:
236 | dependency: "direct main"
237 | description:
238 | name: provider
239 | sha256: c8a055ee5ce3fd98d6fc872478b03823ffdb448699c6ebdbbc71d59b596fd48c
240 | url: "https://pub.dev"
241 | source: hosted
242 | version: "6.1.2"
243 | rating_dialog:
244 | dependency: "direct main"
245 | description:
246 | name: rating_dialog
247 | sha256: "4856ba266c255081f05c57148345ea13f0d86c4049859d66e14c47e2ab1f90d3"
248 | url: "https://pub.dev"
249 | source: hosted
250 | version: "2.0.4"
251 | share:
252 | dependency: "direct main"
253 | description:
254 | name: share
255 | sha256: "97e6403f564ed1051a01534c2fc919cb6e40ea55e60a18ec23cee6e0ce19f4be"
256 | url: "https://pub.dev"
257 | source: hosted
258 | version: "2.0.4"
259 | sky_engine:
260 | dependency: transitive
261 | description: flutter
262 | source: sdk
263 | version: "0.0.99"
264 | source_span:
265 | dependency: transitive
266 | description:
267 | name: source_span
268 | sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
269 | url: "https://pub.dev"
270 | source: hosted
271 | version: "1.10.0"
272 | stack_trace:
273 | dependency: transitive
274 | description:
275 | name: stack_trace
276 | sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
277 | url: "https://pub.dev"
278 | source: hosted
279 | version: "1.11.1"
280 | stream_channel:
281 | dependency: transitive
282 | description:
283 | name: stream_channel
284 | sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
285 | url: "https://pub.dev"
286 | source: hosted
287 | version: "2.1.2"
288 | string_scanner:
289 | dependency: transitive
290 | description:
291 | name: string_scanner
292 | sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
293 | url: "https://pub.dev"
294 | source: hosted
295 | version: "1.2.0"
296 | term_glyph:
297 | dependency: transitive
298 | description:
299 | name: term_glyph
300 | sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
301 | url: "https://pub.dev"
302 | source: hosted
303 | version: "1.2.1"
304 | test_api:
305 | dependency: transitive
306 | description:
307 | name: test_api
308 | sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb"
309 | url: "https://pub.dev"
310 | source: hosted
311 | version: "0.7.2"
312 | typed_data:
313 | dependency: transitive
314 | description:
315 | name: typed_data
316 | sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c
317 | url: "https://pub.dev"
318 | source: hosted
319 | version: "1.3.2"
320 | url_launcher:
321 | dependency: "direct main"
322 | description:
323 | name: url_launcher
324 | sha256: "21b704ce5fa560ea9f3b525b43601c678728ba46725bab9b01187b4831377ed3"
325 | url: "https://pub.dev"
326 | source: hosted
327 | version: "6.3.0"
328 | url_launcher_android:
329 | dependency: transitive
330 | description:
331 | name: url_launcher_android
332 | sha256: f0c73347dfcfa5b3db8bc06e1502668265d39c08f310c29bff4e28eea9699f79
333 | url: "https://pub.dev"
334 | source: hosted
335 | version: "6.3.9"
336 | url_launcher_ios:
337 | dependency: transitive
338 | description:
339 | name: url_launcher_ios
340 | sha256: e43b677296fadce447e987a2f519dcf5f6d1e527dc35d01ffab4fff5b8a7063e
341 | url: "https://pub.dev"
342 | source: hosted
343 | version: "6.3.1"
344 | url_launcher_linux:
345 | dependency: transitive
346 | description:
347 | name: url_launcher_linux
348 | sha256: e2b9622b4007f97f504cd64c0128309dfb978ae66adbe944125ed9e1750f06af
349 | url: "https://pub.dev"
350 | source: hosted
351 | version: "3.2.0"
352 | url_launcher_macos:
353 | dependency: transitive
354 | description:
355 | name: url_launcher_macos
356 | sha256: "9a1a42d5d2d95400c795b2914c36fdcb525870c752569438e4ebb09a2b5d90de"
357 | url: "https://pub.dev"
358 | source: hosted
359 | version: "3.2.0"
360 | url_launcher_platform_interface:
361 | dependency: transitive
362 | description:
363 | name: url_launcher_platform_interface
364 | sha256: "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029"
365 | url: "https://pub.dev"
366 | source: hosted
367 | version: "2.3.2"
368 | url_launcher_web:
369 | dependency: transitive
370 | description:
371 | name: url_launcher_web
372 | sha256: "772638d3b34c779ede05ba3d38af34657a05ac55b06279ea6edd409e323dca8e"
373 | url: "https://pub.dev"
374 | source: hosted
375 | version: "2.3.3"
376 | url_launcher_windows:
377 | dependency: transitive
378 | description:
379 | name: url_launcher_windows
380 | sha256: "49c10f879746271804767cb45551ec5592cdab00ee105c06dddde1a98f73b185"
381 | url: "https://pub.dev"
382 | source: hosted
383 | version: "3.1.2"
384 | vector_math:
385 | dependency: transitive
386 | description:
387 | name: vector_math
388 | sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
389 | url: "https://pub.dev"
390 | source: hosted
391 | version: "2.1.4"
392 | vm_service:
393 | dependency: transitive
394 | description:
395 | name: vm_service
396 | sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d"
397 | url: "https://pub.dev"
398 | source: hosted
399 | version: "14.2.5"
400 | web:
401 | dependency: transitive
402 | description:
403 | name: web
404 | sha256: d43c1d6b787bf0afad444700ae7f4db8827f701bc61c255ac8d328c6f4d52062
405 | url: "https://pub.dev"
406 | source: hosted
407 | version: "1.0.0"
408 | sdks:
409 | dart: ">=3.4.1 <4.0.0"
410 | flutter: ">=3.22.0"
411 |
--------------------------------------------------------------------------------
/lib/views/pages/unit5.dart:
--------------------------------------------------------------------------------
1 | import 'package:computer_12/strings/string_unit2.dart';
2 | import 'package:computer_12/widgets/widgets.dart';
3 | import 'package:flutter/cupertino.dart';
4 | import 'package:flutter/material.dart';
5 | import '../components/app_bar.dart';
6 | import '../components/footer.dart';
7 |
8 | class OoP extends StatelessWidget {
9 | OoP({super.key});
10 |
11 | //defining the textstyle
12 | var headlineText = const TextStyle(
13 | fontSize: 21.0,
14 | decoration: TextDecoration.underline,
15 | fontWeight: FontWeight.bold,
16 | );
17 |
18 | var pragraphStyleText = const TextStyle(
19 | color: Colors.black,
20 | fontSize: 17.0,
21 | );
22 |
23 | var pointStyleText = const TextStyle(
24 | color: Colors.black,
25 | fontWeight: FontWeight.bold,
26 | fontSize: 17.0,
27 | );
28 |
29 | @override
30 | Widget build(BuildContext context) {
31 | return Scaffold(
32 | appBar: const CustomAppBar(
33 | titleText: 'Unit 5',
34 | ),
35 | body: PageView(
36 | children: [
37 | GestureDetector(
38 | child: CupertinoScrollbar(
39 | thickness: 10.0,
40 | thumbVisibility: true,
41 | thicknessWhileDragging: 10.0,
42 | child: InteractiveViewer(
43 | child: Padding(
44 | padding: const EdgeInsets.symmetric(horizontal: 7.0),
45 | child: SingleChildScrollView(
46 | child: Column(
47 | crossAxisAlignment: CrossAxisAlignment.stretch,
48 | children: [
49 | const Padding(
50 | padding: EdgeInsets.all(2.0),
51 | child: Text(
52 | "Object Oriented Programming",
53 | textAlign: TextAlign.center,
54 | style: TextStyle(
55 | fontSize: 24.0,
56 | fontWeight: FontWeight.bold,
57 | ),
58 | ),
59 | ),
60 | Text(
61 | sources,
62 | textAlign: TextAlign.center,
63 | style: const TextStyle(
64 | fontSize: 14.0,
65 | fontStyle: FontStyle.italic,
66 | ),
67 | ),
68 | const SizedBox(
69 | height: 8.0,
70 | ),
71 | ChapterTopics(
72 | heading: 'Object Oriented Programming(OOP)'),
73 | const SizedBox(
74 | height: 6.0,
75 | ),
76 | const SelectableText(
77 | "Object orinted programming is a programming paradigm in which a program is viewed as a collection of discrete that are self contained collection of (data structures and functions) and that interact with other objects also. The fundamental idea behind OOP is to combine into a single unit both data and functions that operate on the data. Such a unit is called an object. So in OOP, every program is divided into set of objects and all programming activities revolve around the object. Each individual object has its own member function. An object can only access data of its own by the help of its own member function.",
78 | textAlign: TextAlign.justify,
79 | // ignore: deprecated_member_use
80 | toolbarOptions: ToolbarOptions(
81 | copy: true, cut: true, selectAll: true),
82 | style: TextStyle(
83 | fontFamily: "Ubuntu",
84 | fontSize: 17.0,
85 | ),
86 | ),
87 | const SizedBox(
88 | height: 20.0,
89 | ),
90 | ChapterTopics(heading: 'Characteristics of OOP'),
91 | const SizedBox(
92 | height: 6.0,
93 | ),
94 | const SelectableText(
95 | "1. Emphasis is on data rather than procedure.\n2. Programs are composed of number of objects.\n3. Functions which operate on data of an object are tied together.\n4. Objects can communicate with each another by the medium of member\nnctions.\n5. Data is hidden and cannot be accessed by external functions.\n6. New data and functions can be easily added whenever necessary.\n7. It follows bottom up approach in the process of programming.",
96 | textAlign: TextAlign.start,
97 | style: TextStyle(
98 | fontFamily: "Ubuntu",
99 | fontSize: 17.0,
100 | ),
101 | ),
102 | const SizedBox(
103 | height: 20.0,
104 | ),
105 | ChapterTopics(heading: 'Features/Element of OOP'),
106 | const SizedBox(
107 | height: 6.0,
108 | ),
109 | const Text(
110 | '1.Object: ',
111 | textAlign: TextAlign.left,
112 | style: TextStyle(
113 | decoration: TextDecoration.underline,
114 | fontSize: 17.0,
115 | fontWeight: FontWeight.bold,
116 | fontFamily: "Ubuntu",
117 | ),
118 | ),
119 | const SelectableText(
120 | "Object is any entity, things or organization that exits in real world. it consists of two fundamentals characteristics: Its attributes and behaviours such as color, weight, age, types etc. and behaviours such as barking wagging tail etc. ",
121 | textAlign: TextAlign.justify,
122 | style: TextStyle(
123 | fontFamily: "Ubuntu",
124 | fontSize: 17.0,
125 | ),
126 | ),
127 | const SizedBox(
128 | height: 6.0,
129 | ),
130 | const Text(
131 | '2.Class:',
132 | textAlign: TextAlign.left,
133 | style: TextStyle(
134 | decoration: TextDecoration.underline,
135 | fontSize: 17.0,
136 | fontWeight: FontWeight.bold,
137 | fontFamily: "Ubuntu",
138 | ),
139 | ),
140 | const SelectableText(
141 | "A class is the collection of similar objects which is defined as the template or prototype to define the common attributes and behaviour for all the objects of the class. There are areas of class: public, private and protected. so class is incroporates the concept of data hiding.",
142 | textAlign: TextAlign.justify,
143 | style: TextStyle(
144 | fontFamily: "Ubuntu",
145 | fontSize: 17.0,
146 | ),
147 | ),
148 | const SizedBox(
149 | height: 6.0,
150 | ),
151 | const Text(
152 | '3.Data encapsulation',
153 | textAlign: TextAlign.left,
154 | style: TextStyle(
155 | decoration: TextDecoration.underline,
156 | fontSize: 17.0,
157 | fontWeight: FontWeight.bold,
158 | fontFamily: "Ubuntu",
159 | ),
160 | ),
161 | const SelectableText(
162 | "Encapsulation is a way of organizing data and function into a structure (called class) by concealing(hiding) way the object is implemented.",
163 | textAlign: TextAlign.justify,
164 | style: TextStyle(
165 | fontFamily: "Ubuntu",
166 | fontSize: 17.0,
167 | ),
168 | ),
169 | const SizedBox(
170 | height: 6.0,
171 | ),
172 | const Text(
173 | '4.Data abstraction:',
174 | textAlign: TextAlign.left,
175 | style: TextStyle(
176 | decoration: TextDecoration.underline,
177 | fontSize: 17.0,
178 | fontWeight: FontWeight.bold,
179 | fontFamily: "Ubuntu",
180 | ),
181 | ),
182 | const SelectableText(
183 | "Data Abstraction refers to the conceptual boundaries of an object. so, abstraction is the act of representing essential features without including the background details.",
184 | textAlign: TextAlign.justify,
185 | style: TextStyle(
186 | fontFamily: "Ubuntu",
187 | fontSize: 17.0,
188 | ),
189 | ),
190 | const SizedBox(
191 | height: 6.0,
192 | ),
193 | const Text(
194 | '5.Inheritance: ',
195 | textAlign: TextAlign.left,
196 | style: TextStyle(
197 | decoration: TextDecoration.underline,
198 | fontSize: 17.0,
199 | fontWeight: FontWeight.bold,
200 | fontFamily: "Ubuntu",
201 | ),
202 | ),
203 | const SelectableText(
204 | "The process of creating a new class from on exiting class in which objects of a new class inherits the existing class is known as inheritance.",
205 | textAlign: TextAlign.justify,
206 | style: TextStyle(
207 | fontFamily: "Ubuntu",
208 | fontSize: 17.0,
209 | ),
210 | ),
211 | const SizedBox(
212 | height: 6.0,
213 | ),
214 | ChapterTopics(heading: 'Types of inheritance:'),
215 | const SizedBox(
216 | height: 6.0,
217 | ),
218 | const SelectableText(
219 | "There are following tyeps of inhertance:-",
220 | textAlign: TextAlign.justify,
221 | style: TextStyle(
222 | fontFamily: "Ubuntu",
223 | fontSize: 17.0,
224 | ),
225 | ),
226 | const SizedBox(
227 | height: 6.0,
228 | ),
229 | const Text(
230 | 'a. Single inheritance',
231 | textAlign: TextAlign.left,
232 | style: TextStyle(
233 | decoration: TextDecoration.underline,
234 | fontSize: 17.0,
235 | fontWeight: FontWeight.bold,
236 | fontFamily: "Ubuntu",
237 | ),
238 | ),
239 | const SizedBox(
240 | height: 6.0,
241 | ),
242 | const SelectableText(
243 | "The process of creating a class from an existing class is known as single inhertance. There is only one base and only one derived class in single inheritance.",
244 | textAlign: TextAlign.justify,
245 | style: TextStyle(
246 | fontFamily: "Ubuntu",
247 | fontSize: 17.0,
248 | ),
249 | ),
250 | const SizedBox(
251 | height: 6.0,
252 | ),
253 | const Text(
254 | 'b. Multiple inheritance',
255 | textAlign: TextAlign.left,
256 | style: TextStyle(
257 | decoration: TextDecoration.underline,
258 | fontSize: 17.0,
259 | fontWeight: FontWeight.bold,
260 | fontFamily: "Ubuntu",
261 | ),
262 | ),
263 | const SizedBox(
264 | height: 6.0,
265 | ),
266 | const SelectableText(
267 | "The proces of creating only one new from several existing classes is known as multiple inhertance.There is only one derived class and two or more base classes in multiple inheritance. ",
268 | textAlign: TextAlign.justify,
269 | style: TextStyle(
270 | fontFamily: "Ubuntu",
271 | fontSize: 17.0,
272 | ),
273 | ),
274 | const SizedBox(
275 | height: 6.0,
276 | ),
277 | Image.asset("images/unit_5/eg11.png", height: 120),
278 | const Text(
279 | 'c. Hierarchical inheritance',
280 | textAlign: TextAlign.left,
281 | style: TextStyle(
282 | decoration: TextDecoration.underline,
283 | fontSize: 17.0,
284 | fontWeight: FontWeight.bold,
285 | fontFamily: "Ubuntu",
286 | ),
287 | ),
288 | const SizedBox(
289 | height: 6.0,
290 | ),
291 | const SelectableText(
292 | "The process of creating several classes from only one class is called hierarchical inheritance. There are two or more derived classes and only one base class in hierarchical inheritance.",
293 | textAlign: TextAlign.justify,
294 | style: TextStyle(
295 | fontFamily: "Ubuntu",
296 | fontSize: 17.0,
297 | ),
298 | ),
299 | Image.asset("images/unit_5/eg22.png", height: 120),
300 | const SizedBox(
301 | height: 6.0,
302 | ),
303 | const Text(
304 | 'd. Multilevel inheritance',
305 | textAlign: TextAlign.left,
306 | style: TextStyle(
307 | decoration: TextDecoration.underline,
308 | fontSize: 17.0,
309 | fontWeight: FontWeight.bold,
310 | fontFamily: "Ubuntu",
311 | ),
312 | ),
313 | const SizedBox(
314 | height: 6.0,
315 | ),
316 | const SelectableText(
317 | "The process of creating a new class from another derived class is called multilevel inheritance.",
318 | textAlign: TextAlign.justify,
319 | style: TextStyle(
320 | fontFamily: "Ubuntu",
321 | fontSize: 17.0,
322 | ),
323 | ),
324 | const SizedBox(
325 | height: 6.0,
326 | ),
327 | Image.asset("images/unit_5/eg11.png", height: 120),
328 | const Text(
329 | 'e. Hybrid inheritance',
330 | textAlign: TextAlign.left,
331 | style: TextStyle(
332 | fontSize: 17.0,
333 | decoration: TextDecoration.underline,
334 | fontWeight: FontWeight.bold,
335 | fontFamily: "Ubuntu",
336 | ),
337 | ),
338 | const SizedBox(
339 | height: 6.0,
340 | ),
341 | const SelectableText(
342 | "It is the combinatin of two or more types of inheritance.",
343 | textAlign: TextAlign.justify,
344 | style: TextStyle(
345 | fontFamily: "Ubuntu",
346 | fontSize: 17.0,
347 | ),
348 | ),
349 | const SizedBox(
350 | height: 18.0,
351 | ),
352 | const Text(
353 | '6. Polymorphism:',
354 | textAlign: TextAlign.left,
355 | style: TextStyle(
356 | fontSize: 17.0,
357 | decoration: TextDecoration.underline,
358 | fontWeight: FontWeight.bold,
359 | fontFamily: "Ubuntu",
360 | ),
361 | ),
362 | const SizedBox(
363 | height: 6.0,
364 | ),
365 | const SelectableText(
366 | "Polymorphism refres the ability of an object to take on different forms depending upon situations. Polymorphism is an important feature of OOP which refers to the ability of an object to take on different forms depending uopn. an opreations may exhibit different behaviours in different instance. The behaviour depends upon the types of fata used in the opreation. It simplifies coding and reduces the rework involved in modifing and developing an application. It is extensively used in implementing inheritance.",
367 | textAlign: TextAlign.justify,
368 | style: TextStyle(
369 | fontFamily: "Ubuntu",
370 | fontSize: 17.0,
371 | ),
372 | ),
373 | const SizedBox(
374 | height: 20.0,
375 | ),
376 | ChapterTopics(heading: 'Advantages of OOP '),
377 | const SizedBox(
378 | height: 6.0,
379 | ),
380 | const SelectableText(
381 | "1. We can eliminate redudant codes by using inheritance feature of oop.\n2. It is very easy for managing complex and large sixe problem.\n3. The most important is the reusability of codes by using the features inheritance.\n4. It follows bottom up approach.\n5. It is efficient for testing and implementation of the system.\n6. It takes less times for the testing and implementaion and maintain the software. ",
382 | textAlign: TextAlign.start,
383 | style: TextStyle(
384 | fontFamily: "Ubuntu",
385 | fontSize: 17.0,
386 | ),
387 | ),
388 | const SizedBox(
389 | height: 20.0,
390 | ),
391 | ChapterTopics(heading: 'Disadvantages of OOP '),
392 | const SizedBox(
393 | height: 6.0,
394 | ),
395 | const SelectableText(
396 | "1. OOP demands more resource to get processed.\n2. It is beneficial only in long run while managing large software projects.\n3. Message passing between many objects is a complex process and difficult to trace and debug.\n4. OOP needs mastery in software engineering and also in programming methodology.",
397 | textAlign: TextAlign.start,
398 | style: TextStyle(
399 | fontFamily: "Ubuntu",
400 | fontSize: 17.0,
401 | ),
402 | ),
403 | const SizedBox(
404 | height: 20.0,
405 | ),
406 | ChapterTopics(heading: 'Applications of OOP '),
407 | const SizedBox(
408 | height: 6.0,
409 | ),
410 | const SelectableText(
411 | "1. Images processing and pattern Recognition.\n2. Computer Aided design and manufacturing.\n3. Object oriented database management systems.\n4. Internet and web based application.\n5. Mobile Computing.\n6. Data warehouse and data mining.\n7. Digital Electronics. ",
412 | textAlign: TextAlign.left,
413 | style: TextStyle(
414 | fontFamily: "Ubuntu",
415 | fontSize: 17.0,
416 | ),
417 | ),
418 | const SizedBox(
419 | height: 6.0,
420 | ),
421 | const Footer(),
422 | ],
423 | ),
424 | ),
425 | ),
426 | ),
427 | ),
428 | ),
429 | ],
430 | ),
431 | // bottomNavigationBar: const BannerAdHelper(),
432 | );
433 | }
434 | }
435 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 54;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
11 | 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; };
12 | 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
13 | 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
14 | 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
15 | 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
16 | 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
17 | /* End PBXBuildFile section */
18 |
19 | /* Begin PBXContainerItemProxy section */
20 | 331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = {
21 | isa = PBXContainerItemProxy;
22 | containerPortal = 97C146E61CF9000F007C117D /* Project object */;
23 | proxyType = 1;
24 | remoteGlobalIDString = 97C146ED1CF9000F007C117D;
25 | remoteInfo = Runner;
26 | };
27 | /* End PBXContainerItemProxy section */
28 |
29 | /* Begin PBXCopyFilesBuildPhase section */
30 | 9705A1C41CF9048500538489 /* Embed Frameworks */ = {
31 | isa = PBXCopyFilesBuildPhase;
32 | buildActionMask = 2147483647;
33 | dstPath = "";
34 | dstSubfolderSpec = 10;
35 | files = (
36 | );
37 | name = "Embed Frameworks";
38 | runOnlyForDeploymentPostprocessing = 0;
39 | };
40 | /* End PBXCopyFilesBuildPhase section */
41 |
42 | /* Begin PBXFileReference section */
43 | 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; };
44 | 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; };
45 | 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; };
46 | 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
47 | 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; };
48 | 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; };
49 | 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
50 | 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; };
51 | 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; };
52 | 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; };
53 | 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
54 | 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
55 | 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
56 | 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
57 | 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
58 | /* End PBXFileReference section */
59 |
60 | /* Begin PBXFrameworksBuildPhase section */
61 | 97C146EB1CF9000F007C117D /* Frameworks */ = {
62 | isa = PBXFrameworksBuildPhase;
63 | buildActionMask = 2147483647;
64 | files = (
65 | );
66 | runOnlyForDeploymentPostprocessing = 0;
67 | };
68 | /* End PBXFrameworksBuildPhase section */
69 |
70 | /* Begin PBXGroup section */
71 | 331C8082294A63A400263BE5 /* RunnerTests */ = {
72 | isa = PBXGroup;
73 | children = (
74 | 331C807B294A618700263BE5 /* RunnerTests.swift */,
75 | );
76 | path = RunnerTests;
77 | sourceTree = "";
78 | };
79 | 9740EEB11CF90186004384FC /* Flutter */ = {
80 | isa = PBXGroup;
81 | children = (
82 | 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
83 | 9740EEB21CF90195004384FC /* Debug.xcconfig */,
84 | 7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
85 | 9740EEB31CF90195004384FC /* Generated.xcconfig */,
86 | );
87 | name = Flutter;
88 | sourceTree = "";
89 | };
90 | 97C146E51CF9000F007C117D = {
91 | isa = PBXGroup;
92 | children = (
93 | 9740EEB11CF90186004384FC /* Flutter */,
94 | 97C146F01CF9000F007C117D /* Runner */,
95 | 97C146EF1CF9000F007C117D /* Products */,
96 | 331C8082294A63A400263BE5 /* RunnerTests */,
97 | );
98 | sourceTree = "";
99 | };
100 | 97C146EF1CF9000F007C117D /* Products */ = {
101 | isa = PBXGroup;
102 | children = (
103 | 97C146EE1CF9000F007C117D /* Runner.app */,
104 | 331C8081294A63A400263BE5 /* RunnerTests.xctest */,
105 | );
106 | name = Products;
107 | sourceTree = "";
108 | };
109 | 97C146F01CF9000F007C117D /* Runner */ = {
110 | isa = PBXGroup;
111 | children = (
112 | 97C146FA1CF9000F007C117D /* Main.storyboard */,
113 | 97C146FD1CF9000F007C117D /* Assets.xcassets */,
114 | 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
115 | 97C147021CF9000F007C117D /* Info.plist */,
116 | 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
117 | 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
118 | 74858FAE1ED2DC5600515810 /* AppDelegate.swift */,
119 | 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */,
120 | );
121 | path = Runner;
122 | sourceTree = "";
123 | };
124 | /* End PBXGroup section */
125 |
126 | /* Begin PBXNativeTarget section */
127 | 331C8080294A63A400263BE5 /* RunnerTests */ = {
128 | isa = PBXNativeTarget;
129 | buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */;
130 | buildPhases = (
131 | 331C807D294A63A400263BE5 /* Sources */,
132 | 331C807F294A63A400263BE5 /* Resources */,
133 | );
134 | buildRules = (
135 | );
136 | dependencies = (
137 | 331C8086294A63A400263BE5 /* PBXTargetDependency */,
138 | );
139 | name = RunnerTests;
140 | productName = RunnerTests;
141 | productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */;
142 | productType = "com.apple.product-type.bundle.unit-test";
143 | };
144 | 97C146ED1CF9000F007C117D /* Runner */ = {
145 | isa = PBXNativeTarget;
146 | buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
147 | buildPhases = (
148 | 9740EEB61CF901F6004384FC /* Run Script */,
149 | 97C146EA1CF9000F007C117D /* Sources */,
150 | 97C146EB1CF9000F007C117D /* Frameworks */,
151 | 97C146EC1CF9000F007C117D /* Resources */,
152 | 9705A1C41CF9048500538489 /* Embed Frameworks */,
153 | 3B06AD1E1E4923F5004D2608 /* Thin Binary */,
154 | );
155 | buildRules = (
156 | );
157 | dependencies = (
158 | );
159 | name = Runner;
160 | productName = Runner;
161 | productReference = 97C146EE1CF9000F007C117D /* Runner.app */;
162 | productType = "com.apple.product-type.application";
163 | };
164 | /* End PBXNativeTarget section */
165 |
166 | /* Begin PBXProject section */
167 | 97C146E61CF9000F007C117D /* Project object */ = {
168 | isa = PBXProject;
169 | attributes = {
170 | BuildIndependentTargetsInParallel = YES;
171 | LastUpgradeCheck = 1510;
172 | ORGANIZATIONNAME = "";
173 | TargetAttributes = {
174 | 331C8080294A63A400263BE5 = {
175 | CreatedOnToolsVersion = 14.0;
176 | TestTargetID = 97C146ED1CF9000F007C117D;
177 | };
178 | 97C146ED1CF9000F007C117D = {
179 | CreatedOnToolsVersion = 7.3.1;
180 | LastSwiftMigration = 1100;
181 | };
182 | };
183 | };
184 | buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */;
185 | compatibilityVersion = "Xcode 9.3";
186 | developmentRegion = en;
187 | hasScannedForEncodings = 0;
188 | knownRegions = (
189 | en,
190 | Base,
191 | );
192 | mainGroup = 97C146E51CF9000F007C117D;
193 | productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
194 | projectDirPath = "";
195 | projectRoot = "";
196 | targets = (
197 | 97C146ED1CF9000F007C117D /* Runner */,
198 | 331C8080294A63A400263BE5 /* RunnerTests */,
199 | );
200 | };
201 | /* End PBXProject section */
202 |
203 | /* Begin PBXResourcesBuildPhase section */
204 | 331C807F294A63A400263BE5 /* Resources */ = {
205 | isa = PBXResourcesBuildPhase;
206 | buildActionMask = 2147483647;
207 | files = (
208 | );
209 | runOnlyForDeploymentPostprocessing = 0;
210 | };
211 | 97C146EC1CF9000F007C117D /* Resources */ = {
212 | isa = PBXResourcesBuildPhase;
213 | buildActionMask = 2147483647;
214 | files = (
215 | 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,
216 | 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
217 | 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
218 | 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
219 | );
220 | runOnlyForDeploymentPostprocessing = 0;
221 | };
222 | /* End PBXResourcesBuildPhase section */
223 |
224 | /* Begin PBXShellScriptBuildPhase section */
225 | 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
226 | isa = PBXShellScriptBuildPhase;
227 | alwaysOutOfDate = 1;
228 | buildActionMask = 2147483647;
229 | files = (
230 | );
231 | inputPaths = (
232 | "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
233 | );
234 | name = "Thin Binary";
235 | outputPaths = (
236 | );
237 | runOnlyForDeploymentPostprocessing = 0;
238 | shellPath = /bin/sh;
239 | shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
240 | };
241 | 9740EEB61CF901F6004384FC /* Run Script */ = {
242 | isa = PBXShellScriptBuildPhase;
243 | alwaysOutOfDate = 1;
244 | buildActionMask = 2147483647;
245 | files = (
246 | );
247 | inputPaths = (
248 | );
249 | name = "Run Script";
250 | outputPaths = (
251 | );
252 | runOnlyForDeploymentPostprocessing = 0;
253 | shellPath = /bin/sh;
254 | shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
255 | };
256 | /* End PBXShellScriptBuildPhase section */
257 |
258 | /* Begin PBXSourcesBuildPhase section */
259 | 331C807D294A63A400263BE5 /* Sources */ = {
260 | isa = PBXSourcesBuildPhase;
261 | buildActionMask = 2147483647;
262 | files = (
263 | 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */,
264 | );
265 | runOnlyForDeploymentPostprocessing = 0;
266 | };
267 | 97C146EA1CF9000F007C117D /* Sources */ = {
268 | isa = PBXSourcesBuildPhase;
269 | buildActionMask = 2147483647;
270 | files = (
271 | 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */,
272 | 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */,
273 | );
274 | runOnlyForDeploymentPostprocessing = 0;
275 | };
276 | /* End PBXSourcesBuildPhase section */
277 |
278 | /* Begin PBXTargetDependency section */
279 | 331C8086294A63A400263BE5 /* PBXTargetDependency */ = {
280 | isa = PBXTargetDependency;
281 | target = 97C146ED1CF9000F007C117D /* Runner */;
282 | targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */;
283 | };
284 | /* End PBXTargetDependency section */
285 |
286 | /* Begin PBXVariantGroup section */
287 | 97C146FA1CF9000F007C117D /* Main.storyboard */ = {
288 | isa = PBXVariantGroup;
289 | children = (
290 | 97C146FB1CF9000F007C117D /* Base */,
291 | );
292 | name = Main.storyboard;
293 | sourceTree = "";
294 | };
295 | 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = {
296 | isa = PBXVariantGroup;
297 | children = (
298 | 97C147001CF9000F007C117D /* Base */,
299 | );
300 | name = LaunchScreen.storyboard;
301 | sourceTree = "";
302 | };
303 | /* End PBXVariantGroup section */
304 |
305 | /* Begin XCBuildConfiguration section */
306 | 249021D3217E4FDB00AE95B9 /* Profile */ = {
307 | isa = XCBuildConfiguration;
308 | buildSettings = {
309 | ALWAYS_SEARCH_USER_PATHS = NO;
310 | ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
311 | CLANG_ANALYZER_NONNULL = YES;
312 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
313 | CLANG_CXX_LIBRARY = "libc++";
314 | CLANG_ENABLE_MODULES = YES;
315 | CLANG_ENABLE_OBJC_ARC = YES;
316 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
317 | CLANG_WARN_BOOL_CONVERSION = YES;
318 | CLANG_WARN_COMMA = YES;
319 | CLANG_WARN_CONSTANT_CONVERSION = YES;
320 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
321 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
322 | CLANG_WARN_EMPTY_BODY = YES;
323 | CLANG_WARN_ENUM_CONVERSION = YES;
324 | CLANG_WARN_INFINITE_RECURSION = YES;
325 | CLANG_WARN_INT_CONVERSION = YES;
326 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
327 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
328 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
329 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
330 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
331 | CLANG_WARN_STRICT_PROTOTYPES = YES;
332 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
333 | CLANG_WARN_UNREACHABLE_CODE = YES;
334 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
335 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
336 | COPY_PHASE_STRIP = NO;
337 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
338 | ENABLE_NS_ASSERTIONS = NO;
339 | ENABLE_STRICT_OBJC_MSGSEND = YES;
340 | ENABLE_USER_SCRIPT_SANDBOXING = NO;
341 | GCC_C_LANGUAGE_STANDARD = gnu99;
342 | GCC_NO_COMMON_BLOCKS = YES;
343 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
344 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
345 | GCC_WARN_UNDECLARED_SELECTOR = YES;
346 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
347 | GCC_WARN_UNUSED_FUNCTION = YES;
348 | GCC_WARN_UNUSED_VARIABLE = YES;
349 | IPHONEOS_DEPLOYMENT_TARGET = 12.0;
350 | MTL_ENABLE_DEBUG_INFO = NO;
351 | SDKROOT = iphoneos;
352 | SUPPORTED_PLATFORMS = iphoneos;
353 | TARGETED_DEVICE_FAMILY = "1,2";
354 | VALIDATE_PRODUCT = YES;
355 | };
356 | name = Profile;
357 | };
358 | 249021D4217E4FDB00AE95B9 /* Profile */ = {
359 | isa = XCBuildConfiguration;
360 | baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
361 | buildSettings = {
362 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
363 | CLANG_ENABLE_MODULES = YES;
364 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
365 | ENABLE_BITCODE = NO;
366 | INFOPLIST_FILE = Runner/Info.plist;
367 | LD_RUNPATH_SEARCH_PATHS = (
368 | "$(inherited)",
369 | "@executable_path/Frameworks",
370 | );
371 | PRODUCT_BUNDLE_IDENTIFIER = com.example.computer12;
372 | PRODUCT_NAME = "$(TARGET_NAME)";
373 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
374 | SWIFT_VERSION = 5.0;
375 | VERSIONING_SYSTEM = "apple-generic";
376 | };
377 | name = Profile;
378 | };
379 | 331C8088294A63A400263BE5 /* Debug */ = {
380 | isa = XCBuildConfiguration;
381 | buildSettings = {
382 | BUNDLE_LOADER = "$(TEST_HOST)";
383 | CODE_SIGN_STYLE = Automatic;
384 | CURRENT_PROJECT_VERSION = 1;
385 | GENERATE_INFOPLIST_FILE = YES;
386 | MARKETING_VERSION = 1.0;
387 | PRODUCT_BUNDLE_IDENTIFIER = com.example.computer12.RunnerTests;
388 | PRODUCT_NAME = "$(TARGET_NAME)";
389 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
390 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
391 | SWIFT_VERSION = 5.0;
392 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
393 | };
394 | name = Debug;
395 | };
396 | 331C8089294A63A400263BE5 /* Release */ = {
397 | isa = XCBuildConfiguration;
398 | buildSettings = {
399 | BUNDLE_LOADER = "$(TEST_HOST)";
400 | CODE_SIGN_STYLE = Automatic;
401 | CURRENT_PROJECT_VERSION = 1;
402 | GENERATE_INFOPLIST_FILE = YES;
403 | MARKETING_VERSION = 1.0;
404 | PRODUCT_BUNDLE_IDENTIFIER = com.example.computer12.RunnerTests;
405 | PRODUCT_NAME = "$(TARGET_NAME)";
406 | SWIFT_VERSION = 5.0;
407 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
408 | };
409 | name = Release;
410 | };
411 | 331C808A294A63A400263BE5 /* Profile */ = {
412 | isa = XCBuildConfiguration;
413 | buildSettings = {
414 | BUNDLE_LOADER = "$(TEST_HOST)";
415 | CODE_SIGN_STYLE = Automatic;
416 | CURRENT_PROJECT_VERSION = 1;
417 | GENERATE_INFOPLIST_FILE = YES;
418 | MARKETING_VERSION = 1.0;
419 | PRODUCT_BUNDLE_IDENTIFIER = com.example.computer12.RunnerTests;
420 | PRODUCT_NAME = "$(TARGET_NAME)";
421 | SWIFT_VERSION = 5.0;
422 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
423 | };
424 | name = Profile;
425 | };
426 | 97C147031CF9000F007C117D /* Debug */ = {
427 | isa = XCBuildConfiguration;
428 | buildSettings = {
429 | ALWAYS_SEARCH_USER_PATHS = NO;
430 | ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
431 | CLANG_ANALYZER_NONNULL = YES;
432 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
433 | CLANG_CXX_LIBRARY = "libc++";
434 | CLANG_ENABLE_MODULES = YES;
435 | CLANG_ENABLE_OBJC_ARC = YES;
436 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
437 | CLANG_WARN_BOOL_CONVERSION = YES;
438 | CLANG_WARN_COMMA = YES;
439 | CLANG_WARN_CONSTANT_CONVERSION = YES;
440 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
441 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
442 | CLANG_WARN_EMPTY_BODY = YES;
443 | CLANG_WARN_ENUM_CONVERSION = YES;
444 | CLANG_WARN_INFINITE_RECURSION = YES;
445 | CLANG_WARN_INT_CONVERSION = YES;
446 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
447 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
448 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
449 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
450 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
451 | CLANG_WARN_STRICT_PROTOTYPES = YES;
452 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
453 | CLANG_WARN_UNREACHABLE_CODE = YES;
454 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
455 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
456 | COPY_PHASE_STRIP = NO;
457 | DEBUG_INFORMATION_FORMAT = dwarf;
458 | ENABLE_STRICT_OBJC_MSGSEND = YES;
459 | ENABLE_TESTABILITY = YES;
460 | ENABLE_USER_SCRIPT_SANDBOXING = NO;
461 | GCC_C_LANGUAGE_STANDARD = gnu99;
462 | GCC_DYNAMIC_NO_PIC = NO;
463 | GCC_NO_COMMON_BLOCKS = YES;
464 | GCC_OPTIMIZATION_LEVEL = 0;
465 | GCC_PREPROCESSOR_DEFINITIONS = (
466 | "DEBUG=1",
467 | "$(inherited)",
468 | );
469 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
470 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
471 | GCC_WARN_UNDECLARED_SELECTOR = YES;
472 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
473 | GCC_WARN_UNUSED_FUNCTION = YES;
474 | GCC_WARN_UNUSED_VARIABLE = YES;
475 | IPHONEOS_DEPLOYMENT_TARGET = 12.0;
476 | MTL_ENABLE_DEBUG_INFO = YES;
477 | ONLY_ACTIVE_ARCH = YES;
478 | SDKROOT = iphoneos;
479 | TARGETED_DEVICE_FAMILY = "1,2";
480 | };
481 | name = Debug;
482 | };
483 | 97C147041CF9000F007C117D /* Release */ = {
484 | isa = XCBuildConfiguration;
485 | buildSettings = {
486 | ALWAYS_SEARCH_USER_PATHS = NO;
487 | ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
488 | CLANG_ANALYZER_NONNULL = YES;
489 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
490 | CLANG_CXX_LIBRARY = "libc++";
491 | CLANG_ENABLE_MODULES = YES;
492 | CLANG_ENABLE_OBJC_ARC = YES;
493 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
494 | CLANG_WARN_BOOL_CONVERSION = YES;
495 | CLANG_WARN_COMMA = YES;
496 | CLANG_WARN_CONSTANT_CONVERSION = YES;
497 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
498 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
499 | CLANG_WARN_EMPTY_BODY = YES;
500 | CLANG_WARN_ENUM_CONVERSION = YES;
501 | CLANG_WARN_INFINITE_RECURSION = YES;
502 | CLANG_WARN_INT_CONVERSION = YES;
503 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
504 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
505 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
506 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
507 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
508 | CLANG_WARN_STRICT_PROTOTYPES = YES;
509 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
510 | CLANG_WARN_UNREACHABLE_CODE = YES;
511 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
512 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
513 | COPY_PHASE_STRIP = NO;
514 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
515 | ENABLE_NS_ASSERTIONS = NO;
516 | ENABLE_STRICT_OBJC_MSGSEND = YES;
517 | ENABLE_USER_SCRIPT_SANDBOXING = NO;
518 | GCC_C_LANGUAGE_STANDARD = gnu99;
519 | GCC_NO_COMMON_BLOCKS = YES;
520 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
521 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
522 | GCC_WARN_UNDECLARED_SELECTOR = YES;
523 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
524 | GCC_WARN_UNUSED_FUNCTION = YES;
525 | GCC_WARN_UNUSED_VARIABLE = YES;
526 | IPHONEOS_DEPLOYMENT_TARGET = 12.0;
527 | MTL_ENABLE_DEBUG_INFO = NO;
528 | SDKROOT = iphoneos;
529 | SUPPORTED_PLATFORMS = iphoneos;
530 | SWIFT_COMPILATION_MODE = wholemodule;
531 | SWIFT_OPTIMIZATION_LEVEL = "-O";
532 | TARGETED_DEVICE_FAMILY = "1,2";
533 | VALIDATE_PRODUCT = YES;
534 | };
535 | name = Release;
536 | };
537 | 97C147061CF9000F007C117D /* Debug */ = {
538 | isa = XCBuildConfiguration;
539 | baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
540 | buildSettings = {
541 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
542 | CLANG_ENABLE_MODULES = YES;
543 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
544 | ENABLE_BITCODE = NO;
545 | INFOPLIST_FILE = Runner/Info.plist;
546 | LD_RUNPATH_SEARCH_PATHS = (
547 | "$(inherited)",
548 | "@executable_path/Frameworks",
549 | );
550 | PRODUCT_BUNDLE_IDENTIFIER = com.example.computer12;
551 | PRODUCT_NAME = "$(TARGET_NAME)";
552 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
553 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
554 | SWIFT_VERSION = 5.0;
555 | VERSIONING_SYSTEM = "apple-generic";
556 | };
557 | name = Debug;
558 | };
559 | 97C147071CF9000F007C117D /* Release */ = {
560 | isa = XCBuildConfiguration;
561 | baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
562 | buildSettings = {
563 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
564 | CLANG_ENABLE_MODULES = YES;
565 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
566 | ENABLE_BITCODE = NO;
567 | INFOPLIST_FILE = Runner/Info.plist;
568 | LD_RUNPATH_SEARCH_PATHS = (
569 | "$(inherited)",
570 | "@executable_path/Frameworks",
571 | );
572 | PRODUCT_BUNDLE_IDENTIFIER = com.example.computer12;
573 | PRODUCT_NAME = "$(TARGET_NAME)";
574 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
575 | SWIFT_VERSION = 5.0;
576 | VERSIONING_SYSTEM = "apple-generic";
577 | };
578 | name = Release;
579 | };
580 | /* End XCBuildConfiguration section */
581 |
582 | /* Begin XCConfigurationList section */
583 | 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = {
584 | isa = XCConfigurationList;
585 | buildConfigurations = (
586 | 331C8088294A63A400263BE5 /* Debug */,
587 | 331C8089294A63A400263BE5 /* Release */,
588 | 331C808A294A63A400263BE5 /* Profile */,
589 | );
590 | defaultConfigurationIsVisible = 0;
591 | defaultConfigurationName = Release;
592 | };
593 | 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = {
594 | isa = XCConfigurationList;
595 | buildConfigurations = (
596 | 97C147031CF9000F007C117D /* Debug */,
597 | 97C147041CF9000F007C117D /* Release */,
598 | 249021D3217E4FDB00AE95B9 /* Profile */,
599 | );
600 | defaultConfigurationIsVisible = 0;
601 | defaultConfigurationName = Release;
602 | };
603 | 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = {
604 | isa = XCConfigurationList;
605 | buildConfigurations = (
606 | 97C147061CF9000F007C117D /* Debug */,
607 | 97C147071CF9000F007C117D /* Release */,
608 | 249021D4217E4FDB00AE95B9 /* Profile */,
609 | );
610 | defaultConfigurationIsVisible = 0;
611 | defaultConfigurationName = Release;
612 | };
613 | /* End XCConfigurationList section */
614 | };
615 | rootObject = 97C146E61CF9000F007C117D /* Project object */;
616 | }
617 |
--------------------------------------------------------------------------------
/lib/views/pages/unit3.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/cupertino.dart';
2 | import 'package:flutter/material.dart';
3 | import '../../widgets/widgets.dart';
4 | import '../components/app_bar.dart';
5 | import '../components/footer.dart';
6 | import '../components/headings.dart';
7 |
8 | class WebDevelopment extends StatelessWidget {
9 | const WebDevelopment({super.key});
10 |
11 | @override
12 | Widget build(BuildContext context) {
13 | return Scaffold(
14 | appBar: const CustomAppBar(
15 | titleText: 'Unit 3',
16 | ),
17 | body: PageView(
18 | children: [
19 | GestureDetector(
20 | child: CupertinoScrollbar(
21 | thickness: 10.0,
22 | thumbVisibility: true,
23 | thicknessWhileDragging: 10.0,
24 | child: InteractiveViewer(
25 | child: SingleChildScrollView(
26 | child: Padding(
27 | padding: const EdgeInsets.all(8.0),
28 | child: Column(
29 | crossAxisAlignment: CrossAxisAlignment.stretch,
30 | children: [
31 | const TopicsHeadings(
32 | unit: 'Web Technology',
33 | ),
34 | const SizedBox(
35 | height: 16.0,
36 | ),
37 | ChapterTopics(
38 | heading:
39 | 'Web technology with Server side and client side programming',
40 | ),
41 | HeadingDetails(
42 | contents:
43 | 'Web technology is the tools and techniques which enables two or more computing devices to communicate over a network i.e. Internet. Web Technology consist of two words, the web refers to the World Wide Web generally known as World Wide Web. WWW is the cyber space containing webpages, documents, and any other resources which are identified and located with the help of their URLs. Technology refers to the tools and techniques that makes these resources available on the Web such as, web browsers to view content of web, Programming languages and frameworks for the development of websites, Database to store data at back end, protocols for communicating on the web, multimedia elements etc.\n\nWeb development is the process of designing and developing website which are hosted through internet or intranet. The process of developing web can range from developing static page to a complex such as web based application social media sites, E-commerce. Web development includes web design, web content development, client side scripting, server side scripting, web engineering etc. Since, web development consists of several inter-related task which can be accomplish by different types of developer who focuses on different aspect of web creation. ',
44 | ),
45 | Image.asset("images/unit_3/html.jpg"),
46 | const SizedBox(
47 | height: 8,
48 | ),
49 | ChapterTopics(
50 | heading: 'Server side and client side programming',
51 | ),
52 | const ChapterHeadingMedium(
53 | medium_heading:
54 | 'Client-Side Scripting programming'),
55 | HeadingDetails(
56 | contents:
57 | 'Client-side scripting is performed to generate a code that can run on the client side i.e (front end) browser without needing the server-side (back end) processing. Basically, client-side scripts are placed inside an HTML document. The client-side scripting can be used to layout the content of the web. For example, when a user makes a request through web browser for a webpage to the server, it just sent the HTML and CSS as plain text, and the browser interprets and renders the content of web in the client end (user). Client-side scripting is designed to run as a scripting language which can be executed by web browser. Front end developer is someone who design and develop client side of a website. Generally. he or she works in user interface (UI) of a website. Front end developer must be at least fluent in three different languages i.e. HTML, CSS, JavaScript whereas, there are several other libraries which can be used for front end development.',
58 | ),
59 | const ChapterHeadingMedium(
60 | medium_heading:
61 | 'Server-Side Scripting programming'),
62 | HeadingDetails(
63 | contents:
64 | 'Server-side scripting also known as back-end runs on the server where the application is hosted. Server-side is used to serve content depending upon the user request. Back end helps to create dynamic web based application that allows user to interact and communicate with the application. Back end language also helps to connect front end with data base. So that, User can store and retrieve data as per the requirement. Back-end developer is responsible for server-side programming. Some of the popular server-side (back-end) scripting language are ASP, JavaScript (using SSJS (Server-side JavaScript e.g. node.js), Perl, PHP, Ruby, Python etc.\n\nClient-side scripting and server-side scripting both works along side. The client-side scripting emphasizes making the interface of the web application or website (UI) more appealing and functional. Whereas, server-side scripting emphasizes on data accessing methods, error handling and fast processing etc..\n\nNote: Full-stack developer understand both Front end and back end development process. They can accomplish entire project. Full stack developer must have expertise in client site and server site Scripting language. Moreover, he/she has a great knowledge of integrating database with the application.',
65 | ),
66 | const SizedBox(
67 | height: 8.0,
68 | ),
69 | ChapterTopics(
70 | heading: 'How to add JavaScript in web pages?',
71 | ),
72 | HeadingDetails(
73 | contents:
74 | 'JavaScript is a client-side scripting language used for web development along with other front-end development tool such as HTML and CSS. JavaScript helps to give dynamic behavior to our web pages such as adding animation, drop down menus, client-side validation etc. More over JS can be used for mobile apps development and game development. JavaScript is known as scripting language because it does not need to be compiled before execution, it executes in run-time environment through web browser. Several libraries of JavaScript such as React JS, Vue JS, Angular JS etc can be found and used to make more interactive, intuitive and advance web pages. JS is not only used for front-end rather it can be used in server side also. Node JS is an example of server-side JavaScript generally known as SSJS.',
75 | ),
76 | Image.asset("images/unit_3/js.jpg"),
77 | ChapterTopics(heading: 'Feature of JavaScript'),
78 | HeadingDetails(
79 | contents:
80 | '- It is light weighted and interpreted language which execute in run-time environment directly through web browser.\n- It is supported by all the web browser since 97% of all web sites use JS.\n - It is also a structural programming language since it support control structure such as branching and looping. \n - It is prototype based programming language which means we can create object without creating classes, so it is also a Object Oriented programming3. \n -JavaScript is a case-sensitive language, small and upper case differs. \n -Every operating system such as Windows, MacOS supports JS.',
81 | ),
82 | ChapterTopics(heading: 'Uses of JavaScript'),
83 | HeadingDetails(
84 | contents:
85 | '- JS is used for client-side validation.\n- JS can be used to make dynamic drop-down menus.\n- JS can be used to display date, time and even clock.\n- JS can be used to generate pop-up windows, alert message, dialog box etc\n- JS can also be used for Server application.\n- JS can be used for cross platform mobile apps development.\n- JS can be used for game development.',
86 | ),
87 | ChapterTopics(
88 | heading: 'Adding JavaScript to HTML document'),
89 | HeadingDetails(
90 | contents:
91 | 'As we know, JS is often used as client-side scripting language along with HTML and CSS. Like we add CSS to our HTML document, similarly we can add our JavaScript code to HTML document in three several ways. The several ways of adding JavaScript to HTML document are:'),
92 | const ChapterHeadingMedium(
93 | medium_heading: '1 .Inline JavaScript code'),
94 | HeadingDetails(
95 | contents:
96 | 'This is the method of adding JS code directly inside the HTML tag. We don’t have to create separate JS file or even we don’t have to place JS code with in script tag. Simple events like onclick, mouseover, keypress can easily be added through this method. But, its very much inconvenient to add large JS code inline. JavaScript code can be added in HTML document inline as follows:',
97 | ),
98 | Image.asset("images/unit_3/e1.png"),
99 | HeadingDetails(
100 | contents:
101 | 'Here, we have added alert message through onclick event. When user press the Click me button then alert message will be shown in the web browser.'),
102 | const SizedBox(
103 | height: 8.0,
104 | ),
105 | const ChapterHeadingMedium(
106 | medium_heading:
107 | '2. Internal (Embedding) JavaScript code'),
108 | HeadingDetails(
109 | contents:
110 | 'This is the method of adding JS code within the HTML document. JS code is added internally with in the script tag inside body of the HTML document. JavaScript code can be embedded within HTML document as follows:'),
111 | Image.asset("images/unit_3/e2.png"),
112 | HeadingDetails(
113 | contents:
114 | 'Here, we have created a JS function named disp( ), this function is called when user press the Click me button. Once button is pressed alert message is displayed which is defined inside function within Script tag.'),
115 | const SizedBox(
116 | height: 8.0,
117 | ),
118 | const ChapterHeadingMedium(
119 | medium_heading: '3. External JavaScript file'),
120 | HeadingDetails(
121 | contents:
122 | 'This is the most popular methods of adding JS in our web pages. To add external JavaScript we have to create separate JS file which is linked with our HTML document as:'),
123 | Image.asset("images/unit_3/e3.png"),
124 | HeadingDetails(
125 | contents:
126 | 'Where, name.js is the JavaScript file that we create to write all our JS code. It should be in same location with our HTML document. It is most convenient way of adding JS in our web page as JS code don’t get messed with other HTML and CSS code. JavaScript code can be externally added with HTML document as follows:\n\nCreate a HTML document with any name'),
127 | Image.asset("images/unit_3/e4.png"),
128 | HeadingDetails(
129 | contents:
130 | 'Also create a JS file with .js extension and add following code'),
131 | Image.asset("images/unit_3/e5.png"),
132 | HeadingDetails(
133 | contents:
134 | 'Here, we have created separate HTML and JS file in same location. Since, we have linked our JS file with our HTML document, every code which is written in JS file will be implemented on HTML document.',
135 | ),
136 | const SizedBox(
137 | height: 16.0,
138 | ),
139 | ChapterTopics(
140 | heading: 'Local and global variable in JavaScript'),
141 | HeadingDetails(
142 | contents:
143 | 'Variables are the identifiers which holds value during our program execution. These values may change throughout the program. Depending upon the nature of data variable can hold several type of value. The type of value stored in the variable are denoted by datatype. There are two types of datatypes used in JS.'),
144 | ChapterTopics(heading: 'Data types used in JavaScript'),
145 | const ChapterHeadingMedium(
146 | medium_heading: 'a) Primitive data type: '),
147 | HeadingDetails(
148 | contents: 'They are inbuilt datatype used in JS.'),
149 | Table(
150 | border: TableBorder.all(),
151 | columnWidths: const {
152 | 0: FixedColumnWidth(
153 | 80), // Adjust the width of the first column
154 | },
155 | children: const [
156 | TableRow(
157 | children: [
158 | TableCell(
159 | child: Center(child: Text('Data Type')),
160 | ),
161 | TableCell(
162 | child: Center(child: Text('Function')),
163 | ),
164 | ],
165 | ),
166 | TableRow(
167 | children: [
168 | TableCell(
169 | child: Center(child: Text('Number')),
170 | ),
171 | TableCell(
172 | child: Padding(
173 | padding: EdgeInsets.all(
174 | 8.0), // Add padding to the right column
175 | child: Center(
176 | child: Text(
177 | 'It represents numeric values, including integers and floating-point numbers. BigInt can be used to represent numbers with large values.'),
178 | ),
179 | ),
180 | ),
181 | ],
182 | ),
183 | TableRow(
184 | children: [
185 | TableCell(
186 | child: Center(child: Text('String')),
187 | ),
188 | TableCell(
189 | child: Padding(
190 | padding: EdgeInsets.all(
191 | 8.0), // Add padding to the right column
192 | child: Center(
193 | child: Text(
194 | 'It represent alphanumeric values i.e. text'),
195 | ),
196 | ),
197 | ),
198 | ],
199 | ),
200 | TableRow(
201 | children: [
202 | TableCell(
203 | child: Center(child: Text('Boolean')),
204 | ),
205 | TableCell(
206 | child: Padding(
207 | padding: EdgeInsets.all(
208 | 8.0), // Add padding to the right column
209 | child: Center(
210 | child: Text(
211 | 'It represent either true or false value.'),
212 | ),
213 | ),
214 | ),
215 | ],
216 | ),
217 | TableRow(
218 | children: [
219 | TableCell(
220 | child: Center(child: Text('Null')),
221 | ),
222 | TableCell(
223 | child: Padding(
224 | padding: EdgeInsets.all(
225 | 8.0), // Add padding to the right column
226 | child: Center(
227 | child: Text(
228 | ' It represent empty or unknown value.'),
229 | ),
230 | ),
231 | ),
232 | ],
233 | ),
234 | TableRow(
235 | children: [
236 | TableCell(
237 | child: Center(child: Text('Undefined')),
238 | ),
239 | TableCell(
240 | child: Padding(
241 | padding: EdgeInsets.all(
242 | 8.0), // Add padding to the right column
243 | child: Center(
244 | child: Text(
245 | ' If variable is declared but the value is not assigned then the variable is of undefined type.'),
246 | ),
247 | ),
248 | ),
249 | ],
250 | ),
251 | ],
252 | ),
253 | const ChapterHeadingMedium(
254 | medium_heading: 'b) Non-Primitive datatype:'),
255 | HeadingDetails(
256 | contents:
257 | 'They are the derived datatypes from primitive datatype.'),
258 | Table(
259 | border: TableBorder.all(),
260 | columnWidths: const {
261 | 0: FixedColumnWidth(
262 | 80), // Adjust the width of the first column
263 | },
264 | children: const [
265 | TableRow(
266 | children: [
267 | TableCell(
268 | child: Center(child: Text('Data Type')),
269 | ),
270 | TableCell(
271 | child: Center(child: Text('Function')),
272 | ),
273 | ],
274 | ),
275 | TableRow(
276 | children: [
277 | TableCell(
278 | child: Center(child: Text('Array')),
279 | ),
280 | TableCell(
281 | child: Padding(
282 | padding: EdgeInsets.all(
283 | 8.0), // Add padding to the right column
284 | child: Center(
285 | child: Text(
286 | ' It store multiple values of same type under a same name.'),
287 | ),
288 | ),
289 | ),
290 | ],
291 | ),
292 | TableRow(
293 | children: [
294 | TableCell(
295 | child: Center(child: Text('Object ')),
296 | ),
297 | TableCell(
298 | child: Padding(
299 | padding: EdgeInsets.all(
300 | 8.0), // Add padding to the right column
301 | child: Center(
302 | child: Text(
303 | ' It has methods and properties.'),
304 | ),
305 | ),
306 | ),
307 | ],
308 | ),
309 | ],
310 | ),
311 | ChapterTopics(heading: 'Variables in JavaScript'),
312 | HeadingDetails(
313 | contents:
314 | ' Variables in JavaScript are declared by using keyword "var". for eg, \nvar a=3,b=4;\nvar fruit = "apple"; '),
315 | ChapterTopics(
316 | heading: 'Types of variable in JavaScript'),
317 | const ChapterHeadingMedium(
318 | medium_heading: 'a) Local variable '),
319 | HeadingDetails(
320 | contents:
321 | 'Those variable which are declared inside the block or function is called local variable. Local variable can only be accessed and used within the block or function.'),
322 | Image.asset("images/unit_3/e6.png"),
323 | HeadingDetails(
324 | contents:
325 | "In above example, the variable 'a' is declared inside the function disp(). So, it can be used only within the function block. Other function or block cannot use the value of 'a'. Hence, to overcome this limitation we have global variable.",
326 | ),
327 | const ChapterHeadingMedium(
328 | medium_heading: 'b) Global variable'),
329 | HeadingDetails(
330 | contents:
331 | 'Those variable which are declared outside the block or function is called global variable. Global variable can be accessed and used within any other function or the block.',
332 | ),
333 | Image.asset("images/unit_3/e7.png"),
334 | HeadingDetails(
335 | contents:
336 | "In above example, the variable 'a' is declared outside the two function disp() and cisp(). So, it can be used by both function block. When user press Click me then, disp() function is called, this function will display the value of 'a' i.e. 5 which is declared outside of the function. Similarly, when user press Push me then, cisp() function is called, this function will also display the value of 'a' i.e. 5. This is because variable ‘a’ is declared outside of function or block which can be used by any number of function or block. Note: Block represent the statement written inside curly bracket { }",
337 | ),
338 | ChapterTopics(heading: 'form validation in javascript'),
339 | HeadingDetails(
340 | contents:
341 | 'Once the client or user entered all the necessary data and press the submit button then all the data entered by the client must be correct and valid. Thus, form validation is the mechanism which allows client to enter only the correct information which can be send to the server. JavaScript provides easy method for form validation at client side. Forma validation can be done in two ways: Basic validation which checks whether all the required fields are filled properly or not kept empty whereas, Data Format validation check whether the data entered into the form field are logically correct.'),
342 | ChapterTopics(
343 | heading: 'Basic form validation in JavaScript',
344 | ),
345 | Image.asset("images/unit_3/e8.png"),
346 | ChapterTopics(heading: 'DDL DML and DCL with example'),
347 | HeadingDetails(
348 | contents:
349 | 'SQL stands for Structured Query Language. It is an international standard database query language introduced and developed by IBM in early 1970s. It was able to control relational database. SQL is not a complete programming language rather only used for communicating with database. SQL has several statement for data definition, data manipulation and data control generally known as DDL, DML and DCL respectively. A query is a request to a DBMS for the retrieval, modification, insertion and deletion of the data from database.'),
350 | Image.asset("images/unit_3/sql.jpg"),
351 | ChapterTopics(heading: 'DDL DML and DCL statements'),
352 | const ChapterHeadingMedium(
353 | medium_heading:
354 | '1) Data Definition Language (DDL)'),
355 | const ChapterHeadingMedium(
356 | medium_heading: '1.1 CREATE statement'),
357 | HeadingDetails(
358 | contents:
359 | 'In order to create a database we can use CREATE statement as follows:'),
360 | Image.asset("images/unit_3/e9.png"),
361 | HeadingDetails(
362 | contents:
363 | 'The above statement will create a database with the name student.\nIn order to create a database table we can use CREATE statement as follows:'),
364 | Image.asset("images/unit_3/e10.png"),
365 | HeadingDetails(
366 | contents:
367 | 'The above statement will create a database table named student with two column SN and Fname. The number of column can be increased accordingly.'),
368 | const ChapterHeadingMedium(
369 | medium_heading: '1.2 DROP statement'),
370 | HeadingDetails(
371 | contents:
372 | 'It is used to delete database or table from the SQL server.'),
373 | Image.asset("images/unit_3/e11.png"),
374 | HeadingDetails(
375 | contents:
376 | 'This statement will delete database named student from the SQL server.'),
377 | Image.asset("images/unit_3/e12.png"),
378 | HeadingDetails(
379 | contents:
380 | 'This statement will delete database table named student from the SQL server.'),
381 | const ChapterHeadingMedium(
382 | medium_heading:
383 | '2) Data Manipulation Language (DML)'),
384 | HeadingDetails(
385 | contents:
386 | 'DML is related with manipulation of records such as retrieval, sorting, displaying and deleting records or data. It helps user to submit query and display report of the table. It provide technique for processing the database. It includes commands like SELECT, INSERT, DELETE and UPDATE to manipulate the information stored in the database.'),
387 | const ChapterHeadingMedium(
388 | medium_heading: '2.1) SELECT statement'),
389 | Image.asset("images/unit_3/e13.png"),
390 | HeadingDetails(
391 | contents:
392 | 'This statement will select all the columns from the database table named student.'),
393 | const ChapterHeadingMedium(
394 | medium_heading: '2.2) INSERT statement'),
395 | Image.asset("images/unit_3/e14.png"),
396 | HeadingDetails(
397 | contents:
398 | 'The above statement will insert 3 and Ram into the database table named student.'),
399 | const ChapterHeadingMedium(
400 | medium_heading: '2.3) DELETE statement'),
401 | Image.asset("images/unit_3/e15.png"),
402 | HeadingDetails(
403 | contents:
404 | "This statement will delete all the records from the student table where the Fname value is 'Ram'."),
405 | const ChapterHeadingMedium(
406 | medium_heading: '2.4) UPDATE statement'),
407 | Image.asset("images/unit_3/e16.png"),
408 | HeadingDetails(
409 | contents:
410 | 'This stament will update the update the table record whose fname is "Ram".'),
411 | const ChapterHeadingMedium(
412 | medium_heading: '3) Data Control Language (DCL)'),
413 | HeadingDetails(
414 | contents:
415 | 'DCL provides additional feature for security of table and database. It includes commands for controlling data and access to the database. Some of the example of this command are GRANT, COMMIT etc.'),
416 | const Footer(),
417 | ],
418 | ),
419 | ),
420 | ),
421 | ),
422 | ),
423 | )
424 | ],
425 | ),
426 | // bottomNavigationBar: const BannerAdHelper(),
427 | );
428 | }
429 | }
430 |
--------------------------------------------------------------------------------