Previously, I shared an article demonstrating how to use Camera2 APIs and Dynamsoft Barcode Reader to build a simple Android barcode reader app. In that demo project, the barcode decoding part is implemented in Java, which apparently has room for improvement. If we can get the pointer to the native buffer of the camera frame, we can invoke native Barcode Reader APIs directly. This article shares how to write JNI code for Android barcode detection, as well as how to use Android NDK and CMake to build the C++ code.
Assume you apply barcode technology to the logistics conveyor belt for scanning parcels. A problem you may face is how to recognize barcodes from blurred images. Although we can use advanced algorithms to deal with this complicated case, we’d better improve the image quality as possible as we can. A simple way is to adjust the camera shutter speed which is also known as exposure time. Faster shutter speed can avoid motion blur. In this post, I will share how to invoke Android Camera2 APIs to change the shutter speed, as well as how to build a simple Android barcode reader to decode barcodes from fast-moving objects
Building Android camera apps is much more complicated than building iOS camera apps due to the different vendors and hardware specs. Since from API level 21, the old Camera class was deprecated and a brand-new Camera2 class was born. In this post, I want to use the least code to create Android camera preview apps with Camera and Camera2 respectively and compare the usage difference between the two sets of APIs.
If you are using React Native, you can quickly create a camera app with React Native Camera. In addition, React Native Camera component supports barcode scanning, face detection, and text recognition. This article shares how to replace the default barcode reading function with Dynamsoft Barcode Reader for Android.
.NET developers like Xamarin because they can develop Android and iOS apps in C#. However, if you are not afraid of learning new programming languages, you’d better choose Kotlin for Android and Swift for iOS. Unlike React Native, Flutter and Cordova, with Xamarin, you cannot create one codebase for both platforms in Visual Studio. Moreover, when you try to bind a complicated and obfuscated Android library, you may be in big trouble. I just suffered from the pain of binding Dynamsoft Camera SDK for Android.
If you have a .jar or a .aar file for distribution, you can publish it to Maven central or jcenter. But the premise is your package has to be open source. If you want to distribute a commercial library, you’d better host a Maven repository yourself. Inspired by STEFFENWELLNER’s article, I have successfully set up a Maven repository on IIS. The post includes how to create an AAR project, how to configure IIS and URL, as well as how to create a testing project.
Dynamsoft Android Camera SDK is coming soon. In this article, let’s preview the SDK and learn how to write an Android document scanning app with a few lines of Kotlin code.
Last week I made a warm up for Kotlin, getting started to learn tutorials and reference. Now it is time to take the next step. Since Kotlin is hundred percent compatible with Java, we can use both programming languages without barriers in one project. In this article, I want to share how to build an Android barcode reader using Kotlin code and Java code.