29

Assinatura na tela;€¦ · Agora os arquivos e bibliotecas necessárias para começar o desenvolvimento estão corretamente instalados na pasta libs: Create PDF in your applications

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 2: Assinatura na tela;€¦ · Agora os arquivos e bibliotecas necessárias para começar o desenvolvimento estão corretamente instalados na pasta libs: Create PDF in your applications

O posGo é um terminal de vendas móvel completo, em um único dispositivo estão a CPU, tela touch, impressora térmica e“maquininha” de cartão. Tudo isto em um equipamento de design prático, leve, tela de toque colorida e capacitiva de 5,5polegadas, com display de alta resolução e multitouch para ser segurado com uma mão. Possui bateria interna quepermite o funcionamento desligado da tomada e com conexão de rede sem fio para poder ser levado em qualquer lugar.

Opera com sistema Android, permitindo a utilização de aplicativos de vendas compatíveis. É perfeito para ser utilizadocomo terminal de vendas principal ou extensão de um terminal fixo.

O posGo é ideal para negócios com pouco espaço ou que exigem atendimento do cliente com mobilidade, acabando com asfilas de caixa.

O cliente conta com recursos que inovam e ao mesmo tempo simplificam o atendimento:

Assinatura na tela;

Leitor 1D e 2D (QRCode);

GPS, 3G e Bluetooth;

Leitor de cartão por tarja magnética e chip;

NFC.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

Page 3: Assinatura na tela;€¦ · Agora os arquivos e bibliotecas necessárias para começar o desenvolvimento estão corretamente instalados na pasta libs: Create PDF in your applications

Especi�cações TécnicasProcessador CPU de 4 núcleos + processador de alta segurança

Memória FLASH 8GB, RAM 1GB esuporte para cartão microSD

Tela sensível ao toque, tipo capacitivo, suporta e-assinatura

Display 5,5 polegadas, 720 x 1280

PINPAD PINPAD integrado (Teclado virtual)

Impressora Impressora térmica direta

Bobina de Papel Diâmetro 40mm , largura 25mm

Leitor Magnético 1,2,3 tarjas bidirecionais

Comunicação 3G Netcom , WIFI e Bluetooth 4.1

Sistema Operacional Android 5.1 lolipop

Leitores de Cartão PSAM: 2

SIM: 1

SD: 1

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

Page 4: Assinatura na tela;€¦ · Agora os arquivos e bibliotecas necessárias para começar o desenvolvimento estão corretamente instalados na pasta libs: Create PDF in your applications

NFC 13.56MHz, support ISO14443

Não é possível emular o PosGo no Android Studio, pois seu SDK tem dependências específicas dohardware!

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

Page 5: Assinatura na tela;€¦ · Agora os arquivos e bibliotecas necessárias para começar o desenvolvimento estão corretamente instalados na pasta libs: Create PDF in your applications

BibliotecasArquivo Descrição

nexgosdk-2.x.x.jar Pacote Jar de interface da API

libemvjni.so Biblioteca EMV

libsdkemvjni.so Biblioteca EMV do SDK

libgencode.so Biblioteca Encode

Como obtenho o SDK do posGo?

Baixe as bibliotecas acessando o sistema posGo, na página inicial vá em Acesso a Desenvolvedores e façaseu cadastro!

Requisitos Básicos do SistemaAmbiente de Desenvolvimento: Android Studio 2.0 ou superior.

Sistema Operacional: Android 5.1.1 Lolipop.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

Page 6: Assinatura na tela;€¦ · Agora os arquivos e bibliotecas necessárias para começar o desenvolvimento estão corretamente instalados na pasta libs: Create PDF in your applications

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

Page 7: Assinatura na tela;€¦ · Agora os arquivos e bibliotecas necessárias para começar o desenvolvimento estão corretamente instalados na pasta libs: Create PDF in your applications

Criando um projetoAbra um novo projeto no Android Studio:

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

Page 8: Assinatura na tela;€¦ · Agora os arquivos e bibliotecas necessárias para começar o desenvolvimento estão corretamente instalados na pasta libs: Create PDF in your applications

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

