flutter why can't I print device's location on screen - flutter

I was trying to print my emulated device's location but it just prints a bunch of stuff rather than the location of the device. I've checked and the device's location is turned on.
import 'package:flutter/material.dart';
import 'package:geolocator/geolocator.dart';
void main() {
runApp(LocationApp());
}
class LocationApp extends StatelessWidget {
void locationGet() async {
Position position = await Geolocator.getCurrentPosition(
desiredAccuracy: LocationAccuracy.low);
print(position);
}
#override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Center(
child: RaisedButton(
onPressed: () {
locationGet();
},
child: Text('LOCATION'),
),
),
),
);
}
}
and this is what I'm getting as an error while the location of the device is turned on and I have even allowed the use of location when it prompted me
E/flutter ( 7183): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: The location service on the device is disabled.
E/flutter ( 7183): #0 MethodChannelGeolocator._handlePlatformException (package:geolocator_platform_interface/src/implementations/method_channel_geolocator.dart:173:9)
E/flutter ( 7183): #1 MethodChannelGeolocator.getPositionStream.<anonymous closure> (package:geolocator_platform_interface/src/implementations/method_channel_geolocator.dart:152:11)
E/flutter ( 7183): #2 _invokeErrorHandler (dart:async/async_error.dart:16:24)
E/flutter ( 7183): #3 _HandleErrorStream._handleError (dart:async/stream_pipe.dart:282:9)
E/flutter ( 7183): #4 _ForwardingStreamSubscription._handleError (dart:async/stream_pipe.dart:161:13)
E/flutter ( 7183): #5 _rootRunBinary (dart:async/zone.dart:1214:47)
E/flutter ( 7183): #6 _CustomZone.runBinary (dart:async/zone.dart:1107:19)
E/flutter ( 7183): #7 _CustomZone.runBinaryGuarded (dart:async/zone.dart:1013:7)
E/flutter ( 7183): #8 _BufferingStreamSubscription._sendError.sendError (dart:async/stream_impl.dart:376:15)
E/flutter ( 7183): #9 _BufferingStreamSubscription._sendError (dart:async/stream_impl.dart:394:16)
E/flutter ( 7183): #10 _BufferingStreamSubscription._addError (dart:async/stream_impl.dart:294:7)
E/flutter ( 7183): #11 _ForwardingStreamSubscription._addError (dart:async/stream_pipe.dart:132:11)
E/flutter ( 7183): #12 _ForwardingStream._handleError (dart:async/stream_pipe.dart:97:10)
E/flutter ( 7183): #13 _ForwardingStreamSubscription._handleError (dart:async/stream_pipe.dart:161:13)
E/flutter ( 7183): #14 _rootRunBinary (dart:async/zone.dart:1214:47)
E/flutter ( 7183): #15 _CustomZone.runBinary (dart:async/zone.dart:1107:19)
E/flutter ( 7183): #16 _CustomZone.runBinaryGuarded (dart:async/zone.dart:1013:7)
E/flutter ( 7183): #17 _BufferingStreamSubscription._sendError.sendError (dart:async/stream_impl.dart:376:15)
E/flutter ( 7183): #18 _BufferingStreamSubscription._sendError (dart:async/stream_impl.dart:394:16)
E/flutter ( 7183): #19 _DelayedError.perform (dart:async/stream_impl.dart:622:14)
E/flutter ( 7183): #20 _StreamImplEvents.handleNext (dart:async/stream_impl.dart:730:11)
E/flutter ( 7183): #21 _PendingEvents.schedule.<anonymous closure> (dart:async/stream_impl.dart:687:7)
E/flutter ( 7183): #22 _rootRun (dart:async/zone.dart:1182:47)
E/flutter ( 7183): #23 _CustomZone.run (dart:async/zone.dart:1093:19)
E/flutter ( 7183): #24 _CustomZone.runGuarded (dart:async/zone.dart:997:7)
E/flutter ( 7183): #25 _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1037:23)
E/flutter ( 7183): #26 _rootRun (dart:async/zone.dart:1190:13)
E/flutter ( 7183): #27 _CustomZone.run (dart:async/zone.dart:1093:19)
E/flutter ( 7183): #28 _CustomZone.runGuarded (dart:async/zone.dart:997:7)
E/flutter ( 7183): #29 _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1037:23)
E/flutter ( 7183): #30 _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
E/flutter ( 7183): #31 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
E/flutter ( 7183):
D/EGL_emulation( 7183): eglMakeCurrent: 0xd921a120: ver 2 0 (tinfo 0xd920f1e0)

