flutter_resu 0.0.1 copy "flutter_resu: ^0.0.1" to clipboard
flutter_resu: ^0.0.1 copied to clipboard

discontinued
PlatformAndroidiOS

A new Resu Flutter plugin project.

example/lib/main.dart

import 'dart:convert';

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

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

import 'component.dart';

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

class MyApp extends StatefulWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  
  String _i = '-';

  String _callbackLog = '';

  final _flutterResuPlugin = FlutterResu();

  final LabelTextField _aTextField = LabelTextField("a", "Input a");    
  final LabelCheckbox _ucCheckbox = LabelCheckbox("uc");
  final LabelCheckbox _uaCheckbox = LabelCheckbox("ua");

  final LabelTextField _uTextField = LabelTextField("u", "Input u");

  final LabelTextField _eTextField = LabelTextField("e", "Input e");

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

    _flutterResuPlugin.callbackStream().listen((event) {    
      debugPrint('event: $event');

      if (defaultTargetPlatform == TargetPlatform.android ) {
        Codec<String, String> base64Codec = utf8.fuse(base64);
        String decoded = base64Codec.decode(event);
        event = decoded;
        debugPrint('event (decoded): $event');
      }      

      setState(() {
        _callbackLog = event;
      });
    });
  }

  Future<void> initPlatformState() async {
    
    _aTextField.textEditingController.text = "dYZuBEsrdZoekA9z";
    _uTextField.textEditingController.text = "flutter_user";
    _eTextField.textEditingController.text = "Test String";
    
    if (!mounted) return;

    setState(() {
      
    });
  }

  void _dCall() {

    String a = _aTextField.textEditingController.text;
    debugPrint("_a.textEditingController.text : $a");    

    _flutterResuPlugin.D(a);
  }

  void _oCall() {
    bool uc = _ucCheckbox.isChecked;
    bool ua = _uaCheckbox.isChecked;

    debugPrint("_ucCheckbox.isChecked; $uc");
    debugPrint("_uaCheckbox.isChecked; $ua");

    _flutterResuPlugin.O(uc, ua);
  }

  void _sCall() {
    String u = _uTextField.textEditingController.text;
    _flutterResuPlugin.S(u);
  }

  Future<String> _iCall() async {
    String i;
    try {
      i = await _flutterResuPlugin.I() ?? 'Unknown I';
    } on PlatformException {
      i = 'Failed to get i.';
    }
    
    setState(() {      
      _i = i;
    });

    return i;
  }

  void _eCall() {
    String eStr = _eTextField.textEditingController.text;
    List<int> data = utf8.encode(eStr);
    
    debugPrint("_eCall: $data");
    
    _flutterResuPlugin.E(data);
  }
  
  void _csCall() {
    _flutterResuPlugin.cs();
  }

  void _ccCall() {
    _flutterResuPlugin.cc();
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        resizeToAvoidBottomInset: false,
        appBar: AppBar(
          title: const Text('Plugin example app'),
        ),
        body: SingleChildScrollView (          
          child: Column(            
            mainAxisAlignment: MainAxisAlignment.spaceEvenly,
            children: <Widget>[              
              const SplitLine(),        

              // D              
              if (isIOS) _aTextField,              
              if (isIOS) CustomButton("D", Colors.black, Colors.white, _dCall),   
              if (isIOS) const SplitLine(),        
            
              // O              
              _ucCheckbox,
              _uaCheckbox,
              CustomButton("O", Colors.black, Colors.white, _oCall),
              const SplitLine(),
              
              // S
              // userId
              _uTextField,
              CustomButton("S", Colors.black, Colors.white, _sCall),
              const SplitLine(),

              // I
              CustomButton("I", Colors.black, Colors.white, _iCall),
              Text(
                _i, 
                style: const TextStyle(fontSize: 10, color: Colors.blue)
              ),              
              const SplitLine(),

              // E
              if (isAndroid) _eTextField,
              if (isAndroid) CustomButton("E", Colors.black, Colors.white, _eCall),
              if (isAndroid) const SplitLine(),

              // cs
              if (isIOS) CustomButton("cs", Colors.black, Colors.white, _csCall),
              if (isIOS) const SplitLine(),
              
              // cc
              if (isIOS) CustomButton("cc", Colors.black, Colors.white, _ccCall),
              if (isIOS) const SplitLine(),

              // O - result
              const Text(
                'Callback',
                style: TextStyle(fontSize: 12, color: Colors.red),
                textAlign: TextAlign.center,
              ),
              TextView(_callbackLog),
              const SplitLine(),
            ]
          )
        ),
      ),
    );
  }
}
0
likes
125
points
46
downloads

Publisher

unverified uploader

Weekly Downloads

A new Resu Flutter plugin project.

Homepage

Documentation

API reference

License

Pixar (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on flutter_resu

Packages that implement flutter_resu