Quantcast
Channel: Active questions tagged visual-studio-code - Stack Overflow
Viewing all articles
Browse latest Browse all 97327

Terminal throws "[ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: PlatformException(error, null, null)"

$
0
0

Basically the title. My app initially loads just fine without any errors. I have a button that is supposed to display a PDF located in my assets. When I click the button it throws the error shown in the title. I'm fairly new to coding so I'll try to answer any questions/feedback the best I can.


The error code:

E/flutter ( 4906): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: PlatformException(error, null, null)
E/flutter ( 4906): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:569:7)
E/flutter ( 4906): #1      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:321:33)
E/flutter ( 4906): <asynchronous suspension>
E/flutter ( 4906): #2      AndroidViewController._create (package:flutter/src/services/platform_views.dart:640:54)
E/flutter ( 4906): #3      AndroidViewController.setSize (package:flutter/src/services/platform_views.dart:557:14)
E/flutter ( 4906): #4      RenderAndroidView._sizePlatformView (package:flutter/src/rendering/platform_view.dart:174:29)
E/flutter ( 4906): #5      RenderAndroidView.performResize (package:flutter/src/rendering/platform_view.dart:155:5)
E/flutter ( 4906): #6      RenderObject.layout (package:flutter/src/rendering/object.dart:1703:9)
E/flutter ( 4906): #7      RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
E/flutter ( 4906): #8      RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
E/flutter ( 4906): #9      RenderStack.performLayout (package:flutter/src/rendering/stack.dart:505:15)
E/flutter ( 4906): #10     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
E/flutter ( 4906): #11     MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:163:11)
E/flutter ( 4906): #12     _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:477:7)
E/flutter ( 4906): #13     MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:232:7)
E/flutter ( 4906): #14     RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:391:14)
E/flutter ( 4906): #15     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
E/flutter ( 4906): #16     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
E/flutter ( 4906): #17     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
E/flutter ( 4906): #18     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
E/flutter ( 4906): #19     _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1232:11)
E/flutter ( 4906): #20     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
E/flutter ( 4906): #21     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
E/flutter ( 4906): #22     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
E/flutter ( 4906): #23     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
E/flutter ( 4906): #24     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
E/flutter ( 4906): #25     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
E/flutter ( 4906): #26     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
E/flutter ( 4906): #27     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
E/flutter ( 4906): #28     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
E/flutter ( 4906): #29     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
E/flutter ( 4906): #30     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
E/flutter ( 4906): #31     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
E/flutter ( 4906): #32     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
E/flutter ( 4906): #33     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
E/flutter ( 4906): #34     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
E/flutter ( 4906): #35     RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3166:14)
E/flutter ( 4906): #36     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
E/flutter ( 4906): #37     RenderStack.performLayout (package:flutter/src/rendering/stack.dart:505:15)
E/flutter ( 4906): #38     RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1584:7)
E/flutter ( 4906): #39     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:844:18)
E/flutter ( 4906): #40     RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:344:19)
E/flutter ( 4906): #41     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:774:13)
E/flutter ( 4906): #42     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:283:5)
E/flutter ( 4906): #43     SchedulerBinding._invokeFrameCallback (package:f

My code:

import 'dart:io';

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:path_provider/path_provider.dart';
import 'package:flutter_pdfview/flutter_pdfview.dart';


import 'package:mchd_protocol_beta/screens/employee_sign_in.dart';


void main()  => runApp(MyApp());

class PDFTestPage extends StatefulWidget {
@override
_PDFTestState createState() => _PDFTestState();
}

class _PDFTestState extends State<PDFTestPage>{
  String assetPDFPath = "";

@override
void initState(){
  super.initState();

getFileFromAsset("assets/PDFs/ACS.pdf").then((f){
setState(() {
  assetPDFPath = f.path;
});
});


}

Future<File>getFileFromAsset(String asset)async{
try{
//pulls the pdf from assets and stores it as data
var data = await rootBundle.load("assets/PDFs/ACS.pdf");
//changes the data from the asset to bytes
var bytes = data.buffer.asUint8List();
var dir = await getApplicationDocumentsDirectory();
File file = File("${dir.path}/ACS.pdf");

//passes the bytes that were pulled earlier to the assetfile
File assetFile = await file.writeAsBytes(bytes);
return assetFile;

}catch(e){
  throw Exception("Error Loading Asset file. This is the Try/catch");
}
}

@override
Widget build(BuildContext context) {
  return MaterialApp(
        debugShowCheckedModeBanner: false,
        title: 'PDF Test Page',
        home: Scaffold(
          appBar: AppBar(
          backgroundColor: Colors.lightBlue,
            leading: new IconButton(
              icon: new Icon(Icons.arrow_back, color: Colors.black),
              onPressed: () => Navigator.of(context).pop(),
            ),
            title: Center(child:
            Text('PDF Test Page',
            style: TextStyle (color: Colors.white),)),
        actions: <Widget>[
          IconButton(icon: Icon(Icons.search))
          ],),
          body: Center(child: Builder(
            builder: (context) =>Column(mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              RaisedButton(
                color: Colors.cyan,
                child: Text("Open From Asset"),
                onPressed: () {
                  if (assetPDFPath != null) {
                    Navigator.push(
                      context,
                      MaterialPageRoute(builder: (context)=>PdfViewPage()),
                    );
                  }
                },
                )
            ],
            )
          ),),
        ),
      );
  }
}

class PdfViewPage extends StatefulWidget {
  final String path;
  const PdfViewPage({Key key, this.path}) : super(key: key);
  @override
  _PdfViewPageState createState() => _PdfViewPageState();
}

class _PdfViewPageState extends State<PdfViewPage> {
  int _totalPages = 0;
  int _currentPage = 0;
  bool pdfReady = false;
  PDFViewController _pdfViewController;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text("My Document"),),
      body: Stack(
        children: <Widget>[
          PDFView(
            filePath: widget.path,
            autoSpacing: true,
            pageSnap: true,
            onError: (e){
              print(e);
            },
            onRender: (_pages){
              setState(() {
                _totalPages = _pages;
              pdfReady = true;
              });
            },
            onViewCreated: (PDFViewController vc){
              _pdfViewController = vc;
            },
            onPageChanged: (int page, int total){
              setState(() {

              },);
            },

            onPageError: (page,e){

            },
          ),

          !pdfReady?Center(child: CircularProgressIndicator(),):Offstage


        ],
      ),
      floatingActionButton: Row(
        mainAxisAlignment: MainAxisAlignment.end,
        children: <Widget>[
          _currentPage>0?FloatingActionButton.extended(
            backgroundColor: Colors.red,
            label: Text("Go to ${_currentPage-1}"),
            onPressed: (){
              _currentPage -=1;
              _pdfViewController.setPage(_currentPage);
            },
          ):Offstage(),
          _currentPage>_totalPages?FloatingActionButton.extended(
            backgroundColor: Colors.green,
            label: Text("Go to ${_currentPage+1}"),
            onPressed: (){
              _currentPage +=1;
              _pdfViewController.setPage(_currentPage);
            },
          ):Offstage(),
        ],),
    );
  }
}

Viewing all articles
Browse latest Browse all 97327

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>