intergrate Zebra SDK / EMDK in Flutter app

W William Piedfort 2 years 11 months ago
703 23 0

hi,
anyone knows how to integrate Android EMDK / SDK or else in a FLUTTER mobile app ?(new dev language of Google )  ?
thanks

Please register or login to post a reply

23 Replies

J Jane Collen

Flutter has a feature called “Hot Reload” which saves a lot of time consumed on development. There are many APIs and Widgets in Flutter, which makes the whole development process convenient and quick. With the help of this framework, developers can reach maximum efficiency while developing an app.I have covered a detailed article on it: https://www.tekrevol.com/blogs/react-native-vs-flutter-vs-xamarin/

m megan Carl

The new API has the benefit of providing a cleaner set of accessors for lifecycle dependent mechanisms associated to the old APIs. I think this blog https://www.cubix.co/blog/flutter-app-development-pros-and-cons contains all information about flutter language and its pros and cons.

Q Qiong Wu
V Vedsatx Saddvv

Hi,

You would need to write a flutter plugin package to integrate with the EMDK to achieve this.  I do not know of any other customer doing this and we do not have any current plans to work on this internally I'm afraid: https://flutter.dev/docs/development/packages-and-plugins/developing-pa…

You may wish to consider using DataWedge with the Keyboard output plugin and capturing the data as keystrokes within a text field in your app.  Not as flexible as the plugin approach but quicker to get going.

Sorry that's probably not the answer your were looking for but it is interesting to see our developer community are starting to consider flutter - obviously if there is a critical mass then we would look to provide better support but so far this is the only question on the subject.

Thank you,
Darryn.

R Roman Jay Almaza

How is this done? any ideas?
https://kjsretainingwallsscottsdale.com/

S Sandip Mishra

If are you looking for website development agency? Then AResourcepool is the right company for you. AResourcepool Pvt Ltd is a 10 years old company, and our team has handled 500+ of web development projects in India, USA & UK. We have a collective group of professionals web developer where everyone has 5 years of experience in working at a Web development company.
https://aresourcepool.com/

W William Clark

Flutter features a feature called "Hot Reload" that allows you to save a lot of time when developing. Flutter has a lot of APIs and Widgets, which makes the development process a lot easier and faster. Developers may achieve optimum efficiency while designing an app with the help of this framework. I wrote a full article about it: https://icreativesol.com/

C Constantine Harper

CodeTiburon is a software development company and IT outsourcing provider. We are a team of professionals, united by our passion for software development. Equally valuing our colleagues and customers, we are proud to be different from our competition. Visit https://codetiburon.com/data-driven-recruitment/ to get more about our expertise.

M Mansi Rana

Integrating the Android EMDK (Enterprise Mobility Development Kit) or SDK into a Flutter mobile app is essential if you need to develop applications for rugged mobile devices like Zebra, Honeywell, or Datalogic. These devices often require specialized software to access features like barcode scanning, RFID, and other enterprise-specific functions. Here's a step-by-step guide on how to integrate the Android EMDK or SDK into a Flutter app:


1. Create a new Flutter project or open an existing one where you want to integrate the EMDK.

2. You'll need some Flutter plugins to facilitate communication between your Flutter app and the native Android code.

3. Create an Android Embedding Project.

4. If you want to encapsulate the EMDK or SDK functionality in a Flutter plugin, you can create a new Flutter plugin using flutter create --template=plugin. This step is optional but can help keep your codebase organized.

5. Integrate the EMDK or SDK

6. Implement Dart methods that communicate with your Android EMDK or SDK class.

If you've still issues, take the help of mobile app development company to integrate Zebra SDK / EMDK in Flutter app.

V Vikas Agrawal

Incorporate Zebra SDK/EMDK seamlessly into your Flutter app with our Mobile App Development Company in london. Our skilled developers specialize in integrating Zebra technologies, ensuring optimal functionality and efficiency. Leveraging Flutter's versatility and Zebra's robust capabilities, we deliver innovative solutions tailored to meet your business requirements. Collaborate with our expert team to enhance your mobile app's capabilities, providing a seamless and productive experience for users while leveraging the power of Zebra SDK/EMDK in your Flutter application.

N Naveen Khanna

Our team of experienced developers has expertise in integrating Zebra technologies to ensure maximum efficiency and functionality. We leverage the versatility of Flutter and the robust capabilities of Zebra to provide innovative solutions tailored to your business requirements. Work with our expert team to enhance your mobile application's capabilities, delivering a seamless and productive experience for users while harnessing the power of Zebra SDK/EMDK in your Flutter application.


To integrate Zebra SDK/EMDK in Flutter app, you can follow the below steps:

