From 9e6c0686be3e36d70bf2f687bdf4d477e70e6ee3 Mon Sep 17 00:00:00 2001 From: Scott Main Date: Wed, 26 Jan 2011 16:23:37 -0800 Subject: [PATCH] catchup the gingerbread branch to gingerbread-docs for all sdk docs This is just a manual copy of all files that changed, rather than a dozen cherry picks. Change-Id: I672f74a2ec9242a1d96713d1d84bfc4d2d47dd85 --- docs/html/sdk/android-3.0-highlights.jd | 266 +++++++++++++++++ docs/html/sdk/eclipse-adt.jd | 120 +++++++- docs/html/sdk/images/3.0/browser.png | Bin 0 -> 77642 bytes docs/html/sdk/images/3.0/browser_full.png | Bin 0 -> 780637 bytes docs/html/sdk/images/3.0/camera.png | Bin 0 -> 1105840 bytes docs/html/sdk/images/3.0/camera_full.png | Bin 0 -> 1105840 bytes docs/html/sdk/images/3.0/contacts.png | Bin 0 -> 19160 bytes docs/html/sdk/images/3.0/contacts_full.png | Bin 0 -> 127887 bytes docs/html/sdk/images/3.0/copy.png | Bin 0 -> 48425 bytes docs/html/sdk/images/3.0/copy_full.png | Bin 0 -> 96138 bytes docs/html/sdk/images/3.0/home_hero1.png | Bin 0 -> 157184 bytes docs/html/sdk/images/3.0/home_hero1_full.png | Bin 0 -> 703617 bytes docs/html/sdk/images/3.0/homescreen_cust_port.png | Bin 0 -> 83106 bytes .../sdk/images/3.0/homescreen_cust_port_full.png | Bin 0 -> 665591 bytes docs/html/sdk/images/3.0/mail_drag.png | Bin 0 -> 26878 bytes docs/html/sdk/images/3.0/mail_drag_full.png | Bin 0 -> 120391 bytes docs/html/sdk/images/3.0/tasks.png | Bin 0 -> 76589 bytes docs/html/sdk/images/3.0/tasks_full.png | Bin 0 -> 753902 bytes docs/html/sdk/images/3.0/widgets.png | Bin 0 -> 236461 bytes docs/html/sdk/index.jd | 24 +- docs/html/sdk/installing.jd | 1 - docs/html/sdk/oem-usb.jd | 81 ++++++ docs/html/sdk/preview/index.jd | 183 +++++++++++- docs/html/sdk/requirements.jd | 4 +- docs/html/sdk/sdk_toc.cs | 30 +- docs/html/sdk/tools-notes.jd | 56 ++++ docs/html/sdk/win-usb.jd | 313 ++++++++++++--------- 27 files changed, 910 insertions(+), 168 deletions(-) create mode 100644 docs/html/sdk/android-3.0-highlights.jd create mode 100644 docs/html/sdk/images/3.0/browser.png create mode 100644 docs/html/sdk/images/3.0/browser_full.png create mode 100644 docs/html/sdk/images/3.0/camera.png create mode 100644 docs/html/sdk/images/3.0/camera_full.png create mode 100644 docs/html/sdk/images/3.0/contacts.png create mode 100644 docs/html/sdk/images/3.0/contacts_full.png create mode 100644 docs/html/sdk/images/3.0/copy.png create mode 100644 docs/html/sdk/images/3.0/copy_full.png create mode 100644 docs/html/sdk/images/3.0/home_hero1.png create mode 100644 docs/html/sdk/images/3.0/home_hero1_full.png create mode 100644 docs/html/sdk/images/3.0/homescreen_cust_port.png create mode 100644 docs/html/sdk/images/3.0/homescreen_cust_port_full.png create mode 100644 docs/html/sdk/images/3.0/mail_drag.png create mode 100644 docs/html/sdk/images/3.0/mail_drag_full.png create mode 100644 docs/html/sdk/images/3.0/tasks.png create mode 100644 docs/html/sdk/images/3.0/tasks_full.png create mode 100644 docs/html/sdk/images/3.0/widgets.png create mode 100644 docs/html/sdk/oem-usb.jd diff --git a/docs/html/sdk/android-3.0-highlights.jd b/docs/html/sdk/android-3.0-highlights.jd new file mode 100644 index 000000000000..f48aed895f2c --- /dev/null +++ b/docs/html/sdk/android-3.0-highlights.jd @@ -0,0 +1,266 @@ +page.title=Android 3.0 Platform Highlights + +@jd:body + + + + + + + + + +