Page 9: Assinatura na tela;€¦ · Agora os arquivos e bibliotecas necessárias para começar o desenvolvimento estão corretamente instalados na pasta libs: Create PDF in your applications

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

Page 10: Assinatura na tela;€¦ · Agora os arquivos e bibliotecas necessárias para começar o desenvolvimento estão corretamente instalados na pasta libs: Create PDF in your applications

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

Page 11: Assinatura na tela;€¦ · Agora os arquivos e bibliotecas necessárias para começar o desenvolvimento estão corretamente instalados na pasta libs: Create PDF in your applications

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

Page 12: Assinatura na tela;€¦ · Agora os arquivos e bibliotecas necessárias para começar o desenvolvimento estão corretamente instalados na pasta libs: Create PDF in your applications

Na aba "1:Project" clique no nome do projeto e vá em "project":

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

Page 13: Assinatura na tela;€¦ · Agora os arquivos e bibliotecas necessárias para começar o desenvolvimento estão corretamente instalados na pasta libs: Create PDF in your applications

Copie os arquivos da pasta SDK-N5_v2_04_2\Library:

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

Page 14: Assinatura na tela;€¦ · Agora os arquivos e bibliotecas necessárias para começar o desenvolvimento estão corretamente instalados na pasta libs: Create PDF in your applications

Vá em "App/libs" e cole os arquivos do SDK:

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

Page 15: Assinatura na tela;€¦ · Agora os arquivos e bibliotecas necessárias para começar o desenvolvimento estão corretamente instalados na pasta libs: Create PDF in your applications

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

Page 16: Assinatura na tela;€¦ · Agora os arquivos e bibliotecas necessárias para começar o desenvolvimento estão corretamente instalados na pasta libs: Create PDF in your applications

Agora os arquivos e bibliotecas necessárias para começar o desenvolvimento estão corretamente instalados na pasta libs:

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

Page 17: Assinatura na tela;€¦ · Agora os arquivos e bibliotecas necessárias para começar o desenvolvimento estão corretamente instalados na pasta libs: Create PDF in your applications

Para que as bibliotecas estejam disponíveis para o projeto, abra o arquivo Gradle Scripts/build.gradle (module:app) e insiraa configuração abaixo:

sourceSets.main {

jniLibs.srcDir 'libs'

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

Page 18: Assinatura na tela;€¦ · Agora os arquivos e bibliotecas necessárias para começar o desenvolvimento estão corretamente instalados na pasta libs: Create PDF in your applications

Essa instrução deve ser colocada logo após o parâmetro defaultConfig!

Seu arquivo ficará como na imagem abaixo, clique em Sync Now para sincronizar:

jni.srcDirs = [] //disable automatic ndk-build call }

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

Page 19: Assinatura na tela;€¦ · Agora os arquivos e bibliotecas necessárias para começar o desenvolvimento estão corretamente instalados na pasta libs: Create PDF in your applications

Exemplo de implementação

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

Page 20: Assinatura na tela;€¦ · Agora os arquivos e bibliotecas necessárias para começar o desenvolvimento estão corretamente instalados na pasta libs: Create PDF in your applications

O objeto global que é utilizado para as classes referentes ao dispositivo é o DeviceEngine, e suaimplementação é feita da seguinte forma dentro da classe:

Mostrando a classe principal com uma implementação de impressão:

MainActivity.java

private DeviceEngine deviceEngine = APIProxy.getDeviceEngine();

package com.example.jcbruno.teste_posgo_2;

import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast;

import com.nexgo.oaf.apiv3.APIProxy; import com.nexgo.oaf.apiv3.DeviceEngine; import com.nexgo.oaf.apiv3.SdkResult; import com.nexgo.oaf.apiv3.device.printer.AlignEnum; import com.nexgo.oaf.apiv3.device.printer.BarcodeFormatEnum; import com.nexgo.oaf.apiv3.device.printer.DotMatrixFontEnum; import com.nexgo.oaf.apiv3.device.printer.FontEntity; import com.nexgo.oaf.apiv3.device.printer.OnPrintListener; import com.nexgo.oaf.apiv3.device.printer.Printer;

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

Page 21: Assinatura na tela;€¦ · Agora os arquivos e bibliotecas necessárias para começar o desenvolvimento estão corretamente instalados na pasta libs: Create PDF in your applications

public class MainActivity extends AppCompatActivity {

private DeviceEngine deviceEngine; private Printer printer; private final int FONT_SIZE_SMALL = 20; //32 colunas de letras ou números private final int FONT_SIZE_NORMAL = 24; //27 colunas de letras ou números private final int FONT_SIZE_BIG = 28; //24 colunas de letras ou números

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate( savedInstanceState ); setContentView( R.layout.activity_main ); DeviceEngine deviceEngine = APIProxy.getDeviceEngine(); printer = deviceEngine.getPrinter();

Button btNFCe = (Button) findViewById( R.id.btNFCe ); btNFCe.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { imprimirNFCe(); } } );

