Skip to main content

Build mobile apps for Zebra devices

Learn how to capture data with Zebra Android devices.

Zebra Technologies specializes in integrated mobile devices for large-scale industry deployments, such as warehouse and inventory management, field operations, and logistics. You can build Retool Mobile apps for Zebra Android devices that receive data captured using dedicated hardware, such as scanners and sensors. Retool uses the Zebra DataWedge APIs to receive capture events using the Zebra DataWedge Reader component.

To see an example app using the Zebra APIs, try out the Inventory Management with Zebra Scanner template.

Prerequisites

For security purposes, Zebra controls access to the DataWedge Intents APIs. Zebra administrators must first create a Zebra DataWedge profile with the following configuration to add the Retool Mobile app as an approved DataWedge application.

SettingValue
Associated appcom.retool.retool
Activity*
Intent outputEnabled
Intent actioncom.retool.zebra.ACTION
Intent categoryClear or leave unset
Intent deliveryBroadcast intent

Once configured, the Retool Mobile app is able to receive captured data and provide it to your mobile apps. Refer to the Zebra DataWedge APIs documentation for more information on approved apps and profiles.

Receive captured data in Retool Mobile

The Zebra DataWedge Reader component allows your Retool Mobile apps to receive this data and use it elsewhere. Add this component to your mobile app to receive captured Zebra data and configure event handlers to perform actions with it.

When a Zebra device captures data, it sends it as a DataWedge Intent object. The Zebra DataWedge Reader component functions as a listener and receives the Intent, which triggers the Capture event. The component's data property is set to the received Intent.

You configure event handlers to trigger queries or perform actions when events occur. Click + Add in the Interaction section of the Inspector to add an event handler.

Configure an event handler

For example, you can use the Run script action to set the value of a Mobile Text component using JavaScript. This is useful when testing your apps on Zebra devices. Retool wraps the data property in JSON.stringify() to display it as a string.

text1.setValue(JSON.stringify(zebraDataWedgeReader1.data));

Hide the Zebra component button

The Zebra DataWedge Reader component initially displays a Toggle scan button that can trigger the embedded capture hardware, such as a scanner. If your Zebra devices already have a dedicated hardware button, you can hide the component. In the Layout section of the Inspector, set the component's Hidden setting to true.

Your mobile app only needs to contain a Zebra DataWedge Reader component to receive captured data, but it doesn't need to be visible.