Wednesday, October 14, 2015

Html5 apa itu?

HTML5 Pendahuluan

Apa yang Baru di HTML5?

Deklarasi DOCTYPE untuk HTML5 sangat sederhana:

<!DOCTYPE html>

Pengkodean karakter (charset) deklarasi juga sangat sederhana:

<meta charset="UTF-8">

HTML5 Contoh:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title of the document</title>
</head>

<body>
Content of the document......
</body>

</html>

Pengkodean karakter default di HTML5 adalah UTF-8.

Baru HTML5 Elemen

Unsur-unsur baru yang paling menarik adalah: 

New semantik unsur-unsur seperti <header>, <footer>, <article>, dan <section>.

Bentuk baru kontrol atribut seperti nomor, tanggal, waktu, kalender, dan jangkauan.

New grafis elemen: <svg> dan <canvas>.

New multimedia elemen: <audio yang> dan <video>.

Dalam bab HTML5 Support, Anda akan belajar bagaimana "mengajar" browser lama untuk menangani HTML5 semantik.

New HTML5 API (Application Programming Interfaces)

Yang paling menarik baru API adalah:

HTML GeolocationHTML Drag dan DropHTML Penyimpanan LokalHTML Aplikasi CachePekerja Web HTMLHTML SSE

Penyimpanan lokal adalah pengganti yang kuat untuk cookies.

Elemen Dihapus di HTML5

Unsur-unsur HTML4 berikut telah dihapus dari HTML5:

ElemenMenggunakan bukan<acronym><abbr><applet><object><basefont>CSS<big>CSS<center>CSS<dir><ul><font>CSS<frame> <frameset> <noframes> <strike>CSS<tt>CSS

Dalam bab HTML5 Migrasi, Anda akan mempelajari cara mudah bermigrasi dari HTML4 ke HTML5. 

HTML Sejarah

Sejak hari-hari awal web, ada banyak versi HTML:

VersionYearTim Berners-Lee invented www1989Tim Berners-Lee invented HTML1991Dave Raggett drafted HTML+1993HTML Working Group defined HTML 2.01995W3C Recommended HTML 3.21997W3C Recommended HTML 4.011999W3C Recommended XHTML 1.02000HTML5 WHATWG First Public Draft2008HTML5 WHATWG Living Standard2012HTML5 W3C Final Recommendation2014

Tim Berners-Lee menciptakan "World Wide Web" pada tahun 1989, dan internet melepas pada 1990-an.

Dari tahun 1991 hingga 1998, HTML dikembangkan dari versi 1 ke versi 4. 

Pada tahun 2000, World Wide Web Consortium (W3C) merekomendasikan XHTML 1.0. 

XHTML sintaks adalah ketat, dan pengembang dipaksa untuk menulis sah dan "well-formed" kode.

Pada tahun 2004, WHATWG (Kelompok Kerja Teknologi Web Hypertext Application) dibentuk sebagai jawaban untuk memperlambat perkembangan W3C, dan keputusan W3C untuk menutup pengembangan HTML, mendukung XHTML.

WHATWG ingin mengembangkan HTML, konsisten dengan bagaimana web itu digunakan, sementara kompatibel dengan versi HTML.

Pada periode 2004-2006, inisiatif WHATWG mendapat dukungan oleh vendor browser utama.

Pada tahun 2006, W3C mengumumkan bahwa mereka akan mendukung WHATWG.

Pada tahun 2008, pertama HTML5 rancangan publik dirilis.

Pada 2012, WHATWG dan W3C memutuskan pemisahan:

WHATWG akan mengembangkan HTML sebagai "Living Standard".

Sebuah standar hidup tidak pernah sepenuhnya lengkap, tapi selalu diperbarui dan diperbaiki. Fitur baru dapat ditambahkan, tetapi fungsi lama tidak dapat dihapus.

The WHATWG Living Standard diterbitkan pada tahun 2012, dan terus diperbarui.

W3C akan mengembangkan HTML5 definitif dan standar XHTML5, sebagai "snapshot" dari WHATWG.

The W3C HTML5 rekomendasi dirilis Oktober 2014 28.

HTML5 didukung di semua browser modern.

Selain itu, semua browser, lama dan baru, secara otomatis menangani elemen yang belum diakui sebagai elemen inline.

Karena ini, Anda dapat "mengajar" browser lama untuk menangani "tidak diketahui" elemen HTML.

Anda bahkan bisa mengajar IE6 (Windows XP 2001) bagaimana menangani elemen HTML tidak diketahui.

Mendefinisikan HTML5 Elemen sebagai Blok Elements

HTML5 mendefinisikan delapan baru semantik elemen HTML. Semua ini adalah blok-tingkat elemen.

Untuk mengamankan perilaku yang benar di browser lama, Anda dapat mengatur CSS display properti untuk memblokir:

header, section, footer, aside, nav, main, article, figure {
    display: block; 
}

Menambahkan New Elemen untuk HTML

Anda juga dapat menambahkan elemen baru ke HTML dengan trik browser.

Contoh ini menambahkan elemen baru yang disebut <myHero> ke HTML, dan mendefinisikan gaya tampilan untuk itu:

Contoh

<!DOCTYPE html>
<html>
<head>
  <title>Creating an HTML Element</title>
  <script>document.createElement("myHero")</script>
  <style>
  myHero {
      display: block;
      background-color: #ddd;
      padding: 50px;
      font-size: 30px;
  } 
  </style> 
</head>
<body>

<h1>My First Heading</h1>

<p>My first paragraph.</p>

<myHero>My First Hero</myHero>

</body>
</html>

Coba Sendiri »

JavaScript Pernyataan document.createElement ("myHero") ditambahkan, hanya untuk memuaskan IE.

Masalah Dengan Internet Explorer

Anda bisa menggunakan solusi yang dijelaskan di atas, untuk semua elemen HTML5 baru, namun:

Internet Explorer 8 dan sebelumnya, tidak memungkinkan styling dari unsur yang tidak diketahui.

Untungnya, Sjoerd Visscher menciptakan "JavaScript HTML5 Mengaktifkan","shiv":

<!--[if lt IE 9]>
  <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

Kode di atas adalah komentar, tapi versi sebelumnya untuk IE9 akan membacanya (dan mengerti).

The Shiv Solusi Lengkap

Contoh

<!DOCTYPE html>
<html>
<head>
  <title>Styling HTML5</title>
  <!--[if lt IE 9]>
  <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
  <![endif]-->
</head>
<body>

<h1>My First Article</h1>

<article>
London is the capital city of England. It is the most populous city in the United Kingdom, with a metropolitan area of over 13 million inhabitants.
</article>

</body>
</html>

Coba Sendiri »

Link ke kode shiv harus ditempatkan dalam <head> elemen, karena Internet Explorer perlu tahu tentang semua elemen baru sebelum membaca mereka.

Sebuah HTML5 Skeleton

Contoh

<!DOCTYPE html>
<html lang="en">
<head>
<title>HTML5 Skeleton</title>
<meta charset="utf-8">

<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js">
</script>
<![endif]-->

<style>
body {font-family: Verdana, sans-serif; font-size:0.8em;}
header,nav, section,article,footer
{border:1px solid grey; margin:5px; padding:8px;}
nav ul {margin:0; padding:0;}
nav ul li {display:inline; margin:5px;}
</style>
</head>
<body>

<header>
  <h1>HTML5 SKeleton</h1>
</header>

<nav>
<ul>
  <li><ahref="html5_semantic_elements.asp">HTML5 Semantic</a></li>
  <li><a href="html5_geolocation.asp">HTML5 Geolocation</a></li>
  <li><a href="html5_canvas.asp">HTML5 Graphics</a></li>
</ul>
</nav>

<section>

<h1>Famous Cities</h1>

<article>
<h2>London</h2>
<p>London is the capital city of England. It is the most populous city in the United Kingdom,
with a metropolitan area of over 13 million inhabitants.</p>
</article>

<article>
<h2>Paris</h2>
<p>Paris is the capital and most populous city of France.</p>
</article>

