ASKER
Java is a platform-independent, object-oriented programming language and run-time environment, designed to have as few implementation dependencies as possible such that developers can write one set of code across all platforms using libraries. Most devices will not run Java natively, and require a run-time component to be installed in order to execute a Java program.
TRUSTED BY
For starters, you'll need something to generate the barcodes. iText for Java and iText.NET will both generate Datamatrix barcodes with no special licensing.
As far a reading them, that is a different story. If you want to develop a custom app, you may find a free library out there, though we historically use commercial libs for this.
But the wireless carriers do offer some apps already that you can use.
AT&T's Create a Code
http://www.wireless.att.com/businesscenter/solutions/mobile-marketing/mobile-barcode-faqs.jsp