Button btQrcode = (Button)findViewById( R.id.btQrcode ); btQrcode.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { imprimirQRCode(); } } );

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

Page 22: Assinatura na tela;€¦ · Agora os arquivos e bibliotecas necessárias para começar o desenvolvimento estão corretamente instalados na pasta libs: Create PDF in your applications

}

private void imprimirQRCode() { printer.initPrinter(); printer.appendQRcode(getString(R.string.printQrcode),300,AlignEnum.CENTER); //printer.appendPrnStr( "QR Code de NFC-e",FONT_SIZE_NORMAL,AlignEnum.CENTER,false); printer.startPrint( true, new OnPrintListener() { @Override public void onPrintResult(final int retCode) { runOnUiThread( new Runnable() { @Override public void run() { switch (retCode){ case SdkResult.Success: Toast.makeText( MainActivity.this,"Impresso com sucesso",Toast.LENGTH_SHORT ).show(); break; case SdkResult.Printer_AddImg_Fail: Toast.makeText( MainActivity.this,"Falha na impressão",Toast.LENGTH_SHORT ).show(); break; default: Toast.makeText( MainActivity.this,"Erro desconhecido",Toast.LENGTH_SHORT ).show(); } } } ); } } ); }

private void imprimirNFCe() {

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

Page 23: Assinatura na tela;€¦ · Agora os arquivos e bibliotecas necessárias para começar o desenvolvimento estão corretamente instalados na pasta libs: Create PDF in your applications

printer.initPrinter(); printer.setLetterSpacing( 5 ); Bitmap bitmap = BitmapFactory.decodeResource( getResources(),R.drawable.logo ); printer.appendImage( bitmap, AlignEnum.CENTER ); printer.appendPrnStr( "Bematech Hardware", FONT_SIZE_NORMAL,AlignEnum.CENTER,false ); printer.appendPrnStr( "Av. Comendador Franco, 1341 - Jardim Botânico", FONT_SIZE_NORMAL,AlignEnum.LEFT,false ); printer.appendPrnStr( "Bematech Hardware", FONT_SIZE_NORMAL,AlignEnum.LEFT,false ); printer.appendPrnStr( "CNPJ: 123.456.789/00001-00", FONT_SIZE_NORMAL,AlignEnum.LEFT,false ); printer.appendPrnStr( "__________________________________", FONT_SIZE_NORMAL,AlignEnum.LEFT,false ); printer.appendPrnStr( "Desc Qtd Vlr Un Tot ", FONT_SIZE_NORMAL,AlignEnum.LEFT,false ); printer.appendPrnStr( "_____________________________", FONT_SIZE_BIG,AlignEnum.LEFT,false ); printer.appendPrnStr( "Sabão em pó 1 3,44 1 3,44", FONT_SIZE_NORMAL,AlignEnum.LEFT,false ); printer.appendPrnStr( "_____________________________", FONT_SIZE_BIG,AlignEnum.LEFT,false ); printer.appendPrnStr( "Valor Total 3,44", FONT_SIZE_NORMAL,AlignEnum.LEFT,false ); printer.appendPrnStr( "Pagamento 4,00", FONT_SIZE_NORMAL,AlignEnum.LEFT,false ); printer.appendPrnStr( "Troco 0,56", FONT_SIZE_NORMAL,AlignEnum.LEFT,false ); printer.appendPrnStr( "_____________________________", FONT_SIZE_BIG,AlignEnum.LEFT,false ); printer.appendPrnStr( "Informações Adicionais", FONT_SIZE_NORMAL,AlignEnum.CENTER,false ); printer.appendPrnStr( "Consulta chave de acesso", FONT_SIZE_NORMAL,AlignEnum.LEFT,false ); printer.appendBarcode( "1234567890",50,0,2, BarcodeFormatEnum.CODE_128,AlignEnum.CENTER ); printer.appendQRcode( "teste qrcode",200,AlignEnum.CENTER ); printer.appendPrnStr( "Consumidor Julio Cesar Bruno",FONT_SIZE_NORMAL,AlignEnum.LEFT,false ); printer.appendPrnStr( "", FONT_SIZE_NORMAL,AlignEnum.LEFT,false );

printer.startPrint( true, new OnPrintListener() { @Override public void onPrintResult(final int retCode) { runOnUiThread( new Runnable() { @Override

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

Page 24: Assinatura na tela;€¦ · Agora os arquivos e bibliotecas necessárias para começar o desenvolvimento estão corretamente instalados na pasta libs: Create PDF in your applications

public void run() { switch (retCode){ case SdkResult.Success: Toast.makeText( MainActivity.this,"Impresso com sucesso",Toast.LENGTH_SHORT ).show(); break; case SdkResult.Printer_Print_Fail: Toast.makeText( MainActivity.this,"Falha na impressão",Toast.LENGTH_SHORT ).show(); break; case SdkResult.Printer_PaperLack: Toast.makeText( MainActivity.this,"Sem papel",Toast.LENGTH_SHORT ).show(); break; case SdkResult.Printer_UnFinished: Toast.makeText( MainActivity.this,"Impressão não terminou",Toast.LENGTH_SHORT ).show(); break; case SdkResult.Printer_TooHot: Toast.makeText( MainActivity.this,"Superaquecimento da impressora!",Toast.LENGTH_SHORT ).show(); break; default: Toast.makeText( MainActivity.this,"Erro desconhecido",Toast.LENGTH_SHORT ).show(); }

} } );

} } );

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

Page 25: Assinatura na tela;€¦ · Agora os arquivos e bibliotecas necessárias para começar o desenvolvimento estão corretamente instalados na pasta libs: Create PDF in your applications

} }

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

