2017-07-24 34 views
1

我很新鲜android,我正在开发pos应用系统的android应用程序。我已经测试了从制造商收到的POS(销售点)系统的android演示应用程序。我添加了它的库到我的android项目。但打印机没有为我的应用程序工作,但该应用程序正常工作。如何添加打印机sdk POS系统android应用程序

这是制造商打印机Activtity:

 private class contentPrintThread extends Thread { 
       @Override 
       public void run() { 
        super.run(); 
        setName("Content Print Thread"); 
        try { 
         ThermalPrinter.start(PrinterActivity.this); 
         ThermalPrinter.reset(); 
         ThermalPrinter.setAlgin(ThermalPrinter.ALGIN_LEFT); 
         ThermalPrinter.setLeftIndent(leftDistance); 
         ThermalPrinter.setLineSpace(lineDistance); 
         if (wordFont == 4) { 
          ThermalPrinter.setFontSize(2); 
          ThermalPrinter.enlargeFontSize(2, 2); 
         } else if (wordFont == 3) { 
          ThermalPrinter.setFontSize(1); 
          ThermalPrinter.enlargeFontSize(2, 2); 
         } else if (wordFont == 2) { 
          ThermalPrinter.setFontSize(2); 
         } else if (wordFont == 1) { 
          ThermalPrinter.setFontSize(1); 
         } 
         ThermalPrinter.setGray(printGray); 
         ThermalPrinter.addString("test123"); 
         ThermalPrinter.printString(); 
         ThermalPrinter.clearString(); 
         ThermalPrinter.walkPaper(100); 
        } catch (Exception e) { 
         e.printStackTrace(); 
         Result = e.toString(); 
         if (Result.equals("com.telpo.tps550.api.printer.NoPaperException")) { 
          nopaper = true; 
         } else if (Result.equals("com.telpo.tps550.api.printer.OverHeatException")) { 
          handler.sendMessage(handler.obtainMessage(OVERHEAT, 1, 0, null)); 
         } else { 
          handler.sendMessage(handler.obtainMessage(PRINTERR, 1, 0, null)); 
         } 
        } finally { 
         handler.sendMessage(handler.obtainMessage(CANCELPROMPT, 1, 0, null)); 
         if (nopaper) { 
          handler.sendMessage(handler.obtainMessage(NOPAPER, 1, 0, null)); 
          nopaper = false; 
          return; 
         } 
         ThermalPrinter.stop(PrinterActivity.this); 
         Log.v(TAG, "The Print Progress End !!!"); 
         if (isClose) { 
          finish(); 
         } 
        } 
       } 
      } 



private class MyHandler extends Handler { 
      @Override 
      public void handleMessage(Message msg) { 
       if (stop == true) 
        return; 
       switch (msg.what) { 
        case NOPAPER: 
         noPaperDlg(); 
         break; 
        case LOWBATTERY: 
         AlertDialog.Builder alertDialog = new AlertDialog.Builder(PrinterActivity.this); 
         alertDialog.setTitle(R.string.operation_result); 
         alertDialog.setMessage(getString(R.string.LowBattery)); 
         alertDialog.setPositiveButton(getString(R.string.dlg_ok), new DialogInterface.OnClickListener() { 
          @Override 
          public void onClick(DialogInterface dialogInterface, int i) { 
          } 
         }); 
         alertDialog.show(); 
         break; 
        case PRINTVERSION: 
         dialog.dismiss(); 
         if (msg.obj.equals("1")) { 
          textPrintVersion.setText(printVersion); 
         } else { 
          Toast.makeText(PrinterActivity.this, R.string.operation_fail, Toast.LENGTH_LONG).show(); 
         } 
         break; 
        case PRINTBARCODE: 
         new barcodePrintThread().start(); 
         break; 
        case PRINTQRCODE: 
         new qrcodePrintThread().start(); 
         break; 
        case PRINTPAPERWALK: 
         new paperWalkPrintThread().start(); 
         break; 
        case PRINTCONTENT: 
         Log.e("task","in printcontent case"); 
         new contentPrintThread().start(); 
         break; 
        case MAKER: 
         new MakerThread().start(); 
         break; 
        case PRINTPICTURE: 
         new printPicture().start(); 
         break; 
        case CANCELPROMPT: 
         if (progressDialog != null && !PrinterActivity.this.isFinishing()) { 
          progressDialog.dismiss(); 
          progressDialog = null; 
         } 
         break; 
        case EXECUTECOMMAND: 
         new executeCommand().start(); 
         break; 
        case OVERHEAT: 
         AlertDialog.Builder overHeatDialog = new AlertDialog.Builder(PrinterActivity.this); 
         overHeatDialog.setTitle(R.string.operation_result); 
         overHeatDialog.setMessage(getString(R.string.overTemp)); 
         overHeatDialog.setPositiveButton(getString(R.string.dlg_ok), new DialogInterface.OnClickListener() { 
          @Override 
          public void onClick(DialogInterface dialogInterface, int i) { 
          } 
         }); 
         overHeatDialog.show(); 
         break; 
        default: 
         Toast.makeText(PrinterActivity.this, "Print Error!", Toast.LENGTH_LONG).show(); 
         break; 
       } 
      } 
     } 

