Basic4android v2.00 BETA is released

Erel

B4X founder
Staff member
Licensed User
Longtime User
Basic4android v2.00 BETA is now available. This upgrade is probably the most significant upgrade since v1.00.

Edit: The second beta is now available. See this link: http://www.basic4ppc.com/forum/basi...basic4android-v2-00-second-beta-released.html

The major new feature is support for class modules. With support for classes Basic4android now allows you to write both procedural code and object oriented code.
Object oriented code makes it easier to write and maintain large projects.

B4A v2.00 improvements:

- Classes

- Public and Private access modifiers

- Built-in documentation

- Better handling of tasks in the internal thread pool

- CallSubDelayed keywords - These keywords significantly simplify the interaction between services and activities.

Existing beta testers should soon receive an email with download instructions.
You are more than welcome to join the beta testers. Any user who is eligible for free upgrades (two years for the enterprise version and two months for the standard version) can send an email to erel@basic4ppc.com and join the group.

Issues about the beta version should be posted in the questions forum.
Note that B4A.xml was modified in this version. The highlighting styles section was not modified.
 

COBRASoft

Active Member
Licensed User
Longtime User
1 word Erel: CONGRATULATIONS! This is indeed a massive update and I really hope this will change the 'public' view of B4A. It was already powerful and straight forward and it has become a very modern development language with this update. Great job!
 
Upvote 0

Jim Brown

Active Member
Licensed User
Longtime User
This pushes B4A into orbit. Fantastic improvements. Classes and built-in documents are a big win for the language.
 
Upvote 0

RandomCoder

Well-Known Member
Licensed User
Longtime User
Email on it's way Erel, the one thing I've really missed coming from B4PPC is built in documentation :sign0098:

Excellent work as always!
RandomCoder.
 
Upvote 0

Philipp

Member
Licensed User
Longtime User
Classes, classes, classes :sign0060:

I sent you a mail, probably asleep already ;) Any thought abouts inheritance and interfaces? But polymorphism is what is mostly needed.

How you would implement the observer pattern?
 
Upvote 0

hackhack

Active Member
Licensed User
Longtime User
One thing I'd like to see in the IDE, is a font setting for the things listed in the right view where the Modules are - I find them on the small side. Same with the drop down menus at the top - plus a large setting for the Icons in the toolbar would be nice.
 
Upvote 0

Kevin

Well-Known Member
Licensed User
Longtime User
Just so it doesn't get missed (never know what can get thrown into the new version!), this is from another thread:

With B4A now having 4 module types, can we get some indicators added to the tabs at the top and in the Module list as to the type of Module? Different icons and/or some text in brackets or something saying what the module is at a glance. Might even be good in the sub area on the side too showing the type of sub- Maybe something indicating an Event or Normal Sub, and a minus/plus indicating Private/Public?

That's an excellent idea. Also I would like to see the IDE remember the order of the "tabs" when we move them around. In a large project they tend to end up in random order, so it's nice we can move related modules next to each other (especially when working on a few modules at once), but the order is not remembered the next time we open the project.

I'd still like to see the project options (app label, package name, version, etc) consolidated into one screen in the IDE. :D
 
Upvote 0

Kevin

Well-Known Member
Licensed User
Longtime User
Erel,

I wouldn't mind giving the beta a try, if you'd be so kind. :D

Also, when do you expect the final version to be available? I have been working on an update to my app and would like to wait until B4A 2.0 is done before I release it. Not rushing you at all, just trying to estimate my timeline.
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
Also, when do you expect the final version to be available? I have been working on an update to my app and would like to wait until B4A 2.0 is done before I release it. Not rushing you at all, just trying to estimate my timeline.

It depends on how the beta step goes. Hopefully there will not be too much issues and then the final version will be released before the end of this month (two weeks from now +-).
 
Upvote 0

Petrus

Member
Licensed User
Longtime User
Can a class module to create an event? Example of a User View "cbButton":

Class module "cbButton":
B4X:
Sub Class_Globals
   Dim Control As Object
   Private Panel1 As Panel
   Private Label1 As Label
End Sub

Sub Initialize()
   Panel1.Initialize("Panel1")
   Control = Panel1
   Panel1.Color = Colors.Magenta
   Label1.Initialize("")
   Label1.TextColor = Colors.Black
   Label1.TextSize = 20
   Label1.Text = "Test"
   Label1.Gravity = Gravity.CENTER_HORIZONTAL + Gravity.CENTER_VERTICAL
   Panel1.AddView(Label1, 0, 0, 10,10)
End Sub

Public Sub SetLayout(Left As Int, Top As Int, Width As Int, Height As Int)
   Panel1.SetLayout(Left, Top, Width, Height)
   Label1.SetLayout(0,0,Width, Height)
End Sub

Sub Panel1_Click()
   'and now?
   '...
End Sub

Activity module:
B4X:
Sub Globals
   Dim CbButton1 As cbButton
End Sub

Sub Activity_Create(FirstTime As Boolean)
   CbButton1.Initialize()
   Activity.AddView(CbButton1.Control, 10,10,100,50)
   CbButton1.SetLayout(100, 100, 200, 100)
End Sub

Sub CbButton1_Click()
   '????
   
End Sub

Greetings
Petrus
 
Upvote 0

pluton

Active Member
Licensed User
Longtime User
New Beta is great. I must see how everything goes with classes but so far is very good.
Just one wish for Erel

Is it possibile to make Project Properties in one dialog box so it is easier to us to complete whole project with just one click.

I was thinking something like this:

b4a_sample.png
 
Upvote 0

wolf

Member
Licensed User
Longtime User
I received the e-mail with the address of download. Thank you

You can confirm me that the installation of the version beta2, does not risk to damage the version1.92 current?
 
Upvote 0

klaus

Expert
Licensed User
Longtime User
Je te conseille d'installer la nouvelle version dans un autre répertoire. De cette façon tu peux travailler avec les deux versions en parralèle.

I suggest you to install the new version in a seperate folder. This allows you to work with both versions in parralel.

Best reigards.
 
Upvote 0
Top