From 746b3242f40b9fdcfa34323c0a70a1813484cb37 Mon Sep 17 00:00:00 2001 From: Brain Mentors Pvt Ltd Date: Thu, 3 Dec 2020 11:30:45 +0530 Subject: [PATCH] Add files via upload --- code6/lib/main.dart | 9 ++++ code6/lib/screens/imagelist.dart | 45 +++++++++++++++++++ code6/lib/utils/server.dart | 12 +++++ code6/pubspec.yaml | 77 ++++++++++++++++++++++++++++++++ 4 files changed, 143 insertions(+) create mode 100644 code6/lib/main.dart create mode 100644 code6/lib/screens/imagelist.dart create mode 100644 code6/lib/utils/server.dart create mode 100644 code6/pubspec.yaml diff --git a/code6/lib/main.dart b/code6/lib/main.dart new file mode 100644 index 0000000..be94e75 --- /dev/null +++ b/code6/lib/main.dart @@ -0,0 +1,9 @@ +import 'package:apicalling/screens/imagelist.dart'; +import 'package:flutter/material.dart'; + +void main(){ + runApp(MaterialApp( + title: 'Calling API', + home: SearchList(), + )); +} diff --git a/code6/lib/screens/imagelist.dart b/code6/lib/screens/imagelist.dart new file mode 100644 index 0000000..03f0446 --- /dev/null +++ b/code6/lib/screens/imagelist.dart @@ -0,0 +1,45 @@ +import 'dart:convert' as convert; + +import 'package:apicalling/utils/server.dart'; +import 'package:flutter/material.dart'; + +class SearchList extends StatefulWidget { + @override + _SearchListState createState() => _SearchListState(); +} + +class _SearchListState extends State { + @override + void initState() { + // TODO: implement initState + super.initState(); + print("Init Call"); + Server.getImages(giveMeData); + print("Init Call Ends"); + } + + String img; + giveMeData(String json) { + //print("I Rec the JSON in ImageList Screen $json"); + Map map = convert.jsonDecode(json); + setState(() { + img = map['data'][0]['images']['original']['url']; + }); + print( + "All the Data is Inside the Map ${map['data'][0]['images']['original']['url']}"); + //map['data'][0] + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: Text('Image Search'), + ), + body: Container( + color: Colors.lightGreenAccent, + child: img != null ? Image.network(img) : Text('No Image FOUND'), + ), + ); + } +} diff --git a/code6/lib/utils/server.dart b/code6/lib/utils/server.dart new file mode 100644 index 0000000..a57c86a --- /dev/null +++ b/code6/lib/utils/server.dart @@ -0,0 +1,12 @@ +import 'package:http/http.dart' as http; + +class Server { + static getImages(Function fn) { + const URL = + "https://api.giphy.com/v1/gifs/search?api_key=vFRSFWo6g7vJ7ZAjt3DMDolU52ORTxwH&q=Iron%20man&limit=5"; + Future future = http.get(URL); + future + .then((http.Response response) => fn(response.body)) + .catchError((err) => print(err)); + } +} diff --git a/code6/pubspec.yaml b/code6/pubspec.yaml new file mode 100644 index 0000000..cc291b2 --- /dev/null +++ b/code6/pubspec.yaml @@ -0,0 +1,77 @@ +name: apicalling +description: A new Flutter application. + +# The following line prevents the package from being accidentally published to +# pub.dev using `pub publish`. This is preferred for private packages. +publish_to: 'none' # Remove this line if you wish to publish to pub.dev + +# The following defines the version and build number for your application. +# A version number is three numbers separated by dots, like 1.2.43 +# followed by an optional build number separated by a +. +# Both the version and the builder number may be overridden in flutter +# build by specifying --build-name and --build-number, respectively. +# In Android, build-name is used as versionName while build-number used as versionCode. +# Read more about Android versioning at https://developer.android.com/studio/publish/versioning +# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. +# Read more about iOS versioning at +# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html +version: 1.0.0+1 + +environment: + sdk: ">=2.7.0 <3.0.0" + +dependencies: + flutter: + sdk: flutter + + + # The following adds the Cupertino Icons font to your application. + # Use with the CupertinoIcons class for iOS style icons. + cupertino_icons: ^1.0.0 + http: ^0.12.2 + +dev_dependencies: + flutter_test: + sdk: flutter + +# For information on the generic Dart part of this file, see the +# following page: https://dart.dev/tools/pub/pubspec + +# The following section is specific to Flutter. +flutter: + + # The following line ensures that the Material Icons font is + # included with your application, so that you can use the icons in + # the material Icons class. + uses-material-design: true + + # To add assets to your application, add an assets section, like this: + # assets: + # - images/a_dot_burr.jpeg + # - images/a_dot_ham.jpeg + + # An image asset can refer to one or more resolution-specific "variants", see + # https://flutter.dev/assets-and-images/#resolution-aware. + + # For details regarding adding assets from package dependencies, see + # https://flutter.dev/assets-and-images/#from-packages + + # To add custom fonts to your application, add a fonts section here, + # in this "flutter" section. Each entry in this list should have a + # "family" key with the font family name, and a "fonts" key with a + # list giving the asset and other descriptors for the font. For + # example: + # fonts: + # - family: Schyler + # fonts: + # - asset: fonts/Schyler-Regular.ttf + # - asset: fonts/Schyler-Italic.ttf + # style: italic + # - family: Trajan Pro + # fonts: + # - asset: fonts/TrajanPro.ttf + # - asset: fonts/TrajanPro_Bold.ttf + # weight: 700 + # + # For details regarding fonts from package dependencies, + # see https://flutter.dev/custom-fonts/#from-packages