*****这是打印按钮 -

buttonContentPrint.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       String exditText; 
       exditText = editTextLeftDistance.getText().toString(); 
       if (exditText == null || exditText.length() < 1) { 
        Toast.makeText(PrinterActivity.this, getString(R.string.left_margin) + getString(R.string.lengthNotEnougth), Toast.LENGTH_LONG).show(); 
        return; 
       } 
       leftDistance = Integer.parseInt(exditText); 
       exditText = editTextLineDistance.getText().toString(); 
       if (exditText == null || exditText.length() < 1) { 
        Toast.makeText(PrinterActivity.this, getString(R.string.row_space) + getString(R.string.lengthNotEnougth), Toast.LENGTH_LONG).show(); 
        return; 
       } 
       lineDistance = Integer.parseInt(exditText); 
       printContent = editTextContent.getText().toString(); 
       exditText = editTextWordFont.getText().toString(); 
       if (exditText == null || exditText.length() < 1) { 
        Toast.makeText(PrinterActivity.this, getString(R.string.font_size) + getString(R.string.lengthNotEnougth), Toast.LENGTH_LONG).show(); 
        return; 
       } 
       wordFont = Integer.parseInt(exditText); 
       exditText = editTextPrintGray.getText().toString(); 
       if (exditText == null || exditText.length() < 1) { 
        Toast.makeText(PrinterActivity.this, getString(R.string.gray_level) + getString(R.string.lengthNotEnougth), Toast.LENGTH_LONG).show(); 
        return; 
       } 
       printGray = Integer.parseInt(exditText); 
       if (leftDistance > MAX_LEFT_DISTANCE) { 
        Toast.makeText(PrinterActivity.this, getString(R.string.outOfLeft), Toast.LENGTH_LONG).show(); 
        return; 
       } else if (lineDistance > 255) { 
        Toast.makeText(PrinterActivity.this, getString(R.string.outOfLine), Toast.LENGTH_LONG).show(); 
        return; 
       } else if (wordFont > 4 || wordFont < 1) { 
        Toast.makeText(PrinterActivity.this, getString(R.string.outOfFont), Toast.LENGTH_LONG).show(); 
        return; 
       } else if (printGray < 0 || printGray > 12) { 
        Toast.makeText(PrinterActivity.this, getString(R.string.outOfGray), Toast.LENGTH_LONG).show(); 
        return; 
       } 
       if (printContent == null || printContent.length() == 0) { 
        Toast.makeText(PrinterActivity.this, getString(R.string.empty), Toast.LENGTH_LONG).show(); 
        return; 
       } 
       if (LowBattery == true) { 
        handler.sendMessage(handler.obtainMessage(LOWBATTERY, 1, 0, null)); 
       } else { 
        if (!nopaper) { 
         setTitle("print character"); 
         progressDialog = ProgressDialog.show(PrinterActivity.this, getString(R.string.bl_dy), getString(R.string.printing_wait)); 
         handler.sendMessage(handler.obtainMessage(PRINTCONTENT, 1, 0, null)); 
//      handler.sendMessage(handler.); 
        } else { 
         Toast.makeText(PrinterActivity.this, getString(R.string.ptintInit), Toast.LENGTH_LONG).show(); 
        } 
       } 

      } 
     }) 

;

1.can我可以在我的项目中添加制造商应用程序作为模块?

2.how在我的应用程序添加此代码,以及其他特殊的方式来做到这一点

回答

0

在该处提供的SDK制作是一个库文件夹,您复制lib文件夹到您的项目 然后在您复制它你去右键点击lib文件夹,我假设你已经复制它下的应用程序文件夹右键单击libs文件夹,然后添加为库,它会被添加,现在你可以包括打印机活动:到你的MainActivity,创建形式你输入数据的恶意,然后钱包,数据到你的btnprint

如果你面对任何问题不要犹豫问,我已经开发软件为tps390和tps550你ca在twitter上关注我@macfranci或instagram

相关问题