gertec_tsg800 0.0.1

  • Readme
  • Changelog
  • Example
  • Installing
  • new48

Pacote Gertec para o Terminal Smart G800 #

Este plugin permite que as funções base da TSG800 possam ser utilizadas, sem a necessidade de toda complexidade para realizar a comunicação com o Java Android diretamente.

Instalação #

Um passo importante para utilização do plugin é fazer a assinatura da sua aplicação, sem isto você ficará impossibilitado de realizar a chamada das funções.

Caso ainda não tenha uma assinatura, basta baixar este ARQUIVO. Após isto configure seu build.gradle[App] - Android da seguinte maneira:

android {
    compileSdkVersion 28

    lintOptions {
        disable 'InvalidPackage'
        checkReleaseBuilds false
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "com.example.gertec_plugin_example"
        multiDexEnabled true
        minSdkVersion 20
        targetSdkVersion 28
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    signingConfigs {
        gertec {
            storeFile file('..\\..\\..\\android\\Chaves\\Development_GertecDeveloper_CustomerAPP.jks') //Coloque aqui o caminho da sua chave
            storePassword 'Development@GertecDeveloper2018'
            keyAlias 'developmentgertecdeveloper_customerapp'
            keyPassword 'Development@GertecDeveloper2018'
        }
    }

    buildTypes {
        release {
            shrinkResources true
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.gertec
        }
        debug {
            signingConfig signingConfigs.gertec
        }
    }
    compileOptions {
        sourceCompatibility = 1.8
        targetCompatibility = 1.8
    }
    buildToolsVersion = '28.0.3'
}

Concluído esta etapa você já poderá utilizar as funções disponíveis neste plugin. Para isso no seu arquivo pubspec.yaml basta adicionar:

dependencies:
  ...
  gertec_tsg800: ^0.0.1
 ...

Importe o pacote do plugin no seu arquivo dart.

import 'package:gertec_tsg800/gertec_tsg800.dart';
...

Primeiros passos #

Impressão na TSG800 #

Um primeiro teste que pode ser feito com a TSG800 é de impressão de texto, para isto basta chamar a seguinte função.

void imprimirTexto() {
  GertecTsg800.imprimirTexto(texto: "Gertec");
}

Outro exemplo um pouco mais completo é o de impressão de texto settando parâmetros opcionais.

import 'package:gertec_tsg800/config_tsg800/configString.dart';

imprimirTexto() {
  GertecTsg800.imprimirTexto(texto: "Gertec" ,alinhamento: Alinhamento.centralizado, tamanhoFonte: 20, fontFamily: TipofontFamily.sansSerif);
}

Também é possível fazer a impressão de código de barra, como por exemplo:

 void imprimirCodigoDeBarra() {
    GertecTsg800.imprimirCodigoDeBarra(
        texto: "Gertec",
        codeType: TipoCodigoImpressao.qrCode,
        width: 200,
        height: 200);
  }

Leitura de código de barra #

Neste plugin existe dois tipo de leitura de código de barra, a primeira versão lê 4 tipos de barra (EAN_8, EAN_13, EAN_14 e QR_CODE) a segunda versão faz a leitura de qualquer tipo de código, mas o valor somente aparece na tela e não retornado para o flutter, diferente da primeira versão.

import 'package:gertec_tsg800/config_tsg800/barCode.dart';
...

void lerCodigodeBarrav1() {
  GertecTsg800.leitorCodigoDeBarra(tipoLeitura: TipoCodigoLeitura.qrCode).then(
    (codigoRetorno) {
      print(codigoRetorno);
    },
  );
}

...

void lerCodigodeBarrav2() {
  GertecTsg800.leitorCodigoDeBarraV2;
}

Operações com cartão NFC #

Neste plugin existem 4 tipos funções relacionadas NFC, são elas: leitura, gravação, formatação e teste (de leitura e gravação).

Toda vez que a função é invocada é exibido uma tela em Java Android, para fazer a leitura segura do cartão e retornar o valor para o flutter.

//Leitura de cartão
 void lerCartaoNFC() {
    GertecTsg800.lerCartao.then(
      (onValue) {
        print(onValue);
      },
    );
  }

//Gravação no cartão
void gravarnoCartao(){
    GertecTsg800.gravarCartao(mensagemGravar: "Teste");
}

Documentação #

Para mais informações consulte a aba de exemplos e a API REFERENCE.

0.0.1 #

  • TODO: Describe initial release.

example/lib/main.dart

import 'dart:convert';
import 'dart:typed_data';

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:gertec_tsg800/config_tsg800/barCode.dart';
import 'package:gertec_tsg800/gertec_tsg800.dart';

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

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

class _MyAppState extends State<MyApp> {
  @override
  void initState() {
    super.initState();
  }

  //Reponsavel por fazer a conversão de uma imagem das pastas assets, para um codigo na base 64.
  Future<String> transformarbase64(String assetPath) async {
    ByteData bytes = await rootBundle.load(assetPath);
    var buffer = bytes.buffer;
    var m = base64.encode(Uint8List.view(buffer));
    return m;
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Plugin example GPOS800'),
        ),
        body: Center(
          child: Column(
            children: <Widget>[
              RaisedButton(
                child: Text("Imprimir Texto"),
                onPressed: () {
                  GertecTsg800.imprimirTexto(texto: "Gertec");
                },
              ),
              RaisedButton(
                child: Text("Imprimir Codigo de Barra"),
                onPressed: () {
                  GertecTsg800.imprimirCodigoDeBarra(
                      texto: "Gertec", codeType: TipoCodigoImpressao.qrCode);
                },
              ),
              RaisedButton(
                child: Text("Gravar no Cartão"),
                onPressed: () {
                  GertecTsg800.gravarCartao(mensagemGravar: "GERTEC");
                },
              ),
              RaisedButton(
                child: Text("Ler Cartão"),
                onPressed: () {
                  GertecTsg800.lerCartao.then(
                    (onValue) {
                      print(onValue);
                    },
                  );
                },
              ),
              RaisedButton(
                child: Text("Ler Codigo de Barra"),
                onPressed: () {
                  GertecTsg800.leitorCodigoDeBarra(
                          tipoLeitura: TipoCodigoLeitura.qrCode)
                      .then(
                    (onValue) {
                      print(onValue);
                    },
                  );
                },
              ),
              RaisedButton(
                child: Text("Ler Codigo de Barra"),
                onPressed: () {
                  GertecTsg800.leitorCodigoDeBarraV2;
                },
              ),
              RaisedButton(
                child: Text("Imprimir Imagem"),
                onPressed: () {
                  transformarbase64("assets/rock.png").then(
                    (onValue) {
                      print(onValue);
                      GertecTsg800.imprimirImagem(codigobase64: onValue);
                    },
                  );
                },
              ),
            ],
          ),
        ),
      ),
    );
  }
}

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  gertec_tsg800: ^0.0.1

2. Install it

You can install packages from the command line:

with Flutter:


$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:gertec_tsg800/gertec_tsg800.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
0
Health:
Code health derived from static analysis. [more]
100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
90
Overall:
Weighted score of the above. [more]
48
Learn more about scoring.

We analyzed this package on May 23, 2020, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.8.1
  • pana: 0.13.8-dev
  • Flutter: 1.17.0

Maintenance suggestions

Package is pre-v0.1 release. (-10 points)

While nothing is inherently wrong with versions of 0.0.*, it might mean that the author is still experimenting with the general direction of the API.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.1.0 <3.0.0
flutter 0.0.0
Transitive dependencies
collection 1.14.12
meta 1.1.8
sky_engine 0.0.99
typed_data 1.1.6
vector_math 2.0.8
Dev dependencies
flutter_test