Welcome to Android 3.0!

+ +

The Android 3.0 platform introduces many new and exciting features for users and developers. +This document provides a glimpse of some of the new features and technologies, as delivered in the Android 3.0 Preview SDK. For more information about the SDK or how to download it, please see the Preview SDK document.

+ + + +

New User Features

+ +
+
+ +

New UI designed from the ground up for tablets

+ +

Android 3.0 is a new version of the Android platform that is specifically optimized for devices with larger screen sizes, particularly tablets. It introduces a brand new, truly virtual and “holographic” UI design, as well as an elegant, content-focused interaction model.

+ +

Android 3.0 builds on the things people love most about Android — refined multitasking, rich notifications, Home screen customization, widgets, and more — and transforms them with a vibrant, 3D experience and deeper interactivity, making them familiar but even better than before.

+ +

The new UI brings fresh paradigms for interaction, navigation, and customization and makes them available to all applications — even those built for earlier versions of the platform. Applications written for Android 3.0 are able to use an extended set of UI objects, powerful graphics, and media capabilities to engage users in new ways.

+ +

System Bar, for global status and notifications

+ +

Across the system and in all applications, users have quick access to notifications, system status, and soft navigation buttons in a System Bar, available at the bottom of the screen. The System Bar is always present and is a key touchpoint for users, but in a new "lights out mode" can also be dimmed for full-screen viewing, such as for videos.

+ +

Action Bar, for application control

+ +

In every application, users have access to contextual options, navigation, widgets, or other types of content in an Action Bar, displayed at the top of the screen. The Action Bar is always present when an application is in use, although its content, theme, and other properties are managed by the application rather than the system. The Action Bar is another key touchpoint for users, especially with action items and an overflow dropdown menu, which users frequently access in a similar manner in most applications.

+ +
+ +
+
+ +

Customizable Home screens

+ +

Five customizable Home screens give users instant access to all parts of the system from any context. Each screen offers a large grid that maintains spatial arrangement in all orientations. Users can select and manipulate Home screen widgets, app shortcuts, and wallpapers using a dedicated visual layout mode. Visual cues and drop shadows improve visibility when adjusting the layout of shortcuts and widgets. Each Home screen also offers a familiar launcher for access to all installed applications, as well as a Search box for universal search of apps, contacts, media files, web content, and more.

+ +
+ +
+
+ +
+ +

Recent Apps, for easy visual multitasking

+ +

Multitasking is a key strength of Android and it is central to the Android 3.0 experience. As users launch applications to handle various tasks, they can use the Recent Apps list in the System Bar to see the tasks underway and quickly jump from one application context to another. To help users rapidly identify the task associated with each app, the list shows a snapshot of its actual state when the user last viewed it.

+ +
+ + +

Redesigned keyboard

+ +

The Android soft keyboard is redesigned to make entering text fast and accurate on larger screen sizes. The keys are reshaped and repositioned for improved targeting, and new keys have been added, such as a Tab key, to provide richer and more efficient text input. Users can touch-hold keys to access menus of special characters and switch text/voice input modes from a button in the System Bar.

+ +
+
+ + +

Improved text selection, copy and paste

+ +

When entering or viewing text, a new UI lets users quickly select a word by press-hold and then adjust the selection area as needed by dragging a set of bounding arrows to new positions. Users can then select an action from the Action Bar, such as copy to the clipboard, share, paste, web search, or find.

+ + +

New connectivity options

+ +

Android 3.0 includes new connectivity features that add versatility and convenience for users. Built-in support for Media/Photo Transfer Protocol lets users instantly sync media files with a USB-connected camera or desktop computer, without needing to mount a USB mass-storage device. Users can also connect full keyboards over either USB or Bluetooth, for a familiar text-input environment. For improved wi-fi connectivity, a new combo scan reduces scan times across bands and filters. New support for Bluetooth tethering means that more types of devices can share the network connection of an Android-powered device.

+ + +

Updated set of standard apps

+ +
+

+
+ +

The Android 3.0 platform includes an updated set of standard applications that are designed for use on larger screen devices. The sections below highlight some of the new features.

