diff options
| -rw-r--r-- | docs/html/guide/publishing/publishing.jd | 200 | ||||
| -rw-r--r-- | docs/html/guide/topics/graphics/index.jd | 25 | ||||
| -rw-r--r-- | docs/html/guide/topics/graphics/opengl.jd | 232 | ||||
| -rw-r--r-- | docs/html/index.jd | 19 | ||||
| -rw-r--r-- | docs/html/resources/dashboard/opengl.jd | 6 | ||||
| -rw-r--r-- | docs/html/resources/dashboard/platform-versions.jd | 27 | ||||
| -rw-r--r-- | docs/html/resources/dashboard/screens.jd | 36 | ||||
| -rw-r--r-- | docs/html/sdk/eclipse-adt.jd | 8 | ||||
| -rw-r--r-- | docs/html/sdk/index.jd | 24 |
9 files changed, 475 insertions, 102 deletions
diff --git a/docs/html/guide/publishing/publishing.jd b/docs/html/guide/publishing/publishing.jd index 0cbba53b3795..95d89fa1f2c5 100644 --- a/docs/html/guide/publishing/publishing.jd +++ b/docs/html/guide/publishing/publishing.jd @@ -23,6 +23,7 @@ page.title=Publishing on Android Market <ol> <li><a href="#OpeningDetails">Opening an app's details page</a></li> <li><a href="#PerformingSearch">Performing a search</a></li> + <li><a href="#BuildaButton">Build an Android Market button</a></li> <li><a href="#UriSummary">Summary of URI formats</a></li> </ol> </li> @@ -317,6 +318,205 @@ publisher name:</p> +<h3 id="BuildaButton">Build an Android Market button</h3> + +<p>Use the following form to input either your application's package name or your publisher name +and generate a button that you can use on your web site. The button will take users to Android +Market to view your application details or view a list of all applications you've published.</p> + +<p>This form offers four versions of the official "Available in Android Market" badge at +recommended sizes. If you would like to create a different size, you can download an EPS file for +the badges from the <a href="http://www.android.com/branding.html">Android Brand Guidelines</a>.</p> + +<style type="text/css"> + +form.button-form { + margin-top:2em; +} + +/* the label and input elements are blocks that float left in order to + keep the left edgets of the input aligned, and IE 6/7 do not fully support "inline-block" */ +label.block { + display: block; + float: left; + width: 100px; + padding-right: 10px; +} + +input.text { + display: block; + float: left; + width: 250px; +} + +div.button-row { + white-space:nowrap; + min-height:80px; +} + +div.button-row input { + vertical-align:120%; +} + +#jd-content div.button-row img { + margin: 0; +} + +</style> + +<script type="text/javascript"> + +// variables for creating 'try it out' demo button +var imagePath = "http://www.android.com/images/brand/" +var linkStart = "<a href=\"http://market.android.com/"; +var imageStart = "\">\n" + + " <img src=\"" + imagePath; +var imageEnd = ".png\"\n" + + " alt=\"Available in Android Market\" />\n</a>"; + +// variables for creating code snippet +var linkStartCode = "<a href=\"http://market.android.com/"; +var imageStartCode = "\">\n" + + " <img src=\"" + imagePath; +var imageEndCode = ".png\"\n" + + " alt=\"Available in Android Market\" />\n</a>"; + +/** Generate the HTML snippet and demo based on form values */ +function buildButton(form) { + if (form["package"].value != "com.android.example") { + $("#preview").show(); + $("#snippet").show().html(linkStartCode + "details?id=" + form["package"].value + + imageStartCode + $('form input[type=radio]:checked').val() + imageEndCode); + $("#button-preview").html(linkStart + "details?id=" + form["package"].value + + imageStart + $('form input[type=radio]:checked').val() + imageEnd); + } else if (form["publisher"].value != "Example, Inc.") { + $("#preview").show(); + $("#snippet").show().html(linkStartCode + "search?q=pub:" + form["publisher"].value + + imageStartCode + $('form input[type=radio]:checked').val() + imageEndCode); + $("#button-preview").html(linkStart + "search?q=pub:" + form["publisher"].value + imageStart + + $('form input[type=radio]:checked').val() + imageEnd); + } else { + alert("Please enter your package name or publisher name"); + } + return false; +} + +/** Listen for Enter key */ +function onTextEntered(event, form, me) { + // 13 = enter + if (event.keyCode == 13) { + buildButton(form); + } +} + +/** When input is focused, remove example text and disable other input */ +function onInputFocus(object, example) { + if (object.value == example) { + $(object).val('').css({'color' : '#000'}); + } + $('input[type="text"]:not(input[name='+object.name+'])', + object.parentNode).attr('disabled','true'); + $('#'+object.name+'-clear').show(); +} + +/** When input is blured, restore example text if appropriate and enable other input */ +function onInputBlur(object, example) { + if (object.value.length < 1) { + $(object).attr('value',example).css({'color':'#ccc'}); + $('input[type="text"]', object.parentNode).removeAttr('disabled'); + $('#'+object.name+'-clear').hide(); + } +} + +/** Clear the form to start over */ +function clearLabel(id, example) { + $("#preview").hide(); + $('#'+id+'').html('').attr('value',example).css({'color':'#ccc'}); + $('input[type="text"]', $('#'+id+'').parent()).removeAttr('disabled'); + $('#'+id+'-clear').hide(); + return false; +} + +/** When the doc is ready, find the inputs and color the input grey if the value is the example + text. This is necessary to handle back-navigation, which can auto-fill the form with previous + values (and text should not be grey) */ +$(document).ready(function() { + $(".button-form input.text").each(function(index) { + if ($(this).val() == $(this).attr("default")) { + $(this).css("color","#ccc"); + } else { + /* This is necessary to handle back-navigation to the page after form was filled */ + $('input[type="text"]:not(input[name='+this.name+'])', + this.parentNode).attr('disabled','true'); + $('#'+this.name+'-clear').show(); + } + }); +}); + +</script> + +<form class="button-form"> + <label class="block" for="package">Package name:</label> + <input class="text" type="text" id="package" name="package" + value="com.android.example" + default="com.android.example" + onfocus="onInputFocus(this, 'com.android.example')" + onblur="onInputBlur(this, 'com.android.example')" + onkeyup="return onTextEntered(event, this.parentNode, this)"/> + <a id="package-clear" style="display:none" href="#" + onclick="return clearLabel('package','com.android.example');">clear</a> + <p style="clear:both;margin:0"> <em>or</em></p> + <label class="block" style="margin-top:5px" for="publisher">Publisher name:</label> + <input class="text" type="text" id="publisher" name="publisher" + value="Example, Inc." + default="Example, Inc." + onfocus="onInputFocus(this, 'Example, Inc.')" + onblur="onInputBlur(this, 'Example, Inc.')" + onkeyup="return onTextEntered(event, this.parentNode, this)"/> + <a id="publisher-clear" style="display:none" href="#" + onclick="return clearLabel('publisher','Example, Inc.');">clear</a> + <br/><br/> + +<div class="button-row"> + <input type="radio" name="buttonStyle" value="45_avail_market_logo1" id="ns" checked="checked" /> + <label for="ns"><img src="http://www.android.com/images/brand/45_avail_market_logo1.png" +alt="narrow and small logo" /></label> + + <input type="radio" name="buttonStyle" value="60_avail_market_logo1" id="nm" /> + <label for="nm"><img src="http://www.android.com/images/brand/60_avail_market_logo1.png" +alt="narrow and large logo" /></label> +</div> + +<div class="button-row"> + <input type="radio" name="buttonStyle" value="45_avail_market_logo2" id="ws" /> + <label for="ws"><img src="http://www.android.com/images/brand/45_avail_market_logo2.png" +alt="wide and small logo" /></label> + + <input type="radio" name="buttonStyle" value="60_avail_market_logo2" id="wm" /> + <label for="wm"><img src="http://www.android.com/images/brand/60_avail_market_logo2.png" +alt="wide and large logo" /></label> +</div> + + <input type="button" onclick="return buildButton(this.parentNode)" value="Build my button" +style="padding:5px" /> + <br/> +</form> + +<div id="preview" style="display:none"> + <p>Copy and paste this HTML into your web site:</p> + <textarea id="snippet" cols="80" rows="4" onclick="this.select()" +style="font-family:monospace;background-color:#efefef;padding:5px;display:none;margin-bottom:1em"> + </textarea > + +<p>Try it out:</p> +<div id="button-preview" style="margin-top:1em"></div> +</div> + + + + + + <h3 id="UriSummary">Summary of URI formats</h3> <p>The table below provides a summary of the URIs currently supported by the Android Market (both on diff --git a/docs/html/guide/topics/graphics/index.jd b/docs/html/guide/topics/graphics/index.jd index be1b0fc7b834..2490e392e440 100644 --- a/docs/html/guide/topics/graphics/index.jd +++ b/docs/html/guide/topics/graphics/index.jd @@ -14,13 +14,20 @@ page.title=Graphics </ol> </li> </ol> + <h2>See also</h2> + <ol> + <li><a href="{@docRoot}guide/topics/graphics/opengl.html">3D with OpenGL</a></li> + <li><a href="{@docRoot}guide/topics/renderscript/index.html">RenderScript</a></li> + </ol> </div> </div> -<p>Android graphics are powered by a custom 2D graphics library and OpenGL ES 1.0 -for high performance 3D graphics. The most common 2D graphics APIs can be found in the -{@link android.graphics.drawable drawable package}. OpenGL APIs are available -from the Khronos {@link javax.microedition.khronos.opengles OpenGL ES package}, -plus some Android {@link android.opengl OpenGL utilities}.</p> + +<p>Android graphics are powered by a custom 2D graphics library, and the framework provides +support for high performance 3D graphics in the form of OpenGL ES and RenderScript. The most +common 2D graphics APIs can be found in the {@link android.graphics.drawable drawable package}. +OpenGL APIs are available from the Khronos {@link javax.microedition.khronos.opengles OpenGL ES} and +the {@link android.opengl} packages. The RenderScript APIs are available in the +{@link android.renderscript} package.</p> <p>When starting a project, it's important to consider exactly what your graphical demands will be. Varying graphical tasks are best accomplished with varying techniques. For example, graphics and animations @@ -32,10 +39,10 @@ and which tasks they're best suited for.</p> <p>If you're specifically looking for information on drawing 3D graphics, this page won't help a lot. However, the information below about how to <a href="#draw-with-canvas">Draw with a -Canvas</a> (and the section on SurfaceView), -will give you a quick idea of how you should draw to the View hierarchy. For more information -on Android's 3D graphic utilities (provided by the OpenGL ES API), -read <a href="opengl.html">3D with OpenGL</a> and refer to other OpenGL documentation.</p> +Canvas</a> (and the section on SurfaceView), will give you a quick idea of how you should draw to +the View hierarchy. For more information on Android's 3D graphics APIs, see +the <a href="opengl.html">3D with OpenGL</a> and +<a href="{@docRoot}guide/topics/renderscript/index.html">RenderScript</a> documents.</p> <h2 id="options">Consider your Options</h2> diff --git a/docs/html/guide/topics/graphics/opengl.jd b/docs/html/guide/topics/graphics/opengl.jd index 9f889543d5dc..cc467f2ce8a1 100644 --- a/docs/html/guide/topics/graphics/opengl.jd +++ b/docs/html/guide/topics/graphics/opengl.jd @@ -3,51 +3,215 @@ parent.title=Graphics parent.link=index.html @jd:body +<div id="qv-wrapper"> + <div id="qv"> + <h2>In this document</h2> + + <ol> + <li><a href="#basics">The Basics</a></li> + <li><a href="#compatibility">OpenGL Versions and Device Compatibility</a> + <ol> + <li><a href="#textures">Texture Compression Support</a></li> + <li><a href="#declare-compression">Declaring Use of Compressed Textures</a></li> + </ol> + </li> + </ol> + <h2>Key classes</h2> + <ol> + <li>{@link android.opengl.GLSurfaceView}</li> + <li>{@link android.opengl.GLSurfaceView.Renderer}</li> + <li>{@link javax.microedition.khronos.opengles}</li> + <li>{@link android.opengl}</li> + </ol> + <h2>Related Samples</h2> + <ol> + <li><a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/graphics/ +GLSurfaceViewActivity.html">GLSurfaceViewActivity</a></li> + <li><a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/graphics/ +GLES20Activity.html">GLES20Activity</a></li> + <li><a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/graphics/ +TouchRotateActivity.html">TouchRotateActivity</a></li> + <li><a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/graphics/ +CompressedTextureActivity.html">Compressed Textures</a></li> + </ol> + <h2>See also</h2> + <ol> + <li><a href="{@docRoot}resources/articles/glsurfaceview.html">Introducing +GLSurfaceView</a></li> + <li><a href="http://www.khronos.org/opengles/">OpenGL ES</a></li> + <li><a href="http://www.khronos.org/opengles/1_X/">OpenGL ES 1.x Specification</a></li> + <li><a href="http://www.khronos.org/opengles/2_X/">OpenGL ES 2.x specification</a></li> + </ol> + </div> +</div> -<p>Android includes support for high performance 3D graphics -via the OpenGL API—specifically, the OpenGL ES API.</p> +<p>Android includes support for high performance 2D and 3D graphics with the Open Graphics Library +(OpenGL) API—specifically, the OpenGL ES API. OpenGL is a cross-platform graphics API that +specifies a standard software interface for 3D graphics processing hardware. OpenGL ES is a flavor +of the OpenGL specification intended for embedded devices. The OpenGL ES 1.0 and 1.1 API +specifications have been supported since Android 1.0. Beginning with Android 2.2 (API +Level 8), the framework supports the OpenGL ES 2.0 API specification.</p> -<p>OpenGL ES is a flavor of the OpenGL specification intended for embedded devices. Versions of <a -href="http://www.khronos.org/opengles/">OpenGL ES</a> are loosely peered to versions of the primary -OpenGL standard. Beginning with Android 2.2, the platform supports OpenGL ES 2.0 (with -backward compatibility support for OpenGL ES 1.1). For information about the relative number of -Android-powered devices that support a given version of OpenGL ES, see the <a -href="http://developer.android.com/resources/dashboard/opengl.html">OpenGL ES Versions</a> -dashboard.</p> +<p class="note"><b>Note:</b> The specific API provided by the Android framework is similar to the + J2ME JSR239 OpenGL ES API, but is not identical. If you are familiar with J2ME JSR239 + specification, be alert for variations.</p> -<p>The specific API provided by Android is similar to the J2ME JSR239 OpenGL -ES API. However, it may not be identical, so watch out for deviations.</p> -<h2>Using the API</h2> +<h2 id="basics">The Basics</h2> -<p>Here's how to use the API at an extremely high level:</p> +<p>Android supports OpenGL both through its framework API and the Native Development +Kit (NDK). This topic focuses on the Android framework interfaces. For more information about the +NDK, see the <a href="{@docRoot}sdk/ndk/index.html">Android NDK</a>. -<ol> -<li>Write a custom {@link android.view.View} subclass.</li> -<li>Obtain a handle to an OpenGLContext, which provides access to the OpenGL functionality.</li> -<li>In your View's {@link android.view.View#onDraw onDraw()} method, get a handle to a GL object, -and use its methods to perform GL operations.</li> -</ol> +<p> + There are two foundational classes in the Android framework that let you create and manipulate +graphics with the OpenGL ES API: {@link android.opengl.GLSurfaceView} and {@link +android.opengl.GLSurfaceView.Renderer}. If your goal is to use OpenGL in your Android application, +understanding how to implement these classes in an activity should be your first objective. +</p> + +<dl> + <dt>{@link android.opengl.GLSurfaceView}</dt> + <dd>This class is a container on which you can draw and manipulate objects using OpenGL API calls. + This class is similar in function to a {@link android.view.SurfaceView}, except that it is + specifically for use with OpenGL. You can use this class by simply creating an instance of + {@link android.opengl.GLSurfaceView} and adding your + {@link android.opengl.GLSurfaceView.Renderer Renderer} to it. However, if you want to capture + touch screen events, you should extend the {@link android.opengl.GLSurfaceView} class to + implement the touch listeners, as shown in the <a +href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/graphics/TouchRotateActivity +.html">TouchRotateActivity</a> sample.</dd> + + <dt>{@link android.opengl.GLSurfaceView.Renderer}</dt> + <dd>This interface defines the methods required for drawing graphics in an OpenGL {@link + android.opengl.GLSurfaceView}. You must provide an implementation of this interface as a + separate class and attach it to your {@link android.opengl.GLSurfaceView} instance using + {@link android.opengl.GLSurfaceView#setRenderer(android.opengl.GLSurfaceView.Renderer) + GLSurfaceView.setRenderer()}. + + <p>The {@link android.opengl.GLSurfaceView.Renderer} interface requires that you implement the + following methods:</p> + <ul> + <li> + {@link + android.opengl.GLSurfaceView.Renderer#onSurfaceCreated(javax.microedition.khronos.opengles.GL10, + javax.microedition.khronos.egl.EGLConfig) onSurfaceCreated()}: The system calls this + method once, when creating the {@link android.opengl.GLSurfaceView}. Use this method to perform + actions that need to happen only once, such as setting OpenGL environment parameters or + initializing OpenGL graphic objects. + </li> + <li> + {@link + android.opengl.GLSurfaceView.Renderer#onDrawFrame(javax.microedition.khronos.opengles.GL10) + onDrawFrame()}: The system calls this method on each redraw of the {@link + android.opengl.GLSurfaceView}. Use this method as the primary execution point for + drawing (and re-drawing) graphic objects.</li> + <li> + {@link + android.opengl.GLSurfaceView.Renderer#onSurfaceChanged(javax.microedition.khronos.opengles.GL10, + int, int) onSurfaceChanged()}: The system calls this method when the {@link + android.opengl.GLSurfaceView} geometry changes, including changes in size of the {@link + android.opengl.GLSurfaceView} or orientation of the device screen. For example, the system calls + this method when the device changes from portrait to landscape orientation. Use this method to + respond to changes in the {@link android.opengl.GLSurfaceView} container. + </li> + </ul> + </dd> +</dl> + +<p>Once you have established a container view for OpenGL using {@link +android.opengl.GLSurfaceView} and {@link android.opengl.GLSurfaceView.Renderer}, you can begin +calling OpenGL APIs using the following classes:</p> + +<ul> + <li>OpenGL ES 1.0/1.1 API Packages + <ul> + <li>{@link javax.microedition.khronos.opengles} - This package provides the standard +implementation of OpenGL ES 1.0 and 1.1. + <ul> + <li>{@link javax.microedition.khronos.opengles.GL10}</li> + <li>{@link javax.microedition.khronos.opengles.GL10Ext}</li> + <li>{@link javax.microedition.khronos.opengles.GL11}</li> + <li>{@link javax.microedition.khronos.opengles.GL11Ext}</li> + <li>{@link javax.microedition.khronos.opengles.GL11ExtensionPack}</li> + </ul> + </li> + <li>{@link android.opengl} - This package provides a static interface to the OpenGL classes + above. These interfaces were added with Android 1.6 (API Level 4). + <ul> + <li>{@link android.opengl.GLES10}</li> + <li>{@link android.opengl.GLES10Ext}</li> + <li>{@link android.opengl.GLES11}</li> + <li>{@link android.opengl.GLES10Ext}</li> + </ul> + </li> + </ul> + </li> + <li>OpenGL ES 2.0 API Class + <ul> + <li>{@link android.opengl.GLES20 android.opengl.GLES20}</li> + </ul> + </li> +</ul> -<p>Several samples using OpenGL ES are available in the <a -href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/graphics/index.html">API -Demos</a> sample application. +<h2 id="compatibility">OpenGL Versions and Device Compatibility</h2> + +<p> + The OpenGL ES 1.0 and 1.1 API specifications have been supported since Android 1.0. +Beginning with Android 2.2 (API Level 8), the framework supports the OpenGL ES 2.0 API +specification. OpenGL ES 2.0 is supported by most Android devices and is recommended for new +applications being developed with OpenGL. For information about the relative number of +Android-powered devices that support a given version of OpenGL ES, see the <a +href="{@docRoot}resources/dashboard/opengl.html">OpenGL ES Versions Dashboard</a>.</p> + +<h3 id="textures">Texture compression support</h3> +<p>Texture compression can significantly increase the performance of your OpenGL application by +reducing memory requirements and making more efficient use of memory bandwidth. The Android +framework provides support for the ETC1 compression format as a standard feature, including a {@link +android.opengl.ETC1Util} utility class and the {@code etc1tool} compression tool (located in your +Android SDK at {@code <sdk>/tools/}).</p> + +<p>For an example of an Android application that uses texture compression, see the <a +href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/graphics/ +CompressedTextureActivity.html">CompressedTextureActivity</a> code sample. </p> -<p>A summary of how to actually write 3D applications using OpenGL is -beyond the scope of this text and is left as an exercise for the reader.</p> +<p>To check if the ETC1 format is supported on a device, call the {@link +android.opengl.ETC1Util#isETC1Supported() ETC1Util.isETC1Supported()} method.</p> -<h2>Links to Additional Information</h2> +<p class="note"><b>Note:</b> The ETC1 texture compression format does not support textures with an +alpha channel. If your application requires textures with an alpha channel, you should +investigate other texture compression formats available on your target devices.</p> -<p>Information about OpenGL ES can be -found at <a title="http://www.khronos.org/opengles/" -href="http://www.khronos.org/opengles/">http://www.khronos.org/opengles/</a>.</p> +<p>Beyond the ETC1 format, Android devices have varied support for texture compression based on +their GPU chipsets. You should investigate texture compression support on the the devices you are +are targeting to determine what compression types your application should support.</p> -<p>Information specifically -about OpenGL ES 1.0 (including a detailed specification) can be found -at <a title="http://www.khronos.org/opengles/1_X/" -href="http://www.khronos.org/opengles/1_X/">http://www.khronos.org/opengles/1_X/</a>.</p> +<p>To determine if texture compression formats other than ETC1 are supported on a particular +device:</p> +<ol> + <li>Run the following code on your target devices to determine what texture compression +formats are supported: +<pre> + String extensions = javax.microedition.khronos.opengles.GL10.glGetString(GL10.GL_EXTENSIONS); +</pre> + <p class="warning"><b>Warning:</b> The results of this call vary by device! You must run this +call on several target devices to determine what compression types are commonly supported on +your target devices.</p> + </li> + <li>Review the output of this method to determine what extensions are supported on the +device.</li> +</ol> -<p>The documentation for the Android OpenGL ES implementations are available in {@link -android.opengl} and {@link javax.microedition.khronos.opengles}.</p> +<h3 id="declare-compression">Declaring compressed textures</h3> +<p>Once you have decided which texture compression types your application will support, you +must declare them in your manifest file using <a +href="{@docRoot}guide/topics/manifest/supports-gl-texture-element.html"> +<supports-gl-texture></a>. Declaring this information in your manifest file hides your +application from users with devices that do not support at least one of your declared +compression types. For more information on how Android Market filtering works for texture +compressions, see the <a +href="{@docRoot}guide/topics/manifest/supports-gl-texture-element.html#market-texture-filtering"> +Android Market and texture compression filtering</a> section of the {@code +<supports-gl-texture>} documentation. diff --git a/docs/html/index.jd b/docs/html/index.jd index eeeedd080541..dce46f9cecad 100644 --- a/docs/html/index.jd +++ b/docs/html/index.jd @@ -148,19 +148,18 @@ href="{@docRoot}resources/dashboard/platform-versions.html">Learn more »</ 'tv': { 'layout':"imgLeft", - 'icon':"tv_s.png", + 'icon':"GTV_icon_small.png", 'name':"Google TV", - 'img':"tv_l.png", - 'title':"Announcing Google TV!", - 'desc': "<p><a href='http://www.google.com/tv/'>Google TV</a> is a new platform " - + "for television built on Android. Google " - + "has partnered with Sony and Logitech to integrate " - + "this platform into TVs, blu-ray players, and companion " - + "boxes. </p>" - + "<p><a href='http://www.google.com/tv/'>Learn more about " - + "Google TV »</a></p>" + 'img':"GTV_icon_large.png", + 'title':"Google TV!", + 'desc': "<p>Build something big. By big, we mean <em>worthy-of-the-living-room</em> big.</p>" + + " <p>Use <a href='http://code.google.com/tv'>Google TV</a> to bring the power of Android" + + " and Google Chrome to television." + + " The average American watches five hours of TV per day. Give them the web and apps" + + " to update their status, listen to music, watch web videos, and much more...</p>" }, + 'devphone': { 'layout':"imgLeft", 'icon':"devphone-small.png", diff --git a/docs/html/resources/dashboard/opengl.jd b/docs/html/resources/dashboard/opengl.jd index dac8ce5e98e6..3fcfa89141c2 100644 --- a/docs/html/resources/dashboard/opengl.jd +++ b/docs/html/resources/dashboard/opengl.jd @@ -57,7 +57,7 @@ ending on the data collection date noted below.</p> <div class="dashboard-panel"> <img alt="" width="400" height="250" -src="http://chart.googleapis.com/chart?cht=p&chs=400x250&chco=c4df9b,6fad0c&chl=GL%20ES%201.1|GL%20ES%202.0&chd=t%3A8.9,91.1" /> +src="http://chart.googleapis.com/chart?cht=p&chs=400x250&chco=c4df9b,6fad0c&chl=GL%201.1|GL%202.0%20%26%201.1&chd=t%3A8.9,91" /> <table> <tr> @@ -66,11 +66,11 @@ src="http://chart.googleapis.com/chart?cht=p&chs=400x250&chco=c4df9b,6fad0c&chl= </tr> <tr> <td>1.1</th> -<td>8.9%</td> +<td>9%</td> </tr> <tr> <td>2.0</th> -<td>91.1%</td> +<td>91%</td> </tr> </table> diff --git a/docs/html/resources/dashboard/platform-versions.jd b/docs/html/resources/dashboard/platform-versions.jd index 368164d55904..d9adb36eb3be 100644 --- a/docs/html/resources/dashboard/platform-versions.jd +++ b/docs/html/resources/dashboard/platform-versions.jd @@ -51,8 +51,8 @@ Android Market within a 14-day period ending on the data collection date noted b <div class="dashboard-panel"> -<img alt="" height="250" width="460" -src="http://chart.apis.google.com/chart?&cht=p&chs=460x250&chd=t:2.3,3.0,24.5,65.9,1.0,3.0,0.3&chl=Android%201.5|Android%201.6|Android%202.1|Android%202.2|Android%202.3|Android%202.3.3|Android%203.0&chco=c4df9b,6fad0c" /> +<img alt="" height="250" width="470" +src="http://chart.apis.google.com/chart?&cht=p&chs=460x250&chd=t:1.4,2.2,17.5,59.4,1.0,17.6,0.4,0.5&chl=Android%201.5|Android%201.6|Android%202.1|Android%202.2|Android%202.3%20-%202.3.2|Android%202.3.3%20-%202.3.4|Android%203.0|Android%203.1&chco=c4df9b,6fad0c" /> <table> <tr> @@ -60,16 +60,19 @@ src="http://chart.apis.google.com/chart?&cht=p&chs=460x250&chd=t:2.3,3.0,24.5,65 <th>API Level</th> <th>Distribution</th> </tr> -<tr><td>Android 1.5</td><td>3</td><td>2.3%</td></tr> -<tr><td>Android 1.6</td><td>4</td><td>3.0%</td></tr> -<tr><td>Android 2.1</td><td>7</td><td>24.5%</td></tr> -<tr><td>Android 2.2</td><td>8</td><td>65.9%</td></tr> -<tr><td>Android 2.3</td><td>9</td><td>1.0%</td></tr> -<tr><td>Android 2.3.3</td><td>10</td><td>3.0%</td></tr> -<tr><td>Android 3.0</td><td>11</td><td>0.3%</td></tr> +<tr><td>Android 1.5</td><td>3</td><td>1.4%</td></tr> +<tr><td>Android 1.6</td><td>4</td><td>2.2%</td></tr> +<tr><td>Android 2.1</td><td>7</td><td>17.5%</td></tr> +<tr><td>Android 2.2</td><td>8</td><td>59.4%</td></tr> +<tr><td>Android 2.3 -<br/> + Android 2.3.2</td><td>9</td><td>1%</td></tr> +<tr><td>Android 2.3.3 -<br/> + Android 2.3.4</td><td>10</td><td>17.6%</td></tr> +<tr><td>Android 3.0</td><td>11</td><td>0.4%</td></tr> +<tr><td>Android 3.1</td><td>12</td><td>0.5%</td></tr> </table> -<p><em>Data collected during two weeks ending on May 2, 2011</em></p> +<p><em>Data collected during a 14-day period ending on July 5, 2011</em></p> <!-- <p style="font-size:.9em">* <em>Other: 0.1% of devices running obsolete versions</em></p> --> @@ -98,9 +101,9 @@ Android Market within a 14-day period ending on the date indicated on the x-axis <div class="dashboard-panel"> <img alt="" height="250" width="660" style="padding:5px;background:#fff" -src="http://chart.apis.google.com/chart?&cht=lc&chs=660x250&chxt=x,x,y,r&chxr=0,0,12|1,0,12|2,0,100|3,0,100&chxl=0%3A%7C11/01%7C11/15%7C12/01%7C12/15%7C01/01%7C01/15%7C02/01%7C02/15%7C03/01%7C03/15%7C04/01%7C04/15%7C05/01%7C1%3A%7C2010%7C%7C%7C%7C2011%7C%7C%7C%7C%7C%7C%7C%7C2011%7C2%3A%7C0%25%7C25%25%7C50%25%7C75%25%7C100%25%7C3%3A%7C0%25%7C25%25%7C50%25%7C75%25%7C100%25&chxp=0,0,1,2,3,4,5,6,7,8,9,10,11,12&chxtc=0,5&chd=t:100.0,99.9,99.8,99.7,100.0,99.9,99.9,99.9,100.0,99.8,99.7,99.6,99.6|92.0,92.7,93.4,94.1,95.2,95.6,96.0,96.3,96.7,96.8,97.0,97.1,97.3|77.4,79.6,82.2,84.4,87.2,88.3,89.7,90.5,91.5,92.0,93.5,93.9,94.3|37.1,40.5,44.3,47.7,51.8,54.3,58.3,59.7,61.5,63.0,66.4,68.0,69.8|0.0,0.0,0.0,0.0,0.4,0.6,0.7,0.8,1.1,1.7,2.5,3.1,4.0|0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.7,2.2,3.0&chm=b,c3df9b,0,1,0|tAndroid 1.6,689326,1,0,15,,t::-5|b,b4db77,1,2,0|tAndroid 2.1,547a19,2,0,15,,t::-5|b,a5db51,2,3,0|tAndroid 2.2,3f5e0e,3,0,15,,t::-5|b,96dd28,3,4,0|b,83c916,4,5,0|B,6fad0c,5,6,0&chg=7,25&chdl=Android 1.5|Android 1.6|Android 2.1|Android 2.2|Android 2.3|Android 2.3.3&chco=add274,9dd14f,8ece2a,7ab61c,659b11,507d08" /> +src="http://chart.apis.google.com/chart?&cht=lc&chs=660x250&chxt=x,x,y,r&chxr=0,0,12|1,0,12|2,0,100|3,0,100&chxl=0%3A%7C01/01%7C01/15%7C02/01%7C02/15%7C03/01%7C03/15%7C04/01%7C04/15%7C05/01%7C05/15%7C06/01%7C06/15%7C07/01%7C1%3A%7C2011%7C%7C%7C%7C%7C%7C%7C%7C%7C%7C%7C%7C2011%7C2%3A%7C0%25%7C25%25%7C50%25%7C75%25%7C100%25%7C3%3A%7C0%25%7C25%25%7C50%25%7C75%25%7C100%25&chxp=0,0,1,2,3,4,5,6,7,8,9,10,11,12&chxtc=0,5&chd=t:100.0,99.9,99.9,99.9,100.0,99.8,99.7,99.6,99.6,99.5,99.4,99.3,99.2|95.2,95.6,96.0,96.3,96.7,96.8,97.0,97.1,97.3,97.5,97.5,97.5,97.7|87.2,88.3,89.7,90.5,91.5,92.0,93.5,93.9,94.3,94.8,95.0,95.2,95.5|51.8,54.3,58.3,59.7,61.5,63.0,66.4,68.0,69.8,71.5,73.9,75.4,77.6|0.4,0.6,0.7,0.8,1.1,1.7,2.5,3.1,4.0,6.1,9.5,13.6,17.8|0.0,0.0,0.0,0.0,0.0,1.0,1.7,2.2,3.0,5.1,8.4,12.6,16.8&chm=b,c3df9b,0,1,0|b,b4db77,1,2,0|tAndroid 2.1,547a19,2,0,15,,t::-5|b,a5db51,2,3,0|tAndroid2.2,3f5e0e,3,0,15,,t::-5|b,96dd28,3,4,0|b,83c916,4,5,0|tAndroid2.3.3,131d02,5,11,15,,t::-5|B,6fad0c,5,6,0&chg=7,25&chdl=Android 1.5|Android 1.6|Android 2.1|Android2.2|Android 2.3|Android 2.3.3&chco=add274,9dd14f,8ece2a,7ab61c,659b11,507d08" /> -<p><em>Last historical dataset collected during two weeks ending on May 2, 2011</em></p> +<p><em>Last historical dataset collected during a 14-day period ending on July 5, 2011</em></p> </div><!-- end dashboard-panel --> diff --git a/docs/html/resources/dashboard/screens.jd b/docs/html/resources/dashboard/screens.jd index bdaae0dcbcb8..e61e79972170 100644 --- a/docs/html/resources/dashboard/screens.jd +++ b/docs/html/resources/dashboard/screens.jd @@ -60,7 +60,7 @@ ending on the data collection date noted below.</p> <div class="dashboard-panel"> <img alt="" width="400" height="250" -src="http://chart.googleapis.com/chart?cht=p&chs=400x250&chco=c4df9b,6fad0c&chl=xlarge%20/%20mdpi|large%20/%20mdpi|normal%20/%20hdpi|normal%20/%20ldpi|normal%20/%20mdpi|small%20/%20hdpi&chd=t%3A0.5,2.6,75.5,1.2,17.1,3.2" /> +src="http://chart.googleapis.com/chart?cht=p&chs=400x250&chco=c4df9b,6fad0c&chl=Xlarge%20/%20mdpi|Large%20/%20mdpi|Normal%20/%20hdpi|Normal%20/%20ldpi|Normal%20/%20mdpi|Small%20/%20hdpi&chd=t%3A0.9,2.8,75,1.0,17,3.3" /> <table> <tr> @@ -71,31 +71,31 @@ src="http://chart.googleapis.com/chart?cht=p&chs=400x250&chco=c4df9b,6fad0c&chl= <th scope="col">xhdpi</th> </tr> <tr><th scope="row">small</th> -<td></td> <!-- ldpi --> -<td></td> <!-- mdpi --> -<td>3.2%</td> <!-- hdpi --> -<td></td> <!-- xhdpi --> +<td></td> <!-- small/ldpi --> +<td></td> <!-- small/mdpi --> +<td>3.3%</td> <!-- small/hdpi --> +<td></td> <!-- small/xhdpi --> </tr> <tr><th scope="row">normal</th> -<td>1.2%</td> <!-- ldpi --> -<td>17.1%</td> <!-- mdpi --> -<td>75.5%</td> <!-- hdpi --> -<td></td> <!-- xhdpi --> +<td>1%</td> <!-- normal/ldpi --> +<td>17%</td> <!-- normal/mdpi --> +<td>75%</td> <!-- normal/hdpi --> +<td></td> <!-- normal/xhdpi --> </tr> <tr><th scope="row">large</th> -<td></td> <!-- ldpi --> -<td>2.6%</td> <!-- mdpi --> -<td></td> <!-- hdpi --> -<td></td> <!-- xhdpi --> +<td></td> <!-- large/ldpi --> +<td>2.8%</td> <!-- large/mdpi --> +<td></td> <!-- large/hdpi --> +<td></td> <!-- large/xhdpi --> </tr> <tr><th scope="row">xlarge</th> -<td></td> <!-- ldpi --> -<td>0.5%</td> <!-- mdpi --> -<td></td> <!-- hdpi --> -<td></td> <!-- xhdpi --> +<td></td> <!-- xlarge/ldpi --> +<td>0.9%</td> <!-- xlarge/mdpi --> +<td></td> <!-- xlarge/hdpi --> +<td></td> <!-- xlarge/xhdpi --> </tr> </table> -<p><em>Data collected during a 7-day period ending on May 6, 2011</em></p> +<p><em>Data collected during a 7-day period ending on July 1, 2011</em></p> </div> diff --git a/docs/html/sdk/eclipse-adt.jd b/docs/html/sdk/eclipse-adt.jd index 8840f5c28ac4..18f47a691656 100644 --- a/docs/html/sdk/eclipse-adt.jd +++ b/docs/html/sdk/eclipse-adt.jd @@ -1,8 +1,8 @@ page.title=ADT Plugin for Eclipse -adt.zip.version=11.0.0 -adt.zip.download=ADT-11.0.0.zip -adt.zip.bytes=TODO -adt.zip.checksum=TODO +adt.zip.version=12.0.0 +adt.zip.download=ADT-12.0.0.zip +adt.zip.bytes=5651973 +adt.zip.checksum=8ad85d0f3da4a2b8dadfddcc2d66dbcb @jd:body diff --git a/docs/html/sdk/index.jd b/docs/html/sdk/index.jd index e7b8fbb20c64..5cf37c120233 100644 --- a/docs/html/sdk/index.jd +++ b/docs/html/sdk/index.jd @@ -1,21 +1,21 @@ page.title=Android SDK sdk.redirect=0 -sdk.win_installer=installer_r11-windows.exe -sdk.win_installer_bytes=32883649 -sdk.win_installer_checksum=3dc8a29ae5afed97b40910ef153caa2b +sdk.win_installer=installer_r12-windows.exe +sdk.win_installer_bytes=36531492 +sdk.win_installer_checksum=367f0ed4ecd70aefc290d1f7dcb578ab -sdk.win_download=android-sdk_r11-windows.zip -sdk.win_bytes=32837554 -sdk.win_checksum=0a2c52b8f8d97a4871ce8b3eb38e3072 +sdk.win_download=android-sdk_r12-windows.zip +sdk.win_bytes=36486190 +sdk.win_checksum=8d6c104a34cd2577c5506c55d981aebf -sdk.mac_download=android-sdk_r11-mac_x86.zip -sdk.mac_bytes=28844968 -sdk.mac_checksum=85bed5ed25aea51f6a447a674d637d1e +sdk.mac_download=android-sdk_r12-mac_x86.zip +sdk.mac_bytes=30231118 +sdk.mac_checksum=341544e4572b4b1afab123ab817086e7 -sdk.linux_download=android-sdk_r11-linux_x86.tgz -sdk.linux_bytes=26984929 -sdk.linux_checksum=026c67f82627a3a70efb197ca3360d0a +sdk.linux_download=android-sdk_r12-linux_x86.tgz +sdk.linux_bytes=30034243 +sdk.linux_checksum=f8485275a8dee3d1929936ed538ee99a @jd:body |