Flutter & Shared_Preference & Intro Slider: Shared_Preference erzeugt eine Ausnahme

Oct 20 2020

Flutter & Shared_Preference & Intro Slider: Shared_Preference erzeugt eine Ausnahme. Ich wollte einen Einführungsschieberegler erstellen. Daher verwende ich shared_preference (Erkennen, ob der Benutzer die App zum ersten Mal verwendet) und das intro_slider-Plugin, um es zu erstellen. Aus irgendeinem Grund wurde dieser Ausnahmefehler angezeigt, der meinen Emulator sofort stoppte. Mit anderen Worten, die App wurde installiert, aber ich wurde aus der App geworfen und mein laufender Prozess wurde einfach gestoppt.

Da die App bereits installiert war, habe ich versucht, sie manuell zu öffnen. Und es hat gut funktioniert.

Warum wurde mein laufender Prozess gestoppt? Warum wurde ich aus dem Prozess ausgeschlossen?

Haupt code

import 'package:PhotoEarn/screens/wrapper.dart';
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';

import 'introduction_slider/introduction_slider.dart';

class AppStarter extends StatefulWidget {
  @override
  _AppStarterState createState() => _AppStarterState();
}

class _AppStarterState extends State<AppStarter> {
  @override
  void initState() {
    super.initState();
    //  checkIsFirstTime();
  }

