Browse our Products

Aspose.BarCode for Android via Java 23.8

All Changes

KeySummaryCategory
BARCODEANDROID-998Add the possibility to customize the background of RecognitionProcessingFragmentEnhancement
BARCODEANDROID-999Add the possibility to customize the style and color of barcode area rectangleEnhancement
BARCODEANDROID-1000Add the possibility to customize all fragments, buttons and views using file resourcesEnhancement
BARCODEANDROID-1011Implement the possibility to customize the CameraProcessingFragment using file resourcesEnhancement
BARCODEANDROID-1012Implement the possibility to customize the RecognitionProcessingFragment using file resourcesEnhancement
BARCODEANDROID-1013Implement the possibility to customize the Barcode area using file resourcesEnhancement
BARCODENET-38666Fix decreased performance of DataMatrix recognitionBug
BARCODENET-38536Code throws System.IndexOutOfRangeException with empty stringBug
BARCODENET-37518Improve Micro PDF417 readerEnhancement
BARCODENET-37840Replace color binarization algorithmEnhancement
BARCODENET-38584Improve Han Xin Code supportEnhancement
BARCODENET-38591Improve DataMatrix Industrial recognition engineEnhancement

Public API changes and backwards compatibility

Added:

  • class BarcodeScannerFragmentSettings which encapsulates the settings related to BarcodeScannerFragment
  • class CameraProcessingFragmentSettings intended for configuring CameraProcessingFragment which allows adjusting the interaction with the camera
  • class RecognitionProcessingFragmentSettings intended for configuring RecognitionProcessingFragment which is responsible for the interface displayed while process recognition running
  • classes intended for configuring background for RecognitionProcessingFragment window :
    • class RecognitionProcessFragmentBitmapBackground based on bitmap
    • class RecognitionProcessFragmentCameraPhotoBackground based on image that is being recognized
    • class RecognitionProcessFragmentColorBackground based on particular color
  • class RecognitionAreaSettings intended for configuring square of pointer window
  • method com.aspose.barcode.barcoderecognition.QualitySettings.getAllowAdditionalRestorations():boolean
  • method com.aspose.barcode.barcoderecognition.QualitySettings.setAllowAdditionalRestorations(boolean)
  • method com.aspose.barcode.barcoderecognition.Pdf417ExtendedParameters.isReaderInitialization():boolean
  • class com.aspose.barcode.generation.HanXinExtCodetextBuilder
  • method com.aspose.barcode.generation.HanXinExtCodetextBuilder.#ctor
  • method com.aspose.barcode.generation.HanXinExtCodetextBuilder.addECI(String,int)
  • method com.aspose.barcode.generation.HanXinExtCodetextBuilder.addAuto(String)
  • method com.aspose.barcode.generation.HanXinExtCodetextBuilder.addBinary(String)
  • method com.aspose.barcode.generation.HanXinExtCodetextBuilder.addURI(String)
  • method com.aspose.barcode.generation.HanXinExtCodetextBuilder.addText(String)
  • method com.aspose.barcode.generation.HanXinExtCodetextBuilder.addNumeric(String)
  • method com.aspose.barcode.generation.HanXinExtCodetextBuilder.addUnicode(String)
  • method com.aspose.barcode.generation.HanXinExtCodetextBuilder.addCommonChineseRegionOne(String)
  • method com.aspose.barcode.generation.HanXinExtCodetextBuilder.addCommonChineseRegionTwo(String)
  • method com.aspose.barcode.generation.HanXinExtCodetextBuilder.addGB18030TwoByte(String)
  • method com.aspose.barcode.generation.HanXinExtCodetextBuilder.addGB18030FourByte(String)
  • method com.aspose.barcode.generation.HanXinExtCodetextBuilder.addGS1(String)
  • method com.aspose.barcode.generation.HanXinExtCodetextBuilder.getExtendedCodetext