you could try asking for permission:
LocationPermission permission = await Geolocator.checkPermission();
LocationPermission permission = await Geolocator.requestPermission();
Got it from here:
https://pub.dev/packages/geolocator
Also, in order to print the location, you should print something like this:
print(position == null ? 'Unknown' : position.latitude.toString() + ', ' + position.longitude.toString());
});

The problem is that some of the android virtual device's in android studio have bugs, in this case it was the google pixel 3, no matter what you do it will not return its location, you can fix it by just using a different device, the Nexus 5x works fine.

When you're using geolocator on a emulator, you always get the same position (37.4219983, -122.084). That's the default settings.
On a real device, I think there is actually a problem with the package on some android versions. I am getting the same error ("The location service on the device is disabled."). The issue has been reported on the github repository issue 585 . Some solutions has been proposed, like trying with different desiredAccuracy (best, high, medium).

Related

Flutter: Null check operator used on a null value with in_app_purchases

My app was working fine on both iOS and Android but after updating to Flutter 2.10.0 I'm getting this issue:
Unhandled Exception: Null check operator used on a null value
E/flutter ( 8991): #0 Element.widget (package:flutter/src/widgets/framework.dart:3203:31)
E/flutter ( 8991): #1 Provider._inheritedElementOf (package:provider/src/provider.dart:341:17)
E/flutter ( 8991): #2 Provider.of (package:provider/src/provider.dart:293:30)
E/flutter ( 8991): #3 Shop.getPastPurchases.<anonymous closure> (package:my_rents/services/shop.dart:123:20)
E/flutter ( 8991): #4 _rootRunUnary (dart:async/zone.dart:1434:47)
E/flutter ( 8991): #5 _CustomZone.runUnary (dart:async/zone.dart:1335:19)
E/flutter ( 8991): #6 _CustomZone.runUnaryGuarded (dart:async/zone.dart:1244:7)
E/flutter ( 8991): #7 _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:341:11)
E/flutter ( 8991): #8 _DelayedData.perform (dart:async/stream_impl.dart:591:14)
E/flutter ( 8991): #9 _StreamImplEvents.handleNext (dart:async/stream_impl.dart:706:11)
E/flutter ( 8991): #10 _PendingEvents.schedule.<anonymous closure> (dart:async/stream_impl.dart:663:7)
E/flutter ( 8991): #11 _rootRun (dart:async/zone.dart:1418:47)
E/flutter ( 8991): #12 _CustomZone.run (dart:async/zone.dart:1328:19)
E/flutter ( 8991): #13 _CustomZone.runGuarded (dart:async/zone.dart:1236:7)
E/flutter ( 8991): #14 _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1276:23)
E/flutter ( 8991): #15 _rootRun (dart:async/zone.dart:1426:13)
E/flutter ( 8991): #16 _CustomZone.run (dart:async/zone.dart:1328:19)
E/flutter ( 8991): #17 _CustomZone.runGuarded (dart:async/zone.dart:1236:7)
E/flutter ( 8991): #18 _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1276:23)
E/flutter ( 8991): #19 _microtaskLoop (dart:async/schedule_microtask.dart:40:21)
E/flutter ( 8991): #20 _startMicrotaskLoop (dart:async/schedule_microtask.dart:49:5)
My implementation:
Future<List<PurchaseDetails>> getPastPurchases(BuildContext context) async {
if (this.purchases.isEmpty) {
final Stream<List<PurchaseDetails>> purchaseUpdated =
inAppPurchase.purchaseStream;
_subscription = purchaseUpdated.listen((purchaseDetailsList) {
if (purchaseDetailsList.isEmpty) {
Provider.of<AdState>(context, listen: false).toggleAds(context, true);
} else {
listenToPurchaseUpdated(context, purchaseDetailsList);
}
}, onDone: () {
_subscription.cancel();
}, onError: (error) {
});
await inAppPurchase.restorePurchases(); // If I comment this line everything works
}
return this.purchases;
}
Again, I made no changes on my code, just updating Flutter

