Wednesday, April 10, 2013

1.0.0.61 : What's new?

To get the latest version, run "Check for updates" from the Device Center or download.

New: Added AirportInfo sample.

This sample shows how to fetch data from a JSON webservice using the standard Android HTTP client API and the standard Android JSON parser.

New: Abstract interface implementation methods can now be overriden.

Various abstract classes in the Android framework implement interfaces while leaving several interface methods unimplemented (abstract).

To satisfy the C# compiler, these methods must be added. We have now added them as abstract methods (where possible), instead of an explicit interface implementation as it was before.

In very few cases it is not possible to add these methods as abstract methods because it causes a naming conflict with existing members (nested classes). In those cases we still use the old style of explicit implementation.

New: Primitive number types now implement IFormattable.

All .NET primitive number types (e.g. UInt32) implement IFormattable. The corresponding Android types do not implement this interface. We have improved the dot42 compiler to work around this issue such that the Android primitive number types will behave as if they implement IFormattable so that they will work with e.g. String.Format.

New: Variable argument methods now have a "params" parameter.

Android methods with variable arguments (such as Android.Content.Context.GetString) now have a "params" array as the last parameter instead of a normal array.

Change: String.Format improved.

We have extended support of String.Format formatting rules.

Fixed: Including layout files in a Visual Studio project does not always set the build type.

When you include an xml file in a Visual Studio project, dot42 tries to guess the build type for that file. We have greatly improved this for layout xml file.

Fixed: Various UInt64/UInt32 fixes

Various verify and compilation errors related to unsigned integers have been solved.

Fixed: Convert.ToBase64String

No comment needed.

Fixed: Method with generic out parameter may fail when called with primitive or enum value.

This includes Dictionary<int, string>.TryGetValue(...) or Dictonary<some_enum, T>.TryGetValue(...).

Fixed: Extension methods on primitive types may cause verify errors

The way that we support primitive types and boxed primitive types has changed slightly to avoid various verify errors when compiling methods that have been added to primitive types.

Change: Major internal overhaul of the compiler

The result of this change is not yet visible, but it will be in one of the next releases.

We have made a large number of internal changes in order to compile existing java code in addition to compiling .NET code to DEX and combine the two worlds.

As a side effect, we made optimized our compiler and fixed many minor issues.

No comments:

Post a Comment