Stuart McLachlan
stuart at lexacorp.com.pg
Sun Sep 23 17:26:43 CDT 2012
Hi Tony,
The cost to develop an app obviously depends on what sort of an app it it. You get a lot of
development for $25K :-)
The data collection you describe is exactly the sort of thing I am working on.
If you are familiar with the concept of VBA and object properties and methods, you will find
B4A easy to pick up:
A Form is a Actvitiy, a Control is a View.
You place Views on Actvities in a visual designer and then B4A creates a Layout file and
module with various empty event Subs where you then put your logic.
Here's the complete source for the first app in the Beginners Guide (a simple math test
program). As an experienced VBA programmer, you'll have no problem making sense of it.
(Note that several of the subs are not used, but were created automatically by B4A)
'Activity module
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Dim btnAction As Button
Dim edtResult As EditText
Dim lblComments As Label
Dim lblMathSign As Label
Dim lblNumber1 As Label
Dim lblNumber2 As Label
Dim Number1, Number2 As Int
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("Main")
New
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub btnAction_Click
If btnAction.Text = "O K" Then
If edtResult.Text="" Then
Msgbox("No result entered","E R R O R")
Else
CheckResult
End If
Else
New
btnAction.Text = "O K"
End If
End Sub
Sub New
Number1 = Rnd(1, 10) ' Generates a random number between 1 and 9
Number2 = Rnd(1, 10) ' Generates a random number between 1 and 9
lblNumber1.Text = Number1 ' Displays Number1 in label lblNumber1
lblNumber2.Text = Number2 ' Displays Number2 in label lblNumber2
lblComments.Text = "Enter the result" & CRLF & "and click on OK"
edtResult.Text = "" ' Sets edtResult.Text to empty
End Sub
Sub CheckResult
If edtResult.Text = Number1 + Number2 Then
lblComments.Text = "G O O D result" & CRLF & "Click on NEW"
btnAction.Text = "N E W"
Else
lblComments.Text = "W R O N G result" & CRLF & "Enter a new result" & CRLF & "and click
OK"
End If
End Sub
Data collection is easy to do. Android comes with an SQLite engine built in. So all you need
to do is create a database with the necessary tables, Dim and instantiate a SQL object, build
appropriate SQL strings where required and then use commands such as
SQL1.ExecNonQuery(steUpdateQry) etc.
There are lots of ways to get data between the SQLite database and Access. I have written a
PowerBasic application to do it, but for want of any other way, you could just write routines to
generate/import delimited text files on either side.
The trial version is free to download. If you have a suitable android device available, give it a
try.
On 23 Sep 2012 at 11:12, Tony Septav wrote:
> Hey Stuart
>
> I need a review on Basic4Android. I read an interesting article in my local
> newspaper on the cost of developing Apps for IP and Android phone/pads. The
> basics of the article was it is expensive for the developer to design an App
> and then hope to sell 1,000s of the product to reap a profit. The article
> said in general it cost about $25,000 to develop the App. This would be
> prohibitive to sell to a single institution or business. In the past I have
> designed many applications for clients to collect data in the field using
> PALM and Pocket PCs and allowing them the ability to transfer that data to
> an ACCESS application. I am thinking of designing customized data collection
> Apps (no fluff or flair) for clients at a reasonable price (using basically
> the same concept as the PALM and Pocket PC) and allowing the transfer of the
> information to an ACCESS application. Is this idea applicable to
> Basc4Android programming? I am not a VB programmer but rather a VBA
> programmer. If this is possible? If so it may mean opportunities for other
> developers to source in this community.
>