My ListView Widget is not showing any data

In my code, i have a listview widget, and i gave data to it from firestore using firebase, and tried to display data on screen as text. But nothing happens, i am not getting any error or something. Still my page is blank. So can anyone tell me that is there a mistake in firebase part or listview one. It will be very helpfull.
Here's my code -
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/material.dart';
import 'package:social_app/widgets/header.dart';
import 'package:social_app/widgets/progress.dart';
final userRef = FirebaseFirestore.instance.collection("users");
class Timeline extends StatefulWidget {
#override
_TimelineState createState() => _TimelineState();
}
class _TimelineState extends State<Timeline> {
List<dynamic> users = [];
#override
void initState() {
// TODO: implement initState
super.initState();
getUserById();
getUsers();
}
getUserById() {
}
getUsers() async {
final QuerySnapshot snapshot = await userRef.get();
setState(() {
users = snapshot.docs;
});
// snapshot.docs.forEach((DocumentSnapshot doc) {
// print(doc.data());
// print(doc.id);
// print(doc.exists);
// });
}
#override
Widget build(context) {
return SafeArea(
child: Scaffold(
backgroundColor: Colors.black,
appBar: header(context, isAppTitle: true),
body: Container(
child: ListView(
children: users.map((user) => Text(user['username'], style: TextStyle(color: Colors.white),)).toList()
),
),
),
);
}
}
Here's my run output -
Performing hot reload...
Syncing files to device sdk gphone x86...
Reloaded 3 of 800 libraries in 817ms.
W/Firestore( 3283): (21.7.1) [Firestore]: Listen for Query(target=Query(users order by __name__);limitType=LIMIT_TO_FIRST) failed: Status{code=PERMISSION_DENIED, description=Missing or insufficient permissions., cause=null}
E/flutter ( 3283): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: [cloud_firestore/permission-denied] The caller does not have permission to execute the specified operation.
E/flutter ( 3283): #0 MethodChannelQuery.get (package:cloud_firestore_platform_interface/src/method_channel/method_channel_query.dart:105:7)
E/flutter ( 3283): <asynchronous suspension>
E/flutter ( 3283): #1 Query.get (package:cloud_firestore/src/query.dart:178:25)
E/flutter ( 3283): #2 _TimelineState.getUsers (package:social_app/pages/timeline.dart:29:50)
E/flutter ( 3283): #3 _TimelineState.initState (package:social_app/pages/timeline.dart:22:5)
E/flutter ( 3283): #4 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4765:58)
E/flutter ( 3283): #5 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4601:5)
E/flutter ( 3283): #6 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
E/flutter ( 3283): #7 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
E/flutter ( 3283): #8 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6118:14)
E/flutter ( 3283): #9 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
E/flutter ( 3283): #10 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
E/flutter ( 3283): #11 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6118:14)
E/flutter ( 3283): #12 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
E/flutter ( 3283): #13 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
E/flutter ( 3283): #14 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
E/flutter ( 3283): #15 Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
E/flutter ( 3283): #16 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4606:5)
E/flutter ( 3283): #17 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4601:5)
E/flutter ( 3283): #18 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
E/flutter ( 3283): #19 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
E/flutter ( 3283): #20 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
E/flutter ( 3283): #21 Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
E/flutter ( 3283): #22 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4606:5)
E/flutter ( 3283): #23 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4601:5)
E/flutter ( 3283): #24 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
E/flutter ( 3283): #25 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
E/flutter ( 3283): #26 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
E/flutter ( 3283): #27 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4800:11)
E/flutter ( 3283): #28 Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
E/flutter ( 3283): #29 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4606:5)
E/flutter ( 3283): #30 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4791:11)
E/flutter ( 3283): #31 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4601:5)
E/flutter ( 3283): #32 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
E/flutter ( 3283): #33 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
E/flutter ( 3283): #34 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
E/flutter ( 3283): #35 Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
E/flutter ( 3283): #36 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4606:5)
E/flutter ( 3283): #37 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4601:5)
E/flutter ( 3283): #38 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
E/flutter ( 3283): #39 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
E/flutter ( 3283): #40 SliverMultiBoxAdaptorElement.updateChild (package:flutter/src/widgets/sliver.dart:1158:36)
E/flutter ( 3283): #41 SliverMultiBoxAdaptorElement.createChild.<anonymous closure> (package:flutter/src/widgets/sliver.dart:1143:20)
E/flutter ( 3283): #42 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2683:19)
E/flutter ( 3283): #43 SliverMultiBoxAdaptorElement.createChild (package:flutter/src/widgets/sliver.dart:1136:11)
E/flutter ( 3283): #44 RenderSliverMultiBoxAdaptor._createOrObtainChild.<anonymous closure> (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:350:23)
E/flutter ( 3283): #45 RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:1883:59)
E/flutter ( 3283): #46 PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:915:15)
E/flutter ( 3283): #47 RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:1883:14)
E/flutter ( 3283): #48 RenderSliverMultiBoxAdaptor._createOrObtainChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:339:5)
E/flutter ( 3283): #49 RenderSliverMultiBoxAdaptor.insertAndLayoutLeadingChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:455:5)
E/flutter ( 3283): #50 RenderSliverFixedExtentBoxAdaptor.performLayout (package:flutter/src/rendering/sliver_fixed_extent_list.dart:234:32)
E/flutter ( 3283): #51 RenderObject.layout (package:flutter/src/rendering/object.dart:1777:7)
E/flutter ( 3283): #52 RenderSliverEdgeInsetsPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:132:12)
E/flutter ( 3283): #53 _RenderSliverFractionalPadding.performLayout (package:flutter/src/widgets/sliver_fill.dart:170:11)
E/flutter ( 3283): #54 RenderObject.layout (package:flutter/src/rendering/object.dart:1777:7)
E/flutter ( 3283): #55 RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:507:13)
E/flutter ( 3283): #56 RenderViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1561:12)
E/flutter ( 3283): #57 RenderViewport.performLayout (package:flutter/src/rendering/viewport.dart:1470:20)
E/flutter ( 3283): #58 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1634:7)
E/flutter ( 3283): #59 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:884:18)
E/flutter ( 3283): #60 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:436:19)
E/flutter ( 3283): #61 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:914:13)
E/flutter ( 3283): #62 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:302:5)
E/flutter ( 3283): #63 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1117:15)
E/flutter ( 3283): #64 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1055:9)
E/flutter ( 3283): #65 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:971:5)
E/flutter ( 3283): #66 _rootRun (dart:async/zone.dart:1190:13)
E/flutter ( 3283): #67 _CustomZone.run (dart:async/zone.dart:1093:19)
E/flutter ( 3283): #68 _CustomZone.runGuarded (dart:async/zone.dart:997:7)
E/flutter ( 3283): #69 _invoke (dart:ui/hooks.dart:251:10)
E/flutter ( 3283): #70 _drawFrame (dart:ui/hooks.dart:209:3)
E/flutter ( 3283):
W/Firestore( 3283): (21.7.1) [WatchStream]: (a99c49e) Stream closed with status: Status{code=CANCELLED, description=Disconnecting idle stream. Timed out waiting for new targets., cause=null}.
W/ansh.social_ap( 3283): Accessing hidden method Ldalvik/system/CloseGuard;->close()V (greylist,core-platform-api, linking, allowed)
Your code seems to be working fine. Let me explain your problem.
When you create your cloud_firestore for the first time, then permission for accessing the data is set to public in the rules tab. This permission is public for 30 days. After that firestore turned it off and you have to define your own rule.
Here, rules are the actual permission which decide who can access your data and who cannot. Hence, for the time being you can again make the data public by changing the Rules.
Access the Rule tab by following the image below:
Change the Rules at firestore console accordingly. Here is the link to rules documentation.
Note:
You can make the Rules public for testing purposes but don't make it public permanently it will make your data insecure.