<article>
<h2>Tokyo</h2>
<p>Tokyo is the capital of Japan, the center of the Greater Tokyo Area,
and the most populous metropolitan area in the world.</p>
</article>

</section>

<footer>
<p>&copy; 2014 W3Schools. All rights reserved.</p>
</footer>

</body>
</html>

Coba Sendiri »

HTML5 Semantic Elements

«Sebelumnya

Berikutnya Bab »

Semantik adalah studi tentang makna kata-kata dan frase dalam bahasa.

Unsur semantik adalah elemen dengan makna.

Apa Unsur Semantic?

Unsur semantik jelas menggambarkan artinya untuk kedua browser dan pengembang.

Contoh non-semantik elemen: <div> dan <span> - Menceritakan apa-apa tentang isinya.

Contoh semantik elemen: <form>, <table>, dan <img> - Jelas mendefinisikan isinya.

Dukungan Browser

    

HTML5 elemen semantik yang didukung di semua browser modern.

Selain itu, Anda dapat "mengajar" browser lama bagaimana menangani "elemen yang tidak diketahui".

Membacanya di HTML5 Browser Dukungan.

Elemen Semantic baru di HTML5

Banyak situs web berisi kode HTML seperti: <div id = "nav"> <div class = "header"> <div id = "footer"> 
untuk menunjukkan navigasi, header, dan footer.

HTML5 menawarkan unsur semantik baru untuk menentukan bagian yang berbeda dari halaman web:  

<article><aside><rincian><figcaption><figure><footer><header><utama><mark><nav><section><summary><time>

HTML5 <section> Elemen

The <section> elemen mendefinisikan bagian dalam sebuah dokumen.

Menurut HTML5 dokumentasi W3C: "bagian adalah pengelompokan tematik konten, biasanya dengan judul."

Halaman rumah Sebuah situs Web dapat dibagi menjadi beberapa bagian untuk pengenalan, konten, dan informasi kontak.

Contoh

<section>
  <h1>WWF</h1>
  <p>The World Wide Fund for Nature (WWF) is....</p>
</section>

Cobalah sendiri »

HTML5 <article> Elemen

<Article> elemen menentukan independen, konten mandiri.

Sebuah artikel harus masuk akal sendiri, dan itu harus mungkin untuk membacanya secara independen dari sisa situs web.

Contoh di mana <article> elemen dapat digunakan:

Posting forumBlog postingArtikel koran

Contoh

<article>
  <h1>What Does WWF Do?</h1>
  <p>WWF's mission is to stop the degradation of our planet's natural environment,
  and build a future in which humans live in harmony with nature.</p>
</article>

Coba Sendiri »

Elemen Semantic Nesting

Dalam standar HTML5, <article> elemen mendefinisikan lengkap, blok mandiri elemen terkait.

The <section> elemen didefinisikan sebagai sebuah blok elemen terkait.

Dapatkah kita menggunakan definisi untuk memutuskan bagaimana elemen sarang? Tidak, kita tidak bisa!

Di Internet, Anda akan menemukan halaman HTML dengan <section> elemen mengandung <article> elemen, dan <article> elemen mengandung <bagian> elemen.

Anda juga akan menemukan halaman dengan <section> elemen mengandung <section> elemen, dan <article> elemen mengandung <article> elemen.

Koran: Olahraga artikel di olahraga bagian, memiliki teknis bagiandi setiap artikel.

HTML5 <header> Elemen

The <header> elemen menentukan header untuk dokumen atau bagian.

The <header> elemen harus digunakan sebagai wadah untuk konten pengantar.

Anda dapat memiliki beberapa <header> elemen dalam satu dokumen.

Contoh berikut mendefinisikan header untuk sebuah artikel:

Contoh

<article>
  <header>
    <h1>What Does WWF Do?</h1>
    <p>WWF's mission:</p>
  </header>
  <p>WWF's mission is to stop the degradation of our planet's natural environment,
  and build a future in which humans live in harmony with nature.</p>
</article>

Coba Sendiri »

HTML5 <footer> Elemen

The <footer> elemen menentukan footer untuk dokumen atau bagian.

A <footer> elemen harus berisi informasi tentang elemen yang mengandung.

Sebuah footer biasanya berisi penulis informasi dokumen, hak cipta, link ke persyaratan penggunaan, informasi kontak, dll

Anda dapat memiliki beberapa <footer> elemen dalam satu dokumen.

Contoh

<footer>
  <p>Posted by: Hege Refsnes</p>
  <p>Contact information: <ahref="mailto:someone@example.com">
  someone@example.com</a>.</p>
</footer>

Coba Sendiri »

HTML5 <nav> Elemen

The <nav> elemen mendefinisikan satu set link navigasi.

The <nav> elemen ditujukan untuk blok besar link navigasi. Namun, tidak semua link dalam dokumen harus di dalam <nav> elemen!

Contoh

<nav>
  <a href="/html/">HTML</a> |
  <a href="/css/">CSS</a> |
  <a href="/js/">JavaScript</a> |
  <a href="/jquery/">jQuery</a>
</nav>

Coba Sendiri »

HTML5 <aside> Elemen

The <aside> elemen mendefinisikan beberapa konten selain dari konten itu ditempatkan di (seperti sidebar).

Samping konten harus berkaitan dengan isi sekitarnya.

Contoh

<p>My family and I visited The Epcot center this summer.</p>

<aside>
  <h4>Epcot Center</h4>
  <p>The Epcot Center is a theme park in Disney World, Florida.</p>
</aside>

Coba Sendiri »

HTML5 <angka> dan <figcaption> Elemen

Dalam buku-buku dan surat kabar, itu adalah umum untuk memiliki keterangan dengan gambar.

Tujuan dari keterangan adalah menambahkan penjelasan visual untuk gambar.

Dengan HTML5, gambar dan keterangan dapat dikelompokkan bersama dalam <figure> elemen:

Contoh

<figure>
  <img src="pic_mountain.jpg" alt="The Pulpit Rock" width="304" height="228">
  <figcaption>Fig1. - The Pulpit Rock, Norway.</figcaption>
</figure>

Coba Sendiri »

The <img> elemen mendefinisikan gambar, <figcaption> elemen mendefinisikan judul.

Mengapa Semantic HTML5 Elements?

Dengan HTML4, pengembang menggunakan favorit mereka sendiri atribut nama untuk elemen halaman gaya:

header, atas, bawah, footer, menu, navigasi, utama, wadah, konten, artikel, sidebar, topnav, ...

Hal ini membuat tidak mungkin untuk mesin pencari untuk mengidentifikasi konten halaman web yang benar.

Dengan unsur-unsur HTML5 seperti: <header> <footer> <nav> <section> <article>, ini akan menjadi lebih mudah.

Menurut W3C, Web Semantic:

"Memungkinkan data yang akan dibagi dan digunakan kembali seluruh aplikasi, perusahaan, dan masyarakat."


Unsur semantik di HTML5

Di bawah ini adalah daftar abjad dari unsur-unsur semantik baru di HTML5.

Link pergi ke kami lengkap HTML5 Referensi.

TagDescription<article>Defines an article<aside>Defines content aside from the page content<details>Defines additional details that the user can view or hide<figcaption>Defines a caption for a <figure> element<figure>Specifies self-contained content, like illustrations, diagrams, photos, code listings, etc.<footer>Defines a footer for a document or section<header>Specifies a header for a document or section<main>Specifies the main content of a document<mark>Defines marked/highlighted text<nav>Defines navigation links<section>Defines a section in a document<summary>Defines a visible heading for a <details> element<time>Defines a date/time

HTML5 Migrasi

«Sebelumnya

Berikutnya Bab »

Migrasi dari HTML4 ke HTML5

Bab ini sepenuhnya tentang bagaimana bermigrasi dari khas HTML4halaman untuk khas HTML5 halaman.

Bab ini menunjukkan bagaimana mengkonversi halaman HTML4 ke dalam halaman HTML5, tanpa merusak apapun dari konten asli atau struktur.

Anda dapat bermigrasi ke HTML5 dari HTML4 atau XHTML, menggunakan resep yang sama ..HTML4 khasHTML5 khas<div id = "header"><header><div id = "menu"><nav><div id = "content"><section><div id = "post"><article><div id = "footer"><footer>

