I want to introduce some new extensions:
ESC/POS Simple Converter
The ESC/POS Simple Converter enables to send formatted text, images, bar codes and QR codes from App Inventor to a bluetooth thermal printer without the need of having knowledge in ESC/POS programming.
This extension simplifies the communication with Bluetooth thermal printers and makes possible to create awesome apps that are able to print tickets, invoices or receipts. The converter provides blocks for basic ESC/POS commands (Epson Standard Code for Point Of Sale). To send your data to the printer, just combine one block from the extension with a SendBytes block from the BluetoothClient component. The ESC/POS Simple Converter returns the byte sequence your ESC/POS printer expects.
For example, you can print images from the assets, the SD card or the web. Just provide the name or the URL of the image. You can also take a photo with your camera and directly send it to your printer. A dithering algorithm is applied to create the illusion of a grayscale instead of monochrome black. The blocks for printing images, text and QR codes can be utilized with various options but also with reasonable default values.
The Quick Sort extension provides a fast sorting algorithm for vast lists of numbers or text. You can easily sort interrelated lists and lists of lists.
The Object Manager offers a convenient way of structuring and handling data as objects with attributes.
Entities of the real world can be modeled as objects with attributes. For example, a person can have the attributes name, age and hobbies. Unforunately, app inventor doesn’t provide a convenient way to encapsulate your data representing objects. Data in app inventor is usually structured in form of lists. Handling those lists or lists of lists can often be very confusing and tedious.
The Object Manager enables to define attributes and handle your data in form of objects containing attribute values. Think of the Object Manager as a local and temporal database, where you can store, query and retrieve your entities and their attributes. The attributes are named so you can call them by their name in addition to calling them by their index. Attribute values are not restricted, they can be numbers, text, logicals as well as lists. You can use several search methods and select objects or return the attribute values.