How to convert JSON response to Dart Map<String, int> object ...?

I'm getting data from my api as a following JSON object to create chart with the data. I want to covert this DIO response to a Map<String, int> object in my flutter app.
My API response:
{
"November 20": 1,
"October 20": 3,
"September 20": 1
}
My try of creating a map object:
Future<bool> fetchChartData() async {
var response = await CasesApiService().getChartData();
Map<String, dynamic> data = jsonDecode(response.data);
}
But it shows the following error:
E/flutter ( 4733): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: type '_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'String'
E/flutter ( 4733): #0 CasesProvider.fetchChartData
package:bdopsApp/providers/casesProvider.dart:86
E/flutter ( 4733): <asynchronous suspension>
E/flutter ( 4733): #1 _CasesChartViewState.build.<anonymous closure>
package:bdopsApp/…/casesApp/casesChart.dart:31
E/flutter ( 4733): #2 _InkResponseState._handleTap
package:flutter/…/material/ink_well.dart:985
E/flutter ( 4733): #3 _InkResponseState.build.<anonymous closure>
package:flutter/…/material/ink_well.dart:1101
E/flutter ( 4733): #4 GestureRecognizer.invokeCallback
package:flutter/…/gestures/recognizer.dart:183
E/flutter ( 4733): #5 TapGestureRecognizer.handleTapUp
package:flutter/…/gestures/tap.dart:598
E/flutter ( 4733): #6 BaseTapGestureRecognizer._checkUp
package:flutter/…/gestures/tap.dart:287
E/flutter ( 4733): #7 BaseTapGestureRecognizer.handlePrimaryPointer
package:flutter/…/gestures/tap.dart:222
E/flutter ( 4733): #8 PrimaryPointerGestureRecognizer.handleEvent
package:flutter/…/gestures/recognizer.dart:476
E/flutter ( 4733): #9 PointerRouter._dispatch
package:flutter/…/gestures/pointer_router.dart:77
E/flutter ( 4733): #10 PointerRouter._dispatchEventToRoutes.<anonymous closure>
package:flutter/…/gestures/pointer_router.dart:122
E/flutter ( 4733): #11 _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:377:8)
E/flutter ( 4733): #12 PointerRouter._dispatchEventToRoutes
package:flutter/…/gestures/pointer_router.dart:120
E/flutter ( 4733): #13 PointerRouter.route
package:flutter/…/gestures/pointer_router.dart:106
E/flutter ( 4733): #14 GestureBinding.handleEvent
package:flutter/…/gestures/binding.dart:368
E/flutter ( 4733): #15 GestureBinding.dispatchEvent
package:flutter/…/gestures/binding.dart:348
E/flutter ( 4733): #16 RendererBinding.dispatchEvent
package:flutter/…/rendering/binding.dart:268
E/flutter ( 4733): #17 GestureBinding._handlePointerEventImmediately
package:flutter/…/gestures/binding.dart:303
E/flutter ( 4733): #18 GestureBinding.handlePointerEvent
package:flutter/…/gestures/binding.dart:267
E/flutter ( 4733): #19 GestureBinding._flushPointerEventQueue
package:flutter/…/gestures/binding.dart:225
E/flutter ( 4733): #20 GestureBinding._handlePointerDataPacket
package:flutter/…/gestures/binding.dart:208
E/flutter ( 4733): #21 _rootRunUnary (dart:async/zone.dart:1206:13)
E/flutter ( 4733): #22 _CustomZone.runUnary (dart:async/zone.dart:1100:19)
E/flutter ( 4733): #23 _CustomZone.runUnaryGuarded (dart:async/zone.dart:1005:7)
E/flutter ( 4733): #24 _invoke1 (dart:ui/hooks.dart:265:10)
E/flutter ( 4733): #25 _dispatchPointerDataPacket (dart:ui/hooks.dart:174:5)
N.B: I'm doing my final year project. Therefore, the process I'm following might not be what is used in real world project.
If you run the following example in the dartPad you will get the result that you are looking for:
import 'dart:convert';
void main() {
var jsonString= "{\"November 20\": \"1\",\"October 20\": \"2\",\"September 20\": \"3\"}";
Map<String, dynamic> data = jsonDecode(jsonString);
print(data);
}
I think you need to check the data that you are getting it from the response.data