+ +Browser

+ +

The browser includes new features that let users navigate and organize more efficiently. Multiple tabs replace browser windows and a new “incognito” mode allows anonymous browsing. Bookmarks and history are presented and managed in a single unified view. Users can now choose to automatically sign into Google sites on the browser with a supplied account and sync bookmarks with Google Chrome. New multitouch support is now available to JavaScript and plugins. Users can enjoy a better browsing experience at non-mobile sites through an improved zoom and viewport model, overflow scrolling, support for fixed positioning, and more.

+ +

Camera and Gallery

+ +

The Camera application has been redesigned to take advantage of a larger screen for quick access to exposure, focus, flash, zoom, front-facing camera, and more. The Gallery application lets users view albums and other collections in full-screen mode, with easy access to thumbnails for other photos in the collection.

+ +

Contacts

+ +

The Contacts app uses a new two-pane UI and Fast Scroll to let users easily organize and locate contacts. The application offers improved formatting of international phone numbers as user types, based on home country and an international number parsing library. Contact information is presented in a card-like UI, making it easier for users to read and edit contacts.

+ +

Email

+ +

The Email application uses a new two-pane UI to make viewing and organizing messages more efficient. The app lets users select one or more messages, then select an action from the Action Bar, such as moving them to a folder. Users can sync attachments for later viewing and keep track of email using a home screen Widget.

+ +
+ + +

New Developer Features

+ +

The Android 3.0 platform is designed specially to meet the unique needs of applications on devices with larger screen sizes. It offers all of the tools developers need to create incredible visual and interaction experiences on these devices.

+ + + +

New UI Framework for creating great tablet apps

+ +
+
+ + +

Activity fragments, for greater control of content and design flexibility

+ +

Starting with Android 3.0, developers can break the Activities of their applications into subcomponents called Fragments, then combine them in a variety of ways to create a richer, more interactive experience. For example, an application can use a set of Fragments to create a true multipane UI, with the user being able to interact with each pane independently. Fragments can be added, removed, replaced, and animated inside an Activity dynamically, and they are modular and reusable across multiple Activities. Because they are modular, Fragments also offer an efficient way for developers to write applications that can run properly on both larger screen as well as smaller screen devices.

+ +
+ +

Redesigned UI widgets

+ +

Android 3.0 offers an updated set of UI widgets that developers can use to quickly add new types of content to their applications. The new UI widgets are redesigned for use on larger screens such as tablets and incorporate the new holographic UI theme. Several new widget types are available, including a 3D stack, search box, a date/time picker, number picker, calendar, popup menu, and others. Most of the redesigned UI widgets can now be used as remote views in application widgets displayed on the home screen. Applications written for earlier versions can inherit the new Widget designs and themes.

+ + +
+
+ +

Expanded Home screen widgets

+ +

Home screen widgets are popular with users because they offer fast access to application-specific data directly from the home screen. Android 3.0 lets developers take home screen widgets to the next level, offering more types of content and new modes of interaction with users. Developers can now use more standard UI widget types home screen widgets, including widgets that let users flip through collections of content as 3D stacks, grids, or lists. Users can interact with the home screen widgets in new ways, such as by using touch gestures to scroll and flip the content displayed in a widget.

+ +
+ +

Persistent Action Bar

+ +

The platform provides each application with its own instance of the Action Bar at the top of the screen, which the application can use to give the user quick access to contextual options, widgets, status, navigation, and more. The application can also customize the display theme of its Action Bar instance. The Action Bar lets developers expose more features of their applications to users in a familiar location, while also unifying the experience of using an application that spans multiple Activities or states.

+ +

Richer notifications

+ +

Notifications are a key part of the Android user experience because they let applications show key updates and status information to users in real time. Android 3.0 extends this capability, letting developers include richer content and control more properties. A new builder class lets developers quickly create notifications that include large and small icons, a title, a priority flag, and any properties already available in previous versions. Notifications can offer more types of content by building on the expanded set of UI Widgets that are now available as remote Views.

+ +
+
+ +

Multiselect, clipboard, and drag-and-drop

+ +