Sebuah Khas HTML4 Halaman

Contoh

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type"content="text/html;charset=utf-8">
<title>HTML4</title>
<style>
  body {font-family:Verdana,sans-serif;font-size:0.8em;}
  div#header,div#footer,div#content,div#post 
  {border:1px solid grey;margin:5px;margin-bottom:15px;padding:8px;background-color:white;}
  div#header,div#footer {color:white;background-color:#444;margin-bottom:5px;}
  div#content {background-color:#ddd;}
  div#menu ul {margin:0;padding:0;}
  div#menu ul li {display:inline; margin:5px;}
</style>
</head>
<body>

<div id="header">
  <h1>Monday Times</h1>
</div>

<div id="menu">
  <ul>
    <li>News</li>
    <li>Sports</li>
    <li>Weather</li>
  </ul>
</div>

<div id="content">
<h2>News Section</h2>

<div id="post">
  <h2>News Article</h2>
  <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum 
  lurum hurum turum.</p>
  <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum 
  lurum hurum turum.</p>
</div>

<div id="post">
  <h2>News Article</h2>
  <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum 
  lurum hurum turum.</p>
  <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum 
  lurum hurum turum.</p>
</div>

</div>

<div id="footer">
  <p>&amp;copy; 2014 Monday Times. All rights reserved.</p>
</div>

</body>
</html>

Coba Sendiri »

Ubah ke HTML5 DOCTYPE

Mengubah DOCTYPE, dari doctype HTML4:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

dengan DOCTYPE HTML5:

Contoh

<!DOCTYPE html>

Coba Sendiri »

Ubah ke HTML5 Encoding

Ubah pengkodean informasi, dari HTML4:

<meta http-equiv="Content-Type"content="text/html;charset=utf-8">

untuk HTML5:

Contoh

<meta charset="utf-8">

Coba Sendiri »

Tambahkan The Shiv

HTML5 elemen semantik yang didukung di semua browser modern.

Selain itu, Anda dapat "mengajar" browser lama bagaimana menangani "elemen yang tidak diketahui".

Tambahkan dengan belati untuk dukungan Internet Explorer:

Contoh

<!--[if lt IE 9]>
  <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

Coba Sendiri »

Baca tentang yang belati di HTML5 Browser Dukungan.

Tambahkan CSS untuk HTML5 Semantic Elements

Lihatlah gaya CSS yang ada:

div#header,div#footer,div#content,div#post {
    border:1px solid grey;margin:5px;margin-bottom:15px;padding:8px;background-color:white;
}
div#header,div#footer {
    color:white;background-color:#444;margin-bottom:5px;
}
div#content {
    background-color:#ddd;
}
div#menu ul {
    margin:0;padding:0;
}
div#menu ul li {
    display:inline; margin:5px;
}

Duplikat dengan gaya CSS yang sama untuk HTML5 elemen semantik:

Contoh

header,footer,section,article {
    border:1px solid grey;margin:5px;margin-bottom:15px;padding:8px;background-color:white;
}
header,footer {
    color:white;background-color:#444;margin-bottom:5px;
}
section {
    background-color:#ddd;
}
nav ul  {
    margin:0;padding:0;
}
nav ul li {
    display:inline; margin:5px;
}

Coba Sendiri »

Ubah ke HTML5 <header> dan <footer>

Mengubah <div> elemen dengan id = "header" dan id = "footer":

<div id="header">
  <h1>Monday Times</h1>
</div>
.
.
.
<div id="footer">
  <p>&amp;copy; 2014 W3Schools. All rights reserved.</p>
</div>

untuk HTML5 semantik <header> dan <footer> elemen:

Contoh

<header>
  <h1>Monday Times</h1>
</header>
.
.
.
<footer>
  <p>&copy; 2014 W3Schools. All rights reserved.</p>
</footer>

Coba Sendiri »

Ubah ke HTML5 <nav>

Mengubah <div> elemen dengan id = "menu":

<div id="menu">
  <ul>
    <li>News</li>
    <li>Sports</li>
    <li>Weather</li>
  </ul>
</div>

ke semantik HTML5 <nav> Elemen:

Contoh

<nav>
  <ul>
    <li>News</li>
    <li>Sports</li>
    <li>Weather</li>
  </ul>
</nav>

Coba Sendiri »

Ubah ke HTML5 <section>

Mengubah <div> elemen dengan id = "content":

<div id="content">
.
.
.
</div>

ke HTML5 semantik <section> elemen:

Contoh

<section>
.
.
.
</section>

Coba Sendiri »

Ubah ke HTML5 <article>

Mengubah semua elemen <div> dengan class = "post":

<div class="post">
  <h2>News Article</h2>
  <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum 
  lurum hurum turum.</p>
</div>

untuk HTML5 semantik <article> elemen:

Contoh

<article>
  <h2>News Article</h2>
  <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum 
  lurum hurum turum.</p>
</article>

Coba Sendiri »

Hilangkan "tidak lagi diperlukan" <style> elemen:

Contoh

div#header,div#footer,div#content,div#post {
    border:1px solid grey;margin:5px;margin-bottom:15px;padding:8px;background-color:white;
}
div#header,div#footer {
    color:white;background-color:#444;margin-bottom:5px;
}
div#content {
    background-color:#ddd;
}
div#menu ul {
    margin:0;padding:0;
}
div#menu ul li {
    display:inline; margin:5px;
}

Coba Sendiri »

Sebuah Khas HTML5 Halaman

Akhirnya Anda dapat menghapus <head> tag. Mereka tidak diperlukan dalam HTML5:

Contoh

<!DOCTYPE html>
<html lang="en">
<title>HTML5</title>
<meta charset="utf-8">

<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js">
</script>
<![endif]-->

<style>
body {
    font-family:Verdana,sans-serif;font-size:0.8em;
}
header,footer,section,article {
    border:1px solid grey;
    margin:5px;margin-bottom:15px;padding:8px;
    background-color:white;
}
header,footer {
    color:white;background-color:#444;margin-bottom:5px;
}
section {
    background-color:#ddd;
}
nav ul {
    margin:0;padding:0;
}
nav ul li {
    display:inline; margin:5px;
}
</style>
<body>

<header>
  <h1>Monday Times</h1>
</header>

<nav>
  <ul>
    <li>News</li>
    <li>Sports</li>
    <li>Weather</li>
  </ul>
</nav>

<section>
<h2>News Section</h2>

<article>
  <h2>News Article</h2>
  <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum 
  lurum hurum turum.</p>
  <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum 
  lurum hurum turum.</p>
  <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum 
  lurum hurum turum.</p>
</article>

<article>
<h2>News Article</h2>
  <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum 
  lurum hurum turum.</p>
  <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum 
  lurum hurum turum.</p>
  <p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum 
  lurum hurum turum.</p>
</article>

</section>

<footer>
  <p>&amp;copy; 2014 Monday Times. All rights reserved.</p>
</footer>

</body>
</html>

Coba Sendiri »

Perbedaan Antara <article> <section> dan <div>

Ada membingungkan (kurangnya) perbedaan dalam standar HTML5, antara <article> <section> dan <div>.

Dalam standar HTML5, yang <section> elemen didefinisikan sebagai sebuah blok elemen terkait.

<Article> elemen didefinisikan sebagai lengkap, blok mandiri elemen terkait.

<Div> elemen didefinisikan sebagai blok anak elemen.

Bagaimana menafsirkan itu?

Dalam contoh di atas, kita telah menggunakan <section> sebagai wadah untuk berhubungan <artikel>.

Tapi, kita bisa menggunakan <article> sebagai wadah untuk artikel juga.

Berikut adalah beberapa contoh yang berbeda:

<article> di <article>:

<article>

<h2>Famous Cities</h2>

<article>
<h2>London</h2>
<p>London is the capital city of England. It is the most populous city in the United Kingdom,
with a metropolitan area of over 13 million inhabitants.</p>
</article>

<article>
<h2>Paris</h2>
<p>Paris is the capital and most populous city of France.</p>
</article>