bug flare animation flutter

I have a bug with flare package.
I have a tab bar with 3 pages,
first tab I stack 3 flare animation. Specificity : for each initState I load the asset name with sharedpref to display the saved animation.
Second and third tab nothing special
When I slide tab 1 to 2 and 2 to 1 x Time , sometime I have crash only for this stack flare animation, not for others animation.
I load at the init of the tab1 the asset name saved previously:
asset_name_animation = prefs.getString('item' ) ?? "fond_vide";
I display the asset name loaded:
new Container (
width:400,
height: 400,
child: new FlareActor("assets/$asset_name_animation.flr",
alignment:Alignment.bottomCenter,
fit:BoxFit.contain,
animation: "Untitled"
)
),
Here is the error log:
E/flutter ( 9171): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: Unable to load asset: assets/null.flr
E/flutter ( 9171): #0 PlatformAssetBundle.load (package:flutter/src/services/asset_bundle.dart:221:7)
E/flutter ( 9171): <asynchronous suspension>
E/flutter ( 9171): #1 FlareCacheAsset.load (package:flare_flutter/flare_cache_asset.dart:31:20)
E/flutter ( 9171): #2 Cache.getAsset (package:flare_flutter/cache.dart:56:15)
E/flutter ( 9171): <asynchronous suspension>
E/flutter ( 9171): #3 cachedActor (package:flare_flutter/flare_cache.dart:35:16)
E/flutter ( 9171): <asynchronous suspension>
E/flutter ( 9171): #4 FlareRenderBox.loadFlare (package:flare_flutter/flare_render_box.dart:322:35)
E/flutter ( 9171): <asynchronous suspension>
E/flutter ( 9171): #5 FlareActorRenderObject.coldLoad (package:flare_flutter/flare_actor.dart:321:20)
E/flutter ( 9171): <asynchronous suspension>
E/flutter ( 9171): #6 FlareRenderBox.load (package:flare_flutter/flare_render_box.dart:272:7)
E/flutter ( 9171): #7 FlareRenderBox.attach (package:flare_flutter/flare_render_box.dart:115:7)
E/flutter ( 9171): #8 AbstractNode.adoptChild (package:flutter/src/foundation/node.dart:132:13)
E/flutter ( 9171): #9 RenderObject.adoptChild (package:flutter/src/rendering/object.dart:1153:11)
E/flutter ( 9171): #10 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin.child= (package:flutter/src/rendering/object.dart:2772:7)
E/flutter ( 9171): #11 SingleChildRenderObjectElement.insertChildRenderObject (package:flutter/src/widgets/framework.dart:5107:18)
E/flutter ( 9171): #12 RenderObjectElement.attachRenderObject (package:flutter/src/widgets/framework.dart:4951:35)
E/flutter ( 9171): #13 RenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4717:5)
E/flutter ( 9171): #14 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3084:14)
E/flutter ( 9171): #15 Element.updateChild (package:flutter/src/widgets/framework.dart:2887:12)
E/flutter ( 9171): #16 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5092:14)
E/flutter ( 9171): #17 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3084:14)
E/flutter ( 9171): #18 Element.updateChild (package:flutter/src/widgets/framework.dart:2887:12)
E/flutter ( 9171): #19 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3935:16)
E/flutter ( 9171): #20 Element.rebuild (package:flutter/src/widgets/framework.dart:3721:5)
E/flutter ( 9171): #21 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3907:5)
E/flutter ( 9171): #22 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3902:5)
E/flutter ( 9171): #23 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3084:14)
E/flutter ( 9171): #24 Element.updateChild (package:flutter/src/widgets/framework.dart:2887:12)
E/flutter ( 9171): #25 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5092:14)
E/flutter ( 9171): #26 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3084:14)
E/flutter ( 9171): #27 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5198:32)
E/flutter ( 9171): #28 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3084:14)
E/flutter ( 9171): #29 Element.updateChild (package:flutter/src/widgets/framework.dart:2887:12)
E/flutter ( 9171): #30 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3935:16)
E/flutter ( 9171): #31 Element.rebuild (package:flutter/src/widgets/framework.dart:3721:5)
E/flutter ( 9171): #32 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3907:5)
E/flutter ( 9171): #33 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3902:5)
E/flutter ( 9171): #34 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3084:14)
E/flutter ( 9171): #35 Element.updateChild (package:flutter/src/widgets/framework.dart:2887:12)
E/flutter ( 9171): #36 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5092:14)
E/flutter ( 9171): #37 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3084:14)
E/flutter ( 9171): #38 Element.updateChild (package:flutter/src/widgets/framework.dart:2887:12)
E/flutter ( 9171): #39 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3935:16)
E/flutter ( 9171): #40 Element.rebuild (package:flutter/src/widgets/framework.dart:3721:5)
E/flutter ( 9171): #41 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3907:5)
E/flutter ( 9171): #42 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3902:5)
E/flutter ( 9171): #43 ParentDataElement.mount (package:flutter/src/widgets/framework.dart:4279:11)
E/flutter ( 9171): #44 Element.inflateWidget (pac
I have an other crash who is repetable and have same animation issue : all time when I launch a route => back => slide tab 2 => slide tab 1, I have this error and animation crash.
E/flutter ( 9171): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: Looking up a deactivated widget's ancestor is unsafe.
E/flutter ( 9171): At this point the state of the widget's element tree is no longer stable.
E/flutter ( 9171): To safely refer to a widget's ancestor in its dispose() method, save a reference to the ancestor by calling inheritFromWidgetOfExactType() in the widget's didChangeDependencies() method.
E/flutter ( 9171): #0 Element._debugCheckStateIsActiveForAncestorLookup.<anonymous closure> (package:flutter/src/widgets/framework.dart:3389:9)
E/flutter ( 9171): #1 Element._debugCheckStateIsActiveForAncestorLookup (package:flutter/src/widgets/framework.dart:3403:6)
E/flutter ( 9171): #2 Element.inheritFromWidgetOfExactType (package:flutter/src/widgets/framework.dart:3418:12)
E/flutter ( 9171): #3 TickerMode.of (package:flutter/src/widgets/ticker_provider.dart:52:39)
E/flutter ( 9171): #4 _analyse2State&State&WidgetsBindingObserver&TickerProviderStateMixin.didChangeDependencies (package:flutter/src/widgets/ticker_provider.dart:197:36)
E/flutter ( 9171): #5 analyse2State.didChangeDependencies (package:ouiquit_app/tableau_de_bord.dart:5533:11)
E/flutter ( 9171): #6 _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:77:64)
E/flutter ( 9171): #7 _rootRunUnary (dart:async/zone.dart:1132:38)
E/flutter ( 9171): #8 _CustomZone.runUnary (dart:async/zone.dart:1029:19)
E/flutter ( 9171): #9 _FutureListener.handleValue (dart:async/future_impl.dart:126:18)
E/flutter ( 9171): #10 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:639:45)
E/flutter ( 9171): #11 Future._propagateToListeners (dart:async/future_impl.dart:668:32)
E/flutter ( 9171): #12 Future._complete (dart:async/future_impl.dart:473:7)
E/flutter ( 9171): #13 _SyncCompleter.complete (dart:async/future_impl.dart:51:12)
E/flutter ( 9171): #14 _AsyncAwaitCompleter.complete.<anonymous closure> (dart:async-patch/async_patch.dart:33:20)
E/flutter ( 9171): #15 _rootRun (dart:async/zone.dart:1120:38)
E/flutter ( 9171): #16 _CustomZone.run (dart:async/zone.dart:1021:19)
E/flutter ( 9171): #17 _CustomZone.runGuarded (dart:async/zone.dart:923:7)
E/flutter ( 9171): #18 _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:963:23)
E/flutter ( 9171): #19 _rootRun (dart:async/zone.dart:1124:13)
E/flutter ( 9171): #20 _CustomZone.run (dart:async/zone.dart:1021:19)
E/flutter ( 9171): #21 _CustomZone.runGuarded (dart:async/zone.dart:923:7)
E/flutter ( 9171): #22 _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:963:23)
E/flutter ( 9171): #23 _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
E/flutter ( 9171): #24 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
E/flutter ( 9171):
Even though I had this error but after few seconds the animation went alive
and it shows no lag at all
try doing flutter clean

