summaryrefslogtreecommitdiff
path: root/docs/html-intl/intl/ko/guide/components/recents.jd
diff options
context:
space:
mode:
Diffstat (limited to 'docs/html-intl/intl/ko/guide/components/recents.jd')
-rw-r--r--docs/html-intl/intl/ko/guide/components/recents.jd256
1 files changed, 256 insertions, 0 deletions
diff --git a/docs/html-intl/intl/ko/guide/components/recents.jd b/docs/html-intl/intl/ko/guide/components/recents.jd
new file mode 100644
index 000000000000..cba3c45da3da
--- /dev/null
+++ b/docs/html-intl/intl/ko/guide/components/recents.jd
@@ -0,0 +1,256 @@
+page.title=개요 화면
+page.tags="recents","overview"
+
+@jd:body
+
+<div id="qv-wrapper">
+<div id="qv">
+
+ <h2>이 문서의 내용</h2>
+ <ol>
+ <li><a href="#adding">개요 화면에 작업 추가</a>
+ <ol>
+ <li><a href="#flag-new-doc">작업 추가에 인텐트 플래그 사용</a></li>
+ <li><a href="#attr-doclaunch">작업 추가에 액티비티 특성 사용</a></li>
+ </ol>
+ </li>
+ <li><a href="#removing">작업 제거</a>
+ <ol>
+ <li><a href="#apptask-remove">작업 제거에 AppTask 클래스 사용</a></li>
+ <li><a href="#retain-finished">완료된 작업 보존</a></li>
+ </ol>
+ </li>
+ </ol>
+
+ <h2>Key 클래스</h2>
+ <ol>
+ <li>{@link android.app.ActivityManager.AppTask}</li>
+ <li>{@link android.content.Intent}</li>
+ </ol>
+
+ <h2>샘플 코드</h2>
+ <ol>
+ <li><a href="{@docRoot}samples/DocumentCentricApps/index.html">문서 중심 앱</a></li>
+ </ol>
+
+</div>
+</div>
+
+<p>개요 화면(다른 말로 최근 사용 화면, 최근 작업 목록 또는 최근 앱이라고도 함)은
+시스템 수준 UI로, 최근에 액세스한 <a href="{@docRoot}guide/components/activities.html">
+액티비티</a> 및 <a href="{@docRoot}guide/components/tasks-and-back-stack.html">작업</a>을 목록으로 나열한 것입니다. 사용자는
+목록을 가로질러 이동하며 작업을 선택해서 재개할 수도 있고, 아니면
+목록에서 한 작업을 스와이프하여 밀어내어 목록에서 제거할 수도 있습니다. Android 5.0 릴리스(API 레벨 21)의 경우, 같은 액티비티의 여러 인스턴스에
+각기 다른 문서가 담겨 있는 경우 이들이 개요 화면에 작업으로 나타날 수 있습니다. 예를 들어
+Google Drive에 여러 개의 Google 문서 각각에 대한 작업이 있을 수 있습니다. 각 문서는 개요 화면에 하나의
+작업으로 나타납니다.</p>
+
+<img src="{@docRoot}images/components/recents.png" alt="" width="284" />
+<p class="img-caption"><strong>그림 1.</strong> 세 개의 Google Drive 문서가 각기 별도의
+작업을 나타내는 모습을 표시한 개요 화면입니다.</p>
+
+<p>보통은 개요 화면에 작업과 액티비티가 어떻게 표현될지는 시스템이
+정의하도록 두어야 합니다. 이 행동을 개발자가 수정할 필요도 없습니다.
+하지만, 개요 화면에 액티비티가 언제, 어떻게 나타날지는 앱이 결정할 수 있습니다.
+{@link android.app.ActivityManager.AppTask} 클래스를 사용하면 작업을 관리할 수 있게 해주고,
+{@link android.content.Intent} 클래스의 액티비티 플래그를 사용하면 개요 화면에서 액티비티가 추가되거나 제거되는 시점을
+지정할 수 있습니다. 또한, <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">
+&lt;activity&gt;</a></code> 특성을 사용하면 매니페스트에서의 동작을 설정할 수 있습니다.</p>
+
+<h2 id="adding">개요 화면에 작업 추가</h2>
+
+<p>{@link android.content.Intent} 클래스의 플래그를 사용하여 작업을 추가하면
+개요 화면에서 문서가 열리거나 다시 열리는 시점과 방법을 보다 철저히 통제할 수 있습니다.
+<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
+ 특성을 사용하는 경우, 문서를 항상 새 작업에서 여는 방법과 기존 작업을 해당 문서에 다시 사용하는 방법 중에서
+선택할 수 있습니다.</p>
+
+<h3 id="flag-new-doc">작업 추가에 인텐트 플래그 사용</h3>
+
+<p>액티비티를 위해 새 문서를 생성하는 경우,
+{@link android.app.ActivityManager.AppTask} 클래스의
+{@link android.app.ActivityManager.AppTask#startActivity(android.content.Context, android.content.Intent, android.os.Bundle) startActivity()}
+ 메서드를 호출하고, 이것을 액티비티를 시작하는 인텐트에 전달하면 됩니다. 논리적인 중단을 삽입하여 시스템이 개요 화면에서 액티비티를
+새 작업으로 처리하도록 하려면, {@link android.content.Intent}의
+{@link android.content.Intent#addFlags(int) addFlags()} 메서드에 있는 {@link android.content.Intent#FLAG_ACTIVITY_NEW_DOCUMENT}
+플래그를 전달하여 액티비티를 시작하도록 합니다.</p>
+
+<p class="note"><strong>참고:</strong> {@link android.content.Intent#FLAG_ACTIVITY_NEW_DOCUMENT}
+플래그가 {@link android.content.Intent#FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET} 플래그를
+대체합니다. 이것은 Android 5.0(API 레벨 21)부터 사용이 중단되었습니다.</p>
+
+<p>새 문서를 생성하면서 {@link android.content.Intent#FLAG_ACTIVITY_MULTIPLE_TASK} 플래그를 설정하는 경우,
+시스템은 항상 대상 액티비티를 루트로 하여 새 작업을 만듭니다.
+이렇게 설정하면 같은 문서를 하나 이상의 작업에서 열 수 있습니다. 다음 코드는 기본 액티비티가 이 작업을 수행하는 방법을
+보여줍니다.</p>
+
+<p class="code-caption"><a href="{@docRoot}samples/DocumentCentricApps/index.html">
+DocumentCentricActivity.java</a></p>
+<pre>
+public void createNewDocument(View view) {
+ final Intent newDocumentIntent = newDocumentIntent();
+ if (useMultipleTasks) {
+ newDocumentIntent.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
+ }
+ startActivity(newDocumentIntent);
+ }
+
+ private Intent newDocumentIntent() {
+ boolean useMultipleTasks = mCheckbox.isChecked();
+ final Intent newDocumentIntent = new Intent(this, NewDocumentActivity.class);
+ newDocumentIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT);
+ newDocumentIntent.putExtra(KEY_EXTRA_NEW_DOCUMENT_COUNTER, incrementAndGet());
+ return newDocumentIntent;
+ }
+
+ private static int incrementAndGet() {
+ Log.d(TAG, "incrementAndGet(): " + mDocumentCounter);
+ return mDocumentCounter++;
+ }
+}
+</pre>
+
+<p class="note"><strong>참고:</strong> {@code FLAG_ACTIVITY_NEW_DOCUMENT}
+ 플래그로 시작된 액티비티의 경우, 반드시 매니페스트에 {@code android:launchMode="standard"} 특성 값(기본)이 설정되어
+있어야 합니다.</p>
+
+<p>기본 액티비티가 새 액티비티를 시작하면 시스템은 기존의 작업을 검색하여 그 중
+해당 액티비티에 대한 인텐트 구성 요소 이름과 인텐트 데이터와 일치하는 인텐트를 가진 작업을 찾습니다. 그러한 작업을
+찾을 수 없거나 {@link android.content.Intent#FLAG_ACTIVITY_MULTIPLE_TASK}
+ 플래그에 들어 있는 인텐트를 찾을 수 없는 경우, 해당 액티비티를 루트로 하여 새 작업이 생성됩니다. 원하는 항목을 찾으면, 시스템은 해당 작업을 전경으로 가지고 와
+새 인텐트를 {@link android.app.Activity#onNewIntent onNewIntent()}에 전달합니다.
+새 액티비티가 인텐트를 받아 개요 화면에서 새 문서를 생성하며, 이는 다음 예시에 나타낸
+것과 같습니다.</p>
+
+<p class="code-caption"><a href="{@docRoot}samples/DocumentCentricApps/index.html">
+NewDocumentActivity.java</a></p>
+<pre>
+&#64;Override
+protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_new_document);
+ mDocumentCount = getIntent()
+ .getIntExtra(DocumentCentricActivity.KEY_EXTRA_NEW_DOCUMENT_COUNTER, 0);
+ mDocumentCounterTextView = (TextView) findViewById(
+ R.id.hello_new_document_text_view);
+ setDocumentCounterText(R.string.hello_new_document_counter);
+}
+
+&#64;Override
+protected void onNewIntent(Intent intent) {
+ super.onNewIntent(intent);
+ /* If FLAG_ACTIVITY_MULTIPLE_TASK has not been used, this activity
+ is reused to create a new document.
+ */
+ setDocumentCounterText(R.string.reusing_document_counter);
+}
+</pre>
+
+
+<h3 id="#attr-doclaunch">작업 추가에 액티비티 특성 사용</h3>
+
+<p>액티비티는 자신의 매니페스트에 새 작업을 시작할 때는 항상
+<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
+ 특성, <a href="{@docRoot}guide/topics/manifest/activity-element.html#dlmode">
+{@code android:documentLaunchMode}</a>를 사용한다고 나타낼 수도 있습니다. 이 특성에는 네 가지 값이 있어 사용자가 애플리케이션으로 문서를 열면
+다음과 같은 효과를 발생시킵니다.</p>
+
+<dl>
+ <dt>"{@code intoExisting}"</dt>
+ <dd>액티비티가 문서에 대해 기존의 작업을 재사용합니다. 이것은
+{@link android.content.Intent#FLAG_ACTIVITY_NEW_DOCUMENT} 플래그를 설정할 때
+{@link android.content.Intent#FLAG_ACTIVITY_MULTIPLE_TASK} 플래그 <em>없이</em> 설정하는 것과 같습니다.
+이는 위의 <a href="#flag-new-doc">작업 추가에 인텐트 플래그 사용</a>에서 설명한 것과 같습니다.</dd>
+
+ <dt>"{@code always}"</dt>
+ <dd>액티비티가 문서에 대해 새 작업을 생성하며, 이는 문서가 이미 열려 있는 경우라도 마찬가지입니다. 이 값을
+사용하는 것은 {@link android.content.Intent#FLAG_ACTIVITY_NEW_DOCUMENT}
+ 및 {@link android.content.Intent#FLAG_ACTIVITY_MULTIPLE_TASK} 플래그를 둘 다 설정하는 것과 같습니다.</dd>
+
+ <dt>"{@code none”}"</dt>
+ <dd>액티비티가 문서에 대해 새 작업을 생성하지 않습니다. 개요 화면은 액티비티를 기본 상태에서와
+같이 다룹니다. 즉 앱에 대한 하나의 작업을 표시하며, 이때 사용자가
+마지막으로 호출한 작업이 무엇이든 관계 없이 그 작업에서부터 재개합니다.</dd>
+
+ <dt>"{@code never}"</dt>
+ <dd>액티비티가 문서에 대해 새 작업을 생성하지 않습니다. 이 값을 설정하면
+{@link android.content.Intent#FLAG_ACTIVITY_NEW_DOCUMENT}
+ 및 {@link android.content.Intent#FLAG_ACTIVITY_MULTIPLE_TASK} 플래그의 행동을
+재정의합니다(이들 중 하나가 인텐트에서 설정되어 있는 경우). 개요 화면은 앱에 대한 하나의 작업을 표시하고,
+이것이 사용자가 마지막으로 호출한 액티비티가 무엇이든 그것부터 재개합니다.</dd>
+</dl>
+
+<p class="note"><strong>참고:</strong> {@code none} 및 {@code never}를 제외한 다른 값의 경우,
+액티비티를 {@code launchMode="standard"}로 정의해야 합니다. 이 특성을 지정하지 않으면
+{@code documentLaunchMode="none"}이 사용됩니다.</p>
+
+<h2 id="removing">작업 제거</h2>
+
+<p>기본적으로 문서 작업은 해당되는 액티비티가 완료되면 자동으로 개요 화면에서
+제거됩니다. 이 행동을 재정의하려면 {@link android.app.ActivityManager.AppTask} 클래스를 사용합니다. 이때
+{@link android.content.Intent} 플래그 또는 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">
+&lt;activity&gt;</a></code> 특성을 함께 사용하십시오.</p>
+
+<p>개요 화면에서 작업을 완전히 제외하려면 언제든
+<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
+특성, <a href="{@docRoot}guide/topics/manifest/activity-element.html#exclude">
+{@code android:excludeFromRecents}</a>를 {@code true}로 설정합니다.</p>
+
+<p>개요 화면에서 앱이 포함할 수 있는 작업의 최대 개수를 설정하려면
+<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
+ 특성 <a href="{@docRoot}guide/topics/manifest/activity-element.html#maxrecents">{@code android:maxRecents}
+</a>를 정수 값으로 설정합니다. 기본은 16개입니다. 작업의 최대 대수에 도달하면 가장 예전에 사용된 작업이 개요 화면에서
+제거됩니다. {@code android:maxRecents} 최대값은
+50입니다(메모리 용량이 적은 기기에서는 25). 1 미만의 값은 유효하지 않습니다.</p>
+
+<h3 id="#apptask-remove">작업 제거에 AppTask 클래스 사용</h3>
+
+<p>개요 화면에서 새 작업을 생성하는 액티비티에서는 작업을 언제 제거할 것인지와
+그와 관련된 모든 액티비티를 언제 완료할 것인지 지정할 수 있습니다.
+{@link android.app.ActivityManager.AppTask#finishAndRemoveTask() finishAndRemoveTask()} 메서드를 호출하면 됩니다.</p>
+
+<p class="code-caption"><a href="{@docRoot}samples/DocumentCentricApps/index.html">
+NewDocumentActivity.java</a></p>
+<pre>
+public void onRemoveFromRecents(View view) {
+ // The document is no longer needed; remove its task.
+ finishAndRemoveTask();
+}
+</pre>
+
+<p class="note"><strong>참고:</strong>
+{@link android.app.ActivityManager.AppTask#finishAndRemoveTask() finishAndRemoveTask()} 메서드를
+사용하면 {@link android.content.Intent#FLAG_ACTIVITY_RETAIN_IN_RECENTS} 태그 사용을 재정의합니다.
+이 내용은 아래에서 설명합니다.</p>
+
+<h3 id="#retain-finished">완료된 작업 보존</h3>
+
+<p>작업을 개요 화면에 보존하려면(액티비티가 완료되었더라도),
+액티비티를 시작하는 인텐트의 {@link android.content.Intent#addFlags(int) addFlags()} 메서드에 있는
+{@link android.content.Intent#FLAG_ACTIVITY_RETAIN_IN_RECENTS} 플래그를 전달합니다.</p>
+
+<p class="code-caption"><a href="{@docRoot}samples/DocumentCentricApps/index.html">
+DocumentCentricActivity.java</a></p>
+<pre>
+private Intent newDocumentIntent() {
+ final Intent newDocumentIntent = new Intent(this, NewDocumentActivity.class);
+ newDocumentIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT |
+ android.content.Intent.FLAG_ACTIVITY_RETAIN_IN_RECENTS);
+ newDocumentIntent.putExtra(KEY_EXTRA_NEW_DOCUMENT_COUNTER, incrementAndGet());
+ return newDocumentIntent;
+}
+</pre>
+
+<p>같은 효과를 얻기 위해
+<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
+ 특성 <a href="{@docRoot}guide/topics/manifest/activity-element.html#autoremrecents">
+{@code android:autoRemoveFromRecents}</a>를 {@code false}로 설정해도 됩니다. 기본 값은 문서 액티비티의 경우 {@code true}
+이고, 일반 액티비티의 경우 {@code false}입니다. 이 특성을 사용하면 이전에 논한 것과 같이
+{@link android.content.Intent#FLAG_ACTIVITY_RETAIN_IN_RECENTS} 플래그를 재정의하게 됩니다.</p>
+
+
+
+
+
+
+