<article>
<h2>Tokyo</h2>
<p>Tokyo is the capital of Japan, the center of the Greater Tokyo Area,
and the most populous metropolitan area in the world.</p>
</article>

</article>

Coba Sendiri »

<div> di <article>:

<article>

<h2>Famous Cities</h2>

<div class="city">
<h2>London</h2>
<p>London is the capital city of England. It is the most populous city in the United Kingdom,
with a metropolitan area of over 13 million inhabitants.</p>
</div>

<div class="city">
<h2>Paris</h2>
<p>Paris is the capital and most populous city of France.</p>
</div>

<div class="city">
<h2>Tokyo</h2>
<p>Tokyo is the capital of Japan, the center of the Greater Tokyo Area,
and the most populous metropolitan area in the world.</p>
</div>

</article>

Coba Sendiri »

<div> di <section> di <article>:

<article>

<section>
<h2>Famous Cities</h2>

<div class="city">
<h2>London</h2>
<p>London is the capital city of England. It is the most populous city in the United Kingdom,
with a metropolitan area of over 13 million inhabitants.</p>
</div>

<div class="city">
<h2>Paris</h2>
<p>Paris is the capital and most populous city of France.</p>
</div>

<div class="city">
<h2>Tokyo</h2>
<p>Tokyo is the capital of Japan, the center of the Greater Tokyo Area,
and the most populous metropolitan area in the world.</p>
</div>
</section>

<section>
<h2>Famous Countries</h2>

<div class="country">
<h2>England</h2>
<p>London is the capital city of England. It is the most populous city in the United Kingdom,
with a metropolitan area of over 13 million inhabitants.</p>
</div>

<div class="country">
<h2>France</h2>
<p>Paris is the capital and most populous city of France.</p>
</div>

<div class="country">
<h2>Japan</h2>
<p>Tokyo is the capital of Japan, the center of the Greater Tokyo Area,
and the most populous metropolitan area in the world.</p>
</div>
</section>

</article>

Coba Sendiri »

W3org


NAV

KENDALIKAN - WEB ANDA, LOGO ANDA

SEBUAH LOGO HTML5

Berdiri kuat dan benar, tangguh dan universal sebagai markup Anda menulis. Itu bersinar sebagai terang dan berani seperti yang berpikiran maju, web developer khusus Anda. Ini standar standar, sebuah panji untuk kemajuan. Dan tentu tidak menggunakan tabel untuk layout.

Kami menyajikan sebuah logo HTML5.

GUNAKAN LOGO

Anda memiliki HTML5 pada otak.Memberitahu dunia.

BADGE 
BUILDERHTML5 LOGO
DOWNLOADS

TAMPILKAN BEBERAPA CINTA

Logo HTML5 ini dilisensikan di bawah lisensi Creative Commons Atribusi 3.0 - semua bebas untuk menggunakan dan menata kembali sebagai mereka mau.

HTML5 
STIKERHTML5 
AKSESORIS

HTML5 DI WILD

HTML5 galeri logo (di bawah) menunjukkan dari kreativitas masyarakat. Kami mengundang Anda untuk mengirimkan penampakan Anda, apakah screen shot atau film atau cupcakes.

KIRIM SEBUAH 
PENAMPAKANISI THE 
GALLERY

TEKNOLOGI

Imajinasi, memenuhi implementasi. HTML5 adalah landasan dari platform web W3C terbuka; kerangka dirancang untuk mendukung inovasi dan mendorong potensi penuh web yang ditawarkan. Gemborkan koleksi revolusioner ini alat dan standar, sistem identitas HTML5 menyediakan kosa kata visual dengan jelas mengklasifikasikan dan berkomunikasi upaya kolektif kita.

~ 8 dari 8 ~ 

KELAS: CSS3

CSS3 memberikan berbagai stilisasi dan efek, meningkatkan aplikasi web tanpa mengorbankan struktur semantik atau kinerja.Selain itu Web Open Font Format (WOFF) menyediakan fleksibilitas tipografi dan kontrol jauh melampaui apa web telah menawarkan sebelumnya.

BADGE BUILDER 5000

Anda detik dari menakjubkan, lencana Anda sendiri disesuaikan.Jalankan Badge Builder 5000.

ORIENTASI

Sidebar atau footer? Berdiri atau berbaring?

HORISONTAL VERTIKAL

APA TECH ITU?

Membangun logo yang menunjukkan dari apa yang Anda gunakan.

 OFFLINE & STORAGE PERANGKAT ACCESS KONEKTIVITAS / REALTIME KINERJA & INTEGRASI MULTIMEDIA SEMANTIK GRAFIS, 3D & EFEK CSS3 / STYLING

BUILD IT DAN MEREKA AKAN DATANG

PERGERAKAN

Anda sangat gembira tentang HTML5; kita juga. Anda sudah tidak saja menikmati web HTML5 bertenaga sudah - Anda sedang membangun itu! Adopsi dan inspirasi menyebar, masyarakat web akan menemukan cara-cara kreatif untuk menerapkan HTML5 dan teknologi yang terkait, memicu tren, dan menangkap praktik terbaik. Sebagai momentum membangun, kami berharap Anda membawa logo ini sepanjang untuk perjalanan dan cat oranye dunia.

SEBUAH LOGO BERAKSI

Anda tahu bahwa HTML5 lencana Anda menempatkan oh-begitu sempurna di footer Anda? Bahwa HTML5 T-shirt memutar kepala di kantor? Mereka stiker HTML5 pada laptop Anda dan bahwa HTML5 logo Anda mencukur kepala Anda? Kami ingin melihatnya!Menunjukkan kepada kita screenshot, foto, dan upaya-upaya kreatif Anda lainnya dan mereka mungkin berakhir di sini, di Galeri HTML5ivers kami.

Tweet logo Anda penampakan HTML5 dengan hashtag# html5logo

DOWNLOAD

MARK + WORDMARK

SVG

Download

PNG

512px 

256px 128px 64px 32px

MARK HANYA

SVG

Download

PNG

512px 

256px 128px 64px 32px

ELEMEN PENDUKUNG

SVG

Download

PNG

Standar Ukuran 

Ukuran kecil

KELAS TEKNOLOGI

SVG Icon Set

Download

PNG

512px 

256px 128px 64px 32px

SATU LOGOS WARNA

SVG

Hitam 

Putih

PNG

Hitam Putih

STICKER TEMPLATE

SVG

Download

PNG

Standar Ukuran

ORANG MEMBUAT STUFF!

CONTOH STIKER!

Ini adalah stiker yang tersedia ketika kita pertama kali diluncurkan logo.

WEAR IT SEKARANG UNTUK MASA DEPAN

Sejumlah orang yang mengambil logo HTML5 dan emblazoning segala sesuatu dari t-shirt untuk piyama. Berikut mengintip:

THE HTML5 SHIRT - MEMBELI IT!

Setiap Man, Perempuan dan Anak dapat menunjukkan mereka HTML5 Kebanggaan! Sebagian dari setiap penjualan disumbangkan untuk pengembangan W3C HTML5 Test Suite.

Kecuali jika dinyatakan secara lain, isi pada situs ini dilisensikan di bawah Creative Commons Attribution 3.0

BELAJARLAH LAGI

Belajar tentang HTML5HTML5 Spesifikasi

HTML5 LOGO FAQ

Dapatkan semua pertanyaan Logo HTML5 Anda menjawab

Aide - aplikasi android yang bisa membuat aplikasi game

3.2 AIDE dirilis - dengan fitur ahli yang disponsori oleh Intel! 

Kami baru saja merilis AIDE v3.2. Muncul dengan sejumlah dermawan gratis kunci premium milik Intel. Terima kasih #IntelAndroid #IntelAndroid 

Dalam rangka untuk mendapatkan lisensi disponsori hanya menutup proyek Anda, keluar AIDE dan pilih "Expert" setelah restart itu. Anda harus memilih account Google yang lisensi Anda akan terikat. Umpan balik jika Anda telah dipilih untuk lisensi disponsori akan diberikan segera. 

https://play.google.com/store/apps/details?id=com.aide.ui

http://intel.ly/1TOi5dz