1. Download and install the Zebra EMDK for Android from the Zebra website.
2. Create a new Flutter project in Android Studio or Visual Studio Code.
3. Add the Zebra EMDK library to your project by including the following lines in the dependencies section of your pubspec.yaml file:
4. In your Flutter app's main activity, you need to extend the FlutterFragmentActivity and initialize the Zebra EMDK library in the onCreate method.
5. To use the Zebra EMDK in your Flutter app, you can create a new Dart plugin that calls the Zebra EMDK Java API. 
6. Add the Zebra EMDK Java code to your Android app's MainActivity.java file:
7. Finally, in your Flutter app's Dart code, you can call the Zebra EMDK Java code using the plugin you created:


String barcodeData = await ZebraAidc.barcodeData;
print('Barcode data: $barcodeData');

P Paul Magnussen

As a Progressive Web & App development services provider i conclude Integrating Zebra SDK/EMDK in a Flutter app involves utilising various techniques, if you could specify your need it would be more obvious but here's a different approaches that may help you.

1. DataWedge

DataWedge is a middleware service that interacts with scanners and other peripherals, simplifying communication with your Flutter app This approach is especially for barcode scanning functionalities.

Zebra provides Flutter sample projects demonstrating DataWedge integration, creating Flutter Applications for Zebra Android Devices with DataWedge. ** [https://github.com/ZebraDevs/DataWedge-Flutter-Demo](https://github.com/ZebraDevs/DataWedge-Flutter-Demo)

DataWedge-Flutter-Demo: https://github.com/topics/datawedge (https://github.com/topics/datawedge)
Key steps involve:
   * Setting up DataWedge on your Zebra device with desired profiles.
   * Implementing Flutter platform channels to communicate with DataWedge APIs (e.g., trigger scan, receive scanned data).
   * Handling received data in your Flutter UI/logic.

2. Zebra SDK/EMDK directly:

This approach offers more advanced capabilities beyond scanning, but requires platform-specific code for Android and iOS.
* Zebra offers official SDKs for both platforms:
   * Android: [https://techdocs.zebra.com/emdk-for-android/latest/api/](https://techdocs.zebra.com/emdk-for-android/latest/api/)
   * iOS: [https://developer.zebra.com/community/tools/emdk](https://developer.zebra.com/community/tools/emdk)
* You'll need to write native code (Java/Kotlin for Android, Objective-C/Swift for iOS) to interact with the SDK and bridge it to your Flutter code using platform channels.
* Here are some helpful resources:
   * **flutter-zsdk:** A community-maintained Zebra SDK kit for Flutter with Bluetooth printing capabilities: [https://github.com/mwaylabs/flutter-zebra-datawedge](https://github.com/mwaylabs/flutter-zebra-datawedge)
   * **Intergrate Zebra SDK / EMDK in Flutter app:** Discussion thread on Zebra Developer Portal: [https://techdocs.zebra.com/emdk-for-android/13-0/guide/programming_practices/](https://techdocs.zebra.com/emdk-for-android/13-0/guide/programming_practices/)

3. Flutter plugins:

* Several unofficial Flutter plugins exist for specific Zebra functionalities, like:
   * **zebra_scanner_plugin:** Scanning barcodes through Zebra scanners: [https://pub.dev/packages/zebra_scanner_plugin](https://pub.dev/packages/zebra_scanner_plugin)
   * **zebrautility:** Working with Zebra printers (discovery, connection, printing): [https://pub.dev/packages/zebra_scanner_plugin](https://pub.dev/packages/zebra_scanner_plugin)
* These plugins can simplify integration for specific tasks, but may have limited functionality compared to direct SDK usage.

Choosing the right approach:

* Consider your specific needs and desired functionalities.
* DataWedge is generally recommended for scanning-centric Android apps.
* SDK integration offers more flexibility but requires platform-specific knowledge.
* Flutter plugins can be a convenient option for limited functionalities.

Additional tips:

* Zebra Developer Portal is a valuable resource for documentation, tutorials, and sample code: [https://developer.zebra.com/](https://developer.zebra.com/)
* Join the Zebra Developer Community for help and discussion: [https://developer.zebra.com/community](https://developer.zebra.com/community)

you can contact me for further inquires at paulmagnussen.futurbyte@hotmail.com

S Sanjay Sanjay

Are you looking for an Flutter app development company to help bring your mobile app idea to life? There are many companies out there that specialize in app development, so it's important to do your research to find the right fit for your needs. Some factors to consider include the company's experience, portfolio, pricing, and customer reviews. Once you find a company that meets your criteria, you can start working with them to create a successful app that meets your goals and user needs.

a anastasia stefanyuk

As we decided to enhance our app's performance and design, the need for a flutter programmer became apparent. Flutter's promise of seamless, beautiful apps that run on both iOS and Android was too good to pass up. We found guidance on how to select a programmer who not only had the technical know-how but also a creative touch to bring our ideas to life. This advice was crucial in our search, ensuring we partnered with someone who understood our vision and could translate it into a high-performing app.

a anthony strunk

The idea of relocating software development https://dir.hr/kako-profitirati-od-preseljenja-razvoja-softvera-u-hrvatsku/ operations to Croatia piqued my interest due to the country's growing tech scene. An article I read detailed how businesses could profit from moving their software development to Croatia. It highlighted the benefits of lower operational costs, a skilled workforce, and a supportive government. For companies considering a strategic relocation, this article presents compelling arguments for choosing Croatia as their new software development hub.

a anthony strunk

The idea of relocating software development operations to Croatia piqued my interest due to the country's growing tech scene. An article I read detailed how businesses could profit from moving their software development to Croatia. It highlighted the benefits of lower operational costs, a skilled workforce, and a supportive government. For companies considering a strategic relocation, this article presents compelling arguments for choosing Croatia as their new software development hub.

a anthony strunk

The idea of relocating software development operations to Croatia piqued my interest due to the country's growing tech scene. An article I read detailed how businesses could profit from moving their software development to Croatia. It highlighted the benefits of lower operational costs, a skilled workforce, and a supportive government. For companies considering a strategic relocation, this article presents compelling arguments for choosing Croatia as their new software development hub.

a anthony strunk

I've been trying to figure out the best path to become a JavaScript developer and recently found an article that laid it out in simple, understandable steps. https://blog.teamtreehouse.com/what-is-the-best-way-to-become-a-javascript-developer It explains what you need to learn and how to practice to get good at JavaScript. This was super helpful for me because it's not just about learning the language but also understanding how to apply it in real projects. It made the learning process feel more structured and less daunting, showing that becoming a proficient JavaScript developer is an attainable goal with the right guidance.

a anthony strunk

I've been trying to figure out the best path to become a JavaScript developer and recently found an article that laid it out in simple, understandable steps. It explains what you need to learn and how to practice to get good at JavaScript. This was super helpful for me because it's not just about learning the language but also understanding how to apply it in real projects. It made the learning process feel more structured and less daunting, showing that becoming a proficient JavaScript developer is an attainable goal with the right guidance.

a anthony strunk

I've been trying to figure out the best path to become a JavaScript developer and recently found an article that laid it out in simple, understandable steps. It explains what you need to learn and how to practice to get good at JavaScript. This was super helpful for me because it's not just about learning the language but also understanding how to apply it in real projects. It made the learning process feel more structured and less daunting, showing that becoming a proficient JavaScript developer is an attainable goal with the right guidance.

O Osama Nayyar

Ah, I'm not sure that there's any official plugin or straightforward method to do this, Here's one general approach you can give it a try:

1. Platform Channels (for basic interactions):

a) Create platform channels (specific code for Android and potentially iOS/other platforms) to establish communication between your Flutter app and the native Android EMDK/SDK.
b) On the Android side, use the EMDK/SDK APIs to perform actions like barcode scanning or printing.

In Flutter, usually call the platform channel methods is used to trigger these actions on the Android side.

2. Third-Party Packages (if available):

Search for existing Flutter packages that might interact with the EMDK/SDK or provide similar functionalities. If you find a suitable package, follow its installation and usage instructions.

3. Custom Native Modules (for deeper integration):

If platform channels or third-party packages aren't sufficient, create custom native modules using platform-specific languages (Java/Kotlin for Android).
These modules can bridge the gap between Flutter and the EMDK/SDK, allowing more comprehensive control.


Key Points:

This might involve some intermediate to advanced Flutter development knowledge.
Zebra doesn't provide official Flutter plugins for the EMDK/SDK, so you'll need to create custom solutions.

Consider the complexity of the features you need to integrate and your development experience when choosing an approach.

Also, if you want to learn more on how to work with AI/ML and Flutter integration, head over to AutoGPT4 

D Darshan Kothari

As a leading custom software development company, Xonique stands out for its unwavering commitment to excellence and client satisfaction. With a team of highly skilled developers and designers, Xonique has a proven track record of delivering tailor-made solutions that not only meet but exceed the expectations of their clients. From conceptualization to deployment and ongoing support, Xonique is dedicated to guiding businesses through every step of the development process, ensuring that their software solutions are not just functional, but truly transformative. With a focus on innovation, quality, and reliability, Xonique is the partner of choice for businesses seeking to leverage technology to achieve their goals and stay ahead in today's competitive landscape.

R Rohan Singh

In Flutter app development, integrating the Zebra SDK/EMDK is crucial for accessing hardware features such as barcode scanning and printing. Utilizing platform channels, developers bridge Flutter with native code, enabling seamless incorporation of Zebra's capabilities into cross-platform solutions for enterprise-grade applications.

CONTACT
Can’t find what you’re looking for?