ibox_plugin 0.0.4 copy "ibox_plugin: ^0.0.4" to clipboard
ibox_plugin: ^0.0.4 copied to clipboard

A new flutter plugin project.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'dart:async';

import 'package:flutter/services.dart';
import 'package:ibox_plugin/ibox_plugin.dart';

void main() {
  runApp(MyApp());
}

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

class _MyAppState extends State<MyApp> {
  String _platformVersion = 'Unknown';

  @override
  void initState() {
    super.initState();
    //enable2can();
    //enable2can().whenComplete(() => auth()).whenComplete(() => attachCard());
    //auth().then((value) => attachCard());
    //attachCard();

    Stream<String> myStream = IboxPlugin.getReaderEventStream;
    StreamSubscription subscription = myStream.listen((data) {
      print('2can DATA : $data');
    }, onError: (err) {
      print('2can ERROR');
    });

    // Stream<String> myStream2 = IboxProSdkExternal.getBatteryStateEventStream;
    // subscription = myStream2.listen((data) {
    //   print('2can battery : $data');
    // }, onError: (err) {
    //   print('2can battery ERROR');
    // });
  }

  Future<void> auth() async {
    await IboxPlugin.auth("login", "secretKey");
  }

  Future<void> attachCard() async {
    await IboxPlugin.attachCard;
  }

  Future<void> enable2can() async {
    //await IboxPlugin.enable2can("usb_mode");
    await IboxPlugin.enable2can("A4:11:63:8A:7E:AA");
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Plugin example app'),
        ),
        body: new Center(
          child: Column(
            children: [
              StreamBuilder(
                stream: IboxPlugin.getReaderEventStream,
                builder:
                    (BuildContext context, AsyncSnapshot<String> snapshot) {
                  if (snapshot.hasData) {
                    return Text('OnReaderEvent: ${snapshot.data}');
                  }
                  return Text('CONNECTION: NO DATA');
                },
              ),
              StreamBuilder(
                stream: IboxPlugin.getBatteryStateEventStream,
                builder:
                    (BuildContext context, AsyncSnapshot<double> snapshot) {
                  if (snapshot.hasData) {
                    return Text('Battery: ${snapshot.data}%');
                  }
                  return Text('Battery: NO DATA');
                },
              ),
              StreamBuilder(
                stream: IboxPlugin.getErrorEventStream,
                builder:
                    (BuildContext context, AsyncSnapshot<String> snapshot) {
                  if (snapshot.hasData) {
                    return Text('OnErrorEvent: ${snapshot.data}');
                  }
                  if (snapshot.hasError){
                    return Text('OnErrorEvent: ${snapshot.error}');
                  }
                  return Text('OnErrorEvent: NO ERROR');
                },
              ),
              ButtonBar(
                children: [RaisedButton(
                  onPressed: enable2can,
                  child: const Text('Enable 2can'),
                ),
                  RaisedButton(
                    onPressed: auth,
                    child: const Text('auth'),
                  ),
                  RaisedButton(
                    onPressed: attachCard,
                    child: const Text('attachCard'),
                  )
                ],
              )
            ],
          ),
        ),
      ),
    );
  }
}
0
likes
30
pub points
0%
popularity

Publisher

unverified uploader

A new flutter plugin project.

License

Apache-2.0 (LICENSE)

Dependencies

flutter

More

Packages that depend on ibox_plugin