Tampilkan teks asli

Semua tentang Android 6.0 Marshmallow

 Developers

 DevelopersHomeAndroidWearTVAutoDesignDevelopTrainingAPI GuidesReferenceToolsGoogle ServicesSamplesDistributeGoogle PlayEssentialsGet UsersEngage & RetainEarnAnalyzeStories

Android 6.0 Marshmallow

Get your apps ready for Android 6.0 Marshmallow! Explore what's new — runtime permissionsDoze and App Standby power-saving features, new assist technology, and more.

 Get started

ABOUT

Android 6.0 Changes

ABOUT

Android 6.0 APIs

ABOUT

Android 6.0 Samples

Resources

Essential information to help you get your apps ready for Android 6.0.

TRAINING

Requesting Permissions at Run Time

Learn about runtime permissions and how they make it easier for users to install and upgrade your apps.

TRAINING

Configuring Auto Backup for Apps

Users frequently invest time and effort to configure apps just the way they like them. Switching to a new device can cancel out all that careful configuration. Devices running Android 6.0 and higher automatically back up app data to the cloud. The system…

TRAINING

Optimizing for Doze and App Standby

Test and optimize your app for the power-saving features in Android 6.0.

TRAINING

Handling App Links

Users following web links on devices are frequently presented with confusing choices. Tapping a link often results in the system asking the user which app should handle that link. For example, clicking a URI in an email from a bank might result in a dialog…

TRAINING

Optimizing Content for the Assistant

Support contextually relevant actions through the Assist API.

TRAINING

Testing Display Performance

User interface (UI) performance testing ensures that your app not only meets its functional requirements, but that user interactions with your app are buttery smooth, running at a consistent 60 frames per second ( why 60fps? ), without any dropped or …

Less

Videos

New Android capabilities and the right way to use them in your apps.

VIDEO

The Nexus 5X, Nexus 6P and Android Marshmallow

The new Nexus 5X and Nexus 6P along with some of the most significant developer features in the latest Android release,.

VIDEO

Introduction to Doze

An overview of Doze and how to make sure that your app behaves as expected both in and out of Doze mode.

VIDEO

Asking For Permission Fine

Picking the right way and time to ask for a permission is critical to it being granted.

VIDEO

New APIs in M for Android for Work

Android M extends Android for Work functionality with a new set of APIs for Enterprise Mobility Management providers to offer new features and policy controls to IT Departments.

VIDEO

App Links

App Links is a new feature of Android Marshmallow that brings a faster way of opening website links for domains that you own.

VIDEO

Fingerprint and payments APIs

New fingerprint and payments APIs are introduced in M, to enable enhanced UX and security for online purchasing, banking, and retail payments.

VIDEO

Data Binding Library

Data Binding Library is a way to write declarative layouts and minimize the glue code necessary to bind your application logic and layouts.

VIDEO

Runtime Permissions in Android 6.0 Marshmallow

Learn how to integrate runtime permissions into your Android app.

VIDEO

Android Auto Backup for Apps

Android Backup is the automatic, cloud-based backup and restore of users’ apps when they set up a new device.

VIDEO

Introduction to Voice Interaction API

This video covers how to use the Voice Interaction API to support system or custom voice actions.

VIDEO

Android for Work: Single Use Devices

Android M is bringing the power of Android to all kinds of workplaces.

VIDEO

Android M Permissions

An introduction to Android M runtime permissions in Android M from Google I/O 2015.

VIDEO

Google I/O 2015 - What's new in Android

This session will highlight the most exciting new developer features of the Android platform.

Less

Latest

BLOG

In-app translations in Android Marshmallow

Google Translate is used by more than 500 million people every month, translating more than 100 billion words every single day.Beginning this week, Android mobile users who have the Translate app installed will be able to translate in 90 languages…

BLOG

Android 6.0 Marshmallow coming to devices soon

Starting next week, Android 6.0 Marshmallow will begin rolling out to supported Nexus devices around the world, including Nexus 5, Nexus 6, Nexus 7 (2013), Nexus 9, Nexus Player, and Android One. At the same time, we’ll be pushing the Android 6.0…

BLOG

Google Play services 8.1: Get ready for Marshmallow!

With the rollout of Google Play services 8.1 finally finished, there’s a lot of new information to share with developers about the release!Android 6.0 (Marshmallow) has introduced a new permissions model allowing users to control app permissions at…

BLOG

New Android Marshmallow sample apps

Three new Android Marshmallow sample applications have gone live this week. As usual they are available directly from the Google Samples repository on GitHub or through the Android Studio samples browser.Android Direct Share SampleDirect Share is a…

BLOG

New permissions requirements for Android TV

Android 6.0 introduces a new runtime permission model that gives users more granular control over granting permissions requested from their apps and leads to faster app installs. Users can also revoke these permissions from Settings at any point of…

BLOG

Building better apps with Runtime Permissions

Runtime permissions give your app the ability to control when and with what context you’ll ask for permissions. This means that users installing your app from Google Play will not be required to accept a list of permissions before installing your…

BLOG

Develop a sweet spot for Marshmallow: Official Android 6.0 SDK & Final M Preview

Whether you like them straight out of the bag, roasted to a golden brown exterior with a molten center, or in fluff form , who doesn’t like marshmallows? We definitely like them! Since the launch of the M Developer Preview at Google I/O in May,…

BLOG

M Developer Preview Gets Its First Update

The Developer Preview 2 update includes the up to date M release platform code, and near-final APIs for you to validate your app. To provide more testing support, we have refined the Nexus system images and emulator system images with the Android…

BLOG

Android M Developer Preview & Tools

Today at Google I/O, we announced a developer preview of the next version of Android, the M release. Last year’s developer preview was a first for Android and we received great feedback. We want to continue to give you developers early access to…

Less

Get news & tips 

Blog Support

  

Except as noted, this content is licensed under Creative Commons Attribution 2.5. For details and restrictions, see the Content License.

About Android Auto TV Wear Legal           English           Español           Bahasa Indonesia           日本語           한국어           Português Brasileiro           Русский           tiếng Việt           中文(简体)           中文(繁體)         

Android 6 Api

 Tampilkan navigasi

Android 6.0 API

Android 6.0 (M) menawarkan fitur baru untuk pengguna dan pengembang aplikasi. Dokumen ini memberikan pengenalan API yang paling menonjol.

Mulai mengembangkan

Untuk mulai membangun aplikasi untuk Android 6.0, Anda harus terlebih dahulumendapatkan SDK Android. Kemudian gunakan SDK manajer untuk men-download Android 6.0 Platform SDK dan Sistem Images.

Memperbarui tingkat API target Anda

Untuk lebih mengoptimalkan aplikasi Anda untuk perangkat yang menjalankan Android, mengatur Anda targetSdkVersion untuk "23", menginstal aplikasi Anda pada gambar sistem Android, mengujinya, maka mempublikasikan aplikasi diperbarui dengan perubahan ini.

Anda dapat menggunakan API Android sementara juga mendukung versi lama dengan menambahkan kondisi ke kode Anda yang memeriksa tingkat sistem API sebelum mengeksekusi API tidak didukung oleh Anda minSdkVersion. Untuk mempelajari lebih lanjut tentang menjaga kompatibilitas, baca Pendukung Versi platform yang berbeda.

Untuk informasi lebih lanjut tentang bagaimana tingkat API bekerja, membaca Apa API Level?

Fingerprint Authentication


Rilis ini menawarkan API baru untuk membiarkan Anda mengotentikasi pengguna dengan menggunakan scan sidik jari mereka pada perangkat yang didukung, Gunakan API ini dalam hubungannya dengan sistem Android Keystore.

Untuk mengotentikasi pengguna melalui pemindaian sidik jari, mendapatkan contoh yang baru FingerprintManager kelas dan memanggil authenticate ()metode. Aplikasi Anda harus berjalan pada perangkat yang kompatibel dengan sensor sidik jari. Anda harus menerapkan antarmuka pengguna untuk aliran otentikasi sidik jari pada aplikasi Anda, dan menggunakan ikon sidik jari standar Android di UI. Ikon sidik jari Android (c_fp_40px.png) termasuk dalam sampel Sidik Jari Dialog. Jika Anda sedang mengembangkan beberapa aplikasi yang menggunakan otentikasi sidik jari, diketahui bahwa setiap aplikasi harus mengotentikasi sidik jari pengguna secara independen.

