giovedì 27 febbraio 2020

Flutter webview

Ultimamente sto avendo parecchie noie da Play Store perche' alcune mie vecchie applicazioni realizzate con PhoneGap vengono ritenute pericolose per vulnerabilita' delle librerie contenute in phonegap e vengono rimosse in automatico. Ho cosi' cercato in giro un framework alternativo con caratteristiche simili a PhoneGap ed ho voluto provare a convertire una mia app PhoneGap in Flutter (anche perche' essendo un prodotto Google spero che non eliminino le app dallo store se compilate con Flutter)

Per installare Flutter si inizia scaricando il pacchetto del framework da questo link
Si scompatta e si mette in path la directory /flutter/bin
Per editare i progetti si puo' usare Android Studio aggiungendo i plugin di Flutter e Dart da Preferences (CTRL+ALT+S) e poi Plugin/Marketplace

Si crea quindi un nuovo progetto Flutter

si modifica il file pubsec.yaml per inserire la dipendenza dal plugin flutter_webview

dependencies:
  flutter:
    sdk: flutter
  flutter_webview_plugin: ^0.3.10+1

modificare il file pubspec.yaml per includere le directory di assets della

(attenzione che:
- le varie righe devono essere indentate in modo corretto
- deve essere creata una riga per ogni subdirectory contenuta in assets
- la directory assets non viene creata di default

flutter:
assets:
  - assets/
  - assets/css/
  - assets/altimetria/
  - assets/img/
  - assets/imgit/


per confronto questa e' parte dell'albero assets del mio progetto


Alla fine si crea popola con la webview e si fa puntare la url ai file locali

main.dart

import 'package:flutter/material.dart';
import 'package:flutter_webview_plugin/flutter_webview_plugin.dart';
void main() {
  runApp(new MyApp());}

class MyApp extends StatefulWidget{
  _MyAppState createState() => _MyAppState();}

class _MyAppState extends State<MyApp> {
  @override  Widget build(BuildContext context) {
    return new MaterialApp(
        home: new WebviewScaffold(
          url: "file:///android_asset/flutter_assets/assets/index.html",        ),        debugShowCheckedModeBanner: false,    );  }
}

Nessun commento:

Posta un commento

Debugger integrato ESP32S3

Aggiornamento In realta' il Jtag USB funziona anche sui moduli cinesi Il problema risiede  nell'ID USB della porta Jtag. Nel modulo...