The platform offers convenient new interaction modes that developers can use. For managing collections of items in lists or grids, developers can offer a new multiselect mode that lets users choose multiple items for an action. Developers can also use a new system-wide Clipboard to let users easily copy any type of data into and out of their applications. To make it easier for users to manage and organize files, developers can now add drag-and-drop interaction through a DragEvent framework.

+ +
+ + +

High-performance 2D and 3D graphics

+ +

New animation framework

+ +

The platform includes a flexible new animation framework that lets developers easily animate the properties of UI elements such as Views, Widgets, Fragments, Drawables, or any arbitrary object. Animations can create fades or movement between states, loop an animated image or an existing animation, change colors, and much more. Adding animation to UI elements can add visual interest to an application and refine the user experience, to keep users engaged.

+ +

Hardware-accelerated 2D graphics

+ +

Android 3.0 offers a new hardware-accelerated OpenGL renderer that gives a performance boost to many common graphics operations for applications running in the Android framework. When the renderer is enabled, most operations in Canvas, Paint, Xfermode, ColorFilter, Shader, and Camera are accelerated. Developers can control how hardware-acceleration is applied at every level, from enabling it globally in an application to enabling it in specific Activities and Views inside the application.

+ +

Renderscript 3D graphics engine

+ +

Renderscript is a runtime 3D framework that provides both an API for building 3D scenes as well as a special, platform-independent shader language for maximum performance. Using Renderscript, you can accelerate graphics operations and data processing. Renderscript is an ideal way to create high-performance 3D effects for applications, wallpapers, carousels, and more.

+ + +

Support for multicore processor architectures

+ +

Android 3.0 is the first version of the platform designed to run on either single or multicore processor architectures. A variety of changes in the Dalvik VM, Bionic library, and elsewhere add support for symmetric multiprocessing in multicore environments. These optimizations can benefit all applications, even those that are single-threaded. For example, with two active cores, a single-threaded application might still see a performance boost if the Dalvik garbage collector runs on the second core. The system will arrange for this automatically.

+ + +

Rich multimedia and connectivity

+ +

HTTP Live streaming

+ +

Applications can now pass an M3U playlist URL to the media framework to begin an HTTP Live streaming session. The media framework supports most of the HTTP Live streaming specification, including adaptive bit rate.

+ +

Pluggable DRM framework

+ +

Android 3.0 includes an extensible DRM framework that lets applications manage protected content according to a variety of DRM mechanisms that may be available on the device. For application developers, the framework API offers an consistent, unified API that simplifies the management of protected content, regardless of the underlying DRM engines.

+ +

Digital media file transfer

+ +

The platform includes built-in support for Media/Picture Transfer Protocol (MTP/PTP) over USB, which lets users easily transfer any type of media files between devices and to a host computer. Developers can build on this support, creating applications that let users create or manage media files that they may want to transfer or share across devices.

+ +

More types of connectivity

+ +

The platform offers new connectivity that developers can build on. API support for Bluetooth A2DP and HSP profiles lets applications query Bluetooth profiles for connected devices, audio state, and more, then notify the user. For example, a music application can check connectivity and status and let the user know that music is playing through a stereo headset. Applications can also register to receive system broadcasts of pre-defined vendor-specific AT commands, such as Platronics Xevent. For example, an application could receive broadcasts that indicate a connected device's battery level and could notify the user or take other action as needed. Applications can also take advantage of the platform's new support for full keyboards connected by USB or Bluetooth.

+ + +

Enhancements for enterprise

+ +

In Android 3.0, developers of device administration applications can support new types of policies, including policies for encrypted storage, password expiration, password history, and password complex characters required.

+ +

Compatibility with existing apps

+ +

Android 3.0 brings a new UI designed for tablets and other larger screen devices, but it also is fully compatible with applications developed for earlier versions of the platform, or for smaller screen sizes. Existing applications can seamlessly participate in the new holographic UI theme without code changes, by adding a single attribute in their manifest files. The platform emulates the Menu key, which is replaced by the overflow menu in the Action Bar in the new UI. Developers wanting to take fuller advantage of larger screen sizes can also create dedicated layouts and assets for larger screens and add them to their existing applications.

+ + +

More information

+ +
+ + + + + +
+ +

For more information about the new developer APIs, see the Android 3.0 Platform notes in the SDK Preview documentation, available by download through the Android SDK Manager.

+ +

For a video overview of platform features, see the Android 3.0 Sneak Peek.

