type 'String' is not a subtype of type 'int'
I am trying to hands-on Flutter Codelabs with Firebase.
I followed the Code from word to word. I am getting this error.
type 'String' is not a subtype of type 'int'
import 'package:flutter/material.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
// TODO: implement build
return MaterialApp(
title: 'RobotAI Names',
debugShowCheckedModeBanner: false,
home: MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
@override
State<StatefulWidget> createState() {
// TODO: implement createState
return _MyHomePageState();
}
}
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
// TODO: implement build
return Scaffold(
appBar: AppBar(title: Text("RobotAI Name Votes")),
body: _buildBody(context),
);
}
Widget _buildBody(BuildContext context) {
return StreamBuilder<QuerySnapshot>(
stream: Firestore.instance.collection('robot').snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData) return LinearProgressIndicator();
return _buildList(context, snapshot.data.documents);
},
);
}
Widget _buildList(BuildContext context, List<DocumentSnapshot> snapshot) {
return ListView(
padding: const EdgeInsets.only(top: 20.0),
children: snapshot.map((data) => _buildListItem(context, data)).toList(),
);
}
Widget _buildListItem(BuildContext context, DocumentSnapshot data) {
final record = Record.fromSnapshot(data);
return Padding(
key: ValueKey(record.name),
padding: const EdgeInsets.symmetric(horizontal: 16.0, vertical: 8.0),
child: Container(
decoration: BoxDecoration(
border: Border.all(color: Colors.grey),
borderRadius: BorderRadius.circular(5.0),
),
child: ListTile(
title: Text(record.name),
trailing: Text(record.votes.toString()),
onTap: () => Firestore.instance.runTransaction((transaction) async {
final freshSnapShot = await transaction.get(record.reference);
final fresh = Record.fromSnapshot(freshSnapShot);
await transaction
.update(record.reference, {'votes': fresh.votes + 1});
}),
),
),
);
}
}
class Record {
final String name;
final int votes;
final DocumentReference reference;
Record.fromMap(Map<String, dynamic> map, {this.reference})
: assert(map['name'] != null),
assert(map['votes'] != null),
name = map['name'],
votes = map['votes'];
Record.fromSnapshot(DocumentSnapshot snapshot)
: this.fromMap(snapshot.data, reference: snapshot.reference);
@override
String toString() => "Record<$name:$votes>";
}
Logs
[DEVICE LOG] 2019-05-31 19:00:02.916626+0530 localhost Runner[8053]: (Flutter) flutter: ══╡ EXCEPTION CAUGHT BY WIDGETS
LIBRARY ╞═══════════════════════════════════════════════════════════
[ +15 ms] flutter: ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
[ +4 ms] [DEVICE LOG] 2019-05-31 19:00:02.937375+0530 localhost Runner[8053]: (Flutter) flutter: The following assertion was thrown
building StreamBuilder<QuerySnapshot>(dirty, state:
[ ] flutter: The following assertion was thrown building StreamBuilder<QuerySnapshot>(dirty, state:
[ ] [DEVICE LOG] 2019-05-31 19:00:02.937515+0530 localhost Runner[8053]: (Flutter) flutter:
_StreamBuilderBaseState<QuerySnapshot, AsyncSnapshot<QuerySnapshot>>#9906d):
[ ] [DEVICE LOG] 2019-05-31 19:00:02.937606+0530 localhost Runner[8053]: (Flutter) flutter: type 'String' is not a subtype of
type 'int'
[ ] flutter: _StreamBuilderBaseState<QuerySnapshot, AsyncSnapshot<QuerySnapshot>>#9906d):
[ ] flutter: type 'String' is not a subtype of type 'int'
[ +3 ms] [DEVICE LOG] 2019-05-31 19:00:02.942311+0530 localhost Runner[8053]: (Flutter) flutter:
[ ] flutter:
[ +2 ms] [DEVICE LOG] 2019-05-31 19:00:02.944022+0530 localhost Runner[8053]: (Flutter) flutter: Either the assertion indicates an
error in the framework itself, or we should provide substantially
[ ] [DEVICE LOG] 2019-05-31 19:00:02.944167+0530 localhost Runner[8053]: (Flutter) flutter: more information in this error
message to help you determine and fix the underlying cause.
[ ] flutter: Either the assertion indicates an error in the framework itself, or we should provide substantially
[ ] flutter: more information in this error message to help you determine and fix the underlying cause.
[ ] [DEVICE LOG] 2019-05-31 19:00:02.944443+0530 localhost Runner[8053]: (Flutter) flutter: In either case, please report this
assertion by filing a bug on GitHub:
[ +1 ms] [DEVICE LOG] 2019-05-31 19:00:02.946569+0530 localhost Runner[8053]: (Flutter) flutter:
https://github.com/flutter/flutter/issues/new?template=BUG.md
[ ] flutter: In either case, please report this assertion by filing a bug on GitHub:
[ ] flutter: https://github.com/flutter/flutter/issues/new?template=BUG.md
[ +2 ms] [DEVICE LOG] 2019-05-31 19:00:02.952119+0530 localhost Runner[8053]: (Flutter) flutter:
[ ] [DEVICE LOG] 2019-05-31 19:00:02.952407+0530 localhost Runner[8053]: (Flutter) flutter: When the exception was thrown, this
was the stack:
[ ] flutter:
[ ] flutter: When the exception was thrown, this was the stack:
[ +8 ms] [DEVICE LOG] 2019-05-31 19:00:02.962175+0530 localhost Runner[8053]: (Flutter) flutter: #0 new Record.fromMap
(package:name_votes/main.dart:89:15)
[ +1 ms] flutter: #0 new Record.fromMap (package:name_votes/main.dart:89:15)
[ ] [DEVICE LOG] 2019-05-31 19:00:02.963234+0530 localhost Runner[8053]: (Flutter) flutter: #1 new Record.fromSnapshot
(package:name_votes/main.dart:92:14)
[ ] flutter: #1 new Record.fromSnapshot (package:name_votes/main.dart:92:14)
[ +5 ms] [DEVICE LOG] 2019-05-31 19:00:02.970249+0530 localhost Runner[8053]: (Flutter) flutter: #2
_MyHomePageState._buildListItem (package:name_votes/main.dart:54:27)
[ ] flutter: #2 _MyHomePageState._buildListItem (package:name_votes/main.dart:54:27)
[ +1 ms] [DEVICE LOG] 2019-05-31 19:00:02.972453+0530 localhost Runner[8053]: (Flutter) flutter: #3
_MyHomePageState._buildList.<anonymous closure> (package:name_votes/main.dart:49:40)
[ +2 ms] flutter: #3 _MyHomePageState._buildList.<anonymous closure> (package:name_votes/main.dart:49:40)
[ +16 ms] [DEVICE LOG] 2019-05-31 19:00:02.991341+0530 localhost Runner[8053]: (Flutter) flutter: #4 MappedListIterable.elementAt
(dart:_internal/iterable.dart:414:29)
[ +1 ms] flutter: #4 MappedListIterable.elementAt (dart:_internal/iterable.dart:414:29)
[ +3 ms] [DEVICE LOG] 2019-05-31 19:00:02.995816+0530 localhost Runner[8053]: (Flutter) flutter: #5 ListIterable.toList
(dart:_internal/iterable.dart:219:19)
[ ] flutter: #5 ListIterable.toList (dart:_internal/iterable.dart:219:19)
[ +3 ms] [DEVICE LOG] 2019-05-31 19:00:02.996151+0530 localhost Runner[8053]: (Flutter) flutter: #6 _MyHomePageState._buildList
(package:name_votes/main.dart:49:71)
[ ] flutter: #6 _MyHomePageState._buildList (package:name_votes/main.dart:49:71)
[ +5 ms] [DEVICE LOG] 2019-05-31 19:00:03.006028+0530 localhost Runner[8053]: (Flutter) flutter: #7
_MyHomePageState._buildBody.<anonymous closure> (package:name_votes/main.dart:41:16)
[ ] flutter: #7 _MyHomePageState._buildBody.<anonymous closure> (package:name_votes/main.dart:41:16)
[ +15 ms] [DEVICE LOG] 2019-05-31 19:00:03.022654+0530 localhost Runner[8053]: (Flutter) flutter: #8 StreamBuilder.build
(package:flutter/src/widgets/async.dart:425:74)
[ ] flutter: #8 StreamBuilder.build (package:flutter/src/widgets/async.dart:425:74)
[ +6 ms] [DEVICE LOG] 2019-05-31 19:00:03.029688+0530 localhost Runner[8053]: (Flutter) flutter: #9 _StreamBuilderBaseState.build
(package:flutter/src/widgets/async.dart:125:48)
[ ] flutter: #9 _StreamBuilderBaseState.build (package:flutter/src/widgets/async.dart:125:48)
[ +4 ms] [DEVICE LOG] 2019-05-31 19:00:03.034461+0530 localhost Runner[8053]: (Flutter) flutter: #10 StatefulElement.build
(package:flutter/src/widgets/framework.dart:3825:27)
[ ] flutter: #10 StatefulElement.build (package:flutter/src/widgets/framework.dart:3825:27)
[ +1 ms] [DEVICE LOG] 2019-05-31 19:00:03.037156+0530 localhost Runner[8053]: (Flutter) flutter: #11
ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3739:15)
[ ] flutter: #11 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3739:15)
[ +2 ms] [DEVICE LOG] 2019-05-31 19:00:03.040386+0530 localhost Runner[8053]: (Flutter) flutter: #12 Element.rebuild
(package:flutter/src/widgets/framework.dart:3565:5)
[ ] flutter: #12 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5)
[ +2 ms] [DEVICE LOG] 2019-05-31 19:00:03.043069+0530 localhost Runner[8053]: (Flutter) flutter: #13 BuildOwner.buildScope
(package:flutter/src/widgets/framework.dart:2278:33)
[ ] flutter: #13 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2278:33)
[ +5 ms] [DEVICE LOG] 2019-05-31 19:00:03.048885+0530 localhost Runner[8053]: (Flutter) flutter: #14
_WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&Widge
tsBinding.drawFrame (package:flutter/src/widgets/binding.dart:700:20)
[ ] flutter: #14
_WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&Widge
tsBinding.drawFrame (package:flutter/src/widgets/binding.dart:700:20)
[ ] [DEVICE LOG] 2019-05-31 19:00:03.049129+0530 localhost Runner[8053]: (Flutter) flutter: #15
_WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding._hand
lePersistentFrameCallback (package:flutter/src/rendering/binding.dart:286:5)
[ +2 ms] flutter: #15
_WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding._hand
lePersistentFrameCallback (package:flutter/src/rendering/binding.dart:286:5)
[ +3 ms] [DEVICE LOG] 2019-05-31 19:00:03.056499+0530 localhost Runner[8053]: (Flutter) flutter: #16
_WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback
(package:flutter/src/scheduler/binding.dart:1012:15)
[ ] flutter: #16 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback
(package:flutter/src/scheduler/binding.dart:1012:15)
[ +12 ms] [DEVICE LOG] 2019-05-31 19:00:03.069822+0530 localhost Runner[8053]: (Flutter) flutter: #17
_WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame
(package:flutter/src/scheduler/binding.dart:952:9)
[ +1 ms] flutter: #17 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame
(package:flutter/src/scheduler/binding.dart:952:9)
[ +4 ms] [DEVICE LOG] 2019-05-31 19:00:03.075483+0530 localhost Runner[8053]: (Flutter) flutter: #18
_WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._handleDrawFrame
(package:flutter/src/scheduler/binding.dart:864:5)
[ ] flutter: #18 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._handleDrawFrame
(package:flutter/src/scheduler/binding.dart:864:5)
[ +6 ms] [DEVICE LOG] 2019-05-31 19:00:03.079198+0530 localhost Runner[8053]: (Flutter) flutter: #22 _invoke
(dart:ui/hooks.dart:219:10)
[ ] flutter: #22 _invoke (dart:ui/hooks.dart:219:10)
[ +5 ms] [DEVICE LOG] 2019-05-31 19:00:03.088814+0530 localhost Runner[8053]: (Flutter) flutter: #23 _drawFrame
(dart:ui/hooks.dart:178:3)
[ ] flutter: #23 _drawFrame (dart:ui/hooks.dart:178:3)
[ +1 ms] [DEVICE LOG] 2019-05-31 19:00:03.090629+0530 localhost Runner[8053]: (Flutter) flutter: (elided 3 frames from package
dart:async)
[ ] flutter: (elided 3 frames from package dart:async)
[ +6 ms] [DEVICE LOG] 2019-05-31 19:00:03.095968+0530 localhost Runner[8053]: (Flutter) flutter:
════════════════════════════════════════════════════════════════════════════════════════════════════
[ +1 ms] flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════
[ +928 ms] [DEVICE LOG] 2019-05-31 19:00:04.028008+0530 localhost Runner[8053]: (Security) Created Activity ID: 0x1b27a, Description:
SecItemCopyMatching_ios
[ +86 ms] [DEVICE LOG] 2019-05-31 19:00:04.114815+0530 localhost Runner[8053]: (Security) Created Activity ID: 0x1b27b, Description:
SecItemCopyMatching_ios
[ +38 ms] [DEVICE LOG] 2019-05-31 19:00:04.153639+0530 localhost Runner[8053]: (Security) Created Activity ID: 0x1b27c, Description:
SecItemCopyMatching_ios
[ +5 ms] [DEVICE LOG] 2019-05-31 19:00:04.159657+0530 localhost Runner[8053]: (Security) Created Activity ID: 0x1b27d, Description:
SecItemCopyMatching_ios
[ +8 ms] [DEVICE LOG] 2019-05-31 19:00:04.168289+0530 localhost Runner[8053]: (Security) Created Activity ID: 0x1b27e, Description:
SecItemCopyMatching_ios
Rajs-MacBook-Air:name_votes rajraval$ flutter analyze
Analyzing name_votes...
No issues found! (ran in 6.2s)
Rajs-MacBook-Air:name_votes rajraval$ flutter doctor -v
[✓] Flutter (Channel stable, v1.5.4-hotfix.2, on Mac OS X 10.14.5 18F132, locale en-IN)
• Flutter version 1.5.4-hotfix.2 at /Users/rajraval/AndroidStudioProjects/flutter
• Framework revision 7a4c33425d (5 weeks ago), 2019-04-29 11:05:24 -0700
• Engine revision 52c7a1e849
• Dart version 2.3.0 (build 2.3.0-dev.0.5 a1668566e5)
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
• Android SDK at /Users/rajraval/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-28, build-tools 28.0.3
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
• All Android licenses accepted.
[✓] iOS toolchain - develop for iOS devices (Xcode 10.2.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 10.2.1, Build version 10E1001
• ios-deploy 1.9.4
• CocoaPods version 1.7.1
[✓] Android Studio (version 3.4)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 35.3.1
• Dart plugin version 183.6270
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
[!] VS Code (version 1.33.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
✗ Flutter extension not installed; install from
https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
[✓] Connected device (1 available)
• iPhone X • 6E7157C4-F737-4C6C-9787-1A61837374A9 • ios • com.apple.CoreSimulator.SimRuntime.iOS-12-2 (simulator)
! Doctor found issues in 1 category.