Untuk menggunakan fitur ini di aplikasi Anda, pertama tambahkanUSE_FINGERPRINT izin dalam manifes Anda.

<menggunakan-izin 
       
android: nama = "android.permission.USE_FINGERPRINT" />

Untuk melihat implementasi aplikasi otentikasi sidik jari, mengacu pada sampel FingerprintDialog. Untuk demonstrasi bagaimana Anda dapat menggunakan API otentikasi ini dalam hubungannya dengan API Android lainnya, lihat video Sidik Jari dan API Pembayaran.

Jika Anda menguji fitur ini, ikuti langkah berikut:

  1. Instal Android SDK Alat Revisi 24,3, jika Anda belum melakukannya.
  2. Mendaftarkan sidik jari baru di emulator dengan pergi keSettings> Security> Sidik Jari,kemudian ikuti petunjuk pendaftaran.
  3. Gunakan emulator untuk meniru peristiwa sentuhan sidik jari dengan perintah berikut. Gunakan perintah yang sama untuk meniru peristiwa sentuhan jari pada lockscreen atau di app.
    adb - e emu sentuhan jari <finger_id>

    Pada Windows, Anda mungkin harus menjalankan telnet 127.0.0.1 <emulator-id> diikuti oleh sentuhan jari <finger_id>.

Konfirmasi Bukti


Aplikasi Anda dapat mengotentikasi pengguna berdasarkan bagaimana baru-baru lalu mereka membuka perangkat mereka. Fitur ini membebaskan pengguna dari harus mengingat password tambahan-aplikasi tertentu, dan menghindari kebutuhan bagi Anda untuk menerapkan antarmuka pengguna otentikasi Anda sendiri. Aplikasi Anda harus menggunakan fitur ini dalam hubungannya dengan pelaksanaan kunci publik atau rahasia untuk otentikasi pengguna.

Untuk mengatur durasi batas waktu yang kunci yang sama dapat digunakan kembali setelah pengguna berhasil dikonfirmasi, sebut barusetUserAuthenticationValidityDurationSeconds () metode ketika Anda membuat sebuah Keygenerator atau KeyPairGenerator.

Hindari menampilkan dialog berlebihan re-otentikasi - aplikasi Anda harus mencoba menggunakan objek kriptografi pertama dan jika batas waktu berakhir, menggunakan createConfirmDeviceCredentialIntent () metode untuk kembali mengotentikasi pengguna dalam aplikasi Anda.

Untuk melihat implementasi aplikasi dari fitur ini, mengacu pada sampel KonfirmasiBukti.

App Menghubungkan


Rilis ini meningkatkan sistem niat Android dengan menyediakan menghubungkan aplikasi yang lebih kuat. Fitur ini memungkinkan Anda untuk mengasosiasikan sebuah aplikasi dengan domain web Anda sendiri. Berdasarkan asosiasi ini, platform dapat menentukan aplikasi default untuk menggunakan untuk menangani link web tertentu dan melewatkan mendorong pengguna untuk memilih sebuah aplikasi. Untuk mempelajari bagaimana menerapkan fitur ini, lihat Penanganan AppLinks.

Backup otomatis untuk Apps


Sistem ini sekarang melakukan otomatis penuh backup data dan restore untuk aplikasi. Aplikasi Anda harus menargetkan Android 6.0 (API tingkat 23) untuk mengaktifkan perilaku ini; Anda tidak perlu menambahkan kode tambahan. Jika pengguna menghapus akun Google mereka, backup data mereka dihapus juga.Untuk mempelajari bagaimana fitur ini bekerja dan bagaimana mengkonfigurasi apa untuk cadangan pada sistem file, lihat Konfigurasi Auto Backup untuk Apps.

Langsung Berbagi


Rilis ini menyediakan API untuk membuat berbagi intuitif dan cepat bagi pengguna. Anda sekarang dapat menentukan target pangsa langsung yang meluncurkan aktivitas spesifik di app. Target pangsa langsung ini terkena pengguna melalui Sharemenu. Fitur ini memungkinkan pengguna untuk berbagi konten dengan target, seperti kontak, dalam aplikasi lain.Misalnya, target pangsa langsung mungkin memulai kegiatan di app jaringan lain sosial, yang memungkinkan berbagi konten pengguna langsung ke teman tertentu atau masyarakat di app itu.

Untuk mengaktifkan target pangsa langsung Anda harus mendefinisikan kelas yang memperluas ChooserTargetService kelas. Menyatakan layanan Anda dalam manifest. Dalam deklarasi itu, tentukan BIND_CHOOSER_TARGET_SERVICE izin dan filter niat menggunakan SERVICE_INTERFACE tindakan.

Contoh berikut menunjukkan bagaimana Anda dapat mendeklarasikanChooserTargetService dalam manifes Anda.

<service  android:name = ".ChooserTargetService" 
       
android:label = "@string/service_name"
       
android:permission = "android.permission.BIND_CHOOSER_TARGET_SERVICE" >
   
<intent-filter>
       
<action android:name = "android.service.chooser.ChooserTargetService" />
   
</intent-filter>
</service>

Untuk setiap kegiatan yang ingin Anda mengekspos keChooserTargetService, menambahkan <meta-data> elemen dengan nama"android.service.chooser.chooser_target_service" dalam manifes aplikasi Anda.

<activity  android:name = ".MyShareActivity” 
        android:label="
@ string / share_activity_label ">
   
<intent-filter>
       
<action android:name = "android.intent.action.SEND" />
   
</intent-filter>
<meta-data
       
android:name = "android.service.chooser.chooser_target_service"
       
android:value = ".ChooserTargetService" />
</activity>

Interaksi suara


Rilis ini memberikan interaksi suara API baru yang, bersama-sama dengan VoiceActions, memungkinkan Anda untuk membangun pengalaman suara percakapan dalam aplikasi Anda. Memanggil isVoiceInteraction () metode untuk menentukan apakah tindakan suara memicu aktivitas Anda. Jika demikian, aplikasi Anda dapat menggunakan VoiceInteractor kelas untuk meminta konfirmasi suara dari pengguna, pilih dari daftar pilihan, dan banyak lagi.

Kebanyakan interaksi suara berasal dari tindakan suara pengguna. Kegiatan interaksi suara dapat juga, bagaimanapun, mulai tanpa input pengguna. Sebagai contoh, aplikasi lain diluncurkan melalui interaksi suara juga dapat mengirim niat untuk memulai interaksi suara. Untuk menentukan apakah aktivitas Anda diluncurkan dari query suara pengguna atau dari aplikasi interaksi suara lain, sebutisVoiceInteractionRoot () metode. Jika aplikasi lain meluncurkan aktivitas Anda, metode mengembalikan palsu. Aplikasi Anda kemudian dapat meminta pengguna untuk mengkonfirmasi bahwa mereka dimaksudkan tindakan ini.

Untuk mempelajari lebih lanjut tentang pelaksanaan tindakan suara, melihat Voice Actions situs pengembang.

Membantu API


Rilis ini menawarkan cara baru bagi pengguna untuk terlibat dengan aplikasi Anda melalui asisten. Untuk menggunakan fitur ini, pengguna harus mengaktifkan asisten untuk menggunakan konteks saat ini. Setelah diaktifkan, pengguna dapat memanggil asisten dalam aplikasi apapun, dengan menekan agak lama padaRumah tombol.

Aplikasi Anda dapat memilih untuk tidak berbagi konteks saat ini dengan asisten dengan menetapkan FLAG_SECURE bendera. Selain menetapkan standar informasi bahwa platform lolos ke asisten, aplikasi Anda dapat berbagi informasi tambahan dengan menggunakan baru AssistContent kelas.

