Basic4android v2.70 is now available. I would first like to thank the beta testers for their help and feedback .
This version includes many improvements including several major new features:
- Compiler warnings - A new warning engine that helps finding common errors as soon as possible:
- Custom views with designer support
- Developers can create custom views (with classes or libraries) that
can be added with the visual designer. This feature makes it possible to
build the complete layout with the designer and designer scripts. - Classes properties - a long-awaited feature.
- Bitmaps handling improved - LoadBitmap / LoadBitmapSample
internally handle out of memory errors by down-scaling the image. The
visual designer loads images based on the target size to preserve
memory. - DateTime.ListenToExternalTimeChanges - raises an event when the
device time is set or when the time zone changes (and updates the
internal time zone used). - CallSub keyword improvements:
Returns Object instead of String.
Sender is set when calling from a class. This is useful for events implementation.
Significant performance improvements when calling subs in classes.
No error is raised if the target sub is not found when calling from a class. This is useful for events implementation.
- #LibraryName attribute. Sets the compiled library name.
- Libraries dependencies resolver was improved and it can now handle cases such as described here.
- Logs are colored based on the message type.
- LogColor keyword - Similar to Log. The message will be displayed in the IDE with the specified color.
- Screenshot tool improved.
- HttpUtils2 and DateUtils are now included as libraries in the IDE.
- Bug fixes and other minor improvements (including "run last deployment" feature).
Backwards compatibility issues
In previous versions, when a layout file was loaded the images were
loaded as is. Starting from this version the size of the loaded image
might be smaller based on the target view. The visual result is the
same. The difference can happen if you take the image of a view and
assign it to a larger view.