Page 26: Assinatura na tela;€¦ · Agora os arquivos e bibliotecas necessárias para começar o desenvolvimento estão corretamente instalados na pasta libs: Create PDF in your applications

Para realizar a impressão do QR Code e do código de barras, é necessário inserir a tag abaixo no arquivoAndroidManifest.xml!

Ficará como no exemplo abaixo:

manifest.jpg

Essa é a tela do aplicativo de exemplo citado acima:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

Page 27: Assinatura na tela;€¦ · Agora os arquivos e bibliotecas necessárias para começar o desenvolvimento estão corretamente instalados na pasta libs: Create PDF in your applications

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

Page 28: Assinatura na tela;€¦ · Agora os arquivos e bibliotecas necessárias para começar o desenvolvimento estão corretamente instalados na pasta libs: Create PDF in your applications

Considerações FinaisEste manual foi elaborado para inicialização do desenvolvimento para o PosGo, facilitando a implementação. Qualquerdivergência ou informação vista como incorreta, favor entrar em contato com nosso suporte. Esse material tem fins deaprendizado e seu uso é livre.

SuporteChat Online - bematechpartners.com.br

Atendimento ao desenvolvedor - 0800-6447277

Portal de Desenvolvedores Bematech Partners

Last updated 2018-05-06 15:47:34 HB

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD