Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
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
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
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
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
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Criando um projetoAbra um novo projeto no Android Studio:
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
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
Copie os arquivos da pasta SDK-N5_v2_04_2\Library:
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Vá em "App/libs" e cole os arquivos do SDK:
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
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
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
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
Exemplo de implementação
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
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
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
}
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
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
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
} }
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
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
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
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