Simple GET API request in Flutter

I'm trying to use a simple GET requests in REST to flutter, but have an error
Code:
Future<Map> timeStamp() async {
const request =
"https://armariosinteligentes.com/api/v3/timestamp";
http.Response response = await http.get(request);
print(json.decode(response.body));
}
json: {"timestamp":1566397501}
Error:
E/flutter ( 7041): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: HandshakeException: Handshake error in client (OS Error:
E/flutter ( 7041): BLOCK_TYPE_IS_NOT_01(padding.c:108)
E/flutter ( 7041): PADDING_CHECK_FAILED(rsa_impl.c:641)
E/flutter ( 7041): public key routines(a_verify.c:105)
E/flutter ( 7041): CERTIFICATE_VERIFY_FAILED: certificate signature failure(handshake.cc:352)) E/flutter ( 7041):
#0 IOClient.send (package:http/src/io_client.dart:33:23) E/flutter ( 7041): <asynchronous suspension> E/flutter ( 7041):
#1 BaseClient._sendUnstreamed (package:http/src/base_client.dart:169:38) E/flutter ( 7041): <asynchronous suspension> E/flutter ( 7041):
#2 BaseClient.get (package:http/src/base_client.dart:32:7) E/flutter ( 7041):
#3 get.<anonymous closure> (package:http/http.dart:46:36) E/flutter ( 7041):
#4 _withClient (package:http/http.dart:166:20) E/flutter ( 7041): <asynchronous suspension> E/flutter ( 7041):
#5 get (package:http/http.dart:46:5) E/flutter ( 7041):
#6 timeStamp (package:armarios_inteligentes/screens/locker_screen.dart:196:34) E/flutter ( 7041): <asynchronous suspension> E/flutter ( 7041):
#7 LockerScreenState.build.<anonymous closure> (package:armarios_inteligentes/screens/locker_screen.dart:114:15) E/flutter ( 7041):
#8 _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:635:14) E/flutter ( 7041):
#9 _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:711:32) E/flutter ( 7041):
#10 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24) E/flutter ( 7041): #11 TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:365:11) E/flutter ( 7041):
#12 TapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:312:7) E/flutter ( 7041):
#13 GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:156:27) E/flutter ( 7041):
#14 _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:222:20) E/flutter ( 7041):
#15 _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:198:22) E/flutter ( 7041):
#16 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:156:7) E/flutter ( 7041):
#17 _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:102:7) E/flutter ( 7041):
#18 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:86:7) E/flutter ( 7041):
#19 _rootRunUnary (dart:async/zone.dart:1136:13) E/flutter ( 7041):
#20 _CustomZone.runUnary (dart:async/zone.dart:1029:19) E/flutter ( 7041):
#21 _CustomZone.runUnaryGuarded (dart:async/zone.dart:931:7) E/flutter ( 7041):
#22 _invoke1 (dart:ui/hooks.dart:250:10) E/flutter ( 7041):
#23 _dispatchPointerDataPacket (dart:ui/hooks.dart:159:5) E/flutter ( 7041):
timeStamp() async {
final response =
await http.get('http://armariosinteligentes.com/api/v3/timestamp');
if (response.statusCode == 200) {
// If server returns an OK response, parse the JSON.
var jsonResponse = json.decode(response.body);
tempoStamp tempo = new tempoStamp.fromJson(jsonResponse);
var time = ('${tempo.timestamp}');
return time;
} else {
// If that response was not OK, throw an error.
throw Exception('Failed to load post');
}
}
Result: 1566411603
Try to remove the https and put http instead. And verify your connection, you need to know if you can call websites like this in your local...