  Future<Widget> checkIsFirstTime() async {
    final SharedPreferences prefs = await SharedPreferences.getInstance();
    final bool isFirstTime = prefs.getBool('isFirstTime');

    // check is null or true
    if (isFirstTime == null || isFirstTime) {
      prefs.setBool('isFirstTime', false);
      Navigator.pushReplacement(
        context,
        MaterialPageRoute(
          builder: (context) => IntroductionSlider(),
          //builder: (context) => ImageEvaluation(),
          //builder: (context) => CameraTwo(),
        ),
      );
    } else {
      Navigator.pushReplacement(
        context,
        MaterialPageRoute(
          builder: (context) => Wrapper(),
          //builder: (context) => ImageEvaluation(),
          //builder: (context) => CameraTwo(),
        ),
      );
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold();
  }
}

Fehlermeldung

(base) Punreachs-MacBook-Pro:PhotoEarn punreachrany$ flutter run Using hardware rendering with device AOSP on IA Emulator. If you notice graphics artifacts, consider enabling software rendering with "--enable-software-rendering". Launching lib/main.dart on AOSP on IA Emulator in debug mode... Running Gradle task 'assembleDebug'... Running Gradle task 'assembleDebug'... Done 7,2s ✓ Built build/app/outputs/flutter-apk/app-debug.apk. Installing build/app/outputs/flutter-apk/app.apk... 3,2s Waiting for AOSP on IA Emulator to report its views... 4ms D/EGL_emulation( 8483): eglMakeCurrent: 0xdc517240: ver 3 0 (tinfo 0xdc4a6d00) D/eglCodecCommon( 8483): setVertexArrayObject: set vao to 0 (0) 1 0 I/sterable.pe.an( 8483): Rejecting re-init on previously-failed class java.lang.Class<com.google.firebase.messaging.FirebaseMessagingService>: java.lang.VerifyError: Superclass com.google.firebase.iid.zzb of com.google.firebase.messaging.FirebaseMessagingService is declared final (declaration of 'com.google.firebase.messaging.FirebaseMessagingService' appears in /data/app/com.oysterable.pe.and-x4wuluezItpEc-2nGrSGUg==/base.apk!classes3.dex) I/sterable.pe.an( 8483): at java.lang.Class java.lang.VMClassLoader.findLoadedClass(java.lang.ClassLoader, java.lang.String) (VMClassLoader.java:-2) I/sterable.pe.an( 8483): at java.lang.Class java.lang.ClassLoader.findLoadedClass(java.lang.String) (ClassLoader.java:738) I/sterable.pe.an( 8483): at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:363) I/sterable.pe.an( 8483): at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312) I/sterable.pe.an( 8483): at android.app.Service android.app.AppComponentFactory.instantiateService(java.lang.ClassLoader, java.lang.String, android.content.Intent) (AppComponentFactory.java:103) I/sterable.pe.an( 8483): at android.app.Service androidx.core.app.CoreComponentFactory.instantiateService(java.lang.ClassLoader, java.lang.String, android.content.Intent) (CoreComponentFactory.java:66) I/sterable.pe.an( 8483): at void android.app.ActivityThread.handleCreateService(android.app.ActivityThread$CreateServiceData) (ActivityThread.java:3514)
I/sterable.pe.an( 8483):   at void android.app.ActivityThread.access$1300(android.app.ActivityThread, android.app.ActivityThread$CreateServiceData) (ActivityThread.java:199)
I/sterable.pe.an( 8483):   at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1666) I/sterable.pe.an( 8483): at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:106) I/sterable.pe.an( 8483): at void android.os.Looper.loop() (Looper.java:193) I/sterable.pe.an( 8483): at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6669) I/sterable.pe.an( 8483): at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2) I/sterable.pe.an( 8483): at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:493)
I/sterable.pe.an( 8483):   at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:858)
I/sterable.pe.an( 8483):                                                
D/AndroidRuntime( 8483): Shutting down VM                               
E/AndroidRuntime( 8483): FATAL EXCEPTION: main                          
E/AndroidRuntime( 8483): Process: com.oysterable.pe.and, PID: 8483      
E/AndroidRuntime( 8483): java.lang.VerifyError: Superclass com.google.firebase.iid.zzb of com.google.firebase.messaging.FirebaseMessagingService is declared final (declaration of 'com.google.firebase.messaging.FirebaseMessagingService' appears in /data/app/com.oysterable.pe.and-x4wuluezItpEc-2nGrSGUg==/base.apk!classes3.dex)
E/AndroidRuntime( 8483):        at java.lang.VMClassLoader.findLoadedClass(Native Method)
E/AndroidRuntime( 8483):        at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:738)
E/AndroidRuntime( 8483):        at java.lang.ClassLoader.loadClass(ClassLoader.java:363)
E/AndroidRuntime( 8483):        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
E/AndroidRuntime( 8483):        at android.app.AppComponentFactory.instantiateService(AppComponentFactory.java:103)
E/AndroidRuntime( 8483):        at androidx.core.app.CoreComponentFactory.instantiateService(CoreComponentFactory.java:66)
E/AndroidRuntime( 8483):        at android.app.ActivityThread.handleCreateService(ActivityThread.java:3514)
E/AndroidRuntime( 8483):        at android.app.ActivityThread.access$1300(ActivityThread.java:199) E/AndroidRuntime( 8483): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1666)
E/AndroidRuntime( 8483):        at android.os.Handler.dispatchMessage(Handler.java:106)
E/AndroidRuntime( 8483):        at android.os.Looper.loop(Looper.java:193)
E/AndroidRuntime( 8483):        at android.app.ActivityThread.main(ActivityThread.java:6669)
E/AndroidRuntime( 8483):        at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime( 8483):        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) E/AndroidRuntime( 8483): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) I/Process ( 8483): Sending signal. PID: 8483 SIG: 9 Lost connection to device. Syncing files to device AOSP on IA Emulator... Could not update files on device: HttpException: Connection closed before full header was received, uri = http://127.0.0.1:55559/9hULGLtexbI=/ Syncing files to device AOSP on IA Emulator... (base) Punreachs-MacBook-Pro:PhotoEarn punreachrany$ 

Antworten

Akif Oct 20 2020 at 16:27

Warum wurde mein laufender Prozess gestoppt? Warum wurde ich aus dem Prozess geworfen?

Es gibt immer ähnliche Probleme bei der Entwicklung mobiler Apps. Daran sollten Sie sich gewöhnen. Die meisten Antworten lauten ungefähr so:

  • IDE neu starten,
  • flutter pub cache repair,
  • flutter clean.