Android Question Capabilities and learning curve using B4A

Mikelgiles

Active Member
Licensed User
Longtime User
We have a very small company that develops complete operation applications for forms printing companies. One of our applications collects production information for job cost history and job tracking. The application has been in use for a very long time (started back in the days of DOS) and has used low end PC's as the collection device because the PC was less expensive and more versatile than the data collection devices on the market. That is still the case today so we have never considered the normal data collection devices as a good alternative. Times have changed though and we are thinking that smart-phones would be a very good alternative based on the fact that most people already have one so purchase prices would not be a problem. They are also portable and will always be available even as personal move around in their duties.

My question is: Is B4A the best way to develop the described app based on the following facts and requirements.

Our background is in windows development using VB6, DBASE(third party database library) and SQL databases. We are wondering about the learning curve to use B4A as we have no experience with smart-phone development at all.

Be able to read 3 of 9 Extended bar-codes ( only need to read )

Read and write text files to and from a Windows network folder. I think text (or maybe XML) would be easier to work with as whatever we do has to be interfaced to both a SQL database and a DBF database and we have the expertise to import and export to those easily. Email or messaging could be used for this if doing so would be a lot easier.

Thoughts and comments would be greatly appreciated.

Thanks in advance,

Mikel Giles
 

eurojam

Well-Known Member
Licensed User
Longtime User
Hi Mikel,
welcome to the b4a community! IMO B4A is a good choice for the tasks you described. Even if you have experience with vb6. The advantages are
  • a good IDE with a quick cycle of improvements (thanks to Erel)
  • easy to read code
  • reuse the code for java applications and/or iOS
  • a lot of extensions (libraries) to the core modul
  • a lot of code examples
  • a very active community
  • ....
If you start a new project and you have no experience with smartphone apps you should read
stefan
 
Upvote 0

incendio

Well-Known Member
Licensed User
Longtime User
How many Barcode you need to read? Is reading speed is important?
Though you can use smartphone's camera to read Barcode, if speed is important, it is not practical.

Like LucaMs said, it's time to considering to abandon dBase.

About sqlite on pc, not an expert on this database, but i think it lacks for multiuser, integrity constraints & security, so it depends on your requirements, you might consider other database.

And for interface between pc and smartphone, you could use RDC, no need for export /import between those device, but you need to have static ip adress for this connection.
 
Upvote 0

Mikelgiles

Active Member
Licensed User
Longtime User
I almost agree: "B4A is the best choice..." ;) (note that I'm a simple member, not the owner :D).

I think that is also the case for abandoning DBASE (although this is not necessary). SQLite is suitable for both mobile devices and PC.
We have updated a set of apps to use SQL but wont be able to get all customers changed over any faster than they are willing to pay for it LOL. In fact we still have a few customers using the DBF database structure in DOS. Its all a matter of money! Anything we do new is in SQL. But what I want to do on the smart-phone is going to have to work for both DBF and SQL databases. I am happy to find B4A as at my age it sure is difficult to learn completely new processes LOL. Thanks for your input sir!

Mikel
 
Upvote 0

Mikelgiles

Active Member
Licensed User
Longtime User
Speed is probably not a problem. A heavy day would be 1 to 2 dozen reads in a 8 hour shift. Just reading some job numbers and some barcode tags from some rolls of paper. Like I told LucaMs, abandoning Dbase has to do with customers being willing to pay for the conversion and upgrade on about 75 programs so it will take several years to get them all moved over. Customers always slow things down LOL

RDC as we currently use it just allows us to run programs somewhere else and transfer files. From the database standpoint it is easier for us to import a text file than it is to have a connection to the database. If I were starting from scratch that would be a different story for sure. What we are talking about is less than 80 character piece of information being passed to the main app 10 to 30 times during a 8 hour shift. But if a RDC connection is the easiest way to get information I should look at that for sure.

Thank you sir
 
Upvote 0

DonManfred

Expert
Licensed User
Longtime User
What we are talking about is less than 80 character piece of information being passed to the main app 10 to 30 times during a 8 hour shift. But if a RDC connection is the easiest way to get information I should look at that for sure.
for this size of data you should use a server side app (php, b4j, vb) that act as an httpserver or something similar and just use httputils to send or recieved data to the server app.
 
Upvote 0

picenainformatica

Active Member
Licensed User
Longtime User
The learning curve of B4A in easier then VB6.
You need first to resolve the problem of read 3 of 9 Extended bar-codes.
Then a work-around (a server listening for network connections on PC) to read and write files on PC (my idea).
You can found many samples for connecting remote database on this forum.
 
Upvote 0

sorex

Expert
Licensed User
Longtime User
Mike,

I don't see an issue with the .dbf files. you can convert them to something more recent like MSSQL/MySQL/SQLite.
When you have that it's just like in any other language. setup a connection and pull in recordsets or send other query commands.
 
Upvote 0

Mikelgiles

Active Member
Licensed User
Longtime User
for this size of data you should use a server side app (php, b4j, vb) that act as an httpserver or something similar and just use httputils to send or recieved data to the server app.
Unfortunately that is all greek to me. I think that I know what aq "server side app" but I am not familiar with the term httpserver or httputils. It does sound interesting though. Do you know where I might find some good information on the process?
 
Upvote 0

Mikelgiles

Active Member
Licensed User
Longtime User
The learning curve of B4A in easier then VB6.
You need first to resolve the problem of read 3 of 9 Extended bar-codes.
Then a work-around (a server listening for network connections on PC) to read and write files on PC (my idea).
You can found many samples for connecting remote database on this forum.
From all of the replies I am getting I have to assume that simply sending a text file to a folder on the network is not a simple thing to do. I am shy of experience in listening for network connections and such. I was really looking for something already built into B4A that would handle that part. What about a smartphone app sending a message or email to a phone number or email address. Is something like that doable easily?
 
Upvote 0

charlesg

Member
Licensed User
Longtime User
Barcode scanning with a standard phone is a pain but you can buy Android phones with built in CCD or laser scanners quite cheaply. They can either interface through Java or as a much easier-to-use keyboard wedge.

The comments against dbf are (imho) unfounded. dbf works fine until you start throwing 30 simultaneous users at it. It is robust and as you say present in a huge amount of legacy software. There are a couple of Java dbf drivers. I use jdbf-1.2 in B4j to read dbf and convert to SQLite for a B4a lookup file. Transferring the files back and forth is trivial (thanks to Erel!).

I have also written a B4a app that directly interrogates Clipper files on a PC. The process is convoluted as jdbf does not work with indexes.
 
Upvote 0

Mikelgiles

Active Member
Licensed User
Longtime User
I use a Motorola MotoX first gen phone with Android 4.4.4 on it. It does not have a SD card on it which I assume eliminates using the B4A Bridge. Is there a way to use the MotoX or do I need to obtain a different phone?
Yes, that is my opinion too. the most widespread GIS Format Shapefile uses DBF to store the attribute data of a gis dataset. however, DBF is not state of the art...
DBF was not even 'state of the art' in the late 90's when we started using it but it handled a lot more users without corrupting than Access did. And unfortunately 'state of customers USING' always trumps 'state of the art' LOL. We would not start off with it now but back then we decided it was the best we could do to get off of the hand-made data structure we had created in the early 90's. We have upgraded all of our programs to use SQL but it will take several years to move the majority of our customers to SQL ( they dont like to spend money these days LOL)
 
Upvote 0
Top