Xamarin - Documentation

Android

change platform

  1. Xamarin
  2. Android
  3. Releases
  4. Previews
  5. Preview 13

Preview 13

API Changes

CharSequences

In response to user feedback, we have implemented a new approach to binding thejava.lang.CharSequence interface exposed by Android. Most of the Android API is exposed asCharSequences instead of java.lang.String to support formatted text. SpannableString and SpannedStringare a couple of CharSequence implementors exposed in Android.Text to support this capability.

Our new binding approach is to produce an overloaded API. Where the Android API exposes methods withCharSequence parameters, we provide overloaded methods for string and Java.Lang.ICharSequencevariants of the method signature. For properties and methods with CharSequence return values, we had to create alternatively named elements. For example, Android.Widget.TextView now has "overloaded"TextView.Text and TextView.TextFormatted properties:

public string Text { get; set; } 
public Java.Lang.ICharSequence TextFormatted { get; set; }

This means that you can now do things like:

EditText editText = new EditText (this);  
...
string text = editText.Text;

without have to use Convert.ToString() or object.ToString() to get a string value as with the previousIEnumerable<char> implementation. However, if you want to set or manipulate formatted text in the view, you will have to use the TextFormatted property now.

General Enhancements

Mono.Android.dll Moved to Debug Shared Runtime Packages

In addition to the regular shared runtime used for debug builds, there are now target version specific ones that contain Mono.Android.dll. This dramatically reduces the size of debug .apks, resulting in much faster deploys, making the change/deploy/test cycle much quicker. Linking is now turned off by default for debug builds.

Versioned Debug Shared Runtimes

Shared runtimes are now versioned, so the IDE can detect if you are running an old shared runtime and automatically remove it. This means you should never need to manually remove the shared runtime again.

Visual Studio Plugin Enhancements

Debugging Enhancements

  • Breakpoints in class libraries should now function as expected.
  • Disabled breakpoints are now skipped.
  • Starting the debugger via "Start New Instance" now works.

Bug Fixes

672350
Linker: Mono.Android.mdb used by another process
673178
Link out [MonoTodo] and friends
657617
Monodroid project will not debug
657877
Deploying application to emulator is very slow in P9
668504
Change signature of Window.SetFormat to use Android.Graphics.Format enum
670361
Mono Runtime on Android v2.3 Research Bug
672325
Assets have filename case changed during compilation
672613
Support mixed-cased package names.
641502
Debugger doesn't stop at breakpoints in class libraries
671108
Problem with deactivate breakpoint on Preview 12.
661858
Allow the use of Jar files to be used in MonoDroid.
666610
DirectoryNotFoundException when compiling - Preview 1
665893
Application crashes when generic method that calls another generic method is called.
670839
Building a Java file fails when encoding is not ANSI