Untuk memberikan asisten dengan konteks tambahan dari aplikasi Anda, ikuti langkah berikut:

  1. Mengimplementasikan Application.OnProvideAssistDataListenerantarmuka.
  2. Mendaftar pendengar ini dengan menggunakanregisterOnProvideAssistDataListener ().
  3. Dalam rangka memberikan informasi kontekstual kegiatan-spesifik, menimpaonProvideAssistData () callback dan, opsional, baruonProvideAssistContent () callback.

Adoptable Storage Devices


Dengan rilis ini, pengguna dapat mengadopsi perangkat penyimpanan eksternal seperti kartu SD. Mengadopsi perangkat penyimpanan eksternal mengenkripsi dan format perangkat untuk berperilaku seperti penyimpanan internal. Fitur ini memungkinkan pengguna untuk memindahkan kedua aplikasi dan data pribadi dari aplikasi tersebut antara perangkat penyimpanan. Ketika bergerak aplikasi, sistem menghormati android: installLocation preferensi dalam manifes.

Jika aplikasi Anda mengakses API atau bidang-bidang berikut, menyadari bahwa path file mereka kembali secara dinamis akan berubah ketika aplikasi tersebut akan dipindahkan antara perangkat penyimpanan internal dan eksternal. Ketika membangun path file, sangat disarankan bahwa Anda selalu memanggil API ini dinamis. Jangan gunakan path file hardcoded atau bertahan path file penuh-kualifikasi yang dibangun sebelumnya.

Debug fitur ini, Anda dapat mengaktifkan adopsi dari USB drive yang terhubung ke perangkat Android melalui USB On-The-Go (OTG) kabel, dengan menjalankan perintah ini:

$ Adb shell sm set - kekuatan - adoptable benar

Pemberitahuan


Rilis ini menambahkan perubahan API berikut untuk pemberitahuan:

Dukungan Bluetooth Stylus


Rilis ini memberikan peningkatan dukungan untuk input pengguna menggunakan stylus Bluetooth. Pengguna dapat membuat pasangan dan menghubungkan stylus Bluetooth yang kompatibel dengan ponsel atau tablet mereka. Saat terhubung, informasi posisi dari layar sentuh menyatu dengan tekanan dan informasi tombol dari stylus untuk memberikan rentang yang lebih besar dari ekspresi daripada dengan layar sentuh saja. Aplikasi Anda dapat mendengarkan tombol menekan stylus dan melakukan tindakan sekunder, dengan mendaftarkanView.OnContextClickListener danGestureDetector.OnContextClickListener objek dalam aktivitas Anda.

Gunakan MotionEvent metode dan konstanta untuk mendeteksi interaksi tombol stylus:

  • Jika pengguna menyentuh stylus dengan tombol pada layar aplikasi Anda,getTooltype () method mengembalikan TOOL_TYPE_STYLUS.
  • Untuk aplikasi menargetkan Android 6.0 (API tingkat 23), yanggetButtonState () method mengembalikan BUTTON_STYLUS_PRIMARYketika pengguna menekan tombol stylus utama. Jika stylus memiliki tombol kedua, metode yang sama kembali BUTTON_STYLUS_SECONDARY ketika pengguna menekan itu. Jika pengguna menekan kedua tombol secara bersamaan, metode mengembalikan kedua nilai OR'ed bersama-sama(BUTTON_STYLUS_PRIMARY | BUTTON_STYLUS_SECONDARY).
  • Untuk aplikasi menargetkan versi platform yang lebih rendah, getButtonState () method mengembalikan BUTTON_SECONDARY (untuk stylus utama tekan tombol), BUTTON_TERTIARY (untuk sekunder stylus tekan tombol), atau keduanya.

Peningkatan Scanning Bluetooth Low Energy


Jika berkinerja aplikasi Anda melakukan scan Bluetooth Low Energy, gunakan barusetCallbackType () metode untuk menentukan bahwa Anda ingin sistem untuk memberitahukan callback ketika pertama kali menemukan, atau melihat setelah waktu yang lama, sebuah paket iklan yang cocok dengan set ScanFilter.Pendekatan ini untuk pemindaian lebih efisien daripada daya-apa yang disediakan dalam versi platform sebelumnya.

Hotspot 2.0 Release 1 Dukungan


Rilis ini menambahkan dukungan untuk Hotspot 2.0 Release 1 spec pada Nexus 6 dan Nexus 9 perangkat. Untuk penyediaan Hotspot 2.0 kredensial di app, menggunakan metode baru dari WifiEnterpriseConfig kelas, seperti setPlmn () dan setRealm (). Dalam WifiConfiguration objek, Anda dapat mengaturFQDN dan providerFriendlyName bidang. Baru isPasspointNetwork ()metode menunjukkan jika jaringan terdeteksi merupakan titik akses Hotspot 2.0.

4K Display Mode


Platform ini sekarang memungkinkan aplikasi untuk meminta bahwa resolusi layar ditingkatkan untuk 4K rendering pada perangkat keras yang kompatibel. Untuk query resolusi fisik saat ini, menggunakan baru Display.Mode API. Jika UI diambil pada resolusi logis rendah dan upscaled untuk resolusi fisik yang lebih besar, menyadari bahwa resolusi fisik getPhysicalWidth () kembali metode mungkin berbeda dari resolusi logis dilansir getSize ().

Anda dapat meminta sistem untuk mengubah resolusi fisik di app seperti berjalan, dengan menetapkan preferredDisplayModeId milik jendela aplikasi Anda. Fitur ini berguna jika Anda ingin beralih ke resolusi layar 4K. Sementara di 4K mode tampilan, UI terus diberikan pada resolusi asli (seperti 1080p) dan upscaled untuk 4K, tapi SurfaceView benda dapat menampilkan konten pada resolusi asli.

ColorStateLists themeable


Atribut tema sekarang didukung dalam ColorStateList untuk perangkat yang berjalan pada Android 6.0 (API tingkat 23). The getColorStateList () dangetColor () metode telah usang. Jika Anda menelepon API ini, sebut barugetColorStateList () atau getColor () metode sebagai gantinya. Metode ini juga tersedia di perpustakaan v4 appcompat melalui ContextCompat.

Fitur Audio


Rilis ini menambahkan perangkat tambahan untuk pengolahan audio pada Android, termasuk:

  • Dukungan untuk MIDI protokol, dengan baru android.media.midi API.Gunakan API ini untuk mengirim dan menerima peristiwa MIDI.
  • Baru AudioRecord.Builder dan AudioTrack.Builder kelas untuk membuat audio digital capture dan playback benda masing-masing, dan mengkonfigurasi sumber audio dan tenggelam properti untuk menimpa default sistem.
  • Kait API untuk menghubungkan perangkat audio dan masukan. Hal ini sangat berguna jika aplikasi Anda memungkinkan pengguna untuk memulai penelusuran suara dari game controller atau remote control yang terhubung ke Android TV. Sistem ini memanggil baru onSearchRequested () callback ketika pengguna mulai pencarian. Untuk menentukan apakah perangkat input pengguna memiliki mikrofon built-in, mengambil InputDevice objek dari callback itu, kemudian memanggil baru hasMicrophone () metode.
  • Baru getDevices () metode yang memungkinkan Anda mengambil daftar semua perangkat audio saat ini terhubung ke sistem. Anda juga dapat mendaftarkan AudioDeviceCallback objek jika Anda ingin sistem untuk memberitahukan aplikasi Anda ketika perangkat audio menghubungkan atau terputus.

Fitur Video


Rilis ini menambahkan kemampuan baru untuk API pemrosesan video, termasuk:

  • New MediaSync kelas yang membantu aplikasi untuk serentak membuat audio dan video stream. Buffer audio disampaikan dalam non-blocking mode dan dikembalikan melalui callback. Ini juga mendukung tingkat pemutaran dinamis.
  • Baru EVENT_SESSION_RECLAIMED acara, yang menunjukkan bahwa sesi dibuka oleh aplikasi telah direklamasi oleh manajer sumber daya. Jika aplikasi Anda menggunakan sesi DRM, Anda harus menangani acara ini dan pastikan untuk tidak menggunakan sesi direklamasi.
  • New ERROR_RECLAIMED kode kesalahan, yang menunjukkan bahwa manajer sumber daya reklamasi sumber daya media yang digunakan oleh codec. Dengan pengecualian ini, codec harus dibebaskan, karena telah pindah ke negara terminal.
  • Baru getMaxSupportedInstances () antarmuka untuk mendapatkan petunjuk untuk jumlah max contoh codec bersamaan didukung.
  • Baru setPlaybackParams () metode untuk mengatur tingkat pemutaran media untuk pemutaran gerak cepat atau lambat. Hal ini juga membentang atau mempercepat pemutaran audio otomatis dalam hubungannya dengan video.