+ + diff --git a/docs/html/sdk/eclipse-adt.jd b/docs/html/sdk/eclipse-adt.jd index 0d1ea0c8c11d..62e27d3be456 100644 --- a/docs/html/sdk/eclipse-adt.jd +++ b/docs/html/sdk/eclipse-adt.jd @@ -1,9 +1,8 @@ page.title=ADT Plugin for Eclipse -sdk.preview=0 -adt.zip.version=8.0.1 -adt.zip.download=ADT-8.0.1.zip -adt.zip.bytes=8724909 -adt.zip.checksum=0e62185279083ddc01f18098ce7ba2d1 +adt.zip.version=9.0.0 +adt.zip.download=ADT-9.0.0.zip +adt.zip.bytes=4433536 +adt.zip.checksum=bc2757f2a5a11d131390ce547bae154b @jd:body @@ -100,6 +99,115 @@ padding: .25em 1em; +ADT 9.0.0 (January 2011) +
+ +
+ +
Dependencies:
+ +
ADT 9.0.0 is designed for use with SDK Tools r9. If you haven't +already installed SDK Tools r9 into your SDK, use the Android SDK and AVD Manager to do +so.
+ +
General notes:
+
+
    +
  • "Go To Declaration" hyperlink support: You can jump directly from code references (such as + R.id.main) to the corresponding XML declaration, or from XML attributes (such as + @string) to the corresponding resource definition, or from manifest XML + registrations to activities and services.
  • +
  • Improvements were made to name refactoring.
  • +
  • AVDs now automatically save their state, so they can restart almost instantly. You can enable this feature when + creating an AVD or by editing an AVD with the AVD Manager.
  • +
  • Improvements to the Visual Layout Editor: +
      +
    • Support for rendering targets: You can now choose an arbitrary Android platform to + render the current page, regardless of the project's minimum platform. This makes it + easy to verify the layout and appearance of your activity on different versions of + the platform. +
    • +
    • Improved support for empty and nested layouts: Dragging items over nested and + invisible layouts automatically enlarges and highlights these layouts, so that they + can receive drops. +
    • +
    • XML formatting improvements: The editor generates cleaner XML and you can now enable + XML auto-formatting in the Preferences menu.
    • +
    • Improved Outline labels: The Outline tab now displays additional information about each + View. Textual Views display a snippet of the actual text. Views with a source + (such as ImageView) displays the resource name. Included Views display the name of the View. +
    • +
    • When you right click a View in the Layout Editor, + the context menu now contains Edit ID... and Edit Text... + items. The Properties... context menus now list all of the properties and + provide a way to edit them + (Details). +
    • +
    • The layout editor now properly handles + <include> + and <merge> + tags (Details).
    • +
    • "Extract as Include" refactoring: The Layout Editor has a new refactoring that allows + you to select one or more views in a layout, and extract it into a separate layout + (Details).
    • +
    • Improved diagnostics for class loading and rendering errors: Class loading and rendering + error messages are more useful and provide better information about the root cause of the + error.
    • +
    • Improved error handling to prevent drag and reordering operations from adding children + into an {@link android.widget.AdapterView}.
    • +
    • Outline reordering: Reordering your views in the Outline tab is much easier + (Details).
    • +
    • Fix for keybinding bug where keyboard shortcuts did not work (Issues + 13231 and + 13134).
    • +
    • Fix for problems with Custom layout attribute menu (Issue + 13134).
    • +
    • Automatic configuration for various view types: Certain views have properties configured + by default. For example, the width of an {@link android.widget.EditText} object is set to + match_parent when added to a vertical {@link android.widget.LinearLayout} + or a default image is added to an {@link android.widget.ImageButton}.
    • +
    • Previews during dragging: Dragging from the palette or dragging within the layout editor + now shows live previews of the dragged item.
    • +
    • Navigation improvements: In the Layout Editor, double-clicking Views jumps to the + corresponding XML element. In the Outline view, double-clicking opens the Properties view.
    • +
    • The editor has Honeycomb style animation preview support.
    • +
    • Improved rendering support for various Views (such as TabHosts and SlidingDrawers) in + Honeycomb (Issues 3162 + and 13092).
    • +
    • Included layouts can be rendered and edited in the context of the layouts that include + them. From a layout using an + <include> tag, double-clicking on the + + <include> element edits the referenced layout in the context of the + current layout. Additionally, when editing a layout that is included by other layouts, + you can quickly change between context layouts, by right clicking in the editor and choosing + Show included in.... This feature is only available in Honeycomb.
    • +
    +
  • +
  • This release fixes many other bugs, but the most important ones are listed below: +
      +
    • Fixed issue that prevented launching debug builds on productions devices when + debuggable=true was not set in the Android manifest.
    • +
    • The LogCat view in DDMS properly handles UTF-8 characters.
    • +
    • The SDK Manager is more reliable on Windows + (Details).
    • +
    • A JUnit initialization bug that prevented you from working with JUnit tests was fixed + (Issue 12411).
    • +
    +
  • +
