Yes I have. I do not want to scare you off - but rather know what you are into before you start so that your planning makes the actual coding and workflow easier.
There are several things that you will need to consider.
- Will you be using only Android or iPhone or both ? The principles on both are similar but yet different in a way.
- Your presentation to your user - how do you trigger your "Scanner" and where and how do you display the scanned information.
- What barcode are you scanning - is it a Code 39 or a DataMatrix or a PDF419 etc
- The barcode only contains (usually) a reference number - implying that if you want to present Human Readable information to your user then you would require a database somewhere to lookup the information.
- Can you write directly to the Clients Database System ? If so - what database engine do they run ? Oracle, MySQL, MSSQL for example and do you have or will you have permission to write to the database ?
- Is this database "public facing" ? (In other words - can you access it via and IP ?)
- Security - Once you start tapping into client systems etc - how do you secure the transactions - do you use Https or SSL certificates etc
- Does your client have a testing server that you can you use or do they only have a production server ?
Once you have these questions answered then search this forum for examples and libraries on the following:
- Barcode Library - there are several - test and see which one works for you
- TableView or HTML Tables or Listview or CustomListView so that you have an idea of how to list your scans as well as a method to remove wrong scans
- Depending on your database, search for a library to read and write directly to that database or use the Webservice type transactions. (eg. PHP/MySQL) Speed should be a huge consideration here.
- Search on security - try SSL or HTTPS keywords.
As
CASH IS KING in the retail world so
FEEDBACK TO YOUR USER IS KING in the app world. When designing your app make profuse use of Try/Catch with custom feedback messages.
Remember - in this type of app - you are working with live data connections and are also reliant on the human factor for success. For example, a clerk may not enter a product correctly yet it is on the shelves for scanning - if the system then fails and you have not given feed back to your user then YOUR APP is blamed. So check for data connections (search for WiFi, 3G etc and you will have more than enough information to check for connections)
Your app will crash if it is looking for something in an online database and you don't have a live connection - provide this feedback to your user.
The rule of thumb. Most users in this type of situation and this type of app will use their thumb to navigate. Base your design on this.
This is a mouthful, and I could send you my project,
BUT then you have missed an ideal opportunity to learn.
The
Band of Brothers on this forum will all help - just ask.
And Remember - that little
"DONATE" button on some peoples signature is there for a reason.
Enjoy !!