Fitur kamera


Rilis ini termasuk API baru berikut untuk mengakses senter kamera dan kamera pengolahan ulang gambar:

Senter API

Jika perangkat kamera memiliki lampu kilat, Anda dapat menghubungisetTorchMode () metode untuk beralih modus obor lampu kilat pada atau off tanpa membuka perangkat kamera. Aplikasi ini tidak memiliki kepemilikan eksklusif lampu kilat atau perangkat kamera. Modus obor dimatikan dan menjadi tidak tersedia setiap kali perangkat kamera menjadi tidak tersedia, atau ketika sumber daya kamera lainnya menjaga obor pada menjadi tidak tersedia. Aplikasi lain juga dapat menghubungi setTorchMode () untuk mematikan mode obor. Ketika aplikasi terakhir yang diaktifkan mode obor ditutup, modus obor dimatikan.

Anda dapat mendaftarkan callback untuk diberitahu mengenai status modus obor dengan memanggil registerTorchCallback () metode. Pertama kali callback terdaftar, itu langsung disebut dengan status modus obor semua perangkat kamera saat ini dikenal dengan unit flash. Jika modus obor dinyalakan atau dimatikan dengan sukses, onTorchModeChanged () metode dipanggil.

Pemrosesan kembali API

The Camera2 API diperpanjang untuk mendukung YUV dan buram format gambar pemrosesan kembali swasta. Untuk menentukan apakah kemampuan pemrosesan kembali ini tersedia, sebut getCameraCharacteristics () dan memeriksaREPROCESS_MAX_CAPTURE_STALL kunci. Jika perangkat mendukung pemrosesan kembali, Anda dapat membuat sesi capture kamera reprocessable dengan memanggil createReprocessableCaptureSession (), dan menciptakan permintaan untuk input penyangga daur ulang.

Gunakan imagewriter kelas untuk menghubungkan aliran input buffer untuk input kamera daur ulang. Untuk mendapatkan buffer kosong, ikuti model pemrograman ini:

  1. Memanggil dequeueInputImage () metode.
  2. Mengisi data ke dalam buffer input.
  3. Kirim buffer ke kamera dengan memanggil queueInputImage () metode.

Jika Anda menggunakan imagewriter objek bersama-sama dengan PRIVATEgambar, aplikasi Anda tidak dapat mengakses data gambar secara langsung.Sebaliknya, lulus SWASTA gambar langsung ke imagewriter dengan memanggilqueueInputImage () metode tanpa copy penyangga.

The ImageReader kelas sekarang mendukung SWASTA aliran format gambar.Dukungan ini memungkinkan aplikasi Anda untuk menjaga antrian citra melingkarImageReader keluaran gambar, pilih salah satu atau lebih gambar, dan mengirim mereka ke imagewriter untuk kamera daur ulang.

Android untuk Fitur Kerja


Rilis ini termasuk API baru berikut untuk Android Pekerjaan:

  • Kontrol ditingkatkan untuk Perusahaan Milik, Single-Gunakan perangkat: The Owner Perangkat sekarang dapat mengontrol pengaturan berikut untuk meningkatkan pengelolaan, Single Use-perangkat Perusahaan Milik (Cosu):
    • Menonaktifkan atau mengaktifkan kembali pengaman tombol dengansetKeyguardDisabled () metode.
    • Menonaktifkan atau mengaktifkan kembali status bar (termasuk pengaturan cepat, pemberitahuan, dan menggesek-up isyarat navigasi yang meluncurkan Google Now) dengan setStatusBarDisabled () metode.
    • Menonaktifkan atau mengaktifkan kembali boot aman denganUserManager konstan DISALLOW_SAFE_BOOT.
    • Mencegah layar dari mematikan sementara terpasang denganSTAY_ON_WHILE_PLUGGED_IN konstan.
  • Diam menginstal dan uninstall aplikasi dengan Perangkat Pemilik: Sebuah Pemilik Perangkat sekarang dapat diam-diam menginstal dan uninstall aplikasi menggunakan PackageInstaller API, independen dari Google Play Kerja.Anda sekarang dapat perangkat penyediaan melalui Owner Perangkat yang akan mendownload dan menginstal aplikasi tanpa interaksi pengguna. Fitur ini berguna untuk memungkinkan satu sentuhan penyediaan kios atau perangkat lain seperti tanpa mengaktifkan akun Google.
  • Diam akses sertifikat perusahaan: Ketika sebuah aplikasi panggilanchoosePrivateKeyAlias ​​(), sebelum pengguna yang diminta untuk memilih sertifikat, Profile atau Perangkat Pemilik sekarang dapat memanggilonChoosePrivateKeyAlias ​​() metode untuk memberikan alias diam-diam ke aplikasi yang meminta. Fitur ini memungkinkan Anda memberikan akses berhasil aplikasi untuk sertifikat tanpa interaksi pengguna.
  • Auto-penerimaan pembaruan sistem. Dengan menetapkan kebijakan update sistem dengan setSystemUpdatePolicy (), Owner Perangkat dapat sekarang auto-menerima update sistem, misalnya dalam kasus perangkat kios, atau menunda update dan mencegah yang diambil oleh pengguna selama 30 hari. Selanjutnya, administrator dapat mengatur jendela waktu sehari-hari di mana update harus diambil, misalnya selama jam ketika perangkat kios tidak digunakan. Ketika update sistem tersedia, sistem memeriksa apakah aplikasi Kebijakan Kerja Pengawas telah menetapkan kebijakan pembaruan sistem, dan berperilaku sesuai.
  • Instalasi sertifikat didelegasikan: A Profil atau Perangkat Pemilik sekarang dapat memberikan pihak ketiga app kemampuan untuk menyebutDevicePolicyManager API manajemen sertifikat:
  • Penggunaan data pelacakan.Sebuah Profil atau Perangkat Pemilik sekarang dapat permintaan untuk statistik penggunaan data terlihat diSettings> Data penggunaan dengan menggunakan baruNetworkStatsManagermetode. Profil Pemilik secara otomatis diberikan izin untuk query data pada profil mereka mengelola, sementara Pemilik Perangkat mendapatkan akses ke data penggunaan dari pengguna utama berhasil.
  • Runtime izin manajemen:

    Sebuah Profil atau Perangkat Pemilik dapat menetapkan kebijakan izin untuk semua permintaan runtime dari semua aplikasi yang menggunakan setPermissionPolicy (), baik meminta pengguna untuk memberikan izin atau secara otomatis memberikan atau menolak izin diam-diam. Jika kebijakan terakhir ini diatur, pengguna tidak dapat memodifikasi seleksi yang dilakukan oleh Profil atau Perangkat Pemilik dalam layar izin aplikasi di Settings.

  • VPN di Settings: aplikasi VPN sekarang terlihat di Settings> More> VPN. Selain itu, pemberitahuan yang menyertai penggunaan VPN sekarang khusus untuk bagaimana VPN yang dikonfigurasi. Untuk Profil Pemilik, pemberitahuan khusus untuk apakah VPN dikonfigurasi untuk profil dikelola, profil pribadi, atau keduanya. Untuk Pemilik Perangkat, pemberitahuan khusus untuk apakah VPN dikonfigurasi untuk seluruh perangkat.
  • Bekerja pemberitahuan status: A status bar tas ikon sekarang muncul setiap kali sebuah aplikasi dari profil dikelola memiliki aktivitas di latar depan.Selanjutnya, jika perangkat dibuka langsung ke aktivitas sebuah aplikasi dalam profil dikelola, bersulang ditampilkan memberitahu pengguna bahwa mereka berada dalam profil pekerjaan.