diff options
Diffstat (limited to 'docs/html/sdk/android-1.1.jd')
-rw-r--r-- | docs/html/sdk/android-1.1.jd | 249 |
1 files changed, 249 insertions, 0 deletions
diff --git a/docs/html/sdk/android-1.1.jd b/docs/html/sdk/android-1.1.jd new file mode 100644 index 0000000..f70ad26 --- /dev/null +++ b/docs/html/sdk/android-1.1.jd @@ -0,0 +1,249 @@ +page.title=Android 1.1 Version Notes +sdk.version=1.1_r1 +sys.date=February 2009 +@jd:body + +<p> +<em>Date:</em> February 2009<br /> +<em>API Level:</em> <strong>2</strong></p> + + +<p>This document provides version notes for the Android 1.1 system image included in the SDK. + +<ul> +<li><a href="#overview">Overview</a> +<li><a href="#overview">External Libraries</a> +<li><a href="#comp">Device Compatibility</a> +<li><a href="#apps">Built-in Applications</a> +<li><a href="#locs">UI Localizations</a> +<li><a href="#resolved-issues">Resolved Issues</a> +<li><a href="#features">New Features</a> +<li><a href="#api-changes">API Changes</a> +</ul></p> + +<h2 id="overview">Overview</h2> + +<p>The Android 1.1 system image delivered in the SDK is the development +counterpart to the Android 1.1 production system image, deployable to +Android-powered handsets starting in February 2009. </p> + +<p>The Android 1.1 system image delivers an updated version of the framework +API. As with the Android 1.0 API, the Android 1.1 API +is assigned an integer identifier — <strong>2</strong> — that is +stored in the system itself. This identifier, called the "API Level", allows the +system to correctly determine whether an application is compatible with +the system, prior to installing the application.</p> + +<p>Applications can reference a specific API Level value in their +manifest files, to indicate the minimum version of the Android system +required to run the app. To reference a minimum API Level, applications +can add a <code>minSdkVersion</code> attribute in their manifest files. +The value of the attribute is an integer corresponding to an API Level +identifier. Prior to installing an application, the system then checks the value of +<code>minSdkVersion</code> and allows the install only +if the referenced integer is less than or equal to the API Level integer stored +in the system itself. </p> + +<p>If you use the Android 1.1 system image to build an application +compatible with Android-powered devices running the Android 1.1 +platform, please note that you <strong><span +style="color:red;">must</span></strong> set the the +<code>android:minSdkVersion</code> attribute in the application's +manifest to "2", which is the API strictly associated with Android 1.1. +</p> + +<p>Specifically, you specify the <code>android:minSdkVersion</code> +attribute in a <code><uses-sdk></code> element as a child of +<code><manifest></code> in the manifest file. When set, the +attribute looks like this: </p> + +<pre><code><manifest> + ... + <uses-sdk minSdkVersion="2" /> + ... +</manifest></code> +</pre> + +<p>By setting <code>android:minSdkVersion</code> in this way, you ensure +that users will only be able to install your application if their +devices are running the Android 1.1 platform. In turn, this ensures that +your application will function properly on their devices, especially if +it uses <a href="#apichange">APIs introduced in Android 1.1</a>. </p> + +<p>If your application uses APIs introduced in Android 1.1 but does not +declare <code><uses-sdk minSdkVersion="2" /></code>, then it will +run properly on Android 1.1 devices but <em>not</em> on Android 1.0 +devices. In the latter case, the application will crash at runtime when +it tries to use the Android 1.1 APIs.</p> + +<p>If your application does not use any new APIs introduced in Android +1.1, you can indicate Android 1.0 compatibility by removing +<code>minSdkVersion</code> or setting the attribute to "1". However, +before publishing your application, you must make sure to compile your +application against the Android 1.0 system image (available in the +Android 1.0 SDK), to ensure that it builds and functions properly for +Android 1.0 devices. You should test the application against system +images corresponding to the API Levels that the application is designed +to be compatible with.</p> + +<p>If you are sure your application is not using Android 1.1 APIs and +has no need to use them, you might find it easier to keep working in the +Android 1.0 SDK, rather than migrating to the Android 1.1 SDK and having +to do additional testing.</p> + + +<h2 id="extlibs">External Libraries</h2> + +<p>The system image includes these external libraries, which you can +access from your application by adding a <a +href="{@docRoot}guide/topics/manifest/uses-library-element.html"> +<uses-library></a>.</p> + <ul> + <li>com.google.android.maps — gives your +application access to Google Maps data. Note that, to use Google Maps +data, a Maps API Key is required.</li> + </ul> + +<h2 id="comp">Device Compatibility</h2> + +<p>The Android 1.1 system image was tested for compatability with the +Android-powered devices listed below:</p> + <ul> + <li><a href="http://www.t-mobileg1.com">T-Mobile G1</a></li> + </ul> + +<h2 id="apps">Built-in Applications</h2> + +<p>The system image includes these built-in applications:</p> + <ul> + <li>Alarm Clock</li> + <li>API Demos</li> + <li>Browser</li> + <li>Calculator</li> + <li>Camera</li> + <li>Contacts</li> + <li>Dev Tools</li> + <li>Dialer</li> + <li>Email</li> + <li>Maps (and StreetView)</li> + <li>Messaging</li> + <li>Music</li> + <li>Pictures</li> + <li>Settings</li> + </ul> + +<h2 id="locs">UI Localizations</h2> + +<p>The system image provides localized UI strings for the languages +listed below.</p> + <ul> + <li>English, US (en_US)</li> + <li>German (de) </li> + </ul> + +<p>Localized UI strings match the locales that are displayable in +the emulator, accessible through the device Settings application.</p> + +<h2 id="resolved-issues">Resolved Issues</h2> +<ul> +<li>AlarmClock alert now plays audio/vibe directly, rather than through +AlarmManager. AlarmClock alert starts playing audio/vibe in its +IntentReceiver, rather than on activity start. These changes should +prevent alarms from being blocked by modal dialogs.</li> +<li>Fixes to device sleep. </li> +<li>Single tap no longer opens the in-call dialpad; users now need to +touch and drag it. </li> +<li>Fixes a bug causing approximately 1 in 25 outbound messages to +freeze up the IMAP connection (to a Gmail based server) when transferred +to the Sent folder.</li> +<li>Removes automatic account setup entries that were broken or not +testable. Adds minor fixes to a few of the remaining entries. Makes +improvements to warning dialogs used for a few special cases. </li> +<li>Changes default mail checking interval to every 15 minutes (instead +of defaulting to "never").</li> +<li>Fixes password-quoting bugs in IMAP, so that users can include +special characters in passwords (e.g. spaces).</li> +<li>Fixes various errors in auto and manual account setup </li> +<li>Improves reporting for various connection errors, making it easier +for the user to diagnose failed account setups.</li> +<li>Fixes new-mail notifications for POP3 accounts.</li> +<li>Ensures proper auto-checking of accounts marked as "never +check".</li> +<li>Now displays date and time using user preference (e.g. 24 hr vs. +AM/PM).</li> +<li>Now shows cc: in message view.</li> +<li>Improves recovery from POP3 connection failures.</li> +<li>POP3 parser rules loosened, so the application can work with +non-compliant email servers.</li> +</ul> + +<h2 id="features">New Features</h2> + +<ul> +<li>Maps: Adds details and reviews when a user does a search on Maps and +clicks on a business to view its details.</li> +<li>Dialer: In-call screen timeout default is now longer when using the +speakerphone.</li> +<li>Dialer: Adds a "Show dialpad" / "Hide dialpad" item to the in-call +menu, to make it easier to discover the DTMF dialpad. </li> +<li>Adds support for saving attachments from MMS</li> +<li>Adds support for marquee in layouts.</li> +</ul> + +<h2 id="api-changes">API Changes</h2> + +<h3>Overview</strong></h3> + +<ul> +<li>Adds annotations for test systems, no actual (non-test) API +changes.</li> +<li>Adds a method to allow a process to easily determine its UID. +<li>Adds support for marquee in layouts.</li> +<li>Adds new methods for determining padding in views. Useful if you are +writing your own +subclasses of {@link android.view.View View}.</li> +<li>Adds new permissions that allow an application to broadcast an SMS +or WAP Push message. </li> +<li>API cleanup: removes protected constructor from +SDK-bound system images. </li> +</ul> + +<h3>API Change Details</h3> + +<table> +<tr> +<th>Module or Feature</th><th>Change Description</th> +</tr> +<tr><td rowspan="4">Annotations for test systems</td></tr> + <tr><td>Added {@link android.test.suitebuilder.annotation.LargeTest LargeTest} annotation.</td></tr> + <tr><td>Added {@link android.test.suitebuilder.annotation.MediumTest MediumTest} annotation.</td></tr> + <tr><td>Added {@link android.test.suitebuilder.annotation.SmallTest SmallTest} annotation.</td></tr> + +<tr><td rowspan="2">Allow a process to easily know its UID.</td></tr> + <tr><td>Added public method {@link android.os.Process#myUid} to class {@link android.os.Process android.os.Process}</td></tr> + +<tr><td rowspan="6">Padding in views</td></tr> + <tr><td>Added public method {@link android.view.View#getBottomPaddingOffset} to class {@link android.view.View android.view.View}.</td></tr> + <tr><td>Added public method {@link android.view.View#getLeftPaddingOffset} to class {@link android.view.View android.view.View}.</td></tr> + <tr><td>Added public method {@link android.view.View#getRightPaddingOffset} to class {@link android.view.View android.view.View}.</td></tr> + <tr><td>Added public method {@link android.view.View#getTopPaddingOffset} to class {@link android.view.View android.view.View}.</td></tr> + <tr><td>Added public method {@link android.view.View#isPaddingOffsetRequired} to class {@link android.view.View android.view.View}.</td></tr> + +<tr><td rowspan="3">Marquee support</td></tr> + <tr><td>Added public method {@link android.widget.TextView#setMarqueeRepeatLimit} to class {@link android.widget.TextView}</td></tr> + <tr><td>Added public field {@link android.R.attr#marqueeRepeatLimit android.R.attr.marqueeRepeatLimit}</td></tr> + +<tr><td rowspan="3">New permissions</td></tr> + <tr><td>Added public field {@link android.Manifest.permission#BROADCAST_SMS android.Manifest.permission.BROADCAST_SMS}</td></tr> + <tr><td>Added public field {@link android.Manifest.permission#BROADCAST_WAP_PUSH android.Manifest.permission.BROADCAST_WAP_PUSH}</td></tr> + +<tr><td rowspan="2">API cleanup</td></tr> + <tr><td>Removed protected constructor java.net.ServerSocket.ServerSocket(java.net.SocketImpl).</td></tr> + +</table> + + + + + + |