+
+
+
+
+ + + + +
+ + ADT 8.0.1 (December 2010)
@@ -121,7 +229,7 @@ so.

Also see the recent release notes for 8.0.0, below.

-
+
diff --git a/docs/html/sdk/images/3.0/browser.png b/docs/html/sdk/images/3.0/browser.png new file mode 100644 index 0000000000000000000000000000000000000000..5d3ba3112654b80e7e325e9e741af564b8b9452a GIT binary patch literal 77642 zcmXt91yodByQV?98A2MQyF|KELb|&|TDrTDltw_hLAtw3knS#Nq~Y%GU+W&1F|$Ty zpS|CB;yn?{AEnWdiIAb7pwMJxBvhfGphdvHhmc^vpZFG4Pv9?TXH{u2sLBbFL+}E@ zL|$3~>h-^0KiZ2D!8>mpWVD^3piprB`wb11o(TbOBD%;bN+K>p6XD>Z8|MgnLqU;4 z$x4W-xi6ixdt{PGdkE{PuR4>pa(b;6Ga#~AERotWx>3BqH1-yY7(ZCVxLI}JL|pQhqwXv3m(4jsi6bz zScKE}IlHS-1dw-6{Tu@lubD`^Mq*rYZw8PkA~C05DT5&cxTaF{lyK~!qN&EH(d^Od z;zR_6KOFlYmcm>L8f}NXUibs4?7^?X@3y^FJ7cLgMosO!Js6<&QC?w8H+?wPE-y7W zy|%r^r>785l(-@(O~WynTqaO2X{(EK(~7rIUAhpkP2%fscvm2o?EAm{Bh<{JIR#MT zh9SL))RHPL`H^(yNbIW|oU7=Z16i+(NF_-dpFjospRmpfQ5($oY(%2X>-(@OPBSWs+_)w#p@w*TT1|Z_$;eq4LK^dra zFwO-;RDEo;Jw5EkI$Gbk^A~!_&4ZB!WK@zqS6XYRGmOFQe~jMM8G<>&*v|ap$+{k_ z-$2}p>}z+2YKn_2>E(rpMOj~8kS_H#D-t3e%`Qgmvx#M@mO%ZHK#u!aHySf930us) zF+JrADvB&UjRZCXylz7IX|0feq`4W*zJ?b}+NFh*YsMk?fmkY>n@2-jUXJh;UqW)f zhpF?jGT6RuvLFd7@V@8DOOzp)&^Q=Uz(#d00VzmYXXFWOj8+l*DM882xosKEtgSjo zj}ddv_Ji?2n_Pb))jaKdnOkv&*fbbY#7TzNspPTg?%6zD>|aorgVg^fK7Id>Ky;zjY_LC+R!tiei^&*lsAz=lDBeuUh}q%0TKlN z*Vp?}0wKrNEZRiv8M=aKb_wg)nSMw}Jdy#ziab_N5{Hn!XeWo9Xio{tvi3iYXzA;q z>jCZlH-gUfL!I?H%n8&ga=D6Y#h2?QK2lGj;g|?Vvb?woGfnQ{=Wq&`meOJ03RSc| zx!a$&8-H7&W0(5t%1BXLXq{v+P7tiJ74(C#ecx6yJ%y7>(bO9c()-Y^;C}j~+uQD~ z2D0)l2&zi7t0g^@zQDD0+?J=LbO2(gJ;vNNQ5hbWh^f+&I&Pszt=f#8eWqy|qy}s1 zpq~9%O>)x`VVmhXhr1%0z3fk^HPM-9!cPTSSn?#RdkO>#h