BarcodeScannerFragment barcodeScannerFragment = (BarcodeScannerFragment) getChildFragmentManager().findFragmentByTag("barcode_scanner_fragment_tag");
BarcodeRecognitionSettings barcodeRecognitionSettings = barcodeScannerFragment.getBarcodeRecognitionSettings();
BarcodeScannerFragmentSettings barcodeScannerFragmentSettings = barcodeRecognitionSettings.getBarcodeScannerFragmentSettings();
//CameraProcessingFragmentSettings
CameraProcessingFragmentSettings cameraProcessingFragmentSettings = barcodeScannerFragmentSettings.getCameraProcessingFragmentSettings();
cameraProcessingFragmentSettings.setFlashEnabled(true);
cameraProcessingFragmentSettings.setScannerPreferencesButtonSize(4);
cameraProcessingFragmentSettings.setRecognizeButtonSize(5);
cameraProcessingFragmentSettings.setRecognitionButtonContentDescriptionText("Recognition Button");
cameraProcessingFragmentSettings.setPreferencesButtonContentDescriptionText("Preferences Button");
//RecognitionAreaSettings
RecognitionAreaSettings recognitionAreaSettings = cameraProcessingFragmentSettings.getRecognitionAreaSettings();
recognitionAreaSettings.setOneDLineColor(Color.parseColor("#FFAA00"));
recognitionAreaSettings.setTwoDLineColor(Color.parseColor("#FFFFAA"));
recognitionAreaSettings.setTwoDAreaBorderWidth(4);
recognitionAreaSettings.setOneDAreaBorderWidth(3);
recognitionAreaSettings.setMaxAreaHeight(5);
recognitionAreaSettings.setMaxAreaWidth(5);
recognitionAreaSettings.setTopOffset(10);
//RecognitionProcessingFragmentSettings
RecognitionProcessingFragmentSettings recognitionProcessingFragmentSettings = barcodeScannerFragmentSettings.getRecognitionProcessingFragmentSettings();
recognitionProcessingFragmentSettings.setProgressBarColor(Color.parseColor("#FFBBAA"));
recognitionProcessingFragmentSettings.setRecognitionProcessLabelTextColor(Color.parseColor("#AABBFF"));
recognitionProcessingFragmentSettings.setRecognitionCancelButtonTextColor(Color.parseColor("#DDBBCA");
recognitionProcessingFragmentSettings.setRecognitionCancelButtonTextSize(3);
recognitionProcessingFragmentSettings.setRecognitionProgressBarSize(4);
recognitionProcessingFragmentSettings.setRecognitionCancelButtonRightOffset(15);
recognitionProcessingFragmentSettings.setRecognitionRecognitionLabelTextSize(10);
recognitionProcessingFragmentSettings.setRecognitionProcessLabelText("Recognition in Process");
recognitionProcessingFragmentSettings.setRecognitionCancelButtonText("Cancel");


// Extended Mode with HanXinExtCodetextBuilder
 HanXinExtCodetextBuilder codeTextBuilder = new HanXinExtCodetextBuilder();
 codeTextBuilder.addGB18030TwoByte("漄");
 codeTextBuilder.addGB18030FourByte("㐁");
 codeTextBuilder.addCommonChineseRegionOne("全");
 codeTextBuilder.addCommonChineseRegionTwo("螅");
 codeTextBuilder.addNumeric("123");
 codeTextBuilder.addText("qwe");
 codeTextBuilder.addUnicode("ıntəˈnæʃənəl");
 codeTextBuilder.addECI("ΑΒΓΔΕ", 9);
 codeTextBuilder.addAuto("abc");
 codeTextBuilder.addBinary("abc");
 codeTextBuilder.addURI("backslashes_should_be_doubled\000555:test");
 codeTextBuilder.addGS1("(01)03453120000011(17)191125(10)ABCD1234(21)10");
 String str = codeTextBuilder.getExtendedCodetext();
 String expectedStr = "漄㐁全螅123qweıntəˈnæʃənəlΑΒΓΔΕabcabcbackslashes_should_be_doubled\000555:test(01)03453120000011(17)191125(10)ABCD1234(21)10";

 //generate
 BarcodeGenerator bg = new BarcodeGenerator(EncodeTypes.HAN_XIN, str);
 bg.getParameters().getBarcode().getHanXin().setHanXinEncodeMode(HanXinEncodeMode.EXTENDED);
 BufferedImage img = bg.generateBarCodeImage();
 BarCodeReader r = new BarCodeReader(img, DecodeType.HAN_XIN))
 BarcodeResult[] found = r.readBarCodes();
 Assert.assertEquals(1, found.length);
 Assert.assertEquals(expectedStr, found[0].getCodeText());