From b582c678c88df2848023b7f27f4bc0ab2249e1e1 Mon Sep 17 00:00:00 2001
From: Dirk Dougherty
Date: Sat, 4 May 2013 10:54:52 -0700
Subject: [PATCH] Doc change: delete legacy intl dir and update toc's for
devsite-compatible lang strings.
Change-Id: Ie390d2bbd8abc0d063c1f313797e8c3d21d27490
---
Android.mk | 1 +
docs/html/guide/guide_toc.cs | 8 +-
.../monitoring-device-state/battery-monitoring.jd | 120 ---
.../connectivity-monitoring.jd | 70 --
.../monitoring-device-state/docking-monitoring.jd | 74 --
.../es/training/monitoring-device-state/index.jd | 49 --
.../monitoring-device-state/manifest-receivers.jd | 50 --
docs/html/intl/es/training/multiscreen/adaptui.jd | 212 -----
docs/html/intl/es/training/multiscreen/index.jd | 63 --
.../es/training/multiscreen/screendensities.jd | 100 ---
.../intl/es/training/multiscreen/screensizes.jd | 279 -------
docs/html/intl/ja/community/index.jd | 116 ---
docs/html/intl/ja/guide/basics/what-is-android.jd | 81 --
docs/html/intl/ja/guide/developing/eclipse-adt.jd | 243 ------
docs/html/intl/ja/guide/developing/other-ide.jd | 271 ------
docs/html/intl/ja/guide/index.jd | 52 --
docs/html/intl/ja/guide/publishing/app-signing.jd | 336 --------
docs/html/intl/ja/guide/publishing/preparing.jd | 158 ----
docs/html/intl/ja/guide/publishing/versioning.jd | 100 ---
docs/html/intl/ja/guide/topics/fundamentals.jd | 922 ---------------------
docs/html/intl/ja/guide/tutorials/hello-world.jd | 376 ---------
docs/html/intl/ja/resources/community-groups.jd | 116 ---
.../intl/ja/resources/tutorials/hello-world.jd | 377 ---------
docs/html/intl/ja/sdk/1.5_r2/installing.jd | 212 -----
docs/html/intl/ja/sdk/1.5_r3/installing.jd | 212 -----
.../monitoring-device-state/battery-monitoring.jd | 120 ---
.../connectivity-monitoring.jd | 70 --
.../monitoring-device-state/docking-monitoring.jd | 74 --
.../ja/training/monitoring-device-state/index.jd | 49 --
.../monitoring-device-state/manifest-receivers.jd | 50 --
docs/html/intl/ja/training/multiscreen/adaptui.jd | 212 -----
docs/html/intl/ja/training/multiscreen/index.jd | 64 --
.../ja/training/multiscreen/screendensities.jd | 100 ---
.../intl/ja/training/multiscreen/screensizes.jd | 279 -------
.../monitoring-device-state/battery-monitoring.jd | 120 ---
.../connectivity-monitoring.jd | 70 --
.../monitoring-device-state/docking-monitoring.jd | 74 --
.../ko/training/monitoring-device-state/index.jd | 49 --
.../monitoring-device-state/manifest-receivers.jd | 50 --
docs/html/intl/ko/training/multiscreen/adaptui.jd | 212 -----
docs/html/intl/ko/training/multiscreen/index.jd | 64 --
.../ko/training/multiscreen/screendensities.jd | 100 ---
.../intl/ko/training/multiscreen/screensizes.jd | 279 -------
.../monitoring-device-state/battery-monitoring.jd | 120 ---
.../connectivity-monitoring.jd | 70 --
.../monitoring-device-state/docking-monitoring.jd | 74 --
.../ru/training/monitoring-device-state/index.jd | 49 --
.../monitoring-device-state/manifest-receivers.jd | 50 --
docs/html/intl/ru/training/multiscreen/adaptui.jd | 212 -----
docs/html/intl/ru/training/multiscreen/index.jd | 64 --
.../ru/training/multiscreen/screendensities.jd | 100 ---
.../intl/ru/training/multiscreen/screensizes.jd | 279 -------
.../monitoring-device-state/battery-monitoring.jd | 120 ---
.../connectivity-monitoring.jd | 70 --
.../monitoring-device-state/docking-monitoring.jd | 74 --
.../training/monitoring-device-state/index.jd | 49 --
.../monitoring-device-state/manifest-receivers.jd | 50 --
.../intl/zh-CN/training/multiscreen/adaptui.jd | 212 -----
docs/html/intl/zh-CN/training/multiscreen/index.jd | 64 --
.../zh-CN/training/multiscreen/screendensities.jd | 100 ---
.../intl/zh-CN/training/multiscreen/screensizes.jd | 279 -------
docs/html/training/training_toc.cs | 18 +-
62 files changed, 14 insertions(+), 8674 deletions(-)
delete mode 100644 docs/html/intl/es/training/monitoring-device-state/battery-monitoring.jd
delete mode 100644 docs/html/intl/es/training/monitoring-device-state/connectivity-monitoring.jd
delete mode 100644 docs/html/intl/es/training/monitoring-device-state/docking-monitoring.jd
delete mode 100644 docs/html/intl/es/training/monitoring-device-state/index.jd
delete mode 100644 docs/html/intl/es/training/monitoring-device-state/manifest-receivers.jd
delete mode 100644 docs/html/intl/es/training/multiscreen/adaptui.jd
delete mode 100644 docs/html/intl/es/training/multiscreen/index.jd
delete mode 100644 docs/html/intl/es/training/multiscreen/screendensities.jd
delete mode 100644 docs/html/intl/es/training/multiscreen/screensizes.jd
delete mode 100644 docs/html/intl/ja/community/index.jd
delete mode 100644 docs/html/intl/ja/guide/basics/what-is-android.jd
delete mode 100644 docs/html/intl/ja/guide/developing/eclipse-adt.jd
delete mode 100644 docs/html/intl/ja/guide/developing/other-ide.jd
delete mode 100644 docs/html/intl/ja/guide/index.jd
delete mode 100644 docs/html/intl/ja/guide/publishing/app-signing.jd
delete mode 100644 docs/html/intl/ja/guide/publishing/preparing.jd
delete mode 100644 docs/html/intl/ja/guide/publishing/versioning.jd
delete mode 100644 docs/html/intl/ja/guide/topics/fundamentals.jd
delete mode 100644 docs/html/intl/ja/guide/tutorials/hello-world.jd
delete mode 100644 docs/html/intl/ja/resources/community-groups.jd
delete mode 100644 docs/html/intl/ja/resources/tutorials/hello-world.jd
delete mode 100644 docs/html/intl/ja/sdk/1.5_r2/installing.jd
delete mode 100644 docs/html/intl/ja/sdk/1.5_r3/installing.jd
delete mode 100644 docs/html/intl/ja/training/monitoring-device-state/battery-monitoring.jd
delete mode 100644 docs/html/intl/ja/training/monitoring-device-state/connectivity-monitoring.jd
delete mode 100644 docs/html/intl/ja/training/monitoring-device-state/docking-monitoring.jd
delete mode 100644 docs/html/intl/ja/training/monitoring-device-state/index.jd
delete mode 100644 docs/html/intl/ja/training/monitoring-device-state/manifest-receivers.jd
delete mode 100644 docs/html/intl/ja/training/multiscreen/adaptui.jd
delete mode 100644 docs/html/intl/ja/training/multiscreen/index.jd
delete mode 100644 docs/html/intl/ja/training/multiscreen/screendensities.jd
delete mode 100644 docs/html/intl/ja/training/multiscreen/screensizes.jd
delete mode 100644 docs/html/intl/ko/training/monitoring-device-state/battery-monitoring.jd
delete mode 100644 docs/html/intl/ko/training/monitoring-device-state/connectivity-monitoring.jd
delete mode 100644 docs/html/intl/ko/training/monitoring-device-state/docking-monitoring.jd
delete mode 100644 docs/html/intl/ko/training/monitoring-device-state/index.jd
delete mode 100644 docs/html/intl/ko/training/monitoring-device-state/manifest-receivers.jd
delete mode 100644 docs/html/intl/ko/training/multiscreen/adaptui.jd
delete mode 100644 docs/html/intl/ko/training/multiscreen/index.jd
delete mode 100644 docs/html/intl/ko/training/multiscreen/screendensities.jd
delete mode 100644 docs/html/intl/ko/training/multiscreen/screensizes.jd
delete mode 100644 docs/html/intl/ru/training/monitoring-device-state/battery-monitoring.jd
delete mode 100644 docs/html/intl/ru/training/monitoring-device-state/connectivity-monitoring.jd
delete mode 100644 docs/html/intl/ru/training/monitoring-device-state/docking-monitoring.jd
delete mode 100644 docs/html/intl/ru/training/monitoring-device-state/index.jd
delete mode 100644 docs/html/intl/ru/training/monitoring-device-state/manifest-receivers.jd
delete mode 100644 docs/html/intl/ru/training/multiscreen/adaptui.jd
delete mode 100644 docs/html/intl/ru/training/multiscreen/index.jd
delete mode 100644 docs/html/intl/ru/training/multiscreen/screendensities.jd
delete mode 100644 docs/html/intl/ru/training/multiscreen/screensizes.jd
delete mode 100644 docs/html/intl/zh-CN/training/monitoring-device-state/battery-monitoring.jd
delete mode 100644 docs/html/intl/zh-CN/training/monitoring-device-state/connectivity-monitoring.jd
delete mode 100644 docs/html/intl/zh-CN/training/monitoring-device-state/docking-monitoring.jd
delete mode 100644 docs/html/intl/zh-CN/training/monitoring-device-state/index.jd
delete mode 100644 docs/html/intl/zh-CN/training/monitoring-device-state/manifest-receivers.jd
delete mode 100644 docs/html/intl/zh-CN/training/multiscreen/adaptui.jd
delete mode 100644 docs/html/intl/zh-CN/training/multiscreen/index.jd
delete mode 100644 docs/html/intl/zh-CN/training/multiscreen/screendensities.jd
delete mode 100644 docs/html/intl/zh-CN/training/multiscreen/screensizes.jd
diff --git a/Android.mk b/Android.mk
index c39f901d86e0..2395f2d3317e 100644
--- a/Android.mk
+++ b/Android.mk
@@ -659,6 +659,7 @@ LOCAL_DROIDDOC_SOURCE_PATH:=$(framework_docs_LOCAL_DROIDDOC_SOURCE_PATH)
LOCAL_DROIDDOC_HTML_DIR:=$(framework_docs_LOCAL_DROIDDOC_HTML_DIR)
LOCAL_ADDITIONAL_JAVA_DIR:=$(framework_docs_LOCAL_ADDITIONAL_JAVA_DIR)
LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
+LOCAL_ADDITIONAL_HTML_DIR:=docs/html-intl /intl/
LOCAL_MODULE := online-sdk
diff --git a/docs/html/guide/guide_toc.cs b/docs/html/guide/guide_toc.cs
index d7aacbf817e6..ba73837a345b 100644
--- a/docs/html/guide/guide_toc.cs
+++ b/docs/html/guide/guide_toc.cs
@@ -503,8 +503,8 @@
Meilleures pratiques
Best practice
ãã¹ã ãã©ã¯ãã£ã¹
- æä½³å®è·µ
- æ佳實å
+ æä½³å®è·µ
+ æ佳實å
-
@@ -584,8 +584,8 @@
Annexes
Appendice
ä»é²
- éå½
- éé
+ éå½
+ éé
-
diff --git a/docs/html/intl/es/training/monitoring-device-state/battery-monitoring.jd b/docs/html/intl/es/training/monitoring-device-state/battery-monitoring.jd
deleted file mode 100644
index 08a42dd1f7f4..000000000000
--- a/docs/html/intl/es/training/monitoring-device-state/battery-monitoring.jd
+++ /dev/null
@@ -1,120 +0,0 @@
-page.title=Cómo controlar el nivel de baterÃa y el estado de carga
-parent.title=Cómo optimizar la duración de la baterÃa
-parent.link=index.html
-
-trainingnavtop=true
-next.title=Cómo determinar y controlar el tipo de conector y el estado de la conexión
-next.link=docking-monitoring.html
-
-@jd:body
-
-
-
-
Al modificar la frecuencia de las actualizaciones en segundo plano para reducir el efecto de las mismas en la duración de la baterÃa, te recomendamos que comiences por comprobar el estado de carga y el nivel actual de la baterÃa.
-
-El impacto derivado de actualizar aplicaciones en la duración de la baterÃa varÃa en función del nivel de baterÃa y del estado de carga del dispositivo, mientras que es insignificante cuando este está conectado a la corriente. Por ello, en la mayorÃa de los casos, puedes maximizar la frecuencia de actualización cuando el dispositivo esté conectado a un cargador. Por el contrario, si el dispositivo está en proceso de descarga, disminuir la frecuencia de actualización te permitirá aumentar la duración de la baterÃa.
-
-Del mismo modo, puedes comprobar el nivel de carga de la baterÃa y reducir la frecuencia de las actualizaciones o incluso detenerlas cuando la baterÃa esté a punto de agotarse.
-
-
-Cómo determinar el estado de carga actual
-
-En primer lugar, te recomendamos que determines el estado de carga actual. {@link android.os.BatteryManager} envÃa los detalles de carga y de la baterÃa en un {@link android.content.Intent} persistente que incluye el estado de carga.
-
-Se trata de un intento persistente, por lo que no es necesario registrar un {@link android.content.BroadcastReceiver}. Para ello, solo tienes que ejecutar {@code registerReceiver} transmitiendo {@code null} como el receptor (como se muestra en el siguiente fragmento). A continuación, se devuelve el intento de estado actual de la baterÃa. Puedes transmitir un objeto {@link android.content.BroadcastReceiver} real, pero hablaremos sobre las actualizaciones en otra sección, por lo que no es necesario ahora.
-
-IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
-Intent batteryStatus = context.registerReceiver(null, ifilter);
-
-Puedes extraer el estado de carga actual y, si el dispositivo está cargando, puedes saber también si se está usando un cargador de corriente alterna o USB:
-
-
// Are we charging / charged?
-int status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
-boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
- status == BatteryManager.BATTERY_STATUS_FULL;
-
-// How are we charging?
-int chargePlug = battery.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
-boolean usbCharge = chargePlug == BATTERY_PLUGGED_USB;
-boolean acCharge = chargePlug == BATTERY_PLUGGED_AC;
-
-Normalmente, debes maximizar la frecuencia de las actualizaciones en segundo plano si el dispositivo está conectado a un cargador de corriente alterna, disminuir esa frecuencia si se utiliza un cargador USB y reducirla aún más si la baterÃa se está descargando.
-
-
-Cómo supervisar los cambios en el estado de carga
-
-Modificar el estado de carga es tan fácil como conectar el dispositivo a un enchufe o USB. Por ello, es importante que supervises el estado de carga por si se producen cambios y modifiques la frecuencia de actualización según corresponda.
-
-{@link android.os.BatteryManager} emite una acción siempre que el dispositivo se conecta o desconecta de la corriente. Es importante recibir estos eventos aunque la aplicación no esté en ejecución (especialmente porque estos eventos pueden afectar a la frecuencia con la que inicias tu aplicación para actualizarla en segundo plano), por lo que debes registrar un {@link android.content.BroadcastReceiver} en tu archivo de manifiesto para detectar ambos eventos definiendo {@link android.content.Intent#ACTION_POWER_CONNECTED} y {@link android.content.Intent#ACTION_POWER_DISCONNECTED} en un filtro de intentos.
-
-<receiver android:name=".PowerConnectionReceiver">
- <intent-filter>
- <action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>
- <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/>
- </intent-filter>
-</receiver>
-
-En la implementación de {@link android.content.BroadcastReceiver} asociada, puedes extraer el método y el estado de carga actual como se describe en el paso anterior.
-
-public class PowerConnectionReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
- boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
- status == BatteryManager.BATTERY_STATUS_FULL;
-
- int chargePlug = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
- boolean usbCharge = chargePlug == BATTERY_PLUGGED_USB;
- boolean acCharge = chargePlug == BATTERY_PLUGGED_AC;
- }
-}
-
-
-Cómo determinar el nivel de baterÃa actual
-
-En algunos casos, también es útil determinar el nivel de baterÃa actual. Puedes disminuir la frecuencia de las actualizaciones en segundo plano si el nivel de carga de la baterÃa es inferior a un valor determinado.
-
-Puedes consultar la carga actual de la baterÃa extrayendo el nivel actual de la baterÃa y subir a partir del intento de estado de baterÃa, como se muestra a continuación:
-
-int level = battery.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
-int scale = battery.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
-
-float batteryPct = level / (float)scale;
-
-
-Cómo supervisar cambios importantes en el nivel de baterÃa
-
-No puedes controlar el estado de la baterÃa de forma continua fácilmente, pero tampoco es necesario.
-
-En términos generales, el impacto sobre la baterÃa derivado de controlar continuamente el nivel de baterÃa es mayor que el comportamiento habitual de la aplicación. Por ello, te recomendamos que supervises únicamente los cambios en el nivel de baterÃa más significativos, especialmente cuando el dispositivo tenga poca baterÃa o acabe de cargarse.
-
-El fragmento de manifiesto que aparece a continuación se ha extraÃdo del elemento de filtro de intento de un receptor de emisión. El receptor detecta {@link android.content.Intent#ACTION_BATTERY_LOW} y {@link android.content.Intent#ACTION_BATTERY_OKAY} y se activa cuando el nivel de baterÃa del dispositivo es bajo o cuando se sale de un estado bajo de baterÃa.
-
-<receiver android:name=".BatteryLevelReceiver">
-<intent-filter>
- <action android:name="android.intent.action.ACTION_BATTERY_LOW"/>
- <action android:name="android.intent.action.ACTION_BATTERY_OKAY"/>
- </intent-filter>
-</receiver>
-
-Cuando la baterÃa esté a punto de agotarse, te recomendamos que inhabilites las actualizaciones en segundo plano. Si el teléfono se apaga antes de poder utilizar las aplicaciones, no importa que tengan los datos actualizados.
-
-En muchos casos, el hecho de cargar un dispositivo coincide con la acción de utilizar un conector. En la próxima sección, hablaremos sobre cómo determinar el estado de conexión actual y cómo supervisar los cambios que se produzcan al conectar el dispositivo.
-
diff --git a/docs/html/intl/es/training/monitoring-device-state/connectivity-monitoring.jd b/docs/html/intl/es/training/monitoring-device-state/connectivity-monitoring.jd
deleted file mode 100644
index 2a5ff120e23d..000000000000
--- a/docs/html/intl/es/training/monitoring-device-state/connectivity-monitoring.jd
+++ /dev/null
@@ -1,70 +0,0 @@
-page.title=Cómo determinar y controlar el estado de la conectividad
-parent.title=Cómo optimizar la duración de la baterÃa
-parent.link=index.html
-
-trainingnavtop=true
-
-previous.title=Cómo determinar y controlar el tipo de conector y el estado de la conexión
-previous.link=docking-monitoring.html
-next.title=Cómo manipular los receptores de emisión bajo demanda
-next.link=manifest-receivers.html
-
-@jd:body
-
-
-
-Algunos de los usos más comunes para las alarmas con repetición y los servicios en segundo plano es programar actualizaciones regulares de los datos de aplicaciones a partir de recursos de Internet, almacenar datos en la memoria caché o ejecutar descargas a largo plazo. Sin embargo, si no estás conectado a Internet o la conexión es demasiado débil para completar la descarga, ¿para qué activar el dispositivo y programar la actualización?
-
-Puedes utilizar {@link android.net.ConnectivityManager} para comprobar si estás conectado a Internet y, en ese caso, el tipo de conexión que estás utilizando.
-
-
-Cómo determinar si tienes conexión a Internet
-
-No es necesario programar una actualización basada en un recurso de Internet si no estás conectado. En el fragmento que aparece a continuación, se muestra cómo utilizar {@link android.net.ConnectivityManager} para consultar la red activa y determinar si hay conexión a Internet.
-
-ConnectivityManager cm =
- (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
-
-NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
-boolean isConnected = activeNetwork.isConnectedOrConnecting();
-
-
-Cómo determinar el tipo de conexión a Internet
-
-También puedes determinar el tipo de conexión a Internet que hay disponible.
-
-El dispositivo se puede conectar a Internet a través de conexiones Ethernet, Wi-Fi, WiMAX y de datos móviles. Al consultar el tipo de red activa, como se muestra a continuación, puedes modificar la frecuencia de actualización en función del ancho de banda disponible.
-
-boolean isWiFi = activeNetwork.getType() == ConnectivityManager.TYPE_WIFI;
-
-El coste de las conexiones de datos móviles suele ser superior al de las conexiones Wi-Fi, por lo que en la mayorÃa de los casos, la frecuencia de actualización de tu aplicación deberÃa ser menor si utilizas conexiones móviles. Del mismo modo, las descargas grandes deberÃan cancelarse hasta que estés conectado a una red Wi-Fi.
-
-Cuando hayas inhabilitado las actualizaciones, es importante que detectes si se hay cambios en la conectividad para poder reanudarlas cuando se haya establecido una conexión a Internet.
-
-
-Cómo supervisar los cambios en la conectividad
-
-{@link android.net.ConnectivityManager} emite la acción {@link android.net.ConnectivityManager#CONNECTIVITY_ACTION} ({@code "android.net.conn.CONNECTIVITY_CHANGE"}) cuando se han modificado los detalles de la conectividad. Puedes registrar un receptor de emisión en el archivo de manifiesto para detectar estos cambios y reanudar (o cancelar) las actualizaciones en segundo plano según corresponda.
-
-<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
-
-Los cambios en la conectividad de un dispositivo pueden ser muy frecuentes (esta emisión se activa siempre que cambias de una conexión de datos móviles a una conexión Wi-Fi). Como resultado, te recomendamos que supervises esta emisión únicamente cuando hayas cancelado anteriormente las actualizaciones o las descargas para reanudarlas. Normalmente, basta con comprobar la conexión a Internet antes de iniciar una actualización y, si no hay ninguna, cancelar el resto de actualizaciones hasta que se restablezca la conexión.
-
-Esta técnica requiere que alternes receptores de emisión que hayas declarado en el archivo de manifiesto, que se describe en la próxima sección.
diff --git a/docs/html/intl/es/training/monitoring-device-state/docking-monitoring.jd b/docs/html/intl/es/training/monitoring-device-state/docking-monitoring.jd
deleted file mode 100644
index d6122811e422..000000000000
--- a/docs/html/intl/es/training/monitoring-device-state/docking-monitoring.jd
+++ /dev/null
@@ -1,74 +0,0 @@
-page.title=Cómo determinar y controlar el tipo de conector y el estado de la conexión
-parent.title=Cómo optimizar la duración de la baterÃa
-parent.link=index.html
-
-trainingnavtop=true
-previous.title=Cómo controlar el nivel de baterÃa y el estado de carga
-previous.link=battery-monitoring.html
-next.title=Cómo determinar y controlar el estado de la conectividad
-next.link=connectivity-monitoring.html
-
-@jd:body
-
-
-
-Los dispositivos Android se pueden conectar a distintos tipos de conectores. Por ejemplo, se puede utilizar conectores para coche o domésticos y tanto digitales como analógicos. Normalmente, el estado del conector está vinculado al estado de carga, ya que muchos conectores cargan el dispositivo mientras está conectado.
-
-El modo en el que el estado del conector del teléfono afecta a la frecuencia de actualización depende de tu aplicación. Puedes aumentar la frecuencia de actualización de una aplicación sobre noticias cuando el dispositivo esté conectado a un conector de escritorio o inhabilitar las actualizaciones completamente si está conectado a un conector de coche. Por el contrario, puedes maximizar las actualizaciones si el dispositivo está conectado a un conector de coche y tu servicio en segundo plano se actualiza con el estado del tráfico.
-
-El estado del conector se emite también como un {@link android.content.Intent} persistente, lo que te permite consultar si el dispositivo está conectado o no y, si lo está, determinar el tipo de conector.
-
-
-Cómo determinar el estado de conexión actual
-
-La información sobre el estado del conector se incluye como información adicional en una emisión persistente de la acción {@link android.content.Intent#ACTION_DOCK_EVENT}. Por ello, no es necesario registrar un {@link android.content.BroadcastReceiver}. Solo tienes que ejecutar {@link android.content.Context#registerReceiver registerReceiver()} transmitiendo {@code null} como el receptor de emisión, como se muestra en el fragmento de código que aparece a continuación.
-
-IntentFilter ifilter = new IntentFilter(Intent.ACTION_DOCK_EVENT);
-Intent dockStatus = context.registerReceiver(null, ifilter);
-
-Puedes extraer el estado actual de la conexión de la información adicional de {@code EXTRA_DOCK_STATE}:
-
-
int dockState = battery.getIntExtra(EXTRA_DOCK_STATE, -1);
-boolean isDocked = dockState != Intent.EXTRA_DOCK_STATE_UNDOCKED;
-
-
-Cómo determinar el tipo de conector actual
-
-Si un dispositivo está insertado en un conector, se puede conectar a cualquiera de estos cuatro tipos de conectores:
-
- coche,
-- escritorio,
-- escritorio de gama baja (analógico),
-- escritorio de gama alta (digital).
-
-Ten en cuenta que las últimas dos opciones se introdujeron en Android únicamente en el nivel 11 del API. Por ello, te recomendamos que compruebes las tres opciones solo cuando te interese más el tipo de conector que si se trata de un conector digital o analógico:
-
-boolean isCar = dockState == EXTRA_DOCK_STATE_CAR;
-boolean isDesk = dockState == EXTRA_DOCK_STATE_DESK ||
- dockState == EXTRA_DOCK_STATE_LE_DESK ||
- dockState == EXTRA_DOCK_STATE_HE_DESK;
-
-
-Cómo supervisar los cambios en el tipo de conector o en el estado del mismo
-
-Cuando el dispositivo está conectado a un conector o desconectado del mismo, se emite la acción {@link android.content.Intent#ACTION_DOCK_EVENT}. Para controlar los cambios que se produzcan en el estado del conector del dispositivo, solo tienes que registrar un receptor de emisión en el archivo de manifiesto de la aplicación, como se muestra en el fragmento que aparece a continuación:
-
-<action android:name="android.intent.action.ACTION_DOCK_EVENT"/>
-
-Puedes extraer el estado y el tipo de conector en la implementación del receptor con las mismas técnicas que se han descrito en el paso anterior.
diff --git a/docs/html/intl/es/training/monitoring-device-state/index.jd b/docs/html/intl/es/training/monitoring-device-state/index.jd
deleted file mode 100644
index bf6b1c1e7091..000000000000
--- a/docs/html/intl/es/training/monitoring-device-state/index.jd
+++ /dev/null
@@ -1,49 +0,0 @@
-page.title=Cómo optimizar la duración de la baterÃa
-
-trainingnavtop=true
-startpage=true
-next.title=Cómo controlar el nivel de baterÃa y el estado de carga
-next.link=battery-monitoring.html
-
-@jd:body
-
-
-
-
-
Dependencias y requisitos previos
-
-
-
También puedes consultar:
-
-
-
-
-
-Uno de los objetivos de tu aplicación debe ser limitar su impacto en la duración de la baterÃa del dispositivo en el que esté instalada. Después de leer estas secciones, podrás desarrollar aplicaciones que optimizarán el uso de la baterÃa en función del estado del dispositivo en el que estén instaladas.
-
-Al tomar medidas como inhabilitar las actualizaciones de servicios en segundo plano o disminuir la frecuencia de dichas actualizaciones cuando el nivel de baterÃa sea bajo, puedes garantizar que se minimice el impacto de tu aplicación en la duración de la baterÃa sin afectar a la experiencia del usuario.
-
-Secciones
-
-
-
-
- - Cómo controlar el nivel de baterÃa y el estado de carga
- - Obtén más información sobre cómo determinar y controlar el nivel de baterÃa actual y los cambios en el estado de carga para modificar la frecuencia de actualizaciones en segundo plano de tu aplicación.
-
- - Cómo determinar y controlar el tipo de conector y el estado de la conexión
- - La frecuencia de actualización óptima puede variar en función de cómo se utilice el dispositivo en el que está instalada la aplicación. Obtén más información sobre cómo determinar y controlar cuándo el dispositivo está conectado a algún sistema de acoplamiento u otra conexión.
-
- - Cómo determinar y controlar el estado de la conectividad
- - Si no tienes conexión a Internet, no puedes actualizar tu aplicación a partir de una fuente online. Obtén más información sobre cómo comprobar el estado de la conectividad para modificar la frecuencia de actualización en segundo plano de tu aplicación. También puedes obtener más información sobre cómo comprobar la conectividad móvil o Wi-Fi antes de iniciar operaciones que requieran un nivel elevado de ancho de banda.
-
- - Cómo manipular los receptores de emisión bajo demanda
- - Los receptores de emisión que declaras en el archivo de manifiesto se pueden alternar durante la ejecución para inhabilitar los que no son necesarios debido al estado actual del dispositivo. Obtén más información sobre cómo alternar y superponer receptores de cambio de estado para mejorar el rendimiento y cómo posponer acciones hasta que el dispositivo se encuentre en un estado concreto.
-
\ No newline at end of file
diff --git a/docs/html/intl/es/training/monitoring-device-state/manifest-receivers.jd b/docs/html/intl/es/training/monitoring-device-state/manifest-receivers.jd
deleted file mode 100644
index a90468e37336..000000000000
--- a/docs/html/intl/es/training/monitoring-device-state/manifest-receivers.jd
+++ /dev/null
@@ -1,50 +0,0 @@
-page.title=Cómo manipular los receptores de emisión bajo demanda
-parent.title=Cómo optimizar la duración de la baterÃa
-parent.link=index.html
-
-trainingnavtop=true
-
-previous.title=Cómo determinar y controlar el estado de la conectividad
-previous.link=connectivity-monitoring.html
-
-@jd:body
-
-
-
-La forma más sencilla de controlar los cambios en el estado del dispositivo es crear un {@link android.content.BroadcastReceiver} para cada estado que vayas a controlar y registrar cada uno de ellos en el archivo de manifiesto de tu aplicación. A continuación, en cada uno de esos receptores solo tienes que volver a programar las alarmas recurrentes en función del estado actual del dispositivo.
-
-Un efecto secundario de este método es que tu aplicación activará el dispositivo siempre que uno de los receptores se active (probablemente, con más frecuencia de la necesaria).
-
-Te recomendamos que inhabilites o habilites los receptores de emisión en el momento de la ejecución. De este modo, puedes utilizar los receptores que hayas declarado en el archivo de manifiesto como alarmas pasivas que se activan mediante los eventos del sistema solo cuando es necesario.
-
-
-Cómo alternar y superponer receptores de cambio de estado para mejorar el rendimiento
-
-Se puede utilizar el {@link android.content.pm.PackageManager} para alternar el estado habilitado en cualquier componente definido en el archivo de manifiesto, incluidos los receptores de emisión que quieras habilitar o inhabilitar, como se muestra en el fragmento que aparece a continuación:
-
-ComponentName receiver = new ComponentName(context, myReceiver.class);
-
-PackageManager pm = context.getPackageManager();
-
-pm.setComponentEnabledSetting(receiver,
- PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
- PackageManager.DONT_KILL_APP)
-
-Al utilizar esta técnica, si determinas que la conectividad se ha perdido, puedes inhabilitar todos los receptores excepto el receptor de cambio de conectividad. Por el contrario, cuando estés conectado, puedes dejar de detectar cambios de conectividad y solo comprobar si tienes conexión antes de realizar una actualización y de volver a programar una alarma de actualización recurrente.
-
-Puedes utilizar la misma técnica para posponer una descarga que requiera un nivel de ancho de banda superior para completarse. Solo tienes que habilitar un receptor de emisión que detecte los cambios de conectividad y que inicie la descarga solo cuando estés conectado a una red Wi-Fi.
diff --git a/docs/html/intl/es/training/multiscreen/adaptui.jd b/docs/html/intl/es/training/multiscreen/adaptui.jd
deleted file mode 100644
index 61f0735bc409..000000000000
--- a/docs/html/intl/es/training/multiscreen/adaptui.jd
+++ /dev/null
@@ -1,212 +0,0 @@
-page.title=Cómo implementar interfaces de usuario adaptables
-parent.title=Cómo diseñar aplicaciones para varias pantallas
-parent.link=index.html
-
-trainingnavtop=true
-previous.title=Cómo admitir varias densidades de pantalla
-previous.link=screendensities.html
-
-@jd:body
-
-
-
-
-
-En función del diseño actual de tu aplicación, la interfaz puede variar. Por ejemplo, si tu aplicación está en modo de panel dual, haz clic en un elemento del panel izquierdo para que aparezca en el panel de la derecha. Asimismo, si está en modo de panel único, el contenido deberÃa aparecer por sà mismo (en otra actividad).
-
-
-Cómo determinar el diseño actual
-
-Dado que la implementación de cada diseño variará en cierta medida, probablemente una de las primeras cosas que tendrás que hacer será determinar el diseño que el usuario puede ver en ese momento. Por ejemplo, puedes determinar si el usuario utiliza el modo de "panel único" o de "panel dual". Para ello, puedes consultar si una vista determinada existe y es visible:
-
-
-public class NewsReaderActivity extends FragmentActivity {
- boolean mIsDualPane;
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main_layout);
-
- View articleView = findViewById(R.id.article);
- mIsDualPane = articleView != null &&
- articleView.getVisibility() == View.VISIBLE;
- }
-}
-
-
-Ten en cuenta que este código consulta la disponibilidad del panel del "artÃculo", lo que es mucho más flexible que incluir una consulta para un diseño determinado.
-
-Otro ejemplo de cómo puedes adaptar la existencia de diferentes componentes es comprobar su disponibilidad antes de realizar una operación relacionada con los mismos. Por ejemplo, en la aplicación de ejemplo News Reader, hay un botón que abre un menú, pero ese botón solo aparece en las versiones anteriores a Android 3.0 (porque {@link android.app.ActionBar} en el nivel 11 del API y en niveles superiores). Por tanto, para añadir el detector de eventos para este botón, puedes hacer lo siguiente:
-
-
-Button catButton = (Button) findViewById(R.id.categorybutton);
-OnClickListener listener = /* create your listener here */;
-if (catButton != null) {
- catButton.setOnClickListener(listener);
-}
-
-
-
-Cómo reaccionar en función del diseño actual
-
-El resultado de algunas acciones puede variar en función del diseño actual. Por ejemplo, en el ejemplo de News Reader, al hacer clic en un encabezado de la lista se abrirá el artÃculo del panel situado a la derecha si la interfaz de usuario está en modo de panel dual, pero se iniciará una actividad independiente si esta está en modo de panel único:
-
-
-@Override
-public void onHeadlineSelected(int index) {
- mArtIndex = index;
- if (mIsDualPane) {
- /* display article on the right pane */
- mArticleFragment.displayArticle(mCurrentCat.getArticle(index));
- } else {
- /* start a separate activity */
- Intent intent = new Intent(this, ArticleActivity.class);
- intent.putExtra("catIndex", mCatIndex);
- intent.putExtra("artIndex", index);
- startActivity(intent);
- }
-}
-
-
-De igual modo, si la aplicación está en modo de panel dual, debe configurar la barra de acción con pestañas para la navegación, mientras que si la aplicación está en modo de panel único, debe configurar la navegación con un widget giratorio. Por tanto, el código debe comprobar también cuál es el caso adecuado:
-
-
-final String CATEGORIES[] = { "Top Stories", "Politics", "Economy", "Technology" };
-
-public void onCreate(Bundle savedInstanceState) {
- ....
- if (mIsDualPane) {
- /* use tabs for navigation */
- actionBar.setNavigationMode(android.app.ActionBar.NAVIGATION_MODE_TABS);
- int i;
- for (i = 0; i < CATEGORIES.length; i++) {
- actionBar.addTab(actionBar.newTab().setText(
- CATEGORIES[i]).setTabListener(handler));
- }
- actionBar.setSelectedNavigationItem(selTab);
- }
- else {
- /* use list navigation (spinner) */
- actionBar.setNavigationMode(android.app.ActionBar.NAVIGATION_MODE_LIST);
- SpinnerAdapter adap = new ArrayAdapter(this,
- R.layout.headline_item, CATEGORIES);
- actionBar.setListNavigationCallbacks(adap, handler);
- }
-}
-
-
-
-Cómo volver a utilizar fragmentos en otras actividades
-
-Un patrón recurrente a la hora de diseñar para distintas pantallas es utilizar una parte de la interfaz que se implementa como un panel en algunas configuraciones de pantalla y como actividad independiente en otras. Por ejemplo, en el ejemplo de News Reader, el texto del artÃculo de noticias se presenta en el panel de la derecha en las pantallas grandes, pero es una actividad independiente en las pantallas más pequeñas.
-
-En otros casos similares, puedes evitar la duplicación de código reutilizando la misma {@link android.app.Fragment} en distintas actividades. Por ejemplo, ArticleFragment
se utiliza en el diseño de panel dual:
-
-{@sample development/samples/training/multiscreen/newsreader/res/layout/twopanes.xml all}
-
-A continuación, se vuelve a utilizar (sin diseño) en el diseño de actividad para pantallas más pequeñas (ArticleActivity
):
-
-
-ArticleFragment frag = new ArticleFragment();
-getSupportFragmentManager().beginTransaction().add(android.R.id.content, frag).commit();
-
-
-Evidentemente, esto tiene el mismo efecto que declarar el fragmento en un diseño XML. Sin embargo, en este caso, un diseño XML serÃa un trabajo innecesario porque el fragmento del artÃculo es el único componente de esta actividad.
-
-Un punto muy importante que debes tener en cuenta al diseñar tus fragmentos es no crear un acoplamiento fuerte para una actividad determinada. Para ello, normalmente puedes definir una interfaz que resuma todas las formas en las que tiene que interactuar el fragmento con su actividad principal y, a continuación, la actividad principal implementa esa interfaz:
-
-Por ejemplo, ese es precisamente el objetivo del HeadlinesFragment
de la aplicación News Reader:
-
-
-public class HeadlinesFragment extends ListFragment {
- ...
- OnHeadlineSelectedListener mHeadlineSelectedListener = null;
-
- /* Must be implemented by host activity */
- public interface OnHeadlineSelectedListener {
- public void onHeadlineSelected(int index);
- }
- ...
-
- public void setOnHeadlineSelectedListener(OnHeadlineSelectedListener listener) {
- mHeadlineSelectedListener = listener;
- }
-}
-
-
-A continuación, cuando el usuario selecciona un encabezado, el fragmento notifica el detector especificado por la actividad principal (en lugar de notificar una actividad predefinida especÃfica):
-
-
-public class HeadlinesFragment extends ListFragment {
- ...
- @Override
- public void onItemClick(AdapterView<?> parent,
- View view, int position, long id) {
- if (null != mHeadlineSelectedListener) {
- mHeadlineSelectedListener.onHeadlineSelected(position);
- }
- }
- ...
-}
-
-
-Si quieres obtener más información sobre esta técnica, puedes consultar la guÃa sobre Cómo admitir tablets y dispositivos móviles.
-
-
-Cómo gestionar los cambios en la configuración de la pantalla
-
-Si utilizas actividades independientes para implementar partes individuales de tu interfaz, debes tener en cuenta que es posible que tengas que reaccionar ante determinados cambios en la configuración (como un cambio de rotación) para mantener la homogeneidad de tu interfaz.
-
-Por ejemplo, en un tablet de 7" que utilice Android 3.0 o una versión superior, el ejemplo de News Reader utiliza una actividad independiente para mostrar el artÃculo de noticias en el modo vertical, pero utiliza el diseño de panel dual en el modo horizontal.
-
-Esto significa que cuando el usuario utiliza el modo vertical y está consultando un artÃculo, tienes que detectar que la orientación ha cambiado al modo horizontal y reaccionar de forma adecuada finalizando la actividad. A continuación, debes volver a la actividad principal para que el contenido pueda mostrarse en el diseño de panel dual:
-
-
-public class ArticleActivity extends FragmentActivity {
- int mCatIndex, mArtIndex;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- mCatIndex = getIntent().getExtras().getInt("catIndex", 0);
- mArtIndex = getIntent().getExtras().getInt("artIndex", 0);
-
- // If should be in two-pane mode, finish to return to main activity
- if (getResources().getBoolean(R.bool.has_two_panes)) {
- finish();
- return;
- }
- ...
-}
-
-
-
diff --git a/docs/html/intl/es/training/multiscreen/index.jd b/docs/html/intl/es/training/multiscreen/index.jd
deleted file mode 100644
index 0a1461b12cdc..000000000000
--- a/docs/html/intl/es/training/multiscreen/index.jd
+++ /dev/null
@@ -1,63 +0,0 @@
-page.title=Cómo diseñar aplicaciones para varias pantallas
-trainingnavtop=true
-startpage=true
-next.title=Cómo admitir varios tamaños de pantalla
-next.link=screensizes.html
-
-@jd:body
-
-
-
-
-
Dependencias y requisitos previos
-
-
-
-
También puedes consultar:
-
-
-
-
¡Pruébalo!
-
-
-
-
-
-
-Android se utiliza en cientos de dispositivos con diferentes tamaños de pantalla, desde pequeños teléfonos hasta enormes televisores. Por ello, es importante que diseñes tu aplicación para que sea compatible con todos los tamaños de pantalla y esté disponible para el mayor número de usuarios posible.
-
-Sin embargo, no es suficiente con que tu aplicación sea compatible con diferentes dispositivos. Cada tamaño de pantalla ofrece diferentes posibilidades y retos para la interacción del usuario. Por ello, para satisfacer completamente a tus usuarios e impresionarlos, tu aplicación debe ir más allá de simplemente admitir varias pantallas: debe optimizar la experiencia de usuario para cada configuración de pantalla.
-
-En esta sección se explica cómo implementar una interfaz de usuario que esté optimizada para diferentes configuraciones de pantalla.
-
-El código que aparece en cada sección se ha extraÃdo de una aplicación de ejemplo para explicar las prácticas recomendadas a la hora de optimizar tu aplicación para varias pantallas. Puedes descargar el ejemplo (situado a la derecha) y utilizarlo como fuente de código reutilizable para tu propia aplicación.
-
-Nota: en esta sección y en el ejemplo correspondiente, se utiliza la biblioteca de compatibilidad para poder usar las API de {@link android.app.Fragment} en versiones anteriores a Android 3.0. Debes descargar y la biblioteca y añadirla a tu aplicación para poder utilizar todas las API que se indican en esta sección.
-
-
-Secciones
-
-
- - Cómo admitir varios tamaños de pantalla
- - En esta sección se explica cómo crear diseños que se adapten a diferentes tamaños de pantalla (mediante dimensiones flexibles para vistas, {@link android.widget.RelativeLayout}, calificadores de orientación y tamaño de pantalla, filtros de alias y mapas de bits de la clase NinePatch).
-
- - Cómo admitir varias densidades de pantalla
- - En esta sección se explica cómo admitir pantallas con diferentes densidades de pÃxeles (mediante pÃxeles independientes de la densidad y mapas de bits adecuados a cada densidad).
-
- - Cómo implementar interfaces de usuario adaptables
- - En esta sección se explica cómo implementar tu interfaz de usuario para que se adapte a varias combinaciones de densidad o de tamaño de pantalla (detección de tiempo de ejecución del diseño activo, cómo reaccionar en función del diseño actual y cómo administrar los cambios en la configuración de la pantalla).
-
diff --git a/docs/html/intl/es/training/multiscreen/screendensities.jd b/docs/html/intl/es/training/multiscreen/screendensities.jd
deleted file mode 100644
index 0edb89fd4707..000000000000
--- a/docs/html/intl/es/training/multiscreen/screendensities.jd
+++ /dev/null
@@ -1,100 +0,0 @@
-page.title=Cómo admitir varias densidades de pantalla
-parent.title=Cómo diseñar aplicaciones para varias pantallas
-parent.link=index.html
-
-trainingnavtop=true
-previous.title=Cómo admitir varios tamaños de pantalla
-previous.link=screensizes.html
-next.title=Cómo implementar interfaces de usuario adaptables
-next.link=adaptui.html
-
-@jd:body
-
-
-
-
-
-En esta sección se explica cómo proporcionar diferentes recursos y utilizar unidades de medida de resolución independiente para admitir diferentes densidades de pantalla.
-
-Cómo utilizar pÃxeles independientes de la densidad
-
-Un error común que debes evitar al crear tus diseños es utilizar pÃxeles absolutos para definir distancias o tamaños. Definir dimensiones de diseño mediante pÃxeles es problemático porque cada pantalla tiene densidades de pÃxeles diferentes, por lo que es posible que el mismo número de pÃxeles corresponda a varios tamaños fÃsicos en distintos dispositivos. Por tanto, al especificar dimensiones, debes utilizar siempre unidades dp
o sp
. dp
es un pÃxel independiente de la densidad que corresponde al tamaño fÃsico de un pÃxel a 160 dpi. sp
es la misma unidad de base, pero aumentada en función del tamaño de letra preferido por el usuario (se trata de un pÃxel independiente de la escala). Por tanto, debes utilizar esta unidad de medida para definir el tamaño de letra (pero no para tamaños de diseños).
-
-Por ejemplo, al especificar un espacio entre dos vistas, debes utilizar dp
en lugar de px
:
-
-
-<Button android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/clickme"
- android:layout_marginTop="20dp" />
-
-
-Al especificar el tamaño de letra, debes usar siempre sp
:
-
-
-<TextView android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:textSize="20sp" />
-
-
-
-Cómo proporcionar mapas de bits alternativos
-
-Dado que Android se ejecuta en dispositivos con diferentes densidades de pantalla, siempre debes proporcionar tus recursos de mapas de bits adaptados a los conjuntos de densidades generalizados: baja, media, alta y muy alta. De este modo, podrás conseguir un rendimiento y una calidad gráfica óptimos en todas las densidades de pantalla.
-
-Para generar estas imágenes, debes empezar con tu recurso genérico en formato vectorial y generar las imágenes para cada densidad con la siguiente escala de tamaños:
-
-
- xhdpi
: 2,0
- hdpi
: 1,5
- mdpi
: 1.0 (base)
- ldpi
: 0,75
-
-
-Esto significa que si generas una imagen de 200 x 200 para dispositivos xhdpi
, debes generar el mismo recurso en 150 x 150 para hdpi
, en 100 x 100 para mdpi
y, por último, una imagen de 75 x 75 para dispositivos ldpi
.
-
-A continuación, sitúa los archivos de imagen generados en el subdirectorio adecuado en res/
y el sistema seleccionará el archivo correspondiente automáticamente en función de la densidad de la pantalla del dispositivo en el que se esté ejecutando la aplicación:
-
-
-MyProject/
- res/
- drawable-xhdpi/
- awesomeimage.png
- drawable-hdpi/
- awesomeimage.png
- drawable-mdpi/
- awesomeimage.png
- drawable-ldpi/
- awesomeimage.png
-
-
-Por tanto, cada vez que hagas referencia a @drawable/awesomeimage
, el sistema seleccionará el mapa de bits adecuado en función de los puntos por pulgada de la pantalla.
-
-Para consultar más sugerencias y directrices sobre cómo crear recursos de iconos para tu aplicación, consulta la sección Directrices para diseñar iconos.
-
diff --git a/docs/html/intl/es/training/multiscreen/screensizes.jd b/docs/html/intl/es/training/multiscreen/screensizes.jd
deleted file mode 100644
index 9a971d1c000c..000000000000
--- a/docs/html/intl/es/training/multiscreen/screensizes.jd
+++ /dev/null
@@ -1,279 +0,0 @@
-page.title=Cómo admitir varios tamaños de pantalla
-parent.title=Cómo diseñar aplicaciones para varias pantallas
-parent.link=index.html
-
-trainingnavtop=true
-next.title=Cómo admitir varias densidades de pantalla
-next.link=screendensities.html
-
-@jd:body
-
-
-
-
-
-En esta sección se explica cómo admitir varios tamaños de pantalla. Para ello, sigue estos pasos:
-
- - Asegúrate de que el diseño se haya ajustado correctamente al tamaño de la pantalla.
- - Configura la pantalla con el diseño de interfaz adecuado.
- - Asegúrate de aplicar el diseño adecuado a la pantalla correspondiente.
- - Utiliza el mapa de bits con la escala adecuada.
-
-
-
-Cómo utilizar los valores "wrap_content" y "match_parent"
-
-Para garantizar que el diseño es flexible y que se adapta a varios tamaños de pantalla, debes utilizar los valores "wrap_content"
y "match_parent"
para la altura y el ancho de algunos componentes de la vista. Si utilizas "wrap_content"
, el ancho o la altura de la vista se establece en el tamaño mÃnimo necesario para adaptar el contenido a esta vista, mientras que "match_parent"
(también conocido como "fill_parent"
antes del nivel 8 del API) provoca que el componente se amplÃe hasta coincidir con el tamaño de la vista principal.
-
-Al utilizar los valores de tamaño "wrap_content"
y "match_parent"
en lugar de los tamaños predefinidos, las vistas pueden utilizar únicamente el espacio requerido para esa vista o ampliarse hasta rellenar el espacio disponible respectivamente. Por ejemplo:
-
-{@sample development/samples/training/multiscreen/newsreader/res/layout/onepane_with_bar.xml all}
-
-Observa cómo se utilizan en el ejemplo los valores "wrap_content"
y "match_parent"
para los tamaños de los componentes en lugar de dimensiones especÃficas. Esto permite que el diseño se adapte correctamente a diferentes tamaños y orientaciones de la pantalla.
-
-Por ejemplo, esta es la apariencia del diseño en modo horizontal y vertical. Ten en cuenta que los tamaños de los componentes se adaptan automáticamente a la altura y al ancho:
-
-
-Figura 1. La aplicación de ejemplo News Reader en modo vertical (izquierda) y horizontal (derecha)
-
-
-Cómo utilizar RelativeLayout
-
-Puedes crear diseños de un cierto nivel de complejidad con instancias anidadas de {@link android.widget.LinearLayout} y combinaciones de los valores de tamaño "wrap_content"
y "match_parent"
. Sin embargo, {@link android.widget.LinearLayout} no te permite controlar con precisión las relaciones espaciales de las vistas secundarias; las vistas de {@link android.widget.LinearLayout} simplemente se alinean en paralelo. Si quieres orientar las vistas secundarias de una forma que no sea una lÃnea recta, a menudo la mejor solución es utilizar {@link android.widget.RelativeLayout}que te permite especificar el diseño según las relaciones espaciales entre los componentes. Por ejemplo, puedes alinear una vista secundaria en el lateral izquierdo y otra vista en el lateral derecho de la pantalla.
-
-Por ejemplo:
-
-
-<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
- <TextView
- android:id="@+id/label"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="Type here:"/>
- <EditText
- android:id="@+id/entry"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_below="@id/label"/>
- <Button
- android:id="@+id/ok"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_below="@id/entry"
- android:layout_alignParentRight="true"
- android:layout_marginLeft="10dp"
- android:text="OK" />
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_toLeftOf="@id/ok"
- android:layout_alignTop="@id/ok"
- android:text="Cancel" />
-</RelativeLayout>
-
-
-La figura 2 indica cómo se muestra este diseño en una pantalla QVGA.
-
-
-Figura 2. Captura de pantalla de una pantalla QVGA (pantalla pequeña)
-
-La figura 3 indica cómo se muestra este diseño en una pantalla más grande.
-
-
-Figura 3. Captura de pantalla de una pantalla WSVGA (pantalla grande)
-
-Ten en cuenta que aunque el tamaño de los componentes es diferente, las relaciones espaciales se mantienen según se ha especificado con {@link android.widget.RelativeLayout.LayoutParams}.
-
-
-Cómo utilizar calificadores de tamaño
-
-Hay mucha diferencia entre un diseño flexible y un diseño relativo como el que se ha utilizado en las secciones anteriores. Aunque ambos diseños se adaptan a diferentes pantalla estirando el espacio dentro de los componentes y alrededor de los mismos, puede que no ofrezcan la mejor experiencia de usuario para cada tamaño de pantalla. Por tanto, tu aplicación no solo debe implementar los diseños flexibles, sino que también debe ofrecer varios diseños alternativos para diferentes configuraciones de pantalla. Para ello, se utilizan calificadores de configuración, que permiten que el tiempo de ejecución seleccione el recurso adecuado en función de la configuración actual del dispositivo (por ejemplo, un diseño diferente para diferentes tamaños de pantalla).
-
-Por ejemplo, muchas aplicaciones implementan el patrón de "panel dual" para pantallas grandes (la aplicación mostrarÃa una lista de elementos en un panel y el contenido en otro panel). Aunque los tablets y las televisiones son lo suficientemente grandes como para que los dos paneles aparezcan simultáneamente en la pantalla, las pantallas de los teléfonos tienen que mostrarlos por separado. Para implementar estos diseños, puedes utilizar los siguientes archivos:
-
-
- res/layout/main.xml
, diseño de panel único (predeterminado):
-
-{@sample development/samples/training/multiscreen/newsreader/res/layout/onepane.xml all}
-
- res/layout-large/main.xml
, diseño de panel dual:
-
-{@sample development/samples/training/multiscreen/newsreader/res/layout/twopanes.xml all}
-
-
-
-Observa el calificador large
en el nombre de directorio del segundo diseño. Este diseño se seleccionará en dispositivos con pantallas clasificadas como grandes (por ejemplo, tablets de 7" y superiores). El otro diseño (sin calificadores) se seleccionará en el caso de dispositivos más pequeños.
-
-
-Cómo utilizar el calificador de ancho mÃnimo
-
-Una de las dificultades a las que se enfrentaron los desarrolladores con los dispositivos Android anteriores a la versión 3.2 fue el contenedor de tamaño de pantalla "grande". Algunos ejemplos de este tipo de dispositivo son el tablet Dell Streak, el tablet Galaxy Tab original y los tablets de 7" en general. Sin embargo, es posible que muchas aplicaciones quieran mostrar varios diseños para diferentes dispositivos de esta categorÃa (por ejemplo, para dispositivos de 5" y de 7"), aunque todos estos dispositivos se consideren de pantalla grande. Por esta razón, Android introdujo el calificador de "ancho mÃnimo" (entre otros) en Android 3.2.
-
-Este calificador te permite mostrar contenido en pantallas que tengan un ancho mÃnimo determinado en pÃxeles independientes de la densidad. Por ejemplo, el tablet tÃpico de 7" tiene un ancho mÃnimo de 600 dp, por lo que si quieres que la interfaz de usuario sea de panel dual en esta pantalla (y una única lista en pantallas más pequeñas), puedes utilizar los mismos dos diseños de la sección anterior para los diseños de panel único y de panel dual, solo que en lugar de utilizar el calificador de tamaño large
, debes utilizar sw600dp
para indicar que el diseño de panel dual se utiliza con las pantallas cuyo ancho mÃnimo sea de 600 dp:
-
-
- res/layout/main.xml
, diseño de panel único (predeterminado):
-
-{@sample development/samples/training/multiscreen/newsreader/res/layout/onepane.xml all}
-
- res/layout-sw600dp/main.xml
, diseño de panel dual:
-
-{@sample development/samples/training/multiscreen/newsreader/res/layout/twopanes.xml all}
-
-
-
-Esto significa que los dispositivos cuyo ancho mÃnimo sea igual o superior a 600 dp utilizarán el diseño layout-sw600dp/main.xml
(panel dual), mientras que las pantallas más pequeñas utilizarán el diseño layout/main.xml
(panel único).
-
-No obstante, esto no funcionará en los dispositivos anteriores a Android 3.2 porque no reconocen sw600dp
como calificador de tamaño, por lo que también tendrás que seguir utilizando el calificador large
. Por tanto, debes tener un archivo con el nombre res/layout-large/main.xml
idéntico a res/layout-sw600dp/main.xml
. En la siguiente sección, obtendrás información sobre una técnica que te permite evitar que se dupliquen los archivos de diseños.
-
-
-Cómo utilizar alias de diseño
-
-El calificador de ancho mÃnimo solo está disponible en Android 3.2 o superior. Por tanto, tendrás que seguir utilizando los contenedores de tamaño abstractos (pequeño, normal, grande y extragrande) para que sean compatibles con versiones anteriores. Por ejemplo, si quieres que tu interfaz de usuario sea de panel único en teléfonos pero multipanel en tablets de 7", televisiones y otros dispositivos grandes, tendrás que utilizar los siguientes archivos:
-
-
-res/layout/main.xml:
diseño de panel único,
-res/layout-large:
diseño multipanel,
-res/layout-sw600dp:
diseño multipanel.
-
-
-Los dos últimos archivos son idénticos porque uno de ellos se utilizará con dispositivos Android 3.2 y el otro con tablets y televisiones que utilicen versiones anteriores de Android.
-
-Para evitar la duplicación del mismo archivo para tablets y televisiones (asà como todos los problemas que esto conlleva), puedes utilizar archivos alias. Por ejemplo, puedes establecer los siguientes diseños:
-
-
-res/layout/main.xml
: diseño de panel único,
-res/layout/main_twopanes.xml
: diseño de panel dual.
-
-
-Añade estos dos archivos:
-
-
-
-Estos dos últimos archivos tienen el mismo contenido, pero en realidad no definen el diseño. Solo configuran {@code main} para que sea un alias de {@code main_twopanes}. Como los archivos tienen selectores large
y sw600dp
, se aplican a tablets y a televisiones independientemente de la versión de Android (las televisiones y los tablets anteriores a la versión 3.2 utilizarán
-{@code large}y las televisiones y los tablets posteriores a la versión 3.2 utilizarán sw600dp
).
-
-
-Cómo utilizar calificadores de orientación
-
-Aunque algunos diseños se pueden utilizar tanto en modo horizontal como vertical, la mayorÃa de ellos pueden beneficiarse de los ajustes. A continuación, se indica cómo se comporta el diseño según cada tamaño y orientación de la pantalla en la aplicación de ejemplo News Reader:
-
-
-- pantalla pequeña, vertical: panel único con logotipo,
-- pantalla pequeña, horizontal: panel único con logotipo,
-- tablet de 7", vertical: panel único con barra de acciones,
-- tablet de 7", horizontal: panel dual ancho con barra de acciones,
-- tablet de 10", vertical: panel dual estrecho con barra de acciones,
-- tablet de 10", horizontal: panel dual ancho con barra de acciones,
-- televisión, horizontal: panel dual ancho con barra de acciones.
-
-
-Cada uno de estos diseños se establecen en un archivo XML en el directorio res/layout/
. Para definir posteriormente las diferentes configuraciones de pantalla, la aplicación utiliza alias de diseño para asignarlos a cada configuración:
-
-res/layout/onepane.xml:
-{@sample development/samples/training/multiscreen/newsreader/res/layout/onepane.xml all}
-
-res/layout/onepane_with_bar.xml:
-{@sample development/samples/training/multiscreen/newsreader/res/layout/onepane_with_bar.xml all}
-
-res/layout/twopanes.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/layout/twopanes.xml all}
-
-res/layout/twopanes_narrow.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/layout/twopanes_narrow.xml all}
-
-Una vez que se hayan definido todos los diseños posibles, solo se debe asignar el diseño adecuado a cada configuración a través de calificadores de configuración. Ahora ya puedes utilizar la técnica de los alias de diseño:
-
-res/values/layouts.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/values/layouts.xml all}
-
-res/values-sw600dp-land/layouts.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/values-sw600dp-land/layouts.xml
-all}
-
-res/values-sw600dp-port/layouts.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/values-sw600dp-port/layouts.xml
-all}
-
-res/values-large-land/layouts.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/values-large-land/layouts.xml all}
-
-res/values-large-port/layouts.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/values-large-port/layouts.xml all}
-
-
-
-Cómo utilizar mapas de bits de la clase NinePatch
-
-Admitir diferentes tamaños de pantalla normalmente implica que las fuentes de imagen también deben poder adaptarse a varios tamaños. Por ejemplo, un fondo de botón debe adaptarse a cualquier forma de botón a la que se aplique.
-
-Si utilizas imágenes sencillas en componentes que pueden cambiar de tamaño, observarás rápidamente que los resultados no es que sean precisamente impresionantes, ya que las imágenes se estirarán o estrecharán. La solución es utilizar mapas de bits de la clase NinePatch, que son archivos PNG con un formato especial que indican las áreas que se pueden y no se pueden estirar.
-
-Por tanto, al diseñar mapas de bits que se vayan a utilizar en componentes con tamaño variable, utiliza siempre mapas de bits de la clase NinePatch. Para convertir un mapa de bits en uno de la clase NinePatch, puedes empezar con una imagen normal (consulta la figura 4, que se ha ampliado cuatro veces para obtener una mayor claridad).
-
-
-Figura 4. button.png
-
-A continuación, puedes pasar a la utilidad draw9patch
del SDK (que se localiza en el directorio tools/
) en la que puedes marcar las áreas que se deben estirar dibujando pÃxeles a lo largo de los bordes superior e izquierdo. También puedes marcar el área que debe incluir el contenido dibujando pÃxeles a lo largo de los bordes inferior y derecho, como se muestra en la figura 5.
-
-
-Figura 5. button.9.png
-
-Observa los pÃxeles de color negro situados junto a los bordes. Los que aparecen en los bordes superior e izquierdo indican los lugares en los que se puede estirar la imagen, mientras que los que aparecen en los bordes inferior y derecho indican dónde se debe situar el contenido.
-
-Además, observa la extensión .9.png
. Debes utilizar esta extensión, ya que, de este modo, el marco detecta que se trata de una imagen de la clase NinePatch, en lugar de una imagen PNG normal.
-
-Cuando aplicas este fondo a un componente (definiendo android:background="@drawable/button"
), el marco estira la imagen de forma adecuada para adaptarla al botón, como se muestra en varios tamaños de la figura 6.
-
-
-Figura 6. Botón que utiliza la clase NinePatch button.9.png
en varios tamaños
-
diff --git a/docs/html/intl/ja/community/index.jd b/docs/html/intl/ja/community/index.jd
deleted file mode 100644
index 9739f0d3f268..000000000000
--- a/docs/html/intl/ja/community/index.jd
+++ /dev/null
@@ -1,116 +0,0 @@
-community=true
-page.title=ã³ãã¥ããã£
-@jd:body
-
-
-
ã³ãã¥ããã£
-
Android ãããããã¼ ã³ãã¥ããã£ã¸ãããããã³ãã¥ããã£ã§ã®ãã£ã¹ã«ãã·ã§ã³ã«ãã²åå ãã¦ãã ãããæ稿ããåã«ãã³ãã¥ãã㣠ã¬ã¤ãã©ã¤ã³ãè¨è¼ããã¦ããã°ã«ã¼ãã®è¶£æããèªã¿ãã ããã
-
-
注: Android ã½ã¼ã¹ ã³ã¼ãï¼ã¢ããªã±ã¼ã·ã§ã³éçºã§ã¯ãªãï¼ã«é¢ãããã£ã¹ã«ãã·ã§ã³ã¯ããªã¼ãã³ã½ã¼ã¹ ããã¸ã§ã¯ãã®ã¡ã¼ãªã³ã° ãªã¹ãï¼è±èªï¼ãåç
§ãã¦ãã ããã
-
-
ç®æ¬¡
-
- - 質åãæ稿ããåã«
- - ã¢ããªã±ã¼ã·ã§ã³ ãããããã¼ ã¡ã¼ãªã³ã° ãªã¹ã
- - ã¡ã¼ãªã³ã° ãªã¹ãã«ã¡ã¼ã«ã使ç¨
- - IRC ã®ä½¿ç¨
-
-
-
質åãæ稿ããåã«
-
æ稿ãä½æããåã«ãä¸è¨ãã試ããã ãã:
-
-
-- ãããã質åãåç
§ãã¾ããAndroid ã¢ããªã±ã¼ã·ã§ã³ã®éçºã«ã¤ãã¦é常ã«ä¸è¬çãªè³ªåãããã®ä¸è¦§ã«è¨è¼ããã¦ãããé »ç¹ã«æ´æ°ããã¦ãã¾ãã
-- Android ã®ã¡ã¤ã³ ãµã¤ãã®æ¤ç´¢ãã¼ï¼ãã®ãã¼ã¸ã®ä¸é¨ã«ããã®ã¨åããã®ï¼ã«ã調ã¹ãããã¼ã¯ã¼ããå
¥åãã¦ãã ããããã®æ¤ç´¢ã¯ããµã¤ããããã¥ã¡ã³ããããã°ã«å«ã¾ãããã¹ã¦ã®ã³ã³ãã³ãã®ä»ã«ããã¹ã¦ã®ã°ã«ã¼ãã§ä»¥åè¡ããããã¹ã¦ã®ãã£ã¹ã«ãã·ã§ã³ã網ç¾
ãã¦ãã¾ãã誰ãä»ã®äººãã以åã«ãåãåé¡ã«ééããå¯è½æ§ã¯å¤§ãã«ããã¾ãã
-- ã¡ã¼ãªã³ã° ãªã¹ãã®ã¢ã¼ã«ã¤ããæ¤ç´¢ãã¦ãåã質åã«é¢ãããã£ã¹ã«ãã·ã§ã³ãæ¢ã«åå¨ããªãã調ã¹ã¦ãã ããã
-
-
-
-
質åã¸ã®çããè¦ã¤ãããªãå ´åãã³ãã¥ããã£ã§è³ªåãããã¨ããããããã¾ããæ稿ããéã¯ã次ã®æé ã«å¾ã£ã¦ãã ããã
-
-- ã³ãã¥ãã㣠ã¬ã¤ãã©ã¤ã³ãè¨è¼ããã¦ããAndroid ã¡ã¼ãªã³ã°ãªã¹ãã®è¶£æããèªã¿ãã ããã
-
-- 質åã«æé©ãªã¡ã¼ãªã³ã° ãªã¹ããé¸æãã¦ãã ãããå¾è¿°ããããã«ããããããã¼åãã®ã¡ã¼ãªã³ã° ãªã¹ãã¯ä½ç¨®é¡ãã«åããã¦ãã¾ãã
--
- 質åã®å
容ãæ確ã«ãæ確ãªè³ªåã¯ãåçè
ã¨ãå°æ¥æ
å ±ãæ¢ããã¨ãã人ã®åæ¹ã«ã¨ã£ã¦æçã§ãã
-- æ稿ã¯è©³ããæ¸ãã¦ãã ãããåçè
ã®äººãã¡ãåé¡ãç解ããã®ã«å½¹ç«ã¡ã¾ããã³ã¼ãããã°ã®ã¹ãããããã¹ã¯ãªã¼ã³ã·ã§ããã¸ã®ãªã³ã¯ãå«ãããã¨ãæç¨ã§ãã質åããããããã表ç¾ããããã®è©³ããã¬ã¤ãã©ã¤ã³ã¯ãè³¢ã質åã®ãããï¼è±èªï¼ãã覧ãã ããã
-
-
-
-
-
ã¢ããªã±ã¼ã·ã§ã³ ãããããã¼ ã¡ã¼ãªã³ã° ãªã¹ã
-
-
-- Android SDK Japan - Android SDK ã«é¢ãã質åã¨çããææ¡ã¨ãã£ã¼ãããã¯ã交æã§ããå ´ã§ãã
-
-
-
-- Android åå¿è
åã - Android ã¢ããªã±ã¼ã·ã§ã³ã®éçºåå¿è
åãã§ããAndroid SDK ã¨åºæ¬ç㪠Android API ã®å©ç¨æ¹æ³ã«ã¤ãã¦å¦ç¿ãããå ´åã¯ããã®ã¡ã¼ãªã³ã° ãªã¹ãããå§ãã¦ãã ããããã®ã¡ã¼ãªã³ã° ãªã¹ãã«ã¯ãSDK ãå©ç¨ãããããããã¼ã®åæ©çãªãã£ã¹ã«ãã·ã§ã³ã®å ´æã§ããAndroid ãã©ãããã©ã¼ã ã§åãã¦ã¢ããªã±ã¼ã·ã§ã³ãä½æãã¦å®è¡ããéã¯ãé常ã«æçãªæ
å ±ãå¾ããã¨ãã§ããã§ããããéçºç°å¢ã®ã¤ã³ã¹ãã¼ã«æ¹æ³ã«ã¤ãã¦ã®è³ªåãæ稿ããããAndroid éçºã®åæ©ï¼åãã¦ä½æããã¦ã¼ã¶ã¼ ã¤ã³ã¿ã¼ãã§ã¼ã¹ã権éãAndroid ãã¡ã¤ã«ã·ã¹ãã ã§ã®ãã¡ã¤ã«ãAndroid ãã¼ã±ããã§ã®ã¢ããªã±ã¼ã·ã§ã³ãªã©ï¼ã«ã¤ãã¦æãã¦ããããã¨ãã§ãã¾ããæ°ãã«è³ªåããåã«ãå¿
ãæåã«ã¢ã¼ã«ã¤ãã確èªãã¦ãã ãããé«åº¦ãªå
容ã®è³ªåã®å ´åã¯ããã§ã¯è³ªåãããandroid-developers ã¡ã¼ãªã³ã° ãªã¹ãã§è³ªåãã¦ãã ãããã¾ã使ç¨ã«é¢ãã質åã¯ãandroid-discuss ã¡ã¼ãªã³ã° ãªã¹ãã®æ¹ãé©ãã¦ãã¾ãã
-
-
-
-- Android ãããããã¼åã - Android ã¢ããªã±ã¼ã·ã§ã³ ãããããã¼ã¨ãã¦çµé¨ãç©ãã«ã¤ããAndroid ã¢ããªã±ã¼ã·ã§ã³éçºã®åºæ¬ãææ¡ãã¦ãSDK ã使ãããªããããã«ãªãã¾ããä»åº¦ã¯ãããé«åº¦ãªå
容ã«ã¤ãã¦è³ªåããå¿
è¦ãããã¾ããã¢ããªã±ã¼ã·ã§ã³ã®ãã©ãã«ã·ã¥ã¼ãã£ã³ã°ãå®è£
ã¸ã®ã¢ããã¤ã¹ãã¢ããªã±ã¼ã·ã§ã³ã®ããã©ã¼ãã³ã¹ãã¦ã¼ã¶ã¼ ã¨ã¯ã¹ããªã¨ã³ã¹ãæ¹è¯ãããã¯ããã¯ã«é¢ãã質åã«ã¯ã次ã®ã¡ã¼ãªã³ã° ãªã¹ããå½¹ç«ã¡ã¾ãã使ç¨ã«é¢ããåé¡ï¼android-discuss ããå©ç¨ãã ããï¼ããAndroid SDK ã使ç¨ããéã®åæ©ç質åï¼android-beginners ããå©ç¨ãã ããï¼ã«ã¤ãã¦ã®ãã£ã¹ã«ãã·ã§ã³ã®å ´æã§ã¯ããã¾ããã
-
-
-
-- Android ãã£ã¹ã«ãã·ã§ã³ - Android ã«é¢ãããäºæ¸ç«¯ä¼è°ãã§ããããã§ã¯ãAndroid ãã©ãããã©ã¼ã ã¸ã®ã¢ã¤ãã¢ãèªåã®ã¢ããªã±ã¼ã·ã§ã³ã®å
¬è¡¨ãAndroid æºå¸¯ç«¯æ«ã«é¢ãããã£ã¹ã«ãã·ã§ã³ãã³ãã¥ãã㣠ãªã½ã¼ã¹ãªã©ãAndroid ã«é¢ãããã¨ãªãä½ã§ãæ稿å¯è½ã§ãããã ãä»ã®ã¡ã¼ãªã³ã° ãªã¹ãã«è©²å½ããå
容ã®å ´åã¯ããã®ã¡ã¼ãªã³ã° ãªã¹ãã«æ稿ãããã¨ããããããã¾ãã質åã®ãã¼ããéå®ããã¦ããå ´æã®æ¹ããããå¤ãã®åçãå¾ããã¨ãã§ããã§ãããã
-
-
-
-- Android ã»ãã¥ãªã㣠ãã£ã¹ã«ãã·ã§ã³ - å®å
¨ãªéçºãæ°ãã«çºçããã»ãã¥ãªãã£ã®åé¡ãAndroid ãããããã¼åãã® Android ãããããã¼ã«ãããã¹ã ãã©ã¯ãã£ã¹ã«ã¤ãã¦èªç±ã«ãã£ã¹ã«ãã·ã§ã³ãè¡ããå ´æã§ããã¡ã¼ãªã³ã° ãªã¹ãã§èå¼±æ§ãç´æ¥å
¬éãããã¨ã¯ããã¹ã¦ã® Android ã¦ã¼ã¶ã¼ãå±éºã«ããããã¨ã«ãªãã®ã§ãé¿ãã¦ãã ããã
-
-
-
-- Android ã»ãã¥ãªãã£ã«é¢ããçºè¡¨ - Android ã»ãã¥ãªã㣠ãã¼ã ãã»ãã¥ãªãã£é¢é£ã®çºè¡¨ãè¡ããå°è¦æ¨¡ãªã°ã«ã¼ãã§ãã
-
-
-
-- Android ãã¼ã±ãã ãã«ããã©ã¼ã©ã - Android ãã¼ã±ããã«é¢ãã質åãåé¡ã®å ±åãããããã®ãã¦ã§ããã¼ã¹ã®ãã£ã¹ã«ãã·ã§ã³ ãã©ã¼ã©ã ã§ãã
-
-
-
-
-
-
-
-
ã¡ã¼ãªã³ã° ãªã¹ãã«ã¡ã¼ã«ã使ç¨
-
Google ã°ã«ã¼ã ã®ãµã¤ãã使ç¨ãã代ããã«ãã¡ã¼ã« ã¯ã©ã¤ã¢ã³ãã使ç¨ãã¦ãã¡ã¼ãªã³ã° ãªã¹ãã«æ稿ãããã¨ãå¯è½ã§ãã
-
Google ã°ã«ã¼ãã®ãµã¤ãã使ç¨ããã«ãã°ã«ã¼ãã«ç»é²ããã«ã¯ãä¸è¨ã®ãã¡ã¼ã«ã§ç»é²ãã®ãªã³ã¯ã使ç¨ãã¾ãã
-
ã¡ã¼ãªã³ã° ãªã¹ãã¸ã®æ稿ãã¡ã¼ã«ã§åä¿¡ããããã«è¨å®ããæ¹æ³ã¯ã次ã®ã¨ããã§ã:
-
-
- Google ã°ã«ã¼ã ãµã¤ããããã°ã«ã¼ãã«ãã°ã¤ã³ãã¾ãããã¨ãã° android-framework ã°ã«ã¼ãã«ã¯ http://groups.google.com/group/android-framework?hl=ja ã«ã¢ã¯ã»ã¹ãã¾ãã
-- å³å´ã® [ã¡ã³ãã¼ã¹ãã¼ã¿ã¹ãç·¨é] ãã¯ãªãã¯ãã¾ãã
-- [ãã®ã°ã«ã¼ãã®é²è¦§æ¹æ³] ã§ãã¡ã¼ã« ãªãã·ã§ã³ã®ãããããé¸æãã¾ãã
-
-
-
IRC ã®ä½¿ç¨
-
Android ã³ãã¥ããã£ã¯ irc.freenode.net ãµã¼ãã¼ã® #android ãã£ã³ãã«ã使ç¨ãã¦ãã¾ãã
-
-
-
-
-
-
-
-
-
diff --git a/docs/html/intl/ja/guide/basics/what-is-android.jd b/docs/html/intl/ja/guide/basics/what-is-android.jd
deleted file mode 100644
index f78b077d3d29..000000000000
--- a/docs/html/intl/ja/guide/basics/what-is-android.jd
+++ /dev/null
@@ -1,81 +0,0 @@
-page.title=Android ã¨ã¯
-@jd:body
-
-Android ã¯ããªãã¬ã¼ãã£ã³ã° ã·ã¹ãã ãããã«ã¦ã§ã¢ã主è¦ãªã¢ããªã±ã¼ã·ã§ã³ãå«ããæºå¸¯é»è©±åãã®ã½ããã¦ã§ã¢ ã¹ã¿ãã¯ã§ããAndroid SDK ã¯ãJava ããã°ã©ãã³ã°è¨èªã使ç¨ãã Android ãã©ãããã©ã¼ã åãã®ã¢ããªã±ã¼ã·ã§ã³ã®éçºãå§ããã®ã«å¿
è¦ãªãã¼ã«ã¨ API ãæä¾ãã¾ãã
-
-ç¹é·
-
-
- - ã³ã³ãã¼ãã³ãã®åå©ç¨ã¨ç½®æãå¯è½ãªã¢ããªã±ã¼ã·ã§ã³ ãã¬ã¼ã ã¯ã¼ã¯
- - æºå¸¯é»è©±ç¨ã«æé©åããã Dalvik ä»®æ³ãã·ã³
- - ãªã¼ãã³ã½ã¼ã¹ WebKit ã¨ã³ã¸ã³ããã¼ã¹ã«ããçµ±åãã©ã¦ã¶
- - ã«ã¹ã¿ã 2D ã°ã©ãã£ãã¯ã¹ ã©ã¤ãã©ãªã¨ OpenGL ES 1.0 ä»æ§ã«åºã¥ãã 3D ã°ã©ãã£ãã¯ã¹ã«ããæä¾ãããæé©åãããã°ã©ãã£ãã¯ã¹ï¼ãªãã·ã§ã³ã®ãã¼ãã¦ã§ã¢ ã¢ã¯ã»ã©ã¬ã¼ã·ã§ã³ï¼
- - SQLite ã«ããæ§é åãã¼ã¿ ã¹ãã¬ã¼ã¸
- - é³å£°ãæ åãéæ¢ç»ã®ä¸è¬çãªãã©ã¼ãããï¼MPEG4ãH.264ãMP3ãAACãAMRãJPGãPNGãGIFï¼ã«å¯¾ããã¡ãã£ã¢ ãµãã¼ã
- - GSM ãã¬ãã©ãã¼æ©è½ï¼ãã¼ãã¦ã§ã¢ã«ä¾åï¼
- - BluetoothãEDGEã3GãWiFiï¼ãã¼ãã¦ã§ã¢ã«ä¾åï¼
- - ã«ã¡ã©ãGPSãã³ã³ãã¹ãå é度è¨ï¼ãã¼ãã¦ã§ã¢ã«ä¾åï¼
- - ããã¤ã¹ ã¨ãã¥ã¬ã¼ã¿ããããã°ç¨ãã¼ã«ãã¡ã¢ãªã¨ããã©ã¼ãã³ã¹ã®åæãEclipse IDE ç¨ãã©ã°ã¤ã³ãå«ãæ©è½ã®è±å¯ãªéçºç°å¢
-
-
-
-Android ã¢ã¼ããã¯ãã£
-
-Android ãªãã¬ã¼ãã£ã³ã° ã·ã¹ãã ã®ä¸»ãªã³ã³ãã¼ãã³ãã次ã®å³ã«ç¤ºãã¾ããããããã®ã»ã¯ã·ã§ã³ã«ã¯ãåã³ã³ãã¼ãã³ãã®è©³ç´°ãè¨è¿°ããã¦ãã¾ãã
-
-
-
-
-ã¢ããªã±ã¼ã·ã§ã³
-
-Android ã«ã¯ãã¡ã¼ã« ã¯ã©ã¤ã¢ã³ããSMS ããã°ã©ã ãã«ã¬ã³ãã¼ãå°å³ããã©ã¦ã¶ãé£çµ¡å
ãªã©ã®ã³ã¢ ã¢ããªã±ã¼ã·ã§ã³ã®ã»ãããä»å±ãã¦ãã¾ããã¢ããªã±ã¼ã·ã§ã³ã¯ãã¹ã¦ Java ããã°ã©ãã³ã°è¨èªã§ä½æããã¦ãã¾ãã
-
-
-ã¢ããªã±ã¼ã·ã§ã³ ãã¬ã¼ã ã¯ã¼ã¯
-
-ãããããã¼ã¯ãã³ã¢ ã¢ããªã±ã¼ã·ã§ã³ã«ãã£ã¦ä½¿ç¨ããããã¬ã¼ã ã¯ã¼ã¯ API ã®ãã¹ã¦ã«ã¢ã¯ã»ã¹ã§ãã¾ããã¢ããªã±ã¼ã·ã§ã³ ã¢ã¼ããã¯ãã£ã¯ãã³ã³ãã¼ãã³ãã®åå©ç¨ã容æã«ããããã«è¨è¨ããã¦ãã¾ãããã®ãããã©ã®ã¢ããªã±ã¼ã·ã§ã³ãæ©è½ãå
¬éããå¥ã®ã¢ããªã±ã¼ã·ã§ã³ããã®æ©è½ã使ç¨ãããã¨ãå¯è½ã§ãï¼ãã ãããã¬ã¼ã ã¯ã¼ã¯ã«ãã£ã¦å®æ½ãããã»ãã¥ãªãã£å¶éã®å¯¾è±¡ã¨ãªãã¾ãï¼ããã®ã¡ã«ããºã ã«ãã£ã¦ãã¦ã¼ã¶ã¼ã«ããã³ã³ãã¼ãã³ãã®å
¥ãæ¿ããå¯è½ã§ãã
-
-ã¢ããªã±ã¼ã·ã§ã³ã®åºç¤ã¨ãªãã®ã¯ã次ã®ãµã¼ãã¹ã¨ã·ã¹ãã ã®ã»ããã§ã:
-
- - ã¢ããªã±ã¼ã·ã§ã³ã®æ§ç¯ãå¯è½ã«ãããæ¡å¼µå¯è½ã§è±å¯ãªãã¥ã¼ã®ã»ããããã¥ã¼ã«ã¯ããªã¹ããã°ãªãããããã¹ã ããã¯ã¹ããã¿ã³ã ãã§ãªããåãè¾¼ã¿å¯è½ãªã¦ã§ããã©ã¦ã¶ãå«ã¾ãã¾ãã
- - ã³ã³ãã³ã ãããã¤ãã使ç¨ããã¨ãã¢ããªã±ã¼ã·ã§ã³ã®ãã¼ã¿ï¼ãã¨ãã°ãé£çµ¡å
ã¢ããªã±ã¼ã·ã§ã³ï¼ã«ãå¥ã®ã¢ããªã±ã¼ã·ã§ã³ããã¢ã¯ã»ã¹ãããããã¼ã¿ãå
±æããããã¨ãã§ãã¾ãã
- ãªã½ã¼ã¹ ããã¼ã¸ã£ã¯ããã¼ã«ã©ã¤ãºãããæååãã°ã©ãã£ãã¯ã¹ãã¬ã¤ã¢ã¦ã ãã¡ã¤ã«ãªã©ã®ã³ã¼ã以å¤ã®ãªã½ã¼ã¹ã¸ã®ã¢ã¯ã»ã¹ãæä¾ãã¾ãã
- - {@link android.app.NotificationManager éç¥ããã¼ã¸ã£}ã使ç¨ããã¨ããã¹ã¦ã®ã¢ããªã±ã¼ã·ã§ã³ããã¹ãã¼ã¿ã¹ ãã¼ã«ã«ã¹ã¿ãã¤ãºããè¦åã表示ãããã¨ãã§ãã¾ãã
- - {@link android.app.Activity ã¢ã¯ãã£ãã㣠ããã¼ã¸ã£}ã¯ãã¢ããªã±ã¼ã·ã§ã³ã®ã©ã¤ããµã¤ã¯ã«ã管çããå
±éã®ããã²ã¼ã·ã§ã³ ããã¯ã¹ã¿ãã¯ãæä¾ãã¾ãã
-
-
-ã¢ããªã±ã¼ã·ã§ã³ã®ç°¡åãªèª¬æã¨è©³ç´°ã«ã¤ãã¦ã¯ãNotepad ãã¥ã¼ããªã¢ã«ãã覧ãã ããã
-
-
-ã©ã¤ãã©ãª
-
-Android ã«ã¯ C/C++ ã©ã¤ãã©ãªã®ã»ãããå«ã¾ãã¦ãããAndroid ã·ã¹ãã ã®ãã¾ãã¾ãªã³ã³ãã¼ãã³ãã«ããã¦ä½¿ç¨ããã¦ãã¾ãããããã®æ©è½ã¯ãAndroid ã¢ããªã±ã¼ã·ã§ã³ ãã¬ã¼ã ã¯ã¼ã¯ãä»ãã¦ããããããã¼ã«å
¬éããã¦ãã¾ããã³ã¢ ã©ã¤ãã©ãªã®ä¸é¨ã次ã«ç¤ºãã¾ã:
-
- - ã·ã¹ãã C ã©ã¤ãã©ãª - BSD ã«ããå®è£
ããã¼ã¹ã«ããæ¨æºã® C ã·ã¹ãã ã©ã¤ãã©ãªï¼libcï¼ã§ããåã込㿠Linux ãã¼ã¹ã®ããã¤ã¹ç¨ã«æé©åããã¦ãã¾ãã
- - ã¡ãã£ã¢ ã©ã¤ãã©ãª - PacketVideo ã® OpenCORE ããã¼ã¹ã«ããã©ã¤ãã©ãªã§ããMPEG4ãH.264ãMP3ãAACãAMRãJPGãPNG ãªã©ã®å¤ãã®ä¸è¬çãªæ åã¨é³å£°ã®ãã©ã¼ãããã¨ãéæ¢ç»ãã¡ã¤ã«ã®åçã¨è¨é²ããµãã¼ããã¦ãã¾ãã
- - ãµã¼ãã§ã¹ ããã¼ã¸ã£ - 表示ãµãã·ã¹ãã ã¸ã®ã¢ã¯ã»ã¹ã管çããè¤æ°ã®ã¢ããªã±ã¼ã·ã§ã³ããã® 2D 㨠3D ã®ã°ã©ãã£ã㯠ã¬ã¤ã¤ã¼ãã·ã¼ã ã¬ã¹ã«åæãã¾ãã
- - LibWebCore - ææ°å¼ã®ã¦ã§ããã©ã¦ã¶ ã¨ã³ã¸ã³ã§ãAndroid ãã©ã¦ã¶ã¨åãè¾¼ã¿å¯è½ãª Web 表示ã®ä¸¡æ¹ãæä¾ãã¾ãã
- - SGL - ãã¼ã¹ã¨ãªã 2D ã°ã©ãã£ãã¯ã¹ ã¨ã³ã¸ã³ã§ãã
- - 3D ã©ã¤ãã©ãª - OpenGL ES 1.0 API ããã¼ã¹ã¨ãã¦å®è£
ãããã©ã¤ãã©ãªã§ãããã¼ãã¦ã§ã¢ 3D ã¢ã¯ã»ã©ã¬ã¼ã·ã§ã³ï¼å¯è½ãªå ´åï¼ããé«åº¦ã«æé©åãããåãè¾¼ã¿ã® 3D ã½ããã¦ã§ã¢ ã©ã¹ã¿ã©ã¤ã¶ã®ããããã使ç¨ãã¾ãã
- - FreeType - ãããããã ãã©ã³ãããã¯ã¿ ãã©ã³ãã®ã¬ã³ããªã³ã°ãè¡ãã¾ãã
- - SQLite - ãã¹ã¦ã®ã¢ããªã±ã¼ã·ã§ã³ã§å©ç¨å¯è½ãªå¼·åã§è»½éã®ãªã¬ã¼ã·ã§ãã« ãã¼ã¿ãã¼ã¹ ã¨ã³ã¸ã³ã§ãã
-
-
-
-
-Android ã©ã³ã¿ã¤ã
-
-Android ã«ã¯ãJava ããã°ã©ãã³ã°è¨èªã®ã³ã¢ ã©ã¤ãã©ãªã§å©ç¨ã§ããæ©è½ã®ã»ã¨ãã©ãæä¾ããã³ã¢ ã©ã¤ãã©ãªã®ã»ãããå«ã¾ãã¦ãã¾ãã
-
-Android ã®åã¢ããªã±ã¼ã·ã§ã³ã¯ãç¬èªã®ããã»ã¹ã¨ãã¦å®è¡ãããDalvik ä»®æ³ãã·ã³ï¼VMï¼ã®ç¬èªã®ã¤ã³ã¹ã¿ã³ã¹ã«ããå®è¡ããã¾ããDalvik ã¯ãæºå¸¯é»è©±ã§è¤æ°ã® VM ãå¹çããå®è¡ã§ããããã«è¨è¨ããã¦ãã¾ããDalvik VM ã¯ãã¡ã¢ãªã®ä½¿ç¨éãæå°ã«ããããã«æé©åããã Dalvik å®è¡å¯è½ï¼.dexï¼ãã©ã¼ãããã®ãã¡ã¤ã«ãå®è¡ãã¾ãããã® VM ã¯ã¬ã¸ã¹ã¿ãã¼ã¹ã§ãããJava è¨èªã³ã³ãã¤ã©ã«ããã³ã³ãã¤ã«ãããçµã¿è¾¼ã¿ã®ãdxããã¼ã«ã«ãã .dex ãã©ã¼ãããã«å¤æãããã¯ã©ã¹ãå®è¡ãã¾ãã
-
-Dalvik VM ã¯ãLinux ã«ã¼ãã«ã使ç¨ãã¦ãã¹ã¬ããã£ã³ã°ãä½ã¬ãã«ã®ã¡ã¢ãªç®¡çãªã©ã®åºæ¬æ©è½ãå®è¡ãã¦ãã¾ãã
-
-
-
-Linux ã«ã¼ãã«
-
-Android ã¯ãLinux ãã¼ã¸ã§ã³ 2.6 ã使ç¨ãã¦ãã»ãã¥ãªãã£ãã¡ã¢ãªç®¡çãããã»ã¹ç®¡çããããã¯ã¼ã¯ ã¹ã¿ãã¯ããã©ã¤ã ã¢ãã«ãªã©ã®ã³ã¢ ã·ã¹ãã ãµã¼ãã¹ãæä¾ãã¾ãããã®ã«ã¼ãã«ã¯ããã¼ãã¦ã§ã¢ã¨ä»ã®ã½ããã¦ã§ã¢ ã¹ã¿ãã¯ã®éã®æ½è±¡åã¬ã¤ã¤ã¼ã¨ãã¦ãæ©è½ãã¾ãã
diff --git a/docs/html/intl/ja/guide/developing/eclipse-adt.jd b/docs/html/intl/ja/guide/developing/eclipse-adt.jd
deleted file mode 100644
index 2cd69496145e..000000000000
--- a/docs/html/intl/ja/guide/developing/eclipse-adt.jd
+++ /dev/null
@@ -1,243 +0,0 @@
-page.title=Eclipse å
㧠ADT ã使ç¨
-@jd:body
-
-
-
-
-ãAndroid Development Tools (ADT) plugin for Eclipseãã¯ãEclipse çµ±åéçºç°å¢ã«å¼·åãªæ¡å¼µæ©è½ã追å ãã¾ããæ¡å¼µæ©è½ã«ãããAndroid ã¢ããªã±ã¼ã·ã§ã³ã®ä½æã¨ãããã°ã容æã«ãªãã¾ããEclipse ã使ç¨ãã¦ããå ´åãADT ãã©ã°ã¤ã³ãçµã¿è¾¼ããã¨ã§ãAndroid ã¢ããªã±ã¼ã·ã§ã³ãé©ãã»ã©å¹çããéçºã§ããããã«ãªãã¾ã:
-
-
- - Eclipse ç·åéçºç°å¢å
ãããä»ã® Android éçºãã¼ã«ã«ãã¢ã¯ã»ã¹ã§ãã¾ãããã¨ãã° ADT ã§ã¯ãDDMS ãã¼ã«ã®å¤ãã®æ©è½ãå©ç¨ã§ãã¾ããEclipse ããã¹ã¯ãªã¼ã³ã·ã§ããã®æ®å½±ããã¼ã転éã®ç®¡çããã¬ã¼ã¯ãã¤ã³ãã®è¨å®ãã¹ã¬ãããããã»ã¹ã®æ
å ±ã®è¡¨ç¤ºãç´æ¥è¡ããã¨ãå¯è½ã§ãã
- - Android éçºç¨ã®æ°ããªããã¸ã§ã¯ã ã¦ã£ã¶ã¼ãã追å ããã¾ããããã使ç¨ãã¦ãæ°ãã Android ã¢ããªã±ã¼ã·ã§ã³ã«å¿
è¦ãªåºæ¬ãã¡ã¤ã«ããã¹ã¦ç°¡åã«ä½æãã¦ã»ããã¢ããã§ãã¾ãã
- - Android ã¢ããªã±ã¼ã·ã§ã³ã®ãã«ã ããã»ã¹ãèªååã¨åç´åã§ãã¾ãã
- - å梱㮠Android ã³ã¼ã ã¨ãã£ã¿ã使ç¨ãã¦ãAndroid ã®ãããã§ã¹ã ãã¡ã¤ã«ã¨ãªã½ã¼ã¹ ãã¡ã¤ã«ã®é©å㪠XML ãã¹ã ã¼ãºã«ä½æã§ãã¾ãã
- - ããã¸ã§ã¯ãããã¦ã¼ã¶ã¼ã«é
å¸å¯è½ãªç½²åæ¸ã¿ã® APK å½¢å¼ã§ã¨ã¯ã¹ãã¼ããããã¨ãã§ãã¾ãã
-
-
-ADT ãçµã¿è¾¼ãã Eclipse ç·åéçºç°å¢ã§ Android ã¢ããªã±ã¼ã·ã§ã³ã®éçºãå§ããã«ã¯ãæåã« Eclipse ç·åéçºç°å¢ããã¦ã³ãã¼ããã¦ãããADT ãã©ã°ã¤ã³ããã¦ã³ãã¼ããã¦ã¤ã³ã¹ãã¼ã«ããå¿
è¦ãããã¾ãããã®ããã«ã¯ãEclipse ç¨ ADT ãã©ã°ã¤ã³ã®ã¤ã³ã¹ãã¼ã«ã«è¨è¼ããã¦ããæé ã©ããã«æä½ãã¾ãã
-ãã¼ã¸ã§ã³ 0.9 ããåã® ADT ã使ç¨ãã¦ã¢ããªã±ã¼ã·ã§ã³ãæ¢ã«éçºä¸ã®å ´åã¯ãå¿
ãææ°ãã¼ã¸ã§ã³ã«ã¢ããã°ã¬ã¼ããã¦ããç¶è¡ãã¦ãã ãããEclipse ADT ãã©ã°ã¤ã³ãã¢ãããã¼ãããããã®ã¬ã¤ããã覧ãã ããã
-注: ãã®ã¬ã¤ãã§ã¯ãADT ãã©ã°ã¤ã³ã®ææ°ãã¼ã¸ã§ã³ã使ç¨ãã¦ãããã¨ãåæã¨ãã¦ãã¾ãã説æã®å¤§åã¯ã以åã®ãã¼ã¸ã§ã³ã«ãå½ã¦ã¯ã¾ãã¾ããã以åã®ãã¼ã¸ã§ã³ã使ç¨ãã¦ããå ´åã¯ããã®ããã¥ã¡ã³ãã®ãªã³ã©ã¤ã³çã§ã¯ãªããSDK ããã±ã¼ã¸ã«ä»å±ãããè³æå
ã®åããã¥ã¡ã³ããã覧ãã ããã
-
-
-Android ããã¸ã§ã¯ãã®ä½æ
-
-ADT ãã©ã°ã¤ã³ãæä¾ããæ°è¦ããã¸ã§ã¯ã ã¦ã£ã¶ã¼ãã使ç¨ããã¨ãç°¡åã« Android ããã¸ã§ã¯ããæ°è¦ä½æï¼ã¾ãã¯æ¢åã®ã³ã¼ãããä½æï¼ã§ããããã«ãªãã¾ããæ°ããããã¸ã§ã¯ããä½æããã«ã¯:
-
-
- - [ãã¡ã¤ã«ï¼Fileï¼] > [æ°è¦ï¼Newï¼] > [ããã¸ã§ã¯ãï¼Projectï¼] ãé¸æãã¾ãã
- - [Android] > [Android ããã¸ã§ã¯ãï¼Android Projectï¼] ãé¸æãã[次ã¸ï¼Nextï¼] ãã¯ãªãã¯ãã¾ãã
- - ããã¸ã§ã¯ãã®å
容ãé¸æãã¾ã:
-
- - ããã¸ã§ã¯ãåãå
¥åãã¾ããããã¯ãã®ããã¸ã§ã¯ããä½æããããã©ã«ãã®ååã«ãªãã¾ãã
- [å
容ï¼Contentsï¼] ã»ã¯ã·ã§ã³ã§ã[ã¯ã¼ã¯ã¹ãã¼ã¹å
ã«æ°è¦ããã¸ã§ã¯ããä½æï¼Create new project in workspace] ãé¸æãã¾ããããã¸ã§ã¯ã ã¯ã¼ã¯ã¹ãã¼ã¹ã®ãã±ã¼ã·ã§ã³ãé¸æãã¾ãã
- - [ã¿ã¼ã²ããï¼Targetï¼] ã¿ãã§ãããã¸ã§ã¯ãã® [ãã«ã ã¿ã¼ã²ããï¼Build Targetï¼] ã¨ãã¦ä½¿ç¨ãã Android ã¿ã¼ã²ãããé¸æãã¾ãããã®ãã«ã ã¿ã¼ã²ããã¯ãã¢ããªã±ã¼ã·ã§ã³ããã«ããã Android ãã©ãããã©ã¼ã ãæå®ãã¾ãã
-
ææ°ã® SDK ã«å°å
¥ããã¦ããæ°ãã API ã使ç¨ãããã¨ãããã£ã¦ããå ´åãé¤ããAndroid 1.1 ãªã©ã®æãå¤ããã¼ã¸ã§ã³ã®ã¿ã¼ã²ãã (Target Name) ãé¸æãã¦ãã ããã
- 注: ããã¸ã§ã¯ãã®ãã«ã ã¿ã¼ã²ããã¯ãã¤ã§ãå¤æ´ã§ãã¾ããå¤æ´ããã«ã¯ã[ããã±ã¼ã¸ ã¨ã¯ã¹ããã¼ã©ã¼ï¼Package Explorerï¼] ã§ããã¸ã§ã¯ããå³ã¯ãªãã¯ãã[ããããã£ï¼Propertiesï¼] ãé¸æãã[Android] ãé¸æãã¦ãæå®ããããã¸ã§ã¯ã ã¿ã¼ã²ããã®ãã§ãã¯ããã¯ã¹ããªã³ã«ãã¾ãã
-
- - [ããããã£ï¼Propertiesï¼] ã»ã¯ã·ã§ã³ã§ãå¿
è¦ãªãã¹ã¦ã®ãã£ã¼ã«ãã«å
¥åãã¾ãã
-
- - ã¢ããªã±ã¼ã·ã§ã³å (Application name) ãå
¥åãã¾ããã¢ããªã±ã¼ã·ã§ã³åã¯ã¦ã¼ã¶ã¼ã«ããããããã¢ããªã±ã¼ã·ã§ã³ã®ã¿ã¤ãã«ã«ãã¾ãããã®ååã Android æºå¸¯ç«¯æ«ã«è¡¨ç¤ºããã¾ãã
- - ããã±ã¼ã¸å (Package name) ãå
¥åãã¾ããããã¯ï¼Java ããã°ã©ãã³ã°è¨èªã§ã®ããã±ã¼ã¸ã®ã«ã¼ã«ã«å¾ã£ãï¼ããã±ã¼ã¸ã®åå空éã§ãããä½æããã½ã¼ã¹ ã³ã¼ãã¯ãã¹ã¦ãã®ä¸ã«å«ã¾ãã¾ãã
- - [Activity ãä½æï¼Create Activityï¼] ãé¸æãï¼ãªãã·ã§ã³ã§ãããä¸è¬çãªæé ã§ãï¼ãã¡ã¤ã³ã® Activity ã¯ã©ã¹ã®ååãå
¥åãã¾ãã
- - [SDK ã®æå°ãã¼ã¸ã§ã³ï¼Min SDK Versionï¼] ãå
¥åãã¾ããããã¯ããã®ã¢ããªã±ã¼ã·ã§ã³ãæ£å¸¸ã«å®è¡ããããã«å¿
è¦ã¨ãªã API ã®æå°ã¬ãã«ã示ãçªå·ã§ããããã§å
¥åããã¨ã
minSdkVersion
å±æ§ã Android ãããã§ã¹ã ãã¡ã¤ã«ã® <uses-sdk> ã«èªåçã«è¨å®ããã¾ãã使ç¨ããé©å㪠API ã¬ãã«ãããããªãå ´åã¯ããã«ã ã¿ã¼ã²ããï¼Build Targetï¼ã«ãªã¹ãããã¦ãã API ã¬ãã«(API Level)ãã³ãã¼ãã¾ãã
-
-
-
-
- - [å®äºï¼Finishï¼] ãã¯ãªãã¯ãã¾ãã
-
-
-ãã³ã: æ°è¦ããã¸ã§ã¯ã ã¦ã£ã¶ã¼ãã¯ããã¼ã«ãã¼ã® [æ°è¦ï¼Newï¼] ã¢ã¤ã³ã³ãããéå§ã§ãã¾ãã
-
-æ°è¦ããã¸ã§ã¯ã ã¦ã£ã¶ã¼ããå®äºããã¨ãADT ã¯æ°ããããã¸ã§ã¯ãã«æ¬¡ã®ãã©ã«ãã¨ãã¡ã¤ã«ãä½æãã¾ã:
-
- src/
- - ã¹ã¿ã Activity Java ãã¡ã¤ã«ãå«ã¾ãã¾ããã¢ããªã±ã¼ã·ã§ã³ã®ä»ã®ãã¹ã¦ã® Java ãã¡ã¤ã«ãå«ã¾ãã¾ãã
- <Android Version>/
ï¼ä¾: Android 1.1/
ï¼
- - ã¢ããªã±ã¼ã·ã§ã³ã®ãã«ã対象ã¨ãªã
android.jar
ãã¡ã¤ã«ãå«ã¾ãã¾ããããã¯ãæ°è¦ããã¸ã§ã¯ã ã¦ã£ã¶ã¼ãã§é¸æãããã«ã ã¿ã¼ã²ããã«ãã£ã¦æ±ºã¾ãã¾ãã
- gen/
- - ADT ã«ããçæããã Java ãã¡ã¤ã«ï¼
R.java
ãã¡ã¤ã«ãAIDL ãã¡ã¤ã«ããä½æãããã¤ã³ã¿ã¼ãã§ã¼ã¹ãªã©ï¼ããã®ãã©ã«ãã«å«ã¾ãã¾ãã
- assets/
- - ãã®ãã©ã«ãã¯ç©ºã§ããæªå å·¥ã®ã¢ã»ãã ãã¡ã¤ã«ã®ä¿åã«ä½¿ç¨ã§ãã¾ããResources and Assetsãã覧ãã ããã
- res/
- - ã¢ããªã±ã¼ã·ã§ã³ã®ãªã½ã¼ã¹ç¨ï¼æç»ãã¡ã¤ã«ãã¬ã¤ã¢ã¦ã ãã¡ã¤ã«ãæååå¤ãªã©ï¼ã®ãã©ã«ãã§ããResources and Assetsãã覧ãã ããã
- AndroidManifest.xml
- - ãã®ããã¸ã§ã¯ãã® Android ãããã§ã¹ãã§ããThe AndroidManifest.xml Fileãã覧ãã ããã
- project.properties
- - ãã®ãã¡ã¤ã«ã«ã¯ããã«ã ã¿ã¼ã²ããã®ãããªããã¸ã§ã¯ãã®è¨å®ãå«ã¾ãã¾ãããã®ãã¡ã¤ã«ã¯ããã¸ã§ã¯ãã«ä¸å¯æ¬ ãªã®ã§ãã½ã¼ã¹ ãªãã¸ã§ã³ç®¡çã·ã¹ãã ã§ç®¡çããå¿
è¦ãããã¾ãããã®ãã¡ã¤ã«ãæåã§ç·¨éããªãã§ãã ãããããã¸ã§ã¯ãã®ããããã£ãç·¨éããã«ã¯ãããã¸ã§ã¯ã ãã©ã«ããå³ã¯ãªãã¯ãã¦ã[ããããã£ï¼Propertiesï¼] ãé¸æãã¾ãã
-
-
-
-ã¢ããªã±ã¼ã·ã§ã³ã®å®è¡
-
-注æãã¦ãã ãããã¢ããªã±ã¼ã·ã§ã³ã Android ã¨ãã¥ã¬ã¼ã¿ã§å®è¡ããåã«ãAndroid ä»®æ³ããã¤ã¹ï¼AVDï¼ãä½æããå¿
è¦ãããã¾ããAVD ã§ã¯ãã¨ãã¥ã¬ã¼ã¿ã§ä½¿ç¨ãã Android ãã©ãããã©ã¼ã ãæå®ãã¾ãã詳ãã㯠Android ä»®æ³ããã¤ã¹ ã®ããã¥ã¡ã³ããã覧ãã ããããã ããããã«ã¢ããªã±ã¼ã·ã§ã³ãå®è¡ãããå ´åã¯ã次ã®ç°¡åãªæé ã«å¾ã£ã¦ AVD ãä½æãã¦ãã ããã
-
-æºå¸¯ç«¯æ«ã®å®æ©ã§ã®ã¿ã¢ããªã±ã¼ã·ã§ã³ãå®è¡ããå ´åã¯ãAVD ã¯å¿
è¦ããã¾ããããã®å ´åã®ã¢ããªã±ã¼ã·ã§ã³ã®å®è¡ã«ã¤ãã¦è©³ããã¯ãDeveloping On a Device ãã覧ãã ããã
-
-AVD ã®ä½æ
-
-詳ãã説æã¯ãã®ããã¥ã¡ã³ãã®ç¯å²å¤ãªã®ã§ãAVD ãä½æããåºæ¬çãªæé ã®ã¿ãããã«ç¤ºãã¾ã:
-
-
- - ã³ãã³ãã©ã¤ã³ï¼ãã¨ãã° Windows ã§ã¯ãã³ãã³ã ããã³ãããã¢ããªã±ã¼ã·ã§ã³ãMac/Linux ã§ã¯ãã¿ã¼ããã«ãï¼ãéããSDK ããã±ã¼ã¸ã®
tools/
ãã£ã¬ã¯ããªã«ç§»åãã¾ãã
- - æåã«ãé
åã¿ã¼ã²ãããé¸æããå¿
è¦ãããã¾ããé¸æå¯è½ãªã¿ã¼ã²ããã表示ããã«ã¯ã次ã®ã³ãã³ããå®è¡ãã¾ã:
-
android list targets
- 次ã®ããã«é¸æå¯è½ãª Android ã¿ã¼ã²ããã®ãªã¹ãã表示ããã¾ã:
-
-id:1
- Name: Android 1.1
- Type: platform
- API level: 2
- Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-P
-id:2
- Name: Android 1.5
- Type: platform
- API level: 3
- Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-P
-
- ã¢ããªã±ã¼ã·ã§ã³ãå®è¡ãã Android ãã©ãããã©ã¼ã ã«ä¸è´ããã¿ã¼ã²ãããæ¢ãã¾ããid
ã®æ´æ°ãæ¸ãçãã¦ããã次ã®ã¹ãããã§ä½¿ç¨ãã¾ãã
-
- - é¸æããé
åã¿ã¼ã²ããã使ç¨ãã¦ãæ°ãã AVD ãä½æãã¾ãã次ã®ã³ãã³ããå®è¡ãã¾ã:
-
android create avd --name <your_avd_name> --target <targetID>
- - ã«ã¹ã¿ã ãã¼ãã¦ã§ã¢ ãããã¡ã¤ã«ãä½æãããã©ããã®åãåãããããã¾ãããyesãã¨çããã¨ãæºå¸¯ç«¯æ«ãã¼ãã¦ã§ã¢ã®ãã¾ãã¾ãªè¦ç´ ãå®ç¾©ããããã®ä¸é£ã®ããã³ãããéå§ããã¾ãï¼ç©ºç½ã®ã¾ã¾å
¥åããã¨ããã£ãå
ã«è¡¨ç¤ºãããããã©ã«ãå¤ã使ç¨ããã¾ãï¼ãã¾ãã¯ãEnter ãã¼ãæ¼ãã¨ããã¹ã¦ããã©ã«ãå¤ã使ç¨ããã¾ãï¼ãnoããããã©ã«ãã§ãï¼ã
-
-
-
-ãã㧠AVD ãä½æã§ãã¾ããã次ã®ã»ã¯ã·ã§ã³ã§ã¯ãã¨ãã¥ã¬ã¼ã¿ã§ã¢ããªã±ã¼ã·ã§ã³ãèµ·åããéã«ãAVD ãã©ã®ããã«ä½¿ç¨ããããã«ã¤ãã¦èª¬æãã¾ãã
-
-AVD ã®ä½æã¨ç®¡çã«ã¤ãã¦è©³ããã¯ãAndroid ä»®æ³ããã¤ã¹ ã®ããã¥ã¡ã³ããã覧ãã ããã
-
-
-ã¢ããªã±ã¼ã·ã§ã³ã®å®è¡
-
-注: ã¢ããªã±ã¼ã·ã§ã³ãå®è¡ããåã«ãã¢ããªã±ã¼ã·ã§ã³ã®ãã«ã ã¿ã¼ã²ãããæºããã¿ã¼ã²ãããæå®ãã AVD ãå¿
ãä½æãã¦ãã ããããã«ã ã¿ã¼ã²ããã®è¦ä»¶ãæºãã AVD ãè¦ã¤ãããªãå ´åãããã示ãã³ã³ã½ã¼ã« ã¨ã©ã¼ã表示ãããèµ·åã¯ä¸æ¢ããã¾ãã
-
-ã¢ããªã±ã¼ã·ã§ã³ãå®è¡ï¼ã¾ãã¯ãããã°ï¼ããã«ã¯ãEclipse ã®ã¡ã¤ã³ ã¡ãã¥ã¼ã§ [å®è¡ï¼Runï¼] > [å®è¡ï¼Runï¼]ï¼ã¾ã㯠[å®è¡ï¼Runï¼] > [ãããã°ï¼Debugï¼]ï¼ãé¸æãã¾ããADT ãã©ã°ã¤ã³ã¯ãã®ããã¸ã§ã¯ãã®ããã©ã«ãã®èµ·åæ§æãèªåçã«ä½æãã¾ãã
-
-ã¢ããªã±ã¼ã·ã§ã³ã®å®è¡ã¾ãã¯ãããã°ãé¸æããã¨ãEclipse ã§ã¯ä»¥ä¸ãè¡ããã¾ã:
-
-
- - ããã¸ã§ã¯ããã³ã³ãã¤ã«ããã¾ãï¼æå¾ã®ãã«ã以éãå¤æ´ããã£ãå ´åï¼ã
- - ããã©ã«ãã®èµ·åæ§æãä½æããã¾ãï¼ãã®ããã¸ã§ã¯ãã§ã¾ã ä½æããã¦ããªãå ´åï¼ã
- - ã¨ãã¥ã¬ã¼ã¿ã¾ãã¯ç«¯æ«ï¼èµ·åæ§æã§å®ç¾©ãããé
åã¿ã¼ã²ããã«åºã¥ãã¾ãï¼ã«ã¢ããªã±ã¼ã·ã§ã³ãã¤ã³ã¹ãã¼ã«ãããèµ·åããã¾ãã
-
ããã©ã«ãã§ã¯ãAndroid ã¢ããªã±ã¼ã·ã§ã³ã®èµ·åæ§æã§ã¯ããã¤ã¹ ã¿ã¼ã²ããã®é¸æã«ãèªåã¿ã¼ã²ãããã¢ã¼ãã使ç¨ãã¾ããèªåã¿ã¼ã²ãã ã¢ã¼ãã§ã®é
åã¿ã¼ã²ããã®é¸æã«ã¤ãã¦è©³ããã¯ãä¸è¨ã®èªåã¾ãã¯æåã®ã¿ã¼ã²ãã ã¢ã¼ããã覧ãã ããã
-
-
-
-ãããã°ã®å ´åã¯ãã¢ããªã±ã¼ã·ã§ã³ã¯ããããã¬å¾
ã¡ãã¢ã¼ãã§éå§ããã¾ãããããã¬ã®æ¥ç¶å¾ãEclipse ã¯ãããã° ãã¼ã¹ãã¯ãã£ããéãã¾ãã
-
-ããã¸ã§ã¯ãã§ä½¿ç¨ããèµ·åæ§æãè¨å®ã¾ãã¯å¤æ´ããã«ã¯ãæ§æããã¼ã¸ã£ã使ç¨ãã¾ãã詳ããã¯èµ·åæ§æã®ä½æãã覧ãã ããã
-
-
-èµ·åæ§æã®ä½æ
-
-èµ·åæ§æã§ã¯ãå®è¡ããããã¸ã§ã¯ããéå§ãã Activityã使ç¨ããã¨ãã¥ã¬ã¼ã¿ ãªãã·ã§ã³ãªã©ãæå®ãã¾ããããã¸ã§ã¯ããåã㦠Android ã¢ããªã±ã¼ã·ã§ã³ã¨ãã¦å®è¡ããã¨ãADT ã¯èªåçã«èµ·åæ§æãä½æãã¾ããããã©ã«ãã®èµ·åæ§æã¯ãããã©ã«ãã®ããã¸ã§ã¯ã ã¢ã¯ãã£ããã£ãèµ·åããèªåã¿ã¼ã²ãã ã¢ã¼ãã§ç«¯æ«ãé¸æãã¾ãï¼åªå
AVD ãæå®ããã¦ããªãå ´åï¼ãããã©ã«ãè¨å®ãããã¸ã§ã¯ãã«é©ããªãå ´åã¯ãèµ·åæ§æãã«ã¹ã¿ãã¤ãºããããæ°è¦ä½æãããã¨ãã§ãã¾ãã
-
-èµ·åæ§æãä½æã¾ãã¯å¤æ´ããã«ã¯ã使ç¨ãã¦ãã Eclipse ã®ãã¼ã¸ã§ã³ã«åããã¦ã次ã®æé ã©ããã«æä½ãã¾ã:
-
-
- - æ§æããã¼ã¸ã£ãéãã¾ãã
-
- - Eclipse 3.3ï¼Europaï¼ã§ã¯ã[å®è¡ï¼Runï¼] > [å®è¡ãã¤ã¢ãã°ãéãï¼Open Run Dialogï¼]ï¼ã¾ã㯠[ãããã° ãã¤ã¢ãã°ãéãï¼Open Debug Dialogï¼]ï¼ãé¸æãã¾ãã
-
- - Eclipse 3.4ï¼Ganymedeï¼ã§ã¯ã[Runï¼å®è¡ï¼] > [å®è¡ã®æ§æï¼Run Configurationsï¼]ï¼ã¾ã㯠[ãããã°ã®æ§æï¼Debug Configurationsï¼]ï¼ãé¸æãã¾ãã
-
-
-
- - [Android ã¢ããªã±ã¼ã·ã§ã³ï¼Android Applicationï¼] é
ç®ãå±éããæ°ããæ§æãä½æããããæ¢åã®æ§æãéãã¾ãã
-
- - æ°ããæ§æãä½æããã«ã¯:
-
- - [Android ã¢ããªã±ã¼ã·ã§ã³ï¼Android Applicationï¼] ãé¸æãããªã¹ãã®ä¸ã«ãã æ°è¦èµ·åã®æ§æï¼New launch configurationï¼ ã¢ã¤ã³ã³ãã¯ãªãã¯ãã¾ãï¼ã¾ã㯠[Android ã¢ããªã±ã¼ã·ã§ã³ï¼Android Applicationï¼] ãå³ã¯ãªãã¯ãã¦ã[æ°è¦ï¼Newï¼] ãã¯ãªãã¯ãã¾ãï¼ã
- - ãã®æ§æã®ååãå
¥åãã¾ãã
- - [Android] ã¿ãã§ããã®æ§æã使ç¨ãã¦å®è¡ããããã¸ã§ã¯ããåç
§ããé¸æãã¾ãã
-
- - æ¢åã®æ§æãéãã«ã¯ã[Android ã¢ããªã±ã¼ã·ã§ã³ï¼Android Applicationï¼] ã®ä¸ã«ãã¹ãããã¦ãããªã¹ããããã®æ§æåãé¸æãã¾ãã
-
-
- - å¿
è¦ã«å¿ãã¦èµ·åæ§æã®è¨å®ãå¤æ´ãã¾ãã
-
[ã¿ã¼ã²ããï¼Targetï¼] ã¿ãã§ã¯ãã¢ããªã±ã¼ã·ã§ã³ãå®è¡ãã AVD ã®é¸æãæåï¼Manualï¼ã¢ã¼ãã§è¡ãããèªåï¼Automaticï¼ã¢ã¼ãã§è¡ãããèãã¾ãï¼æ¬¡ã®èªåã¾ãã¯æåã®ã¿ã¼ã²ãã ã¢ã¼ãã®ã»ã¯ã·ã§ã³ãã覧ãã ããï¼ã
-
-
-
-
-èªåã¾ãã¯æåã®ã¿ã¼ã²ãã ã¢ã¼ã
-
-ããã©ã«ãã§ã¯ãèµ·åæ§æã«ã¯ãèªåã¿ã¼ã²ãã ã¢ã¼ãã§é¸æããã AVD ã使ç¨ããã¾ãããã®ã¢ã¼ãã§ã¯ãADT ã¯æ¬¡ã®æ¹æ³ã«ãããã¢ããªã±ã¼ã·ã§ã³ã® AVD ãé¸æãã¾ã:
-
-
- - æ¢ã«å®è¡ä¸ã®ç«¯æ«ã¾ãã¯ã¨ãã¥ã¬ã¼ã¿ãããããã® AVD æ§æãã¢ããªã±ã¼ã·ã§ã³ã®ãã«ã ã¿ã¼ã²ããã®è¦ä»¶ãæºããå ´åã¯ããã®ç«¯æ«ã¾ãã¯ã¨ãã¥ã¬ã¼ã¿ã«ã¢ããªã±ã¼ã·ã§ã³ãã¤ã³ã¹ãã¼ã«ãããå®è¡ããã¾ãã
- - 端æ«ã¾ãã¯ã¨ãã¥ã¬ã¼ã¿ãè¤æ°å®è¡ä¸ã®å ´åã¯ããã®ãã¡ã®ãã«ã ã¿ã¼ã²ããã®è¦ä»¶ãæºãããã®ããããã¤ã¹é¸æï¼Device Chooserï¼ãã«è¡¨ç¤ºãããã®ã§ããã®ä¸ããé¸æã§ãã¾ãã
- - ãã«ã ã¿ã¼ã²ããã®è¦ä»¶ãæºããå®è¡ä¸ã®ç«¯æ«ãã¨ãã¥ã¬ã¼ã¿ããªãå ´åã¯ãADT ã¯ä½¿ç¨å¯è½ãª AVD ã調ã¹ã¾ãããã«ã ã¿ã¼ã²ããã®è¦ä»¶ãæºãã AVD ãããã°ããã® AVD ã使ç¨ãã¦æ°ããã¨ãã¥ã¬ã¼ã¿ãèµ·åãããããã«ã¢ããªã±ã¼ã·ã§ã³ãã¤ã³ã¹ãã¼ã«ãããå®è¡ããã¾ãã
- - ä¸è¨ãæºãããã®ããªãå ´åã¯ãã¢ããªã±ã¼ã·ã§ã³ã¯å®è¡ãããããã«ã ã¿ã¼ã²ããè¦ä»¶ãæºããæ¢åã® AVD ããªãã¨ããã¨ã©ã¼ãã³ã³ã½ã¼ã«ã«è¡¨ç¤ºããã¾ãã
-
-
-ãã ãèµ·åæ§æã§ãåªå
AVDããé¸æããã¦ããå ´åã¯ãã¢ããªã±ã¼ã·ã§ã³ã¯å¸¸ã«ãã® AVD ã«é
åããã¾ãããã® AVD ãã¾ã å®è¡ããã¦ããªãå ´åã¯ãæ°ããã¨ãã¥ã¬ã¼ã¿ãèµ·åããã¾ãã
-èµ·åæ§æãæåã¢ã¼ãã®å ´åã¯ãã¢ããªã±ã¼ã·ã§ã³ãå®è¡ãããã³ã«ããDevice Chooserãã表示ãããã®ã§ã使ç¨ãã AVD ãé¸æã§ãã¾ãã
-
-ã¢ããªã±ã¼ã·ã§ã³ã¸ã®ç½²å
-
-Android ã¢ããªã±ã¼ã·ã§ã³ã®éçºãå§ããã¨ãAndroid ã¢ããªã±ã¼ã·ã§ã³ãã·ã¹ãã ãã¨ãã¥ã¬ã¼ã¿ãå®æ©ã«ã¤ã³ã¹ãã¼ã«ããåã«ãã©ã® Android ã¢ããªã±ã¼ã·ã§ã³ã«ããã¸ã¿ã«ç½²åãå¿
è¦ã§ãããã¨ããããã¾ããç½²åã«ã¯ããããã° ãã¼ã使ç¨ããæ¹æ³ï¼ã¨ãã¥ã¬ã¼ã¿ãéçºç¨ç«¯æ«ã§ããã«ãã¹ãããå ´åï¼ã¨ãéå
¬éãã¼ã使ç¨ããæ¹æ³ï¼ã¢ããªã±ã¼ã·ã§ã³ãé
å¸ããå ´åï¼ã® 2 ã¤ãããã¾ãã
-ADT ãã©ã°ã¤ã³ã§ã¯ãã¢ããªã±ã¼ã·ã§ã³ãã¨ãã¥ã¬ã¼ã¿ãéçºç¨ç«¯æ«ã«ã¤ã³ã¹ãã¼ã«ããåã«ã.apk ãã¡ã¤ã«ããããã° ãã¼ã使ç¨ãã¦ç½²åãããã®ã§ãéçºãæ©ãããã¨ãã§ãã¾ããã¤ã¾ããç¬èªã®éå
¬éãã¼ãçæããå¿
è¦ããªããEclipse ããã¢ããªã±ã¼ã·ã§ã³ãããã«å®è¡ã§ãã¾ããKeytool ã« ADT ãã¢ã¯ã»ã¹ã§ããã°ããããããã¼ãç¹ã«æä½ããå¿
è¦ã¯ããã¾ããããã ããã¢ããªã±ã¼ã·ã§ã³ãå
¬éããå ´åã¯ãSDK ãã¼ã«ãçæãããããã° ãã¼ã§ã¯ãªããç¬èªã®éå
¬éãã¼ã使ç¨ãã¦ã¢ããªã±ã¼ã·ã§ã³ã«ç½²åããå¿
è¦ãããã¾ãã
-ã¢ããªã±ã¼ã·ã§ã³ã¸ã®ç½²åãã覧ãã ãããAndroid ã§ã®ã¢ããªã±ã¼ã·ã§ã³ã¸ã®ç½²åã¨ãAndroid ã¢ããªã±ã¼ã·ã§ã³ ãããããã¼ã«ã¨ã£ã¦ã®ç½²åã®æå³ã«ã¤ãã¦èª¬æãã¦ãã¾ãããã®ããã¥ã¡ã³ãã«ã¯ãADT ã®ã¨ã¯ã¹ãã¼ã ã¦ã£ã¶ã¼ãã使ç¨ãã¦ã¢ããªã±ã¼ã·ã§ã³ãã¨ã¯ã¹ãã¼ãããç½²åããããã®ã¬ã¤ããå«ã¾ãã¦ãã¾ãã
-
-Eclipse ã®ãã³ã
-
-Eclipse ã§ã®ä»»æã® Java ã³ã¼ãã®å®è¡
-
-Eclipse ã®ãã¬ã¼ã¯ãã¤ã³ãã§ä¸æããã¨ããä»»æã®ã³ã¼ããå®è¡ã§ãã¾ãããã¨ãã°ãzipãã¨ããæååå¼æ°ã使ç¨ããé¢æ°ã§ã¯ãããã±ã¼ã¸ã¨å¼ã³åºãã¯ã©ã¹ã®ã¡ã½ããã«é¢ããæ
å ±ãåå¾ã§ãã¾ããä»»æã®éçã¡ã½ãããå¼ã³åºããã¨ãã§ãã¾ãããã¨ãã° android.os.Debug.startMethodTracing()
ã¨å
¥åããã¨ãdmTrace ãèµ·åããã¾ãã
ã³ã¼ãã®å®è¡ã¦ã£ã³ãã¦ãéããã¡ã¤ã³ ã¡ãã¥ã¼ãã [ã¦ã£ã³ãã¦ï¼Windowï¼] > [ãã¥ã¼ã®è¡¨ç¤ºï¼Show Viewï¼] > [表示ï¼Displayï¼] ãé¸æããã¨ãç°¡åãªããã¹ã ã¨ãã£ã¿ã§ãã [表示ï¼Displayï¼] ã¦ã£ã³ãã¦ãéãã¾ããå¼ãå
¥åãããã®ããã¹ãããã¤ã©ã¤ã表示ãã'J' ã¢ã¤ã³ã³ãã¯ãªãã¯ãã¦ï¼ã¾ã㯠Ctrl+Shift+D ãã¼ãæ¼ãã¦ï¼ãã®ã³ã¼ããå®è¡ãã¾ããã³ã¼ãã¯ãé¸æããã¹ã¬ããï¼ãã¬ã¼ã¯ãã¤ã³ãã¾ãã¯ã·ã³ã°ã«ã¹ããã ãã¤ã³ãã§åæ¢ãã¦ããå¿
è¦ãããã¾ãï¼ã®ã³ã³ããã¹ãã§å®è¡ããã¾ãï¼æåã§ã¹ã¬ãããå¼·å¶åæ¢ããå ´åã¯ãã·ã³ã°ã«ã¹ãããã 1 åå®è¡ããå¿
è¦ãããã¾ããã¹ã¬ããã Object.wait() ç¶æ
ã®å ´åã¯ãä¸è¨ãå®è¡ã§ãã¾ããï¼ã
ç¾å¨ããã¬ã¼ã¯ãã¤ã³ãã§ä¸æãã¦ããå ´åã¯ãã½ã¼ã¹ ã³ã¼ãã®ä¸é¨ããã¤ã©ã¤ã表示ããCtrl+Shift+D ãã¼ãæ¼ãã¦å®è¡ãããã¨ãã§ãã¾ãã
åãã¹ã³ã¼ãå
ã®ããã¹ãã®ä¸é¨ããã¤ã©ã¤ã表示ããã«ã¯ãAlt+Shift+ä¸ç¢å°ãã¼ãæ¼ãã¦ãããåºãç¯å²ã®éãããããã¯ï¼è¤æ°å¯ï¼ãé¸æããããä¸ç¢å°ãã¼ãæ¼ãã¦é¸æç¯å²ãå°ãããããã¨ãã§ãã¾ãã
Eclipse 㧠[表示ï¼Displayï¼] ã¦ã£ã³ãã¦ã使ç¨ããå
¥åã¨ãã®å¿çã®ãµã³ãã«ã次ã«ç¤ºãã¾ãã
-
-
-
- å
¥å |
- å¿ç |
-
-
- zip |
- (java.lang.String)
- /work/device/out/linux-x86-debug/android/app/android_sdk.zip |
-
-
- zip.endsWith(".zip") |
- (boolean) true |
-
-
- zip.endsWith(".jar") |
- (boolean) false |
-
-
-ãããã¬ã§ã¯ãªãã¹ã¯ã©ãããã㯠ãã¼ã¸ã使ç¨ãã¦ããä»»æã®ã³ã¼ããå®è¡ã§ãã¾ããEclipse ããã¥ã¡ã³ãã§ãã¹ã¯ã©ããããã¯ããæ¤ç´¢ãã¦ãã ããã
-
-DDMS ã®æåã«ããå®è¡
-
-ADT ãã©ã°ã¤ã³ã使ç¨ãããããã°ããããããã¾ãããæå㧠DDMS ãå®è¡ãããã¼ã 8700 ã§ãããã°ããããã« Eclipse ãè¨å®ãããã¨ãã§ãã¾ãï¼æ³¨: æåã«å¿
ã DDMS ãèµ·åãã¦ãã ããï¼ã
-
-
diff --git a/docs/html/intl/ja/guide/developing/other-ide.jd b/docs/html/intl/ja/guide/developing/other-ide.jd
deleted file mode 100644
index cbffee3320e3..000000000000
--- a/docs/html/intl/ja/guide/developing/other-ide.jd
+++ /dev/null
@@ -1,271 +0,0 @@
-page.title=ãã®ä»ã®çµ±åéçºç°å¢
-@jd:body
-
-
-
-Android ã¢ããªã±ã¼ã·ã§ã³ã®éçºã§ã¯ãADT ãã©ã°ã¤ã³æè¼ã® Eclipse ã使ç¨ããéçºæ¹æ³ãæ¨å¥¨ããã¦ãã¾ããADT ãã©ã°ã¤ã³ã¯ãç·¨éããã«ãããããã°ã.apk ããã±ã¼ã¸ã³ã°ãç½²åã®æ©è½ãçµ±åéçºç°å¢ã«ç´æ¥çµ±åãã¦æä¾ãã¾ãã
-
-ããã Eclipse ã®ä»£ããã« IntelliJ ã®ãããªå¥ã®ç·åéçºç°å¢ã Emacs ã®ãããªåºæ¬çãªã¨ãã£ã¿ã使ç¨ããéçºãå¯è½ã§ããSDK ã«ã¯ Android ããã¸ã§ã¯ãã®ã»ããã¢ããããã«ãããããã°ãããã³é
å¸ç¨ããã±ã¼ã¸ä½æã«å¿
è¦ãªãã¹ã¦ã®ãã¼ã«ãå«ã¾ãã¦ãã¾ãããã®ããã¥ã¡ã³ãã§ã¯ããããããã¼ã«ã®ä½¿ç¨æ¹æ³ã«ã¤ãã¦èª¬æãã¾ãã
-
-
-
-
-Eclipse 以å¤ã®çµ±åéçºç°å¢ãã¨ãã£ã¿ã§éçºããéã«ã¯ã次㮠Android SDK ãã¼ã«ã«ã¤ãã¦ç¥ã£ã¦ããå¿
è¦ãããã¾ã:
-
-
- - android
- - Android ããã¸ã§ã¯ãã®ä½æ/æ´æ°ãAVD ã®ä½æ/移å/åé¤ã®ããã«ä½¿ç¨ãã¾ãã
- - Android Emulator
- - Android ã®ã¨ãã¥ã¬ã¼ã·ã§ã³ ãã©ãããã©ã¼ã 㧠Android ã¢ããªã±ã¼ã·ã§ã³ãå®è¡ããããã«ä½¿ç¨ãã¾ãã
- - Android Debug Bridge
- - ã¨ãã¥ã¬ã¼ã¿ã¾ãã¯æ¥ç¶å
ã®ç«¯æ«ã¨ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã¨ãã¦ä½¿ç¨ãã¾ãï¼ã¢ããªã±ã¼ã·ã§ã³ã®ã¤ã³ã¹ãã¼ã«ã端æ«ã®ã·ã§ã«ãã³ãã³ãã®å®è¡ãªã©ã«ä½¿ç¨ï¼ã
-
-
-
-ä¸è¨ã®ãã¼ã«ã«å ãã¦ãSDK ã«å«ã¾ãã¦ãã次ã®ãªã¼ãã³ã½ã¼ã¹ã¨ããã³ãµã¼ããã¼ãã£è£½ã®ãã¼ã«ã使ç¨ãã¾ã:
-
-
- - Ant
- - Android ããã¸ã§ã¯ããã³ã³ãã¤ã«ããã¤ã³ã¹ãã¼ã«å¯è½ãª .apk ãã¡ã¤ã«ã«ãã«ãããããã«ä½¿ç¨ãã¾ãã
- - Keytool
- - .apk ãã¡ã¤ã«ã«ç½²åããããã«ä½¿ç¨ãããã¼ã¹ãã¢ã¨éå
¬éãã¼ãçæãã¾ãã
- - Jarsignerï¼ã¾ãã¯åæ§ã®ç½²åãã¼ã«ï¼
- - Keytool ã§çæããéå
¬éãã¼ã使ã£ã¦ .apk ãã¡ã¤ã«ã«ç½²åããããã«ä½¿ç¨ãã¾ãã
-
-
-ä¸è¨ã®ãããã¯ã§ã¯ãå¿
è¦ãªç®æã§ããããã®åãã¼ã«ã説æãã¦ãã¾ããããã«é«åº¦ãªæä½ã«ã¤ãã¦ã¯ããã¼ã«ã®ããããã®ããã¥ã¡ã³ããã覧ãã ããã
-
-
-Android ããã¸ã§ã¯ãã®ä½æ
-
-Android ããã¸ã§ã¯ããä½æããã«ã¯ãandroid
ãã¼ã«ã使ç¨ããå¿
è¦ãããã¾ããæ°ããããã¸ã§ã¯ãã android
ã§ä½æããã¨ãããã©ã«ãã®ã¢ããªã±ã¼ã·ã§ã³ ãã¡ã¤ã«ãã¹ã¿ã ãã¡ã¤ã«ãæ§æãã¡ã¤ã«ããã«ã ãã¡ã¤ã«ãå«ãããã¸ã§ã¯ã ãã£ã¬ã¯ããªãçæããã¾ãã
-
-
-æ°ããããã¸ã§ã¯ãã®ä½æ
-
-æ°ããããã¸ã§ã¯ããéå§ããå ´åãandroid create project
ã³ãã³ãã使ç¨ããã¨ãå¿
è¦ãªãã¡ã¤ã«ã¨ãã©ã«ãããã¹ã¦çæããã¾ãã
-
-æ°ãã Android ããã¸ã§ã¯ããä½æããã«ã¯ãã³ãã³ãã©ã¤ã³ãéããSDK ã® tools/
ãã£ã¬ã¯ããªã«ç§»åãã¦ã次ãå®è¡ãã¾ã:
-
-android create project \
---target <targetID> \
---path /path/to/your/project \
---activity <your_activity_name> \
---package <your_package_namespace>
-
-
-
- target
ã¯ãã¢ããªã±ã¼ã·ã§ã³ã®ããã«ã ã¿ã¼ã²ãããã§ããããã¯ãããã¸ã§ã¯ãããã«ããã Android ãã©ãããã©ã¼ã ã©ã¤ãã©ãªï¼Google API ã®ãããªã¢ããªã³ãå«ã¾ãã¾ãï¼ã«å¯¾å¿ãã¾ãã使ç¨å¯è½ãªã¿ã¼ã²ããã¨ããã«å¯¾å¿ãã ID ã®ä¸è¦§ã表示ããã«ã¯ãandroid list targets
ãå®è¡ãã¾ãã
- path
ã¯ãããã¸ã§ã¯ã ãã£ã¬ã¯ããªã®ãã±ã¼ã·ã§ã³ã§ãããã®ãã£ã¬ã¯ããªãåå¨ããªãå ´åã¯ãèªåçã«ä½æããã¾ãã
- activity
ã¯ä½¿ç¨ãã {@link android.app.Activity} ã¯ã©ã¹ã®ååã§ãããã®ã¯ã©ã¹ ãã¡ã¤ã«ã¯ <path_to_your_project>/src/<your_package_namespace_path>/
å
ã«ä½æããã¾ãã
- package
ã¯ããã¸ã§ã¯ãã®ããã±ã¼ã¸åå空éã§ãããJava ããã°ã©ãã³ã°è¨èªã§ã®ããã±ã¼ã¸ã¨åãã«ã¼ã«ã«å¾ãã¾ãã
-
-
-次ã«ä¾ã示ãã¾ã:
-
-android create project \
---target 1 \
---path ./myProject \
---activity MyActivity \
---package com.example.myproject
-
-
-ãã®ãã¼ã«ã¯æ¬¡ã®ãã¡ã¤ã«ã¨ãã£ã¬ã¯ããªãçæãã¾ã:
-
-
- AndroidManifest.xml
- ã¢ããªã±ã¼ã·ã§ã³ã®ãããã§ã¹ã ãã¡ã¤ã«ãæå®ããããã¸ã§ã¯ãã® Activity ã¯ã©ã¹ã¨åæããã¾ãã
- build.xml
- Ant ç¨ã®ãã«ã ãã¡ã¤ã«ã§ãã
- project.properties
- ãã«ã ã·ã¹ãã ç¨ã®ããããã£ã§ãããã®ãã¡ã¤ã«ãå¤æ´ããªãã§ãã ããã
- ant.properties
- ãã«ã ã·ã¹ãã ç¨ã®ã«ã¹ã¿ãã¤ãºå¯è½ãªããããã£ã§ãããã®ãã¡ã¤ã«ãç·¨éãã¦ãAnt ã使ç¨ããããã©ã«ãã®ãã«ãè¨å®ããªã¼ãã¼ã©ã¤ãã§ãã¾ãã
- src/your/package/namespace/ActivityName.java
- ããã¸ã§ã¯ãã®ä½ææã«æå®ãã Activity ã¯ã©ã¹ã§ãã
- bin/
- ãã«ã ã¹ã¯ãªããç¨ã®åºåãã£ã¬ã¯ããªã§ãã
- gen/
- Ant
ãçæãããã¡ã¤ã«ï¼R.java
ãªã©ï¼ãå«ã¾ãã¾ãã
- libs/
- ãã©ã¤ãã¼ã ã©ã¤ãã©ãªãå«ã¾ãã¾ãã
- res/
- ããã¸ã§ã¯ã ãªã½ã¼ã¹ãå«ã¾ãã¾ãã
- src/
- ã½ã¼ã¹ ã³ã¼ããå«ã¾ãã¾ãã
- tests/
- ãã¹ãç¨ã«ãä¸è¨ã®ãã¹ã¦ã®è¤è£½ãå«ã¾ãã¾ãã
-
-
-ããã¸ã§ã¯ããä½æããã¨ãéçºãå§ããæºåãã§ãã¾ããéçºã®ããã«ãããã¸ã§ã¯ã ãã©ã«ããã©ãã«ã§ã移åã§ãã¾ãããã¢ããªã±ã¼ã·ã§ã³ãã¨ãã¥ã¬ã¼ã¿ã«éä¿¡ããããã«(æ¹æ³ã«ã¤ãã¦ã¯å¾è¿°ãã¾ã)ãSDK ã® tools/
ãã£ã¬ã¯ããªã«ãã Android Debug Bridgeï¼adbï¼ã使ç¨ããå¿
è¦ãããã¾ãããã®ããã«ããã¸ã§ã¯ã ã½ãªã¥ã¼ã·ã§ã³ã¨ tools/
ãã©ã«ãéã§ã¢ã¯ã»ã¹ããå¿
è¦ãããã¾ãã
-
-注: SDK ãã£ã¬ã¯ããªã¯ç§»åãããªãã§ãã ããã移åããã¨ãã«ã ã¹ã¯ãªãããæ©è½ããªããªãã¾ãï¼ãã«ã ã¹ã¯ãªãããããä¸åº¦æ©è½ãããã«ã¯ãæåã§ã¹ã¯ãªãããæ´æ°ãã¦ãSDK ã®æ°ãããã±ã¼ã·ã§ã³ãåæ ãããå¿
è¦ãããã¾ãï¼ã
-
-
-ããã¸ã§ã¯ãã®æ´æ°
-
-Android SDK ã®å¤ããã¼ã¸ã§ã³ããããã¸ã§ã¯ããã¢ããã°ã¬ã¼ãããå ´åããæ¢åã®ã³ã¼ãããæ°ããããã¸ã§ã¯ããä½æããå ´åã¯ãandroid update project
ã³ãã³ãã使ã£ã¦æ°ããéçºç°å¢ã«åããã¦ããã¸ã§ã¯ããæ´æ°ãã¾ãããã®ã³ãã³ãã使ã£ã¦ï¼--target
ãªãã·ã§ã³ã«ããï¼ãæ¢åã®ããã¸ã§ã¯ãã®ãã«ã ã¿ã¼ã²ãããä¿®æ£ãããã¨ãã§ãã¾ããandroid
ãã¼ã«ã¯ãæå®ããã Android ããã¸ã§ã¯ãã®å¿
è¦ã«å¿ãã¦ãæ¬ è½ãã¦ãããã¾ãã¯æ´æ°ãå¿
è¦ã¨ãã¦ãããã¡ã¤ã«ããã©ã«ãã®çæãè¡ãã¾ããçæç©ã¯åã»ã¯ã·ã§ã³ã«è¨è¿°ããããªã¹ãã©ããã§ãã
-
-æ¢åã® Android ããã¸ã§ã¯ããæ´æ°ããã«ã¯ãã³ãã³ãã©ã¤ã³ãéããSDK ã® tools/
ãã£ã¬ã¯ããªã«ç§»åãã¾ããããã§æ¬¡ãå®è¡ãã¾ã:
-
-android update project --target <targetID> --path path/to/your/project/
-
-
-
- target
ã¯ãã¢ããªã±ã¼ã·ã§ã³ã®ããã«ã ã¿ã¼ã²ãããã§ããããã¯ãããã¸ã§ã¯ãããã«ããã Android ãã©ãããã©ã¼ã ã©ã¤ãã©ãªï¼Google API ã®ãããªã¢ããªã³ãå«ã¾ãã¾ãï¼ã«å¯¾å¿ãã¾ãã使ç¨å¯è½ãªã¿ã¼ã²ããã¨ããã«å¯¾å¿ãã ID ã®ä¸è¦§ã表示ããã«ã¯ãandroid list targets
ãå®è¡ãã¾ãã
- path
ã¯ãããã¸ã§ã¯ã ãã£ã¬ã¯ããªã®ãã±ã¼ã·ã§ã³ã§ãã
-
-
-次ã«ä¾ã示ãã¾ã:
-
-android update project --target 2 --path ./myProject
-
-
-
-ã¢ããªã±ã¼ã·ã§ã³ã¸ã®ç½²åã®æºå
-
-Android ã¢ããªã±ã¼ã·ã§ã³ã®éçºãå§ããã¨ãAndroid ã¢ããªã±ã¼ã·ã§ã³ãã¨ãã¥ã¬ã¼ã¿ã端æ«ä¸ã®ã·ã¹ãã ã«ã¤ã³ã¹ãã¼ã«ããåã«ãã©ã® Android ã¢ããªã±ã¼ã·ã§ã³ã«ããã¸ã¿ã«ç½²åãå¿
è¦ã§ãããã¨ããããã¾ãã解決çã¨ãã¦ã¯ããããã° ãã¼ãã使ç¨ããæ¹æ³ï¼ã¨ãã¥ã¬ã¼ã¿ãéçºç¨ç«¯æ«ä¸ã§ããã«ãã¹ãããå ´åï¼ã¨ãéå
¬éãã¼ã使ç¨ããæ¹æ³ï¼ã¢ããªã±ã¼ã·ã§ã³ãé
å¸ããå ´åï¼ã® 2 ã¤ãããã¾ãã
-
-Android ã®ãã«ã ãã¼ã«ã使ç¨ããã¨ããã«ãæã«ãããã°ãã¼ã使ç¨ã㦠.apk ãã¡ã¤ã«ã«èªåçã«ç½²åã§ããã®ã§ãã¹ã ã¼ãºãªéçºãå¯è½ã§ããã¤ã¾ããç¬èªã®éå
¬éãã¼ãçæããªãã¦ããã¢ããªã±ã¼ã·ã§ã³ãã³ã³ãã¤ã«ãã¦ãã¨ãã¥ã¬ã¼ã¿ã«ã¤ã³ã¹ãã¼ã«ãããã¨ãã§ãã¾ãããã ããã¢ããªã±ã¼ã·ã§ã³ãå
¬éããå ´åã¯ãSDK ãã¼ã«ãçæãããããã° ãã¼ã§ã¯ãªããç¬èªã®éå
¬éãã¼ã使ç¨ãã¦ã¢ããªã±ã¼ã·ã§ã³ã«ç½²åããå¿
è¦ãããã¾ãã
-
-ã¢ããªã±ã¼ã·ã§ã³ã¸ã®ç½²åãã覧ãã ãããAndroid ã§ã®ã¢ããªã±ã¼ã·ã§ã³ã¸ã®ç½²åã¨ãAndroid ã¢ããªã±ã¼ã·ã§ã³ ãããããã¼ã«ã¨ã£ã¦ã®ç½²åã®æå³ã«ã¤ãã¦èª¬æãã¦ãã¾ãã
-
-
-
-ã¢ããªã±ã¼ã·ã§ã³ã®ãã«ã
-
-ã¢ããªã±ã¼ã·ã§ã³ã®ãã«ãã«ã¯ãã¢ããªã±ã¼ã·ã§ã³ããã¹ã/ãããã°ããããã®ããããã° ã¢ã¼ããã¨ããªãªã¼ã¹ç¨ã®æçµããã±ã¼ã¸ããã«ãããããã®ããªãªã¼ã¹ ã¢ã¼ããã® 2 ã¤ãããã¾ããåã®ã»ã¯ã·ã§ã³ã§èª¬æããããã«ãã¢ããªã±ã¼ã·ã§ã³ãã¨ãã¥ã¬ã¼ã¿ã端æ«ã«ã¤ã³ã¹ãã¼ã«ããåã«ãã¢ããªã±ã¼ã·ã§ã³ã«ç½²åããå¿
è¦ãããã¾ãã
-
-ãããã° ã¢ã¼ãã¨ãªãªã¼ã¹ ã¢ã¼ãã®ã©ã¡ãã§ãã«ããã¦ãããã«é¢ä¿ãªããããã¸ã§ã¯ããã³ã³ãã¤ã«ãããã«ãããã«ã¯ Ant ãã¼ã«ãå¿
è¦ã§ããããã«ãããã¨ãã¥ã¬ã¼ã¿ã端æ«ã«ã¤ã³ã¹ãã¼ã«ãã .apk ãã¡ã¤ã«ãä½æããã¾ãããããã° ã¢ã¼ãã§ãã«ãããã¨ã.apk ãã¡ã¤ã«ã¯ SDK ãã¼ã«ã«ãããããã° ãã¼ã使ç¨ãã¦èªåçã«ç½²åãããã®ã§ãã¤ã³ã¹ãã¼ã«ã®æºåãããã«æ´ãã¾ãï¼ãã ããã¨ãã¥ã¬ã¼ã¿ã¾ãã¯æ¥ç¶ãããéçºç¨ç«¯æ«ä¸ã«ã®ã¿ã¤ã³ã¹ãã¼ã«ã§ãã¾ãï¼ããªãªã¼ã¹ ã¢ã¼ãã§ãã«ãããã .apk ãã¡ã¤ã«ã¯ç½²åãããªãã®ã§ãKeytool 㨠Jarsigner ã使ã£ã¦ãç¬èªã®éå
¬éãã¼ã§æåã§ç½²åããå¿
è¦ãããã¾ãã
-
-ã¢ããªã±ã¼ã·ã§ã³ã¸ã®ç½²åã®å
容ãããç解ããå¿
è¦ãããã¾ããã¾ããã¢ããªã±ã¼ã·ã§ã³ããªãªã¼ã¹ãã¦ã¨ã³ãã¦ã¼ã¶ã¼ã¨å
±æãããã¨ãè¨ç»ãã¦ããå ´åã¯é常ã«éè¦ã§ãããã¢ããªã±ã¼ã·ã§ã³ã¸ã®ç½²åãã§ã¯ãéå
¬éãã¼ãçæããããã使ç¨ã㦠.apk ãã¡ã¤ã«ã«ç½²åããæé ã«ã¤ãã¦èª¬æãã¦ãã¾ãããã ããéçºãå§ããã°ããã§ããã°ããããã° ã¢ã¼ãã§ãã«ããããã¨ã«ãããã¨ãã¥ã¬ã¼ã¿ã¾ãã¯ç¬èªã®éçºç¨ç«¯æ«ã§ã¢ããªã±ã¼ã·ã§ã³ãããã«å®è¡ã§ãã¾ãã
-
-Ant ããæã¡ã§ãªãå ´åã¯ãApache Ant ãã¼ã ãã¼ã¸ããå
¥æãã¦ãã ãããAnt ãã¤ã³ã¹ãã¼ã«ãã¦ãå¿
ãå®è¡å¯è½ãã¹ã«ç½®ãã¾ããAnt ãå®è¡ããåã«ããJAVA_HOMEãç°å¢å¤æ°ã宣è¨ã㦠JDK ã®ã¤ã³ã¹ãã¼ã«ãã¹ãæå®ããå¿
è¦ãããã¾ãã
-
-注: Windows ä¸ã« JDK ãã¤ã³ã¹ãã¼ã«ããã¨ãããã©ã«ãã§ã¯ãProgram Filesããã£ã¬ã¯ããªã«ã¤ã³ã¹ãã¼ã«ããã¾ãããã®ãã¹åã«ã¯ã¹ãã¼ã¹ãå«ã¾ããããã«ãant
ã¯å®è¡ããã¾ããããã®åé¡ã¯ãJAVA_HOME å¤æ°ã次ã®ããã«æå®ãããã¨ã§è§£æ±ºã§ãã¾ã: set JAVA_HOME=c:\Prora~1\Java\
ãã ãæãç°¡åãªè§£æ±ºçã¯ãJDK ãã¹ãã¼ã¹ãå«ã¾ãªããã£ã¬ã¯ããªï¼ä¾: c:\java\jdk1.6.0_02
ï¼ã«ã¤ã³ã¹ãã¼ã«ãããã¨ã§ãã
-
-
-ãããã° ã¢ã¼ãã§ã®ãã«ã
-
-ã¢ããªã±ã¼ã·ã§ã³ã®ãã¹ãã¨ãããã°ãããã«è¡ãããå ´åã¯ããããã° ã¢ã¼ãã§ã¢ããªã±ã¼ã·ã§ã³ããã«ãããããã«ã¨ãã¥ã¬ã¼ã¿ã«ã¤ã³ã¹ãã¼ã«ãããã¨ãã§ãã¾ãããããã° ã¢ã¼ãã§ã¯ããã«ã ãã¼ã«ã¯ãããã° ãã¼ã使ç¨ãã¦ã¢ããªã±ã¼ã·ã§ã³ã«èªåçã«ç½²åãã¾ãããã ãã¢ããªã±ã¼ã·ã§ã³ã¯ãªãªã¼ã¹ ã¢ã¼ãã§ãã¹ããããã¨ãå¯è½ã§ããããªãªã¼ã¹ ã¢ã¼ãã§ã®ãã¹ãã¯æ¨å¥¨ããã¦ãã¾ãããããã° ã¢ã¼ãã¯ãæåã§ã¢ããªã±ã¼ã·ã§ã³ã«ç½²åããªãã¦ããã¢ããªã±ã¼ã·ã§ã³ãå®è¡ã§ããããã«ãã¾ãã
-
-ãããã° ã¢ã¼ãã§ãã«ãããã«ã¯:
-
-
- - ã³ãã³ãã©ã¤ã³ãéããããã¸ã§ã¯ãã®ã«ã¼ã ãã£ã¬ã¯ããªã«ç§»åãã¾ãã
- - Ant ã使ç¨ãã¦ããã¸ã§ã¯ãããããã° ã¢ã¼ãã§ã³ã³ãã¤ã«ãã¾ã:
-
ant debug
- Android ã¢ããªã±ã¼ã·ã§ã³ã® .apk ãã¡ã¤ã«ãããã¸ã§ã¯ãã® bin/
ãã£ã¬ã¯ããªã«ã<your_DefaultActivity_name>-debug.apk
ã¨ããååã§ä½æããã¾ãããã®ãã¡ã¤ã«ã¯ãããã° ãã¼ã§ç½²åæ¸ã¿ã§ãã
-
-
-
-ã½ã¼ã¹ ãã¡ã¤ã«ã¾ãã¯ãªã½ã¼ã¹ãå¤æ´ãããã³ã«ãã¢ããªã±ã¼ã·ã§ã³ã®ææ°ãã¼ã¸ã§ã³ãããã±ã¼ã¸ã³ã°ããããã«ãAnt ãå度å®è¡ããå¿
è¦ãããã¾ãã
-
-ã¢ããªã±ã¼ã·ã§ã³ãã¨ãã¥ã¬ã¼ã¿ã«ã¤ã³ã¹ãã¼ã«ãã¦å®è¡ããæ¹æ³ã«ã¤ãã¦ã¯ãä¸è¨ã®ã¢ããªã±ã¼ã·ã§ã³ã®å®è¡ã»ã¯ã·ã§ã³ãã覧ãã ããã
-
-
-ãªãªã¼ã¹ ã¢ã¼ãã§ã®ãã«ã
-
-ã¢ããªã±ã¼ã·ã§ã³ãã¨ã³ãã¦ã¼ã¶ã¼ã«ãªãªã¼ã¹ãã¦é
å¸ããæºåãã§ããããã¢ããªã±ã¼ã·ã§ã³ããªãªã¼ã¹ ã¢ã¼ãã§ãã«ãããå¿
è¦ãããã¾ãããªãªã¼ã¹ ã¢ã¼ãã§ãã«ãããå¾ãæçµç㪠.apk ãã¡ã¤ã«ã使ç¨ãã¦è¿½å ã®ãã¹ãã¨ãããã°ããããã¨ããããããã¾ãã
-
-ãªãªã¼ã¹ ã¢ã¼ãã§ãã«ãããã«ã¯:
-
-
- - ã³ãã³ãã©ã¤ã³ãéããããã¸ã§ã¯ãã®ã«ã¼ã ãã£ã¬ã¯ããªã«ç§»åãã¾ãã
- - Ant ã使ç¨ãã¦ããã¸ã§ã¯ãããªãªã¼ã¹ ã¢ã¼ãã§ã³ã³ãã¤ã«ãã¾ã:
-
ant release
- ããã«ãã Android ã¢ããªã±ã¼ã·ã§ã³ã® .apk ãã¡ã¤ã«ãããã¸ã§ã¯ãã® bin/
ãã£ã¬ã¯ããªã«ã<your_DefaultActivity_name>.apk
ã¨ããååã§ä½æããã¾ãã
- 注: .apk ãã¡ã¤ã«ã¯ãã®æç¹ã§ã¯ç½²åããã¦ãã¾ãããã¤ã¾ãéå
¬éãã¼ã§ç½²åããã¾ã§ãã¨ãã¥ã¬ã¼ã¿ã端æ«ã«ã¤ã³ã¹ãã¼ã«ãããã¨ã¯ã§ãã¾ããã
-
-
-
-ãªãªã¼ã¹ ã¢ã¼ãã§ã¯ã¢ããªã±ã¼ã·ã§ã³ãç½²åããã«ãã«ããè¡ãã¾ãããã®ãããã¢ããªã±ã¼ã·ã§ã³ãã¨ã³ãã¦ã¼ã¶ã¼ã«é
å¸ããããã«ã¯ã次ã«éå
¬éãã¼ã使ç¨ãã¦ç½²åãè¡ãå¿
è¦ãããã¾ãããã®æé ãè¡ãæ¹æ³ã«ã¤ãã¦ã¯ãSigning Your Applicationãã覧ãã ããã
-
-éå
¬éãã¼ã使ç¨ãã¦ã¢ããªã±ã¼ã·ã§ã³ã«ç½²åããã¨ãã¢ããªã±ã¼ã·ã§ã³ãã¨ãã¥ã¬ã¼ã¿ã端æ«ã«ã¤ã³ã¹ãã¼ã«ã§ããããã«ãªãã¾ããããã«ã¤ãã¦ã¯æ¬¡ã®ã¢ããªã±ã¼ã·ã§ã³ã®å®è¡ã®ã»ã¯ã·ã§ã³ã§èª¬æãã¾ãã次ã®æ¹æ³ã§ã¦ã§ã ãµã¼ãã¼ãã端æ«ã«ã¤ã³ã¹ãã¼ã«ãããã¨ãã§ãã¾ããç½²åãã APK ãã¦ã§ããµã¤ãã«ã¢ãããã¼ãããAndroid ã¦ã§ããã©ã¦ã¶ã§ãã® .apk ã® URL ãèªã¿è¾¼ãã§ã¢ããªã±ã¼ã·ã§ã³ããã¦ã³ãã¼ãããã¤ã³ã¹ãã¼ã«ãéå§ãã¾ãï¼ç«¯æ«ä¸ã§ã¯ã[è¨å®] > [ã¢ããªã±ã¼ã·ã§ã³] ãé¸æãã[æä¾å
ä¸æã®ã¢ããª] ããªã³ã«ããå¿
è¦ãããã¾ãï¼ã
-
-
-ã¢ããªã±ã¼ã·ã§ã³ã®å®è¡
-
-端æ«ã®ãã¼ãã¦ã§ã¢ä»¥å¤ã§ã¢ããªã±ã¼ã·ã§ã³ãå®è¡ããå ´åã¯ãã¢ããªã±ã¼ã·ã§ã³ã®ã¤ã³ã¹ãã¼ã«å
ã¨ãªãã¨ãã¥ã¬ã¼ã¿ãèµ·åããå¿
è¦ãããã¾ããAndroid ã¨ãã¥ã¬ã¼ã¿ã®ã¤ã³ã¹ã¿ã³ã¹ã¯ãç¹æã®ç«¯æ«æ§æã«åããã¦è¨å®ããããç¹å®ã® Android ãã©ãããã©ã¼ã ãå®è¡ãã¦ãã¾ãããã®ãã©ãããã©ã¼ã ã¨æ§æã¯ãAndroid ä»®æ³ããã¤ã¹ï¼AVDï¼ã§å®ç¾©ããã¾ãããã®ããã¨ãã¥ã¬ã¼ã¿ãèµ·åããåã«ãAVD ãå®ç¾©ããªãã¦ã¯ããã¾ããã
-
-端æ«ãã¼ãã¦ã§ã¢ã§ã¢ããªã±ã¼ã·ã§ã³ãå®è¡ããå ´åã¯ã代ããã«ã端æ«ã®ã§ã®éçº ãã覧ãã ããã
-
-
- - AVD ã®ä½æ
-
- - ã³ãã³ãã©ã¤ã³ãéããSDK ããã±ã¼ã¸ã®
tools/
ãã£ã¬ã¯ããªã«ç§»åãã¾ãã
- - æåã«ããé
åã¿ã¼ã²ããããé¸æããå¿
è¦ãããã¾ããé¸æå¯è½ãªã¿ã¼ã²ããã表示ããã«ã¯ã次ã®ã³ãã³ããå®è¡ãã¾ã:
-
android list targets
- 次ã®ããã«é¸æå¯è½ãª Android ã¿ã¼ã²ããã®ãªã¹ãã表示ããã¾ã:
-
-id:1
- Name: Android 1.1
- Type: platform
- API level: 2
- Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-P
-id:2
- Name: Android 1.5
- Type: platform
- API level: 3
- Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-P
-
- ã¢ããªã±ã¼ã·ã§ã³ãå®è¡ãã Android ãã©ãããã©ã¼ã ã«ä¸è´ããã¿ã¼ã²ãããæ¢ãã¾ããid
ã®çªå·ãæ¸ãçãã¦ããã次ã®ã¹ãããã§ä½¿ç¨ãã¾ãã
-
- - é¸æããé
åã¿ã¼ã²ããã使ç¨ãã¦ãæ°ãã AVD ãä½æãã¾ã:
-
android create avd --name <your_avd_name> --target <targetID>
- - ã«ã¹ã¿ã ãã¼ãã¦ã§ã¢ ãããã¡ã¤ã«ãä½æãããã©ããã®åãåãããããã¾ãããyesãã¨çããã¨ãæºå¸¯ç«¯æ«ãã¼ãã¦ã§ã¢ã®ãã¾ãã¾ãªé¢ãå®ç¾©ããããã®ä¸é£ã®åãåãããããã¾ãï¼å
¥åã空ç½ã®ã¾ã¾ã«ããã¨ããã£ãå
ã«è¡¨ç¤ºãããããã©ã«ãå¤ã使ç¨ããã¾ãï¼ãã¾ãã¯ãEnter ãã¼ãæ¼ãã¨ããã¹ã¦ããã©ã«ãå¤ã使ç¨ããã¾ãï¼ãnoããããã©ã«ãã§ãï¼ã
-
-
-
-
- ã¨ãã¥ã¬ã¼ã¿ã®èµ·å
- SDK ã® tools/
ãã£ã¬ã¯ããªãããä¸è¨ã§ä½æããæ¢åã® AVD ã使ç¨ãã¦ã¨ãã¥ã¬ã¼ã¿ãèµ·åãã¾ã:
-
emulator -avd <your_avd_name>
- ã¨ãã¥ã¬ã¼ã¿ã®ã¤ã³ã¹ã¿ã³ã¹ãèµ·åããAVD ã§å®ç¾©ãããã¿ã¼ã²ããã¨æ§æãå®è¡ããã¾ãã
-
-
- ã¢ããªã±ã¼ã·ã§ã³ã®ã¤ã³ã¹ãã¼ã«
- SDK ã® tools/
ãã£ã¬ã¯ããªãã .apk ãã¨ãã¥ã¬ã¼ã¿ã«ã¤ã³ã¹ãã¼ã«ãã¾ã:
-
adb install /path/to/your/application.apk
- è¤æ°ã®ã¨ãã¥ã¬ã¼ã¿ãå®è¡ä¸ã®å ´åã-s
ãªãã·ã§ã³ã§ã·ãªã¢ã«çªå·ãæå®ãã¦ãã¢ããªã±ã¼ã·ã§ã³ãã¤ã³ã¹ãã¼ã«ããã¨ãã¥ã¬ã¼ã·ã§ã³ãæå®ããå¿
è¦ãããã¾ãã次ã«ä¾ã示ãã¾ã:
- adb -s emulator-5554 install /my/project/path/myapp.apk
-
- ã¢ããªã±ã¼ã·ã§ã³ãéã
- ã¨ãã¥ã¬ã¼ã¿ã§ã使ç¨å¯è½ãªã¢ããªã±ã¼ã·ã§ã³ã®ãªã¹ããéããå®è¡ããã¢ããªã±ã¼ã·ã§ã³ãæ¢ãã¦éãã¾ãã
-
-
-
-å®è¡ããã¢ããªã±ã¼ã·ã§ã³ãã¨ãã¥ã¬ã¼ã¿ä¸ã«ãªãå ´åãåã AVD ãæå®ãã¦ã¨ãã¥ã¬ã¼ã¿ãåèµ·åãã¦ãã ãããActivity ãåãã¦ã¤ã³ã¹ãã¼ã«ããã¨ãã¢ããªã±ã¼ã·ã§ã³ ã©ã³ãã£ã«è¡¨ç¤ºããããä»ã®ã¢ããªã±ã¼ã·ã§ã³ããã¢ã¯ã»ã¹ã§ããªããã¨ãããã¾ããããã±ã¼ã¸ ããã¼ã¸ã£ã¯é常ãã¨ãã¥ã¬ã¼ã¿ã®èµ·åæã«ãããããã§ã¹ããå®å
¨ã«ã¯èª¿ã¹ãªãããã§ãã
-
-ãã³ã: å®è¡ä¸ã®ã¨ãã¥ã¬ã¼ã¿ã 1 ã¤ãããªãå ´åã1 ã¤ã®ç°¡åãªã¹ãããã§ãã¢ããªã±ã¼ã·ã§ã³ããã«ãããã¨ãã¥ã¬ã¼ã¿ã«ã¤ã³ã¹ãã¼ã«ãããã¨ãã§ãã¾ããããã¸ã§ã¯ãã®ã«ã¼ã ãã£ã¬ã¯ããªã«ç§»åããAnt ã使ç¨ãã¦ã¤ã³ã¹ãã¼ã« ã¢ã¼ãã§ããã¸ã§ã¯ããã³ã³ãã¤ã«ãã¾ãï¼ant install
ï¼ãããã«ãããã¢ããªã±ã¼ã·ã§ã³ããã«ãããããããã° ãã¼ã«ããç½²åãããç¾å¨å®è¡ä¸ã®ã¨ãã¥ã¬ã¼ã¿ã«ã¤ã³ã¹ãã¼ã«ããã¾ããç¾å¨å®è¡ä¸ã®ã¨ãã¥ã¬ã¼ã¿ãè¤æ°ããã¨ãinstall
ã³ãã³ãã¯å¤±æãã¾ããè¤æ°ã®ã¨ãã¥ã¬ã¼ã¿ããã®é¸æãè¡ããã¨ã¯ã§ãã¾ããã
-
-ä¸è¨ã§ä½¿ç¨ãããã¼ã«ã«ã¤ãã¦è©³ããã¯ã次ã®ããã¥ã¡ã³ããã覧ãã ãã:
-
-
-
-ã¢ããªã±ã¼ã·ã§ã³ã¸ã®ãããã¬ã®æ¥ç¶
-
-ãã®ã»ã¯ã·ã§ã³ã§ã¯ãç»é¢ä¸ã§ã®ãããã°æ
å ±ï¼CPU ã®ä½¿ç¨çãªã©ï¼ã®è¡¨ç¤ºæ¹æ³ããç·åéçºç°å¢ã«æ¥ç¶ãã¦ã¨ãã¥ã¬ã¼ã¿ä¸ã§å®è¡ããã¢ããªã±ã¼ã·ã§ã³ããããã°ããæ¹æ³ã«ã¤ãã¦èª¬æãã¾ãã
-
-Eclipse ãã©ã°ã¤ã³ã使ç¨ããã¨ããããã¬ã¸ã®æ¥ç¶ã¯èªååããã¾ãããããä»ã®ç·åéçºç°å¢ã§ãããããã° ãã¼ãããªãã¹ã³ãã¦ãããã°æ
å ±ãåä¿¡ããããã«è¨å®ãããã¨ãã§ãã¾ã:
-
- - ç·åéçºç°å¢ã¨ã¨ãã¥ã¬ã¼ã¿éã®ãã¼ã転éãµã¼ãã¹ã¨ãã¦æ©è½ãã Dalvik Debug Monitor Serverï¼DDMSï¼ãã¼ã«ãèµ·åãã¾ãã
- - ã¨ãã¥ã¬ã¼ã¿ã§ãªãã·ã§ã³ã®ãããã°æ§æãè¨å®ãã¾ããè¨å®ã«ã¯ããããã¬æ¥ç¶ã¾ã§ Activity ã®ã¢ããªã±ã¼ã·ã§ã³èµ·åããããã¯ãããªãã·ã§ã³ãªã©ãå«ã¾ãã¾ããã¨ãã¥ã¬ã¼ã¿ã§ã® CPU 使ç¨çãç»é¢ã®æ´æ°çã®è¡¨ç¤ºã®ããã«ããããã®ãããã°ç¨ãªãã·ã§ã³ã®å¤ã㯠DDMS ããªãã¦ã使ç¨ã§ãã¾ãã
- - ç·åéçºç°å¢ãè¨å®ãã¦ããããã°ç¨ã«ãã¼ã 8700 ã«æ¥ç¶ãã¾ããç·åéçºç°å¢ãè¨å®ãã¦ãããã° ãã¼ãã«æ¥ç¶ãã ãã覧ãã ããã
-
diff --git a/docs/html/intl/ja/guide/index.jd b/docs/html/intl/ja/guide/index.jd
deleted file mode 100644
index 69b9eca150e0..000000000000
--- a/docs/html/intl/ja/guide/index.jd
+++ /dev/null
@@ -1,52 +0,0 @@
-page.title=ãããããã¼ ã¬ã¤ã
-@jd:body
-
-
-Android ãããããã¼ ã¬ã¤ãã¸ããããããããããã¼ ã¬ã¤ãã¯ãAndroid åãã¢ããªã±ã¼ã·ã§ã³éçºã«ãããå®ç¨çãªå
¥éè³æã§ãããã®è³æã§ã¯ãAndroid ã®èå¾ã«ããæ¦å¿µãã¢ããªã±ã¼ã·ã§ã³æ§ç¯ç¨ã®ãã¬ã¼ã ã¯ã¼ã¯ãããã³Android ãã©ãããã©ã¼ã åãã½ããã¦ã§ã¢ãéçºããã¹ããå
¬éããããã®ãã¼ã«ã«ã¤ãã¦èª¬æãã¾ãã
-
-
-
-ãããããã¼ ã¬ã¤ãã«ã¯ Android ãã©ãããã©ã¼ã ã«é¢ããã»ã¨ãã©ã®ããã¥ã¡ã³ããå«ã¾ãã¦ãã¾ããããã¬ã¼ã ã¯ã¼ã¯ API ã«é¢ããåèè³æã¯å«ã¾ãã¦ãã¾ãããAPI ã®ä»æ§ã«ã¤ãã¦ã¯ãä¸é¨ã«ãã [ãªãã¡ã¬ã³ã¹] ã¿ããã覧ãã ããã
-
-
-
-å·¦å´ã®ããã«ã«è¡¨ç¤ºããã¦ããããã«ããããããã¼ ã¬ã¤ãã¯è¤æ°ã®ã»ã¯ã·ã§ã³ã«åããã¦ãã¾ããåã»ã¯ã·ã§ã³ã¯æ¬¡ã®ã¨ããã§ã:
-
-
-
-- Android ã®åºæ¬
-- Android ã¨ã¯ä½ããåºæ¬æ©è½ãã¢ããªã±ã¼ã·ã§ã³ã¨ã®é¢ä¿ãªã©ãAndroid ã®åºæ¬äºé
ã«ã¤ãã¦ç´¹ä»ãã¾ãã
-
-- ãã¬ã¼ã ã¯ã¼ã¯ ãããã¯
-- Android ã®ãã¬ã¼ã ã¯ã¼ã¯ã¨ API ã®åé¨åã«ã¤ãã¦èª¬æãã¾ãããã¬ã¼ã ã¯ã¼ã¯ã®æ¦è¦ã«ã¤ãã¦ã¯ãã¢ããªã±ã¼ã·ã§ã³ã®åºç¤ãæåã«ã覧ãã ããã次ã«ãã¦ã¼ã¶ã¼ ã¤ã³ã¿ã¼ãã§ã¼ã¹ã®è¨è¨ããªã½ã¼ã¹ã®è¨å®ããã¼ã¿ã®ä¿åã権éã®å©ç¨ãªã©ãããããã®ãããã¯ãå¿
è¦ã«å¿ãã¦åç
§ãã¦ãã ããã
-
-- éçº
-- Android ã®éçºã¨ãããã°ç¨ãã¼ã«ã®ä½¿ç¨æ¹æ³ãçµæã®ãã¹ãæ¹æ³ã«ã¤ãã¦èª¬æãã¾ãã
-
-- å
Ž
-- ã¢ããªã±ã¼ã·ã§ã³é
å¸ã®æºåãããæ¹æ³ã¨ãæºåãã§ãããå
¬éããæ¹æ³ã«ã¤ãã¦èª¬æãã¾ãã
-
-- ãã¹ã ãã©ã¯ãã£ã¹
-- å¹çããæ©è½ããã¦ã¼ã¶ã¼ã«ã¨ã£ã¦å½¹ç«ã¤ã¢ããªã±ã¼ã·ã§ã³ãä½æããããã®æ¨å¥¨ãã¯ããã¯ã«ã¤ãã¦èª¬æãã¾ãã
-
-- ãã¥ã¼ããªã¢ã«ã¨ãµã³ãã«
-- Android ã¢ããªã±ã¼ã·ã§ã³ãæ§ç¯ããæ¹æ³ãä¾ç¤ºãã段éçãªãã¥ã¼ããªã¢ã«ã¨ãµã³ãã« ã³ã¼ãã§ãã
-
-- ä»é²
-- é¢é£æ
å ±ãä»æ§ããããã質åãç¨èªè§£èª¬ãªã©ã®æ
å ±ã§ãã
-
-
-
-Android åãããã°ã©ã éçºã®æåã®ã¹ãããã¯ãSDKï¼ã½ããã¦ã§ã¢éçºãããï¼ããã¦ã³ãã¼ããããã¨ã§ãããã®ãããã®ãã¦ã³ãã¼ãæ¹æ³ã¨èª¬æã«ã¤ãã¦ã¯ãä¸é¨ã«ãã [SDK] ã¿ããã覧ãã ããã
-
-
-
-SDK ã®ãã¦ã³ãã¼ãå¾ã¯ãã¾ãã¯ããã«ãããããã¼ ã¬ã¤ããåç
§ãã¦ãã ãããã³ã¼ããå®éã«è¦ã¦ã¿ããã¨ããå§ãããå ´åã¯ãç°¡å㪠Building Your First App ãã¥ã¼ããªã¢ã«ãåç
§ãã¦ãã ãããAndroid ãã©ãããã©ã¼ã åãã«ä½æãããæ¨æºçãªãHello, Worldãã¢ããªã±ã¼ã·ã§ã³ã«ã¤ãã¦èª¬æãã¦ãã¾ããã¢ããªã±ã¼ã·ã§ã³ã®åºç¤ããã¥ã¡ã³ãã¯ãã¢ããªã±ã¼ã·ã§ã³ ãã¬ã¼ã ã¯ã¼ã¯ãç解ãããã¦ã¼ã¶ã¼ã«æé©ãªåºçºç¹ã¨ãªãã¾ãã
-
-
-
-
-ä¸æç¹ãªã©ãããå ´åã¯ãAndroid ãã£ã¹ã«ãã·ã§ã³ ã°ã«ã¼ãã¸ã®åå ããããããã¾ãã詳ããã¯ä¸é¨ã«ãã [ã³ãã¥ããã£] ã¿ããã覧ãã ããã
-
-
-ãããããã¼ ã¬ã¤ãã®å¥ã®ãã¼ã¸ã«ç§»åãã¦ããããã®ãã¼ã¸ã«æ»ãã«ã¯ã[ãããããã¼ ã¬ã¤ã] ã¿ããã¯ãªãã¯ãã¾ãã
\ No newline at end of file
diff --git a/docs/html/intl/ja/guide/publishing/app-signing.jd b/docs/html/intl/ja/guide/publishing/app-signing.jd
deleted file mode 100644
index 2d2acfa2f8c3..000000000000
--- a/docs/html/intl/ja/guide/publishing/app-signing.jd
+++ /dev/null
@@ -1,336 +0,0 @@
-page.title=ã¢ããªã±ã¼ã·ã§ã³ã¸ã®ç½²å
-@jd:body
-
-
-
-ãã®ããã¥ã¡ã³ãã§ã¯ãAndroid ã¢ããªã±ã¼ã·ã§ã³ãæºå¸¯ç«¯æ«ã¦ã¼ã¶ã¼ã«å
¬éããåã«ç½²åããæ¹æ³ã«ã¤ãã¦èª¬æãã¾ãã
-
-æ¦è¦
-
-Android ã·ã¹ãã ã§ã¯ãã¤ã³ã¹ãã¼ã«ãããã¹ã¦ã®ã¢ããªã±ã¼ã·ã§ã³ã«å¯¾ãã¦ãã¸ã¿ã«ç½²åããã¦è¨¼ææ¸ãå¿
è¦ã¨ãã¾ãããã®è¨¼ææ¸ã®ç§å¯éµã¯ãã¢ããªã±ã¼ã·ã§ã³ã®ãããããã¼ãææãããã®ã§ããAndroid ã·ã¹ãã ã¯è¨¼ææ¸ãã¢ããªã±ã¼ã·ã§ã³ã®ä½æè
ã®èå¥æ段ãããã³ã¢ããªã±ã¼ã·ã§ã³éã®ä¿¡é ¼é¢ä¿ã®ç¢ºç«æ段ã¨ãã¦ä½¿ç¨ãã¾ãã証ææ¸ã¯ãã¦ã¼ã¶ã¼ãã©ã®ã¢ããªã±ã¼ã·ã§ã³ãã¤ã³ã¹ãã¼ã«ã§ããããå¶å¾¡ãããã®ã§ã¯ããã¾ããã証ææ¸ã¯èªè¨¼æ©é¢ã«ãã£ã¦ç½²åãããå¿
è¦ã¯ããã¾ãããé常㮠Android ã¢ããªã±ã¼ã·ã§ã³ã¯èªå·±ç½²å証ææ¸ã使ç¨ãã¦æ£å¸¸ã«æ©è½ãã¾ãã
-
-Android ã¢ããªã±ã¼ã·ã§ã³ã®ç½²åã«ã¤ãã¦ã次ã®ç¹ãç解ãããã¨ãéè¦ã§ã:
-
-
- - ãã¹ã¦ã®ã¢ããªã±ã¼ã·ã§ã³ã¯ç½²åãããå¿
è¦ãããã¾ããç½²åããã¦ããªãã¢ããªã±ã¼ã·ã§ã³ã¯ã·ã¹ãã ã«ã¤ã³ã¹ãã¼ã«ããã¾ããã
- - ã¢ããªã±ã¼ã·ã§ã³ã®ç½²åã«ãèªå·±ç½²å証ææ¸ã使ç¨ã§ãã¾ããèªè¨¼æ©é¢ã¯ä¸è¦ã§ãã
- - ã¢ããªã±ã¼ã·ã§ã³ãã¨ã³ã ã¦ã¼ã¶ã¼ã«ãªãªã¼ã¹ããæºåãã§ããããé©åãªç§å¯éµã使ç¨ãã¦ã¢ããªã±ã¼ã·ã§ã³ã«ç½²åããå¿
è¦ãããã¾ããSDK ãã¼ã«ã§çæããããããã° ãã¼ã§ç½²åãããã¢ããªã±ã¼ã·ã§ã³ã¯ãå
¬éã§ãã¾ããã
-
- - ã·ã¹ãã ãç½²å証ææ¸ã®æå¹æéã確èªããã®ã¯ãã¤ã³ã¹ãã¼ã«æã®ã¿ã§ããã¢ããªã±ã¼ã·ã§ã³ã®ã¤ã³ã¹ãã¼ã«å¾ã«ç½²åè
証ææ¸ãæéåãã«ãªã£ãå ´åãã¢ããªã±ã¼ã·ã§ã³ã¯æ£å¸¸ãªåä½ãç¶ç¶ãã¾ãã
- - æ¨æºãã¼ã«ã§ãã Keytool 㨠Jarsigner ã使ç¨ãã¦ãã¼ãçæããã¢ããªã±ã¼ã·ã§ã³ã® .apk ãã¡ã¤ã«ã«ç½²åã§ãã¾ãã
-
-
-Android ã·ã¹ãã ã¯ãé©åã«ç½²åããã¦ããªãã¢ããªã±ã¼ã·ã§ã³ãã¤ã³ã¹ãã¼ã«ãããå®è¡ããã¾ããããã®è¦åã¯ãå®éã®ããã¤ã¹ã§ãã¨ãã¥ã¬ã¼ã¿ã§ããAndroid ã·ã¹ãã ãå®è¡ããããã¹ã¦ã®ç¶æ³ã§é©ç¨ããã¾ãããã®ãããã¨ãã¥ã¬ã¼ã¿ã¾ãã¯ããã¤ã¹ä¸ã§å®è¡ã¾ãã¯ãããã°ããåã«ãã¢ããªã±ã¼ã·ã§ã³ã®ç½²åãè¨å®ããå¿
è¦ãããã¾ãã
-
-Android SDK ãã¼ã«ã¯ããããã°æã®ã¢ããªã±ã¼ã·ã§ã³ç½²åãæ¯æ´ãã¾ãããADT Plugin for Eclipseãã¨ãAnt ãã«ã ãã¼ã«ãã§ã¯ä¸¡æ¹ã¨ãããããã° ã¢ã¼ãã¨ãªãªã¼ã¹ ã¢ã¼ãã® 2 種é¡ã®ç½²åã¢ã¼ããå©ç¨ã§ãã¾ãã
-
-
-- éçºããã³ãã¹ãä¸ã¯ããããã° ã¢ã¼ãã§ã³ã³ãã¤ã«ã§ãã¾ãããããã° ã¢ã¼ãã§ã¯ããã«ã ãã¼ã«ã¯ JDK ã«ä»å±ã® Keytool ã¦ã¼ãã£ãªãã£ã使ç¨ãã¦ããã¼ã¹ãã¢ã¨ãã¼ãæ¢ç¥ã®ã¨ã¤ãªã¢ã¹ã¨ãã¹ã¯ã¼ãã§ä½æãã¾ããã³ã³ãã¤ã«ã®ãã³ã«ããã¼ã«ã¯ãããã° ãã¼ã使ç¨ãã¦ã¢ããªã±ã¼ã·ã§ã³ã® .apk ãã¡ã¤ã«ã«ç½²åãã¾ãããã¹ã¯ã¼ãã¯æ¢ç¥ã®ãã®ãªã®ã§ãã³ã³ãã¤ã«ã®ãã³ã«ãã¼ã«ã«ãã¼ã¹ãã¢/ãã¼ ãã¹ã¯ã¼ããå
¥åããå¿
è¦ã¯ããã¾ããã
-
-- ã¢ããªã±ã¼ã·ã§ã³ããªãªã¼ã¹ããæºåãã§ãããããªãªã¼ã¹ ã¢ã¼ãã§ã³ã³ãã¤ã«ãã¦ã.apk ã«ç§å¯éµã§ç½²åããå¿
è¦ãããã¾ãã次㮠2 éãã®æ¹æ³ãããã¾ã:
-
- - Keytool 㨠Jarsigner ãã³ãã³ã ã©ã¤ã³ã§ä½¿ç¨ããæ¹æ³ããã®ã¢ããã¼ãã§ã¯ãã¾ãã¢ããªã±ã¼ã·ã§ã³ãç½²åããã¦ããªã .apk ã«ã³ã³ãã¤ã«ãã¾ãã次ã«ãJarsignerï¼ã¾ãã¯é¡ä¼¼ã®ãã¼ã«ï¼ã使ç¨ãã¦ç§å¯éµã§ .apk ã«æåã§ç½²åãã¾ããé©åãªç§å¯éµãææãã¦ããªãå ´åã¯ãKeytool ãæåã§å®è¡ãã¦ç¬èªã®ãã¼ã¹ãã¢/ãã¼ãçæããJarsigner ã§ã¢ããªã±ã¼ã·ã§ã³ã«ç½²åã§ãã¾ãã
- - ADT Export Wizard ã使ç¨ããæ¹æ³ãADT ãã©ã°ã¤ã³æè¼ã® Eclipse ã使ç¨ãã¦éçºãã¦ããå ´åãExport Wizard ã使ç¨ãã¦ã¢ããªã±ã¼ã·ã§ã³ãã³ã³ãã¤ã«ããç§å¯éµãçæãã¦ï¼å¿
è¦ãªå ´åï¼ã.apk ã«ç½²åã§ãã¾ãããã®ä½æ¥ããã¹ã¦ Export Wizard ã使ç¨ã㦠1 ã¤ã®ããã»ã¹ã§å®è¡ã§ãã¾ãã
-
-
-
-
-
-ç½²åæ¦ç¥
-
-ã¢ããªã±ã¼ã·ã§ã³ã®ç½²åã¯ãéçºã¢ããã¼ãã«ä¸é¨å½±é¿ãã¾ããç¹ã«ãè¤æ°ã®ã¢ããªã±ã¼ã·ã§ã³ããªãªã¼ã¹ããäºå®ã®å ´åãé«ãå½±é¿ãä¸ãã¾ãã
-
-ä¸è¬ã«ããã¹ã¦ã®ãããããã¼ã«æ¨å¥¨ãããæ¦ç¥ã¯ãã¢ããªã±ã¼ã·ã§ã³ã®äºæããã使ç¨æéãéãã¦åã証ææ¸ã§ãã¹ã¦ã®ã¢ããªã±ã¼ã·ã§ã³ã«ç½²åãããã¨ã§ãããã®ããã«ããã«ã¯ãè¤æ°ã®çç±ãããã¾ã:
-
-
-- ã¢ããªã±ã¼ã·ã§ã³ã®ã¢ããã°ã¬ã¼ã - ã¢ããªã±ã¼ã·ã§ã³ã®ã¢ããã°ã¬ã¼ãããªãªã¼ã¹ããã¨ããã¦ã¼ã¶ã¼ãæ°ãã¼ã¸ã§ã³ã«ã·ã¼ã ã¬ã¹ã«ã¢ããã°ã¬ã¼ãã§ããããã«ãã¢ããã°ã¬ã¼ããããã¢ããªã±ã¼ã·ã§ã³ã«ãåã証ææ¸ã§ç½²åãã¾ããã·ã¹ãã ãã¢ããªã±ã¼ã·ã§ã³ã®ã¢ãããã¼ããã¤ã³ã¹ãã¼ã«ããéã¯ãæ°ãã¼ã¸ã§ã³ã®è¨¼ææ¸ã®ãããããæ§ãã¼ã¸ã§ã³ã®è¨¼ææ¸ã¨ä¸è´ããå ´åãã·ã¹ãã ãã¢ãããã¼ãã許å¯ãã¾ããä¸è´ãã証ææ¸ã使ç¨ããã«ç½²åããå ´åã¯ãã¢ããªã±ã¼ã·ã§ã³ã«å¥ã®ããã±ã¼ã¸åãå²ãå½ã¦ãå¿
è¦ãããã¾ãããã®å ´åãæ°ãããã¼ã¸ã§ã³ãã¾ã£ããæ°ããã¢ããªã±ã¼ã·ã§ã³ã¨ãã¦ã¤ã³ã¹ãã¼ã«ããã¾ãã
-
-- ã¢ããªã±ã¼ã·ã§ã³ã®ã¢ã¸ã¥ã¼ã«æ§ - Android ã·ã¹ãã ã§ã¯ãã¢ããªã±ã¼ã·ã§ã³ãè¦æ±ããå ´åãåã証ææ¸ã§ç½²åãããã¢ããªã±ã¼ã·ã§ã³ãåãããã»ã¹ã§å®è¡ã§ãã¾ããããã«ãããã·ã¹ãã ã¯ããããåä¸ã®ã¢ããªã±ã¼ã·ã§ã³ã¨ãã¦åãæ±ãã¾ãããã®ããã«ããã°ã¢ããªã±ã¼ã·ã§ã³ãã¢ã¸ã¥ã¼ã«ã¨ãã¦é
åã§ããã¦ã¼ã¶ã¼ã¯å¿
è¦ã«å¿ãã¦åã¢ã¸ã¥ã¼ã«ãåå¥ã«æ´æ°ã§ãã¾ãã
-
-- 許å¯ã«ããã³ã¼ã/ãã¼ã¿å
±æ - Android ã·ã¹ãã ã§ã¯ãç½²åãã¼ã¹ã®æ¨©éä»ä¸ãå®æ½ãã¦ãããããã¢ããªã±ã¼ã·ã§ã³ã¯æå®ããã証ææ¸ã§ç½²åããã¦ããå¥ã®ã¢ããªã±ã¼ã·ã§ã³ã«æ©è½ãæä¾ã§ãã¾ããåã証ææ¸ã§è¤æ°ã®ã¢ããªã±ã¼ã·ã§ã³ã«ç½²åããç½²åã«åºã¥ãã権éã®ãã§ãã¯ãè¡ããã¨ã§ãã¢ããªã±ã¼ã·ã§ã³ã¯ã³ã¼ãã¨ãã¼ã¿ãå®å
¨ãªæ¹æ³ã§å
±æã§ãã¾ãã
-
-
-
-ç½²åæ¦ç¥ã決å®ããéã®ãã 1 ã¤ã®éè¦ãªæ¤è¨äºé
ã¨ãã¦ãã¢ããªã±ã¼ã·ã§ã³ã®ç½²åã«ä½¿ç¨ãããã¼ã®æå¹æéã®è¨å®æ¹æ³ãããã¾ãã
-
-
-- ã¢ããªã±ã¼ã·ã§ã³ã®ã¢ããã°ã¬ã¼ãããµãã¼ãããã«ã¯ããã¼ã®æå¹æéã¯ãã¢ããªã±ã¼ã·ã§ã³ã®äºå®ããã試ç¨æé以ä¸ã§ããå¿
è¦ãããã¾ããæå¹æéã¯ãï¼ï¼å¹´ä»¥ä¸ã§ãããã¨ãæ¨å¥¨ããã¾ãããã¼ã®æå¹æéãåããå ´åãã¦ã¼ã¶ã¼ã¯ã¢ããªã±ã¼ã·ã§ã³ã®æ°ãã¼ã¸ã§ã³ã«ã·ã¼ã ã¬ã¹ã«ã¢ããã°ã¬ã¼ãã§ããªããªãã¾ãã
-
-- åããã¼ã§è¤æ°ã®ç°ãªãã¢ããªã±ã¼ã·ã§ã³ã«ç½²åããå ´åããã¼ã®æå¹æéããä»å¾ã®ã¢ããªã±ã¼ã·ã§ã³ ã¹ã¤ã¼ãã«è¿½å ãããä¾åã¢ããªã±ã¼ã·ã§ã³ãå«ãããã¹ã¦ã®ã¢ããªã±ã¼ã·ã§ã³ã®ãã¹ã¦ã®ãã¼ã¸ã§ã³ã®äºå®ããã使ç¨æéãè¶
ãããã¨ã確èªãã¦ãã ããã
-
-- ã¢ããªã±ã¼ã·ã§ã³ã Android ãã¼ã±ããã«å
¬éããäºå®ã®å ´åãã¢ããªã±ã¼ã·ã§ã³ã®ç½²åã«ä½¿ç¨ãããã¼ã®æå¹æéãã2033 å¹´ 10 æ 22 æ¥ä»¥éã®æéã«è¨å®ããå¿
è¦ãããã¾ãããã¼ã±ãã ãµã¼ãã¼ã¯ãæ°ãã¼ã¸ã§ã³ãå
¬éãããã¨ãã«ã¦ã¼ã¶ã¼ããã¼ã±ãã ã¢ããªã±ã¼ã·ã§ã³ãã·ã¼ã ã¬ã¹ã«ã¢ããã°ã¬ã¼ãã§ããããããã®è¦ä»¶ã義åä»ãã¦ãã¾ãã
-
-
-ã¢ããªã±ã¼ã·ã§ã³ã®è¨è¨æã«ãããã®ç¹ãèæ
®ããã¢ããªã±ã¼ã·ã§ã³ã®ç½²åã«é©åãªè¨¼ææ¸ã使ç¨ãã¦ãã ããã
-
-ç½²åã®åºæ¬è¨å®
-
-ãã¼ã¹ãã¢ã¨ãããã° ãã¼ã®çæããµãã¼ããããããSDK ãã«ã ãã¼ã«ã§ Keytool ã使ç¨ã§ãããã¨ãåãã«ç¢ºèªãã¦ãã ãããããã¦ãã®å ´åããJAVA_HOMEãç°å¢å¤æ°ãè¨å®ãã¦é©å㪠JDK ãåç
§ããããã¨ã§ãSDK ãã«ã ãã¼ã«ã§ Keytool ãèªèã§ãã¾ããã¾ãã¯ãJDK ãã¼ã¸ã§ã³ã® Keytool ã PATH å¤æ°ã«è¿½å ãã¦ãèªèã§ãã¾ãã
-
-Linux ãã¼ã¸ã§ã³ã«ä»å±ããã¦ãã GNU Java ã³ã³ãã¤ã©ã§éçºãã¦ããå ´åã¯ãgcj ãã¼ã¸ã§ã³ã§ã¯ãªããJDK ãã¼ã¸ã§ã³ã® Keytool ã使ç¨ãã¦ãããã¨ã確èªãã¦ãã ãããKeytool ãæ¢ã« PATH ã«æå®ããã¦ããå ´åã¯ã/usr/bin/keytool
ã® symlink ãæãã¦ãããã¨ãããã¾ãããã®å ´åã¯ãsymlink ã¿ã¼ã²ããã JDK ã® Keytool ãæãã¦ãããã¨ã確èªãã¦ãã ããã
-
-ã¢ããªã±ã¼ã·ã§ã³ãå
¬éããå ´åã¯ãJarsigner ãã¼ã«ãã³ã³ãã¥ã¼ã¿ã§ä½¿ç¨ã§ããããã«ããå¿
è¦ãããã¾ããJarsigner 㨠Keytool ã®ä¸¡æ¹ã JDK ã«ãã£ã¦æä¾ããã¾ãã
-
-ãããã° ã¢ã¼ãã§ã®ç½²å
-
-Android ãã«ã ãã¼ã«ã«ã¯ãããã°ç½²åã¢ã¼ãããããã¢ããªã±ã¼ã·ã§ã³ã®éçºã¨ãããã°ãã¹ã ã¼ãºã«è¡ãã¾ããã¾ãã.apk ãã¨ãã¥ã¬ã¼ã¿ã¾ãã¯ããã¤ã¹ã«ã¤ã³ã¹ãã¼ã«ããéã®ãç½²åã«å¯¾ãã Android ã·ã¹ãã è¦ä»¶ãæºããã¾ãããããã°ã¢ã¼ãã§ã¯ãSDK ãã¼ã«ã¯ Keytool ãå¼ã³åºãã¦ãããã° ãã¼ã¹ãã¢ã¨ãã¼ãä½æãã¾ãã
-
-SDK ãã¼ã«ã¯äºåã«æå®ãããååã¨ãã¹ã¯ã¼ãã使ç¨ãã¦ãããã° ãã¼ã¹ãã¢/ãã¼ãä½æãã¾ãã
-
-- ãã¼ã¹ãã¢å â ãdebug.keystoreã
-- ãã¼ã¹ãã¢ã®ãã¹ã¯ã¼ã â ãandroidã
-- ãã¼ã®ã¨ã¤ãªã¢ã¹ â ãandroiddebugkeyã
-- ãã¼ã®ãã¹ã¯ã¼ã â ãandroidã
-- CN â ãCN=Android Debug,O=Android,C=USã
-
-
-å¿
è¦ã«å¿ãã¦ããããã° ãã¼ã¹ãã¢/ãã¼ã®å ´æããã³ååãå¤æ´ã§ãã¾ããã¾ããèªåã§ä½æãããããã° ãã¼ã¹ãã¢/ãã¼ãæå®ãããã¨ãã§ãã¾ããEclipse/ADT ã§ã[[]ã¦ã£ã³ãã¦ï¼Windowsï¼] > [[]è¨å®ï¼Prefsï¼] > [[]Android] > [[]ãã«ãï¼Buildï¼] ãé¸æãã¾ãããã ããèªåã§ä½æãããããã° ãã¼ã¹ãã¢/ãã¼ã¯ãããã©ã«ãã®ãããã° ãã¼ï¼ä¸è¿°ï¼ã¨åããã¼ã¹ãã¢/ãã¼åã¨ãã¹ã¯ã¼ãã使ç¨ããå¿
è¦ãããã¾ãã
-
-注: ãããã°è¨¼ææ¸ã§ç½²åããå ´åã¯ãã¢ããªã±ã¼ã·ã§ã³ãå
¬éã§ãã¾ããã
-
-Eclipse ã¦ã¼ã¶ã¼
-
-Eclipse/ADT ã§éçºããKeytool ãä¸è¨ã®ããã«è¨å®ãã¦ããå ´åã¯ããããã°ã¢ã¼ãã«ãããç½²åã¯ããã©ã«ãã§æå¹ã«ãªã£ã¦ãã¾ããã¢ããªã±ã¼ã·ã§ã³ãå®è¡ã¾ãã¯ãããã°ããã¨ãã«ãADT 㯠.apk ã«ãããã°è¨¼ææ¸ã§ç½²åããã¨ãã¥ã¬ã¼ã¿ã«ã¤ã³ã¹ãã¼ã«ãã¾ããADT ã Keytool ã«ã¢ã¯ã»ã¹ã§ããå ´åã¯ãã¦ã¼ã¶ã¼ã¯ç¹ã«æä½ããå¿
è¦ã¯ããã¾ããã
-
-Ant ã¦ã¼ã¶ã¼
-
-Ant ã使ç¨ã㦠.apk ãã¡ã¤ã«ãæ§ç¯ããå ´åããããã°ç½²åã¢ã¼ã㯠debug
ãªãã·ã§ã³ã使ç¨ãããã¨ã§æå¹ã«ãªãã¾ãï¼android
ãã¼ã«ã§çæããã build.xml
ãã¡ã¤ã«ã使ç¨ãã¦ãããã¨ãåæã¨ãªãã¾ãï¼ãant debug
ãå®è¡ãã¦ã¢ããªã±ã¼ã·ã§ã³ãã³ã³ãã¤ã«ããéããã«ã ã¹ã¯ãªããã¯ãã¼ã¹ãã¢/ãã¼ãçæãã.apk ã«ç½²åãã¾ããã¦ã¼ã¶ã¼ã¯æä½ããå¿
è¦ã¯ããã¾ããã詳細ã¯ããã®ä»ã®çµ±åéçºç°å¢ã§ã®éçº: ãããã°ã¢ã¼ãã«ããããã«ã ããèªã¿ãã ããã
-
-
-ãããã°è¨¼ææ¸ã®æå¹æé
-
-ãããã° ã¢ã¼ãï¼Eclipse/ADT 㨠Ant ãã«ãã®ããã©ã«ãï¼ã§ã®ã¢ããªã±ã¼ã·ã§ã³ç½²åã«ä½¿ç¨ããèªå·±ç½²å証ææ¸ã«ã¯ãä½ææ¥ãã 365 æ¥ã®æå¹æéãè¨å®ããã¾ãã
-
-証ææ¸ã®æéãåããã¨ããã«ã ã¨ã©ã¼ãçºçãã¾ããAnt ãã«ãã§ã¯ãã¨ã©ã¼ã¯æ¬¡ã®ããã«ãªãã¾ã:
-
-debug:
-[echo] Packaging bin/samples-debug.apk, and signing it with a debug key...
-[exec] Debug Certificate expired on 8/4/08 3:43 PM
-
-Eclipse/ADT ã§ã¯ãAndroid ã³ã³ã½ã¼ã«ã«åæ§ã®ã¨ã©ã¼ã表示ããã¾ãã
-
-ãã®åé¡ã解決ããã«ã¯ãdebug.keystore
ãã¡ã¤ã«ãåé¤ãã¾ããAVD ã®ããã©ã«ãã®æ ¼ç´å ´æã¯ãOS X 㨠Linux ã®å ´å㯠~/.android/avd
ãWindows XP ã®å ´å㯠C:\Documents and Settings\\.android\
ãWindows Vista ã®å ´å㯠C:\Users\\.android\
ã§ãã
-
-
-次ã«ãã«ããè¡ãã¨ããã«ã ãã¼ã«ã¯æ°ãããã¼ã¹ãã¢ã¨ãããã° ãã¼ãå度çæãã¾ãã
-
-éçºã³ã³ãã¥ã¼ã¿ãã°ã¬ã´ãªãªæ¦ä»¥å¤ã®ãã±ã¼ã«ã使ç¨ãã¦ããå ´åããã«ã ãã¼ã«ã誤ã£ã¦æéåãã®ãããã°è¨¼ææ¸ãçæãããã¨ãããã¾ãããã®ãããã¢ããªã±ã¼ã·ã§ã³ãã³ã³ãã¤ã«ãããã¨ããã¨ã¨ã©ã¼ãçºçãã¾ãã解決çã«ã¤ãã¦ã¯ããã©ãã«ã·ã¥ã¼ãã£ã³ã° ãããã¯ã® ãã«ã ãã¼ã«ãæéåãã®ãããã°è¨¼ææ¸ãçæãããããã¢ããªã±ã¼ã·ã§ã³ãã³ã³ãã¤ã«ã§ããªã ãã覧ãã ããã
-
-
-å
¬éãªãªã¼ã¹ã¸ã®ç½²å
-
-ã¢ããªã±ã¼ã·ã§ã³ãä»ã®ã¦ã¼ã¶ã¼ã«å
¬éããæºåãã§ãããã次ã®ãã¨ãè¡ãå¿
è¦ãããã¾ã:
-
- - ã¢ããªã±ã¼ã·ã§ã³ããªãªã¼ã¹ ã¢ã¼ãã§ã³ã³ãã¤ã«ãã
- - é©åãªç§å¯éµãåå¾ãã
- - ã¢ããªã±ã¼ã·ã§ã³ã«ç§å¯éµã§ç½²åãã
-
-
-以ä¸ã®ã»ã¯ã·ã§ã³ã§ã¯ããããã®æé ãå®è¡ããæ¹æ³ã«ã¤ãã¦èª¬æãã¾ãã
-
-ADT ãã©ã°ã¤ã³æè¼ã® Eclipse ã使ç¨ãã¦ããå ´åããããã®æé ãå®è¡ãã代ããã« Export Wizard ã使ç¨ã㦠.apk ãã³ã³ãã¤ã«ãã¦ç§å¯éµã§ç½²åã§ãã¾ããExport Wizard ã§ã¯ãå¦çéç¨ã§æ°ãããã¼ã¹ãã¢ã¨ç§å¯éµã®çæãå¯è½ã§ããEclipse ADT ã«ããã³ã³ãã¤ã«ã¨ç½²åãåèã«ã³ã³ãã¤ã«ãè¡ã£ã¦ãã ããã
-
-
-ãªãªã¼ã¹åãã®ã³ã³ãã¤ã«
-
-ã¢ããªã±ã¼ã·ã§ã³ã®ãªãªã¼ã¹ãæºåããã«ã¯ããªãªã¼ã¹ ã¢ã¼ãã§ã³ã³ãã¤ã«ããå¿
è¦ãããã¾ãããªãªã¼ã¹ ã¢ã¼ãã§ã¯ãAndroid ãã«ã ãã¼ã«ã¯ã¢ããªã±ã¼ã·ã§ã³ãé常ã©ããã«ã³ã³ãã¤ã«ãã¾ããããããã° ãã¼ã§ç½²åãã¾ããã
-
-注: ç½²åããã¦ããªãã¢ããªã±ã¼ã·ã§ã³ãã¾ãã¯ãããã° ãã¼ã§ç½²åãããã¢ããªã±ã¼ã·ã§ã³ã¯ãªãªã¼ã¹ã§ãã¾ããã
-
-Eclipse ã¦ã¼ã¶ã¼
-
-ç½²åããã¦ããªã .apk ãã¡ã¤ã«ã Eclipse ããã¨ã¯ã¹ãã¼ãããã«ã¯ãããã±ã¼ã¸ ã¨ã¯ã¹ããã¼ã©ã¼ï¼Package Explorerï¼ã§ããã¸ã§ã¯ããå³ã¯ãªãã¯ãã¦ã[[]Android ãã¼ã«ï¼Android Toolsï¼] > [[]ç½²åããã¦ããªãã¢ããªã±ã¼ã·ã§ã³ ããã±ã¼ã¸ã®ã¨ã¯ã¹ãã¼ãï¼Export Unsigned Application Packageï¼] ãé¸æãã¾ãã次ã«ãç½²åããã¦ããªã .apk ãã¡ã¤ã«ã®å ´æãæå®ãã¾ãï¼ã¾ãã¯ãAndroidManifest.xml
ãã¡ã¤ã«ã Eclipse ã§éãã[[]æ¦è¦ï¼Overviewï¼] ã¿ããéã㦠[[]ç½²åããã¦ããªã .apk ã®ã¨ã¯ã¹ãã¼ãï¼Export an unsigned .apkï¼] ãã¯ãªãã¯ãã¾ãï¼ã
-
-Export Wizard ã§ã¯ãã³ã³ãã¤ã«ã¨ç½²åã®æé ãä¸ç·ã«å¦çã§ãã¾ããEclipse ADT ã«ããã³ã³ãã¤ã«ã¨ç½²åãã覧ãã ããã
-
-Ant ã¦ã¼ã¶ã¼
-
-Ant ã使ç¨ãã¦ããå ´åã¯ãå¿
è¦ãªä½æ¥ã¯ Ant ã³ãã³ãã§ãã«ã ã¿ã¼ã²ããã¨ãã¦ãreleaseããæå®ããã ãã§ãããã¨ãã°ãAnt ã build.xml ãã¡ã¤ã«ããããã£ã¬ã¯ããªããå®è¡ãã¦ããå ´åãã³ãã³ãã¯æ¬¡ã®ããã«ãªãã¾ã:
-
-$ ant release
-
-ãã«ã ã¹ã¯ãªããã¯ãã¢ããªã±ã¼ã·ã§ã³ .apk ãç½²åããã«ã³ã³ãã¤ã«ãã¾ãã
-
-
-é©åãªç§å¯éµã®åå¾
-
-ã¢ããªã±ã¼ã·ã§ã³ã®ç½²åãæºåããã«ã¯ãã¾ãç½²åã«ä½¿ç¨ããé©åãªç§å¯éµããããã¨ã確èªãããã¨ãå¿
è¦ã§ããé©åãªç§å¯éµã¨ã¯ã次ã®æ¡ä»¶ãæºãããã®ã§ã:
-
-
-
-èªå·±ç½²åããããã¼ã使ç¨ã§ãã¾ããé©åãªãã¼ããªãå ´åãKeytool ã使ç¨ãã¦çæããå¿
è¦ãããã¾ããåºæ¬è¨å®ã§èª¬æããæé ã«å¾ã£ã¦ãKeytool ã使ç¨ã§ããããã«ãã¦ãã ããã
-
-Keytool ã§èªå·±ç½²åãã¼ãçæããã«ã¯ãkeytool
ã³ãã³ãã使ç¨ãã¦ä»¥ä¸ã«ç¤ºããªãã·ã§ã³ï¼ããã³ãå¿
è¦ã«å¿ãã¦ãã®ä»ã®ãªãã·ã§ã³ï¼ã渡ãã¾ãã
-
-注: Keytool ãå®è¡ããåã«ãç§å¯éµã®ã»ãã¥ãªãã£è¨å®ãèªãã§ããã¼ã®ã»ãã¥ãªãã£ã確ä¿ããæ¹æ³ã¨ãèªåã¨ã¦ã¼ã¶ã¼ã«ã¨ã£ã¦ã»ãã¥ãªãã£ç¢ºä¿ãéè¦ãªçç±ãç解ãã¦ãã ãããç¹ã«ãèªåã®ãã¼ãçæããå ´åããã¼ã¹ãã¢ã¨ãã¼ã®ä¸¡æ¹ã«å¼·åãªãã¹ã¯ã¼ããé¸æããå¿
è¦ãããã¾ãã
-
-
-
-Keytool ã®ãªãã·ã§ã³ |
-説æ |
-
-
--genkey | ãã¼ ãã¢ãçæãã¾ãï¼å
¬éãã¼ã¨ç§å¯éµï¼ã |
-
-
--v | 詳ããã¡ãã»ã¼ã¸ãåºåããã |
-
-
--keystore <keystore-name>.keystore | ç§å¯éµãå«ããã¼ã¹ãã¢ã®ååã |
-
-
--storepass <password> | ãã¼ã¹ãã¢ã®ãã¹ã¯ã¼ãã ã»ãã¥ãªãã£ä¸ã®æ³¨æã¨ãã¦ãå®å
¨ãªã³ã³ãã¥ã¼ã¿ã§ä½æ¥ãã¦ããå ´åãé¤ãããã®ãªãã·ã§ã³ãã³ãã³ã ã©ã¤ã³ã«æå®ããªãã§ãã ãããæå®ããªãã£ãå ´åãKeytool ãããã¹ã¯ã¼ãã®å
¥åãæ±ãããã¾ãããã®ããããã¹ã¯ã¼ãã¯ã·ã§ã«ã®å±¥æ´ã«è¨é²ããã¾ããã |
-
-
--alias <alias_name> | ãã¼ã®ã¨ã¤ãªã¢ã¹ã |
-
-
--keyalg <alg> | ãã¼ã®çææã«ä½¿ç¨ããæå·åã¢ã«ã´ãªãºã ãDSA 㨠RSA ã® 2 ã¤ããµãã¼ããã¦ãã¾ãã |
-
-
--dname <name> | ãã¼ã®ä½æè
ãèå¥ãããèå¥åãå¤ã¯ãèªå·±ç½²å証ææ¸ã®çºè¡è
ããã³ãµãã¸ã§ã¯ã ãã£ã¼ã«ãã¨ãã¦ä½¿ç¨ããã¾ãã ãã®ãªãã·ã§ã³ã¯ã³ãã³ã ã©ã¤ã³ã§æå®ããå¿
è¦ã¯ããã¾ãããæå®ããªãã£ãå ´åãJarsigner ããããããã®èå¥åãã£ã¼ã«ãï¼CNãOU ãªã©ï¼ã®å
¥åãæ±ãããã¾ãã |
-
-
--validity <valdays> | ãã¼ã®æå¹æéï¼æ¥æ°ï¼ã 注: 10000 以ä¸ã®å¤ãæ¨å¥¨ãã¾ãã |
-
-
--keypass <password> | ãã¼ã®ãã¹ã¯ã¼ãã
-ã»ãã¥ãªãã£ä¸ã®æ³¨æã¨ãã¦ãå®å
¨ãªã³ã³ãã¥ã¼ã¿ã§ä½æ¥ãã¦ããå ´åãé¤ãããã®ãªãã·ã§ã³ãã³ãã³ã ã©ã¤ã³ã«æå®ããªãã§ãã ãããæå®ããªãã£ãå ´åãKeytool ãããã¹ã¯ã¼ãã®å
¥åãæ±ãããã¾ãããã®ããããã¹ã¯ã¼ãã¯ã·ã§ã«ã®å±¥æ´ã«è¨é²ããã¾ããã |
-
-
-
-
-ç§å¯éµãçæãã Keytool ã³ãã³ãã®ä¾ã示ãã¾ãã
-
-$ keytool -genkey -v -keystore my-release-key.keystore
--alias alias_name -keyalg RSA -validity 10000
-
-ä¸è¨ã®ã³ãã³ãä¾ãå®è¡ããã¨ãKeytool ãããã¼ã¹ãã¢ã¨ãã¼ã®ãã¹ã¯ã¼ãã¨ããã¼ã®èå¥åãã£ã¼ã«ãã®æå®ãæ±ãããã¾ãããã¼ã¹ãã¢ã my-release-key.keystore
ã¨ãããã¡ã¤ã«ã¨ãã¦çæããã¾ãããã¼ã¹ãã¢ã¨ãã¼ã¯ãå
¥åãããã¹ã¯ã¼ãã§ä¿è·ããã¾ãããã¼ã¹ãã¢ã«ã¯ 1 ã¤ã®ãã¼ãå«ã¾ãã10000 æ¥éæå¹ã§ããã¨ã¤ãªã¢ã¹ã¯ãå¾ã§ä½¿ç¨ããååã§ãã¢ããªã±ã¼ã·ã§ã³ã«ç½²åããã¨ãã«ãã®ãã¼ã¹ãã¢ãåç
§ããååã§ãã
-
-Keytool ã®è©³ç´°ã¯ http://java.sun.com/j2se/1.5.0/docs/tooldocs/#security ã®ããã¥ã¡ã³ãï¼è±èªã®ã¿ï¼ãã覧ãã ããã
-
-
-ã¢ããªã±ã¼ã·ã§ã³ã®ç½²å
-
-ãªãªã¼ã¹ãã .apk ã«å®éã«ç½²åããæºåãã§ããããJarsigner ãã¼ã«ã使ç¨ãã¦ç½²åã§ãã¾ããåºæ¬è¨å®ã§èª¬æããããã«ãJarsigner ãã³ã³ãã¥ã¼ã¿ã§ä½¿ç¨ã§ãããã¨ã確èªãã¦ãã ãããã¾ããç§å¯éµãå«ããã¼ã¹ãã¢ããããã¨ã確èªãã¦ãã ããã
-
-ã¢ããªã±ã¼ã·ã§ã³ã«ç½²åããã«ã¯ãJarsigner ãå®è¡ãã¦ãã¢ããªã±ã¼ã·ã§ã³ã® .apk ã¨ã.apk ã®ç½²åã«ä½¿ç¨ããç§å¯éµãå«ããã¼ã¹ãã¢ã®ä¸¡æ¹ãåç
§ãã¾ãã以ä¸ã®è¡¨ã§ã¯ã使ç¨ã§ãããªãã·ã§ã³ã示ãã¾ãã
-
-
-
-Jarsigner ã®ãªãã·ã§ã³ |
-説æ |
-
-
--keystore <keystore-name>.keystore | ç§å¯éµãå«ããã¼ã¹ãã¢ã®ååã |
-
-
--verbose | 詳ããã¡ãã»ã¼ã¸ãåºåããã |
-
-
--storepass <password> | ãã¼ã¹ãã¢ã®ãã¹ã¯ã¼ãã ã»ãã¥ãªãã£ä¸ã®æ³¨æã¨ãã¦ãå®å
¨ãªã³ã³ãã¥ã¼ã¿ã§ä½æ¥ãã¦ããå ´åãé¤ãããã®ãªãã·ã§ã³ãã³ãã³ã ã©ã¤ã³ã«æå®ããªãã§ãã ãããæå®ããªãã£ãå ´åãJarsigner ãããã¹ã¯ã¼ãã®å
¥åãæ±ãããã¾ãããã®ããããã¹ã¯ã¼ãã¯ã·ã§ã«ã®å±¥æ´ã«è¨é²ããã¾ããã |
-
-
--keypass <password> | ç§å¯éµã®ãã¹ã¯ã¼ãã ã»ãã¥ãªãã£ä¸ã®æ³¨æã¨ãã¦ãå®å
¨ãªã³ã³ãã¥ã¼ã¿ã§ä½æ¥ãã¦ããå ´åãé¤ãããã®ãªãã·ã§ã³ãã³ãã³ã ã©ã¤ã³ã«æå®ããªãã§ãã ãããæå®ããªãã£ãå ´åãJarsigner ãããã¹ã¯ã¼ãã®å
¥åãæ±ãããã¾ãããã®ããããã¹ã¯ã¼ãã¯ã·ã§ã«ã®å±¥æ´ã«è¨é²ããã¾ããã |
-
-
-
-Jarsigner ã使ç¨ã㦠my_application.apk
ã¨ããã¢ããªã±ã¼ã·ã§ã³ ããã±ã¼ã¸ã«ç½²åããä¾ããä¸è¨ã§ä½æãããã¼ã¹ãã¢ã使ç¨ãã¦ç¤ºãã¾ãã
-
-
-$ jarsigner -verbose -keystore my-release-key.keystore
-my_application.apk alias_name
-
-ä¸è¨ã®ã³ãã³ããå®è¡ããã¨ãJarsigner ãããã¼ã¹ãã¢ã¨ãã¼ã®ãã¹ã¯ã¼ãã®å
¥åãæ±ãããã¾ãã.apk ããã®å ´ã§å¤æ´ããã.apk ã¯ç½²åããã¾ãã.apk ã«å¥ã®ãã¼ã§è¤æ°åç½²åã§ãã¾ãã
-
-.apk ãç½²åããããã¨ã確èªããã«ã¯ã次ã®ãããªã³ãã³ãã使ç¨ã§ãã¾ã:
-
-$ jarsigner -verify my_signed.apk
-
-.apk ãé©åã«ç½²åãããã¨ãJarsigner ãããjar verifiedãã¨åºåããã¾ãã詳細æ
å ±ãå¿
è¦ãªå ´åã¯ã次ã®ã³ãã³ãã使ç¨ã§ãã¾ãã
-
-$ jarsigner -verify -verbose my_application.apk
-
-ã¾ãã¯ã次ã®ã³ãã³ãã使ç¨ãã¾ãã
-
-$ jarsigner -verify -verbose -certs my_application.apk
-
-ä¸è¨ã® -certs
ãªãã·ã§ã³ãä»å ãããã³ãã³ãã§ã¯ããCN=ãè¡ãåºåããããã¼ã®ä½æè
ã示ããã¾ãã
-
-注: ãCN=Android Debugãã¨åºåãããå ´åã.apk ã Android SDK ã«ãã£ã¦çæããããããã° ãã¼ã§ç½²åããããã¨ã示ãã¦ãã¾ããã¢ããªã±ã¼ã·ã§ã³ããªãªã¼ã¹ããäºå®ã®å ´åã¯ããããã° ãã¼ã§ã¯ãªãç§å¯éµã§ç½²åããå¿
è¦ãããã¾ãã
-
-Jarsigner ã®è©³ç´°ã¯ http://java.sun.com/j2se/1.5.0/docs/tooldocs/#security ã®ããã¥ã¡ã³ãï¼è±èªã®ã¿ï¼ãã覧ãã ããã
-
-
-Eclipse ADT ã«ããã³ã³ãã¤ã«ã¨ç½²å
-
-ADT æè¼ Eclipse ã使ç¨ãã¦ããå ´åãExport Wizard ã使ç¨ãã¦ç½²åæ¸ã¿ .apk ãã¨ã¯ã¹ãã¼ãã§ãã¾ãï¼å¿
è¦ã«å¿ãã¦ãæ°ãããã¼ã¹ãã¢ãä½æãããã¨ãã§ãã¾ãï¼ãExport Wizard ã¯ãKeytool 㨠Jarsigner ã®ãã¹ã¦ã®å¦çããã³ãã³ã ã©ã¤ã³ã使ç¨ãããã°ã©ãã£ã«ã« ã¦ã¼ã¶ã¼ ã¤ã³ã¿ã¼ãã§ã¼ã¹ã§ç½²åãå®è¡ã§ãã¾ããExport Wizard 㯠Keytool 㨠Jarsigner ã®ä¸¡æ¹ã使ç¨ãããããä¸è¨ã®ç½²åã®åºæ¬è¨å®ã®æ¡ä»¶ãæºããã³ã³ãã¥ã¼ã¿ã§ä½¿ç¨ã§ãã¾ãã
-
-ç½²åããã .apk ãä½æããã«ã¯ãããã±ã¼ã¸ ã¨ã¯ã¹ããã¼ã©ã¼ï¼Package Explorerï¼ã§ããã¸ã§ã¯ããå³ã¯ãªãã¯ãã¦ã[[]Android ãã¼ã«ï¼Android Toolsï¼] > [[]ç½²åæ¸ã¿ã¢ããªã±ã¼ã·ã§ã³ ããã±ã¼ã¸ã®ã¨ã¯ã¹ãã¼ãï¼Export Signed Application Packageï¼] ãé¸æãã¾ãï¼ã¾ãã¯ãAndroidManifest.xml
ãã¡ã¤ã«ã Eclipse ã§éãã[[]æ¦è¦ï¼Overviewï¼] ã¿ããéã㦠[[]Export Wizard ã使ç¨ããï¼Use the Export Wizardï¼] ãã¯ãªãã¯ãã¾ãï¼ã表示ãããã¦ã£ã³ãã¦ã«ã¯ãã¢ããªã±ã¼ã·ã§ã³ã®ã¨ã¯ã¹ãã¼ãä¸ã«è¦ã¤ãã£ãã¨ã©ã¼ã表示ããã¾ããã¨ã©ã¼ãè¦ã¤ãããªãã£ãå ´å㯠Export Wizard ã§å¦çãç¶è¡ãã¾ãã.apk ã«ç½²åããç§å¯éµã®é¸æããæ°ãããã¼ã¹ãã¢ã¨ç§å¯éµã®ä½æãªã©ãã¢ããªã±ã¼ã·ã§ã³ç½²åã®ããã»ã¹ãæé ã追ã£ã¦å®è¡ã§ãã¾ãã
-
-Export Wizard ãå®äºããã¨ãé
å¸å¯è½ãªç½²åæ¸ã¿ .apk ãä½æããã¦ãã¾ãã
-
-
-ç§å¯éµã®ã»ãã¥ãªãã£è¨å®
-
-ç§å¯éµã®ã»ãã¥ãªãã£è¨å®ã¯ãä½æè
ã¨ã¦ã¼ã¶ã¼ã®ä¸¡è
ã«ã¨ã£ã¦éè¦ã§ããä»äººã«ãã¼ã使ç¨ããããã第ä¸è
ãè¦ã¤ãã¦ä½¿ç¨ã§ãããããªå®å
¨ã§ã¯ãªãå ´æã«ãã¼ã¹ãã¢ã¨ãã¼ãæ¾ç½®ãããããã¨ãä½æè
ã¨ã¦ã¼ã¶ã¼éã®ä¿¡é ¼ãæãªããã¾ãã
-
-ä»è
ã許å¯ãå¾ãã«ãã¼ãåå¾ããå ´åããã®äººç©ã¯ã¢ããªã±ã¼ã·ã§ã³ã«ç½²åãã¦é
å¸ããæ¬ç©ã®ã¢ããªã±ã¼ã·ã§ã³ãæ
æã«ç½®ãæãããç ´æãããããããã¨ãã§ãã¾ãããã®ãããªäººç©ã¯ã身å
ãè©ç§°ãã¦ã¢ããªã±ã¼ã·ã§ã³ã«ç½²åãã¦é
å¸ãããã®ä»ã®ã¢ããªã±ã¼ã·ã§ã³ã¾ãã¯ã·ã¹ãã èªä½ãæ»æããããã¦ã¼ã¶ã¼ ãã¼ã¿ãç ´æããããçã¿åºããããããã¨ãããã¾ãã
-
-ãã¼ã®æå¹æéãåããã¾ã§ãç§å¯éµã®ã»ãã¥ãªãã£ã常ã«é©åã«ç¶æã§ãããã¯ããããããã¼ã¨ãã¦ã®è©ä¾¡ãå·¦å³ãã¾ãããã¼ãå®å
¨ã«ä¿ã¤ããã®ãã³ããããã¤ãç´¹ä»ãã¾ãã
-
-
-- ãã¼ã¹ãã¢ã¨ãã¼ã«å¼·åãªãã¹ã¯ã¼ããé¸æãã¾ãã
-- Keytool ã§ãã¼ãçæããã¨ããã³ãã³ã ã©ã¤ã³ã§
-storepass
ããã³ -keypass
ãªãã·ã§ã³ãæå®ããªãããã«ãã¾ããæå®ããã¨ããã¹ã¯ã¼ããã·ã§ã«å±¥æ´ã«è¨é²ãããã³ã³ãã¥ã¼ã¿ã®ãã¹ã¦ã®ã¦ã¼ã¶ã¼ãã¢ã¯ã»ã¹ã§ããããã«ãªãã¾ãã
-- åæ§ã«ãJarsigner ã§ã¢ããªã±ã¼ã·ã§ã³ã«ç½²åããã¨ããã³ãã³ã ã©ã¤ã³ã§
-storepass
㨠-keypass
ãªãã·ã§ã³ãæå®ããªãããã«ãã¾ãã
-- ç§å¯éµã誰ã«ãä¸ããã貸ããããããä¸æ£ãªã¦ã¼ã¶ã¼ã«ãã¼ã¹ãã¢ã¨ãã¼ã®ãã¹ã¯ã¼ããç¥ãããªãããã«ãã¾ãã
-
-
-ä¸è¬çã«ã¯ããã¼ã®çæã使ç¨ãä¿ç®¡ã«é¢ãã¦å¸¸èçãªæ³¨æãæã£ã¦ããã°ãã»ãã¥ãªãã£ã確ä¿ãããã¨ãã§ãã¾ãã
\ No newline at end of file
diff --git a/docs/html/intl/ja/guide/publishing/preparing.jd b/docs/html/intl/ja/guide/publishing/preparing.jd
deleted file mode 100644
index c7a29509aeea..000000000000
--- a/docs/html/intl/ja/guide/publishing/preparing.jd
+++ /dev/null
@@ -1,158 +0,0 @@
-page.title=å
¬éã®æºå
-@jd:body
-
-
-
-ã¢ããªã±ã¼ã·ã§ã³ã®å
¬éã¨ã¯ãã¢ããªã±ã¼ã·ã§ã³ããã¹ããã¦é©åã«ããã±ã¼ã¸ããAndroid æè¼ã®æºå¸¯ç«¯æ«ã®ã¦ã¼ã¶ã¼ãå©ç¨ã§ããç¶æ
ã«ãããã¨ã§ãã
-
-ã¢ããªã±ã¼ã·ã§ã³ãå
¬éã㦠Android æè¼ããã¤ã¹ã«ã¤ã³ã¹ãã¼ã«ããã«ã¯ãããã¤ãã®ä½æ¥ãè¡ã£ã¦ã¢ããªã±ã¼ã·ã§ã³ã®æºåãæ´ããå¿
è¦ãããã¾ãããã®ããã¥ã¡ã³ãã§ã¯ãã¢ããªã±ã¼ã·ã§ã³ã®ãªãªã¼ã¹ãæåãããããã®æºåã«ããããéè¦ãªãã§ãã¯ãã¤ã³ãã説æãã¦ãã¾ãã
-
-
-ã¢ããªã±ã¼ã·ã§ã³ã Android ãã¼ã±ããã«å
¬éããå ´åã¯ãã¢ããªã±ã¼ã·ã§ã³ã®å
·ä½çãªæºåè¦ä»¶ã«ã¤ã㦠Android ãã¼ã±ããã§ã®å
¬é ãã覧ãã ããã
-
-ã¢ããªã±ã¼ã·ã§ã³ãå
¬éããæ¹æ³ã®ä¸è¬çãªæ
å ±ã«ã¤ãã¦ã¯ãPublishing Your Applications ã®ããã¥ã¡ã³ããã覧ãã ããã
-
-
-
-
ã¢ããªã±ã¼ã·ã§ã³ã®ãªãªã¼ã¹ãæºåããåã®ä½æ¥:
-
-
-- ã¢ããªã±ã¼ã·ã§ã³ãå®éã®ããã¤ã¹ã§å¾¹åºçã«ãã¹ããã
-- ã¢ããªã±ã¼ã·ã§ã³ã¸ã®ã¨ã³ã ã¦ã¼ã¶ã¼ ã©ã¤ã»ã³ã¹å¥ç´ã®è¿½å ãæ¤è¨ãã
-- ã¢ããªã±ã¼ã·ã§ã³ã®ãããã§ã¹ãã«ã¢ã¤ã³ã³ã¨ã©ãã«ãæå®ãã
-- ãã®ã³ã°ã¨ãããã°ãç¡å¹ã«ãã¦ããã¼ã¿ã¨ãã¡ã¤ã«ãã¯ãªã¼ã³ã¢ãããã
-
-
-
ã¢ããªã±ã¼ã·ã§ã³ã®æçµã³ã³ãã¤ã«ãå®è¡ããåã®ä½æ¥:
-
-
-- ã¢ããªã±ã¼ã·ã§ã³ã§ãã¼ã¸ã§ã³ç®¡çãè¡ã
-- é©åãªæå·åãã¼ãåå¾ãã
-- ã¢ããªã±ã¼ã·ã§ã³ã MapView è¦ç´ ã使ç¨ãã¦ããå ´åã¯ãMaps API ãã¼ã«ç»é²ãã
-
-
-
ã¢ããªã±ã¼ã·ã§ã³ã®ã³ã³ãã¤ã«
-
ã¢ããªã±ã¼ã·ã§ã³ãã³ã³ãã¤ã«ããå¾ã®ä½æ¥:
-
-- ã¢ããªã±ã¼ã·ã§ã³ã«ç½²åãã
-- ã³ã³ãã¤ã«ããã¢ããªã±ã¼ã·ã§ã³ããã¹ããã
-
-
-
-ã¢ããªã±ã¼ã·ã§ã³ã®ãªãªã¼ã¹ãæºåããåã®ä½æ¥
-
-1. ã¢ããªã±ã¼ã·ã§ã³ãå®éã®ããã¤ã¹ã§å¾¹åºçã«ãã¹ããã
-
-ã¢ããªã±ã¼ã·ã§ã³ãã§ããéãåºç¯ã«å¾¹åºçã«ãã¹ããããã¨ãéè¦ã§ãããã®ä½æ¥ãæ¯æ´ãããããAndroid ã§ã¯å¤æ°ã®ãã¹ãç¨ã¯ã©ã¹ã¨ãã¼ã«ãç¨æãã¦ãã¾ãã{@link android.app.Instrumentation Instrumentation} ã使ç¨ã㦠JUnit ããã³ãã®ä»ã®ãã¹ã ã±ã¼ã¹ãå®è¡ã§ãã¾ããã¾ããUI/Application Exerciser Monkey ãªã©ã®ãã¹ãã£ã³ã° ãã¼ã«ã使ç¨ã§ãã¾ãã
-
-
-- ã¦ã¼ã¶ã¼ãã¢ããªã±ã¼ã·ã§ã³ãæ£å¸¸ã«å®è¡ã§ããããã«ãããããã¢ããªã±ã¼ã·ã§ã³ãå®è¡ãããã¨äºæ³ãããã¿ã¤ãã®æºå¸¯ç«¯æ«ã®å®æ©ãå
¥æãã¦ãã ãããå®éã®ããã¤ã¹ã§ãå®éã®ãããã¯ã¼ã¯æ¡ä»¶ã®ä¸ã§ã¢ããªã±ã¼ã·ã§ã³ããã¹ããã¾ããã¢ããªã±ã¼ã·ã§ã³ãå®éã®ããã¤ã¹ã§ãã¹ããããã¨ã¯é常ã«éè¦ã§ããããã«ãã£ã¦ãä½æããã¦ã¼ã¶ã¼ ã¤ã³ã¿ã¼ãã§ã¼ã¹è¦ç´ ã®ãµã¤ãºãæ£ããï¼ç¹ã«ã¿ããã¹ã¯ãªã¼ã³ UI ã®å ´åï¼ãã¢ããªã±ã¼ã·ã§ã³ã®ããã©ã¼ãã³ã¹ã¨é»æ± å¹çãé©æ£ã§ãããã¨ã確èªã§ããããã§ãã
-
-- ã¢ããªã±ã¼ã·ã§ã³ã®å¯¾è±¡ã¨ããã¿ã¤ãã®æºå¸¯ç«¯æ«ãæã«å
¥ããªãå ´åã¯ã
-dpi
ã-device
ã-scale
ã-netspeed
ã-netdelay
ã-cpu-delay
ãªã©ã®ã¨ãã¥ã¬ã¼ã¿ ãªãã·ã§ã³ã使ç¨ãã¦ãã¨ãã¥ã¬ã¼ã¿ã®ç»é¢ããããã¯ã¼ã¯ ããã©ã¼ãã³ã¹ããã®ä»ã®å±æ§ãã¢ãã«åãã¦å¯è½ãªéã対象ããã¤ã¹ã«é©å¿ããããã¨ãã§ãã¾ãããã®ããã«ãã¦ãã¢ããªã±ã¼ã·ã§ã³ã® UI ã¨ããã©ã¼ãã³ã¹ããã¹ãã§ãã¾ãããã ããå
¬éããåã«ã¢ããªã±ã¼ã·ã§ã³ãå®éã®å¯¾è±¡ããã¤ã¹ã§ãã¹ããããã¨ãå¼·ãæ¨å¥¨ãã¾ãã
-
-- ã¢ããªã±ã¼ã·ã§ã³ã T-Mobile G1 ããã¤ã¹ã対象ã¨ãã¦ããå ´åãUI ãç»é¢ã®åãå¤æ´ã«å¯¾å¿ãã¦ããã確èªãã¦ãã ããã
-
-
-2. ã¢ããªã±ã¼ã·ã§ã³ã¸ã®ã¨ã³ãã¦ã¼ã¶ã¼ ã©ã¤ã»ã³ã¹å¥ç´ã®è¿½å ãæ¤è¨ãã
-
-å人ãçµç¹ãç¥ç財ç£ãä¿è·ãããããã¢ããªã±ã¼ã·ã§ã³ã®ã¨ã³ãã¦ã¼ã¶ã¼ ã©ã¤ã»ã³ã¹å¥ç´ï¼EULAï¼ãä»å ãããã¨ãæ¨å¥¨ãã¾ãã
-
-
3. ã¢ããªã±ã¼ã·ã§ã³ã®ãããã§ã¹ãã«ã¢ã¤ã³ã³ã¨ã©ãã«ãæå®ãã
-
-ã¢ããªã±ã¼ã·ã§ã³ã®ãããã§ã¹ãã«æå®ããã¢ã¤ã³ã³ã¨ã©ãã«ã¯ãã¢ããªã±ã¼ã·ã§ã³ã®ã¢ã¤ã³ã³ã¨ååã¨ãã¦ã¦ã¼ã¶ã¼ã«è¡¨ç¤ºããããããéè¦ãªè¦ç´ ã§ããã¢ã¤ã³ã³ã¨ã©ãã«ã¯ãããã¤ã¹ã® [[]ãã¼ã ] ç»é¢ãã[[]ã¢ããªã±ã¼ã·ã§ã³ã®ç®¡ç]ã[[]ãã¤ãã¦ã³ãã¼ã] ãªã©ã«è¡¨ç¤ºããã¾ããã¾ããå
¬éãµã¼ãã¹ã«ãã£ã¦ã¢ã¤ã³ã³ã¨ã©ãã«ãã¦ã¼ã¶ã¼ã«è¡¨ç¤ºãããå¯è½æ§ãããã¾ãã
-
-ã¢ã¤ã³ã³ã¨ã©ãã«ãæå®ããã«ã¯ãandroid:icon
㨠android:label
å±æ§ããããã§ã¹ãã® <application>
è¦ç´ ã«å®ç¾©ãã¾ãã
-
-ã¢ã¤ã³ã³ã®ãã¶ã¤ã³ã«ã¤ãã¦ã¯ãçµã¿è¾¼ã¿ã® Android ã¢ããªã±ã¼ã·ã§ã³ã®ã¹ã¿ã¤ã«ã¨ã§ããã ãçµ±ä¸æãæããã¦ãã ããã
-
-4. ãã®ã³ã°ã¨ãããã°ãç¡å¹ã«ãã¦ããã¼ã¿ã¨ãã¡ã¤ã«ãã¯ãªã¼ã³ã¢ãããã
-
-ãªãªã¼ã¹æã«ã¯ãããã°æ©è½ãç¡å¹ã«ãããããã°ããã³ãã®ä»ã®ä¸è¦ãªãã¼ã¿/ãã¡ã¤ã«ãã¢ããªã±ã¼ã·ã§ã³ ããã¸ã§ã¯ãããåé¤ãã¦ãã ããã
-
-android:debuggable="true"
å±æ§ããããã§ã¹ãã® <application>
è¦ç´ ããåé¤ãã¾ãã
-- ãã° ãã¡ã¤ã«ãããã¯ã¢ãã ãã¡ã¤ã«ãããã³ãã®ä»ã®ä¸è¦ãªãã¡ã¤ã«ãã¢ããªã±ã¼ã·ã§ã³ ããã¸ã§ã¯ãããåé¤ãã¾ãã
-- å人çã¾ãã¯èªåå°ç¨ã®ãã¼ã¿ããªãã確èªããå¿
è¦ã«å¿ãã¦åé¤ãã¾ãã
-- ã½ã¼ã¹ ã³ã¼ãå
ã« {@link android.util.Log} ã¡ã½ããã¸ã®å¼ã³åºããããå ´åã¯ãç¡å¹ã«ãã¾ãã
-
-
-ã¢ããªã±ã¼ã·ã§ã³ã®æçµã³ã³ãã¤ã«ãå®è¡ããåã®ä½æ¥
-
-5. ã¢ããªã±ã¼ã·ã§ã³ã§ãã¼ã¸ã§ã³ç®¡çãè¡ã
-
-ã¢ããªã±ã¼ã·ã§ã³ãã³ã³ãã¤ã«ããåã«ãã¢ããªã±ã¼ã·ã§ã³ã«ãã¼ã¸ã§ã³çªå·ãå®ç¾©ãã¦ããå¿
è¦ãããã¾ããå®ç¾©ããã«ã¯ãã¢ããªã±ã¼ã·ã§ã³ã®ãããã§ã¹ã ãã¡ã¤ã«ã® <manifest>
è¦ç´ ã® android:versionCode
㨠android:versionName
å±æ§ã®ä¸¡æ¹ã«é©åãªå¤ãæå®ãã¾ãããã¼ã¸ã§ã³çªå·ã®è¨å®ã¯ãå
¨ä½çãªã¢ããªã±ã¼ã·ã§ã³ã¢ããã°ã¬ã¼ãã®è¨ç»ãèæ
®ãã¦ãæ
éã«æ¤è¨ãã¦ãã ããã
-
-ããã¾ã§ã«ãªãªã¼ã¹ãããã¼ã¸ã§ã³ãããå ´åãææ°ã®ã¢ããªã±ã¼ã·ã§ã³ã®ãã¼ã¸ã§ã³çªå·ãæ§ãã¼ã¸ã§ã³ããå¢å ãããå¿
è¦ãããã¾ããã¢ããªã±ã¼ã·ã§ã³ã®ãããã§ã¹ã ãã¡ã¤ã«ã® <manifest>
è¦ç´ ã® android:versionCode
㨠android:versionName
å±æ§ã®ä¸¡æ¹ãé©åãªå¤ã使ç¨ãã¦å¢å ããå¿
è¦ãããã¾ãã
-
-ã¢ããªã±ã¼ã·ã§ã³ã®ãã¼ã¸ã§ã³æ
å ±ãå®ç¾©ããæ¹æ³ã¯ãVersioning Your Applicationsãã覧ãã ããã
-
-6. é©åãªæå·åãã¼ãåå¾ãã
-
-ããã¾ã§æºåä½æ¥ããã¹ã¦èªãã§å®è¡ãã¦ããã°ãã¢ããªã±ã¼ã·ã§ã³ã¯ã³ã³ãã¤ã«ãããç½²åã®æºåãã§ãã¦ãã¾ãã.apk ã®å
é¨ã§ã¯ãã¢ããªã±ã¼ã·ã§ã³ã¯é©åã«ãã¼ã¸ã§ã³ç®¡çããã¦ãããä¸è¨ã®ããã«ä½åãªãã¡ã¤ã«ãéå
¬éãã¼ã¿ã¯åé¤ããã¦ãã¾ãã
-
-ã¢ããªã±ã¼ã·ã§ã³ã«ç½²åããåã«ãé©åãªéå
¬éãã¼ããããã¨ã確èªããå¿
è¦ãããã¾ããéå
¬éãã¼ãåå¾ï¼ã¾ãã¯çæï¼ããæ¹æ³ã«ã¤ãã¦ã¯ãé©åãªéå
¬éãã¼ã®åå¾ãã覧ãã ããã
-
-é©åãªéå
¬éãã¼ãåå¾ï¼ã¾ãã¯çæï¼ãããããã¼ã使ç¨ãã¦æ¬¡ã®æé ãå®è¡ãã¾ã:
-
-
-- ã¢ããªã±ã¼ã·ã§ã³ã MapView è¦ç´ ã使ç¨ãã¦ããå ´åã¯ãMaps API ãã¼ï¼ä»¥ä¸ãã覧ãã ããï¼ã«ç»é²ãã¾ãã
-- 以éã®æºåããã»ã¹ã§ããªãªã¼ã¹ããã¢ããªã±ã¼ã·ã§ã³ã«ç½²åãã¾ãã
-
-
-7. ã¢ããªã±ã¼ã·ã§ã³ã MapView è¦ç´ ã使ç¨ãã¦ããå ´åã¯ãMaps API ãã¼ã«ç»é²ãã
-
-
-
-ã¢ããªã±ã¼ã·ã§ã³ã Mapview è¦ç´ ã使ç¨ããå ´åãã¢ããªã±ã¼ã·ã§ã³ã Google Maps ãµã¼ãã¹ã§ç»é²ããMaps API ãã¼ãåå¾ããå¿
è¦ãããã¾ãããã®å¾ãMapView 㧠Google Maps ãããã¼ã¿ãåå¾ã§ããããã«ãªãã¾ãããã®å¦çãè¡ããããMaps ãµã¼ãã¹ã«ç½²å証ææ¸ã® MD5 ãã£ã³ã¬ã¼ããªã³ããæåºãã¾ãã
-
-éçºä¸ã¯ãSDK ãã¼ã«ãçæãããããã° ãã¼ãç»é²ãã¦ä¸æç㪠Maps API ãã¼ãåå¾ã§ãã¾ãããã ããã¢ããªã±ã¼ã·ã§ã³ãå
¬éããåã«ã¯ãéå
¬éãã¼ã«åºã¥ãæ°ãã Maps API ãã¼ã§ç»é²ããå¿
è¦ãããã¾ãã
-
-ã¢ããªã±ã¼ã·ã§ã³ã MapView è¦ç´ ã使ç¨ããå ´åã次ã®ç¹ãç解ãããã¨ãéè¦ã§ã:
-
-
-- ã¢ããªã±ã¼ã·ã§ã³ããªãªã¼ã¹ç¨ã«ã³ã³ãã¤ã«ããåã«ãMaps API ãã¼ãåå¾ããå¿
è¦ãããã¾ãããã®ãã¼ããã¢ããªã±ã¼ã·ã§ã³ã®ã¬ã¤ã¢ã¦ã ãã¡ã¤ã«ã«ããå MapView è¦ç´ ã®ã
android:apiKey
ã¨ããç¹æ®ãªå±æ§ã«è¿½å ããå¿
è¦ãããããã§ããMapView ãªãã¸ã§ã¯ããã³ã¼ãããç´æ¥ã¤ã³ã¹ã¿ã³ã¹åãã¦ããå ´åã¯ãMaps API ãã¼ãã³ã³ã¹ãã©ã¯ã¿ã®ãã©ã¡ã¼ã¿ã¨ãã¦æ¸¡ãå¿
è¦ãããã¾ãã
-
-- ã¢ããªã±ã¼ã·ã§ã³ã® MapView è¦ç´ ãåç
§ãã Maps API ãã¼ã¯ Google Maps å
ã§ç»é²ãããã¢ããªã±ã¼ã·ã§ã³ã®ç½²åã«ä½¿ç¨ããã証ææ¸ã«ç»é²ãããå¿
è¦ãããã¾ããããã¯ã¢ããªã±ã¼ã·ã§ã³ãå
¬éããéã«ç¹ã«éè¦ã§ããMapView è¦ç´ ã¯ãã¢ããªã±ã¼ã·ã§ã³ã®ç½²åã«ä½¿ç¨ããããªãªã¼ã¹è¨¼ææ¸ã«ç»é²ããããã¼ãåç
§ããå¿
è¦ãããã¾ãã
-- SDK ãã¼ã«ãçæãããããã°è¨¼ææ¸ãç»é²ãã¦ä¸æç㪠Maps API ãã¼ãåå¾ãã¦ããå ´åããªãªã¼ã¹è¨¼ææ¸ãç»é²ãã¦æ°ãã Maps API ãã¼ãåå¾ããå¿
è¦ãããã¾ããã¾ããMapView è¦ç´ ãå¤æ´ãã¦ããããã°è¨¼ææ¸ã¨é¢é£ä»ãããããã¼ã§ã¯ãªããæ°ãããã¼ãåç
§ããããã¨ãå¿ããªãã§ãã ããããã®ããã«ããªãã¨ãMapView è¦ç´ ã«ã¯ Maps ãã¼ã¿ããã¦ã³ãã¼ããã許å¯ãä¸ãããã¾ããã
-- ã¢ããªã±ã¼ã·ã§ã³ã®ç½²åã«ä½¿ç¨ããéå
¬éãã¼ãå¤æ´ããã«ã¯ãGoogle Maps ãµã¼ãã¹ããæ°ãã Maps API ãã¼ãåå¾ããå¿
è¦ãããã¾ããæ°ãã Maps API ãã¼ãåå¾ãã¦ãã¹ã¦ã® MapView è¦ç´ ã«é©ç¨ãã¦ãã ããã以åã®ãã¼ãåç
§ãã MapView è¦ç´ ã«ã¯ãMaps ãã¼ã¿ããã¦ã³ãã¼ããã許å¯ãä¸ãããã¾ããã
-
-
-ç½²åã¨éå
¬éãã¼ã«ã¤ãã¦ã¯ãã¢ããªã±ã¼ã·ã§ã³ã¸ã®ç½²åãã覧ãã ããã
-
-
-ã¢ããªã±ã¼ã·ã§ã³ã®ã³ã³ãã¤ã«
-
-åè¿°ã®ã»ã¯ã·ã§ã³ã§èª¬æããã¢ããªã±ã¼ã·ã§ã³ã®æºåãã§ããããã¢ããªã±ã¼ã·ã§ã³ããªãªã¼ã¹ç¨ã«ã³ã³ãã¤ã«ã§ãã¾ãã
-
-ã¢ããªã±ã¼ã·ã§ã³ãã³ã³ãã¤ã«ããå¾ã®ä½æ¥
-
-8. ã¢ããªã±ã¼ã·ã§ã³ã«ç½²åãã
-
-éå
¬éãã¼ã使ç¨ãã¦ã¢ããªã±ã¼ã·ã§ã³ã«ç½²åãã¾ããã¢ããªã±ã¼ã·ã§ã³ã«æ£ããç½²åãããã¨ã¯ãé常ã«éè¦ã§ãã詳細ã¯ãã¢ããªã±ã¼ã·ã§ã³ã¸ã®ç½²åãã覧ãã ããã
-
-9. ã³ã³ãã¤ã«ãã¦ç½²åããã¢ããªã±ã¼ã·ã§ã³ã®ãã¹ã
-
-ã³ã³ãã¤ã«ããã¢ããªã±ã¼ã·ã§ã³ããªãªã¼ã¹ããåã«ã対象ã¨ããæºå¸¯ç«¯æ«ï¼ããã³å¯è½ãªãã°å¯¾è±¡ãããã¯ã¼ã¯ï¼ä¸ã§å¾¹åºçã«ãã¹ãããå¿
è¦ãããã¾ããç¹ã«ãUI é¨åã® MapView è¦ç´ ãããã ãã¼ã¿ãæ£å¸¸ã«åä¿¡ãã¦ãããã¨ã確èªãã¦ãã ãããæ£å¸¸ã«åä¿¡ãã¦ããªãå ´åãMaps API ãã¼ã«ç»é²ããã«æ»ã£ã¦åé¡ã解決ãã¦ãã ãããã¢ããªã±ã¼ã·ã§ã³ããµã¼ãã¼å´ãµã¼ãã¹ãæ£ããå©ç¨ã§ãããã¨ãæå®ãã¼ã¿ã¾ãã¯ä½¿ç¨ãã¼ã¿ãæ£ããå¦çã§ãããã¨ãããã¦èªè¨¼è¦ä»¶ãæ£å¸¸ã«å¦çã§ãããã¨ã確èªãã¦ãã ããã
-
-ãããã®ãã¹ããå®äºããããã¢ããªã±ã¼ã·ã§ã³ãæºå¸¯ç«¯æ«ã¦ã¼ã¶ã¼ã«å
¬éããæºåãæ´ã£ãã¨è¨ããã§ãããã
-
-
diff --git a/docs/html/intl/ja/guide/publishing/versioning.jd b/docs/html/intl/ja/guide/publishing/versioning.jd
deleted file mode 100644
index 192861053499..000000000000
--- a/docs/html/intl/ja/guide/publishing/versioning.jd
+++ /dev/null
@@ -1,100 +0,0 @@
-page.title=ã¢ããªã±ã¼ã·ã§ã³ã®ãã¼ã¸ã§ãã³ã°
-@jd:body
-
-
-
-ãã¼ã¸ã§ã³ç®¡çã®ã³ã³ãã¼ãã³ãã¯ãã¢ããªã±ã¼ã·ã§ã³ã®ã¢ããã°ã¬ã¼ãåã³ã¡ã³ããã³ã¹ã®è¨ç»ãç«ã¦ãã®ã«éè¦ã§ãã
-
-
-- ã¦ã¼ã¶ã¼ã¯ãããã¤ã¹ã«ã¤ã³ã¹ãã¼ã«ãããã¢ããªã±ã¼ã·ã§ã³ ãã¼ã¸ã§ã³ã¨ãã¤ã³ã¹ãã¼ã«ãå¯è½ãªã¢ããã°ã¬ã¼ã ãã¼ã¸ã§ã³ã«ã¤ãã¦ãç¹å®ã®æ
å ±ãå¿
è¦ã§ãã
-- ã¹ã¤ã¼ãã¨ãã¦å
¬éããããã®ä»ã®ã¢ããªã±ã¼ã·ã§ã³ãªã©ã§ã¯ãã¢ããªã±ã¼ã·ã§ã³ã®ãã¼ã¸ã§ã³ãã·ã¹ãã ã«åãåããã¦ãäºææ§ã¨ä¾åé¢ä¿ã確èªããå¿
è¦ãããã¾ãã
-- ã¢ããªã±ã¼ã·ã§ã³ãå
¬éãããµã¼ãã¹ã§ã¯ãã¢ããªã±ã¼ã·ã§ã³ã«ãã¼ã¸ã§ã³ãåãåããã¦ããã¼ã¸ã§ã³ãã¦ã¼ã¶ã¼ã«è¡¨ç¤ºã§ããããã«ããå¿
è¦ãããã¾ããå
¬éãµã¼ãã¹ã§ã¯ãäºææ§ã確èªãã¦ã¢ããã°ã¬ã¼ãã¨ãã¦ã³ã°ã¬ã¼ãã®é¢ä¿ã確ç«ããããã«ãã¢ããªã±ã¼ã·ã§ã³ ãã¼ã¸ã§ã³ã確èªããå¿
è¦ãããã¾ãã
-
-
-Android ã·ã¹ãã èªä½ã¯ãã¢ããã°ã¬ã¼ããäºææ§ã®å¶ç´ã®å®æ½ãªã©ã®ããã«ãã¢ããªã±ã¼ã·ã§ã³ ãã¼ã¸ã§ã³æ
å ±ãã¢ããªã±ã¼ã·ã§ã³ã«å¯¾ãã¦ç¢ºèªãããã¨ã¯ããã¾ããã代ããã«ãã¢ããªã±ã¼ã·ã§ã³ã«ããããã¼ã¸ã§ã³å¶ç´ã¯ã¦ã¼ã¶ã¼ã¾ãã¯ã¢ããªã±ã¼ã·ã§ã³èªä½ã«ãã£ã¦å®å
¨ã«å®æ½ããã¾ãã
-
-Android ã·ã¹ãã ã確èªãè¡ãã®ã¯ãã¢ããªã±ã¼ã·ã§ã³ã«ãã£ã¦ãããã§ã¹ãã® minSdkVersion
å±æ§ã«æå®ãããã·ã¹ãã ãã¼ã¸ã§ã³äºææ§ã§ãããã®å±æ§ã«ããã¢ããªã±ã¼ã·ã§ã³ã¯äºææ§ãæã¤æå°ã·ã¹ãã API ãæå®ã§ãã¾ãã詳細ã¯ãæå°ã·ã¹ãã API ãã¼ã¸ã§ã³ã®æå®ãã覧ãã ããã
-
-
ã¢ããªã±ã¼ã·ã§ã³ã®ãã¼ã¸ã§ã³ã®è¨å®
-ã¢ããªã±ã¼ã·ã§ã³ã®ãã¼ã¸ã§ã³æ
å ±ãå®ç¾©ããã«ã¯ãã¢ããªã±ã¼ã·ã§ã³ã®ãããã§ã¹ã ãã¡ã¤ã«ã§å±æ§ãè¨å®ãã¾ãã2 ã¤ã®å±æ§ã使ç¨ã§ãã常ã«ãã®ä¸¡æ¹ã«å¤ãå®ç¾©ãããã¨ãæ¨å¥¨ããã¦ãã¾ã:
-
-
-android:versionCode
- ã¢ããªã±ã¼ã·ã§ã³ ã³ã¼ãã®ãã¼ã¸ã§ã³ãä»ã®ãã¼ã¸ã§ã³ã¨ç¸å¯¾çã«ç¤ºãæ´æ°å¤ã
-
-ãã®å¤ã¯æ´æ°ãªã®ã§ããã®ä»ã®ã¢ããªã±ã¼ã·ã§ã³ã¯ããã°ã©ã ã§ãã¼ã¸ã§ã³ã®å¤ãè©ä¾¡ãã¦é¢ä¿ã確èªã§ãã¾ãï¼ãã¨ãã°ããã®ãã¼ã¸ã§ã³ãã¢ããã°ã¬ã¼ãããã¦ã³ã°ã¬ã¼ããªã®ãããªã©ï¼ãä»»æã®æ´æ°å¤ãè¨å®ã§ãã¾ãããã¢ããªã±ã¼ã·ã§ã³ã®å¾ç¶ã®ãªãªã¼ã¹ã§ã¯ãç¾å¨ãã大ããªå¤ã使ç¨ããããã«ãã¦ãã ãããã·ã¹ãã ã§ã¯ãã®ãã¼ã¸ã§ã³ç®¡çã®åºæºãå¼·å¶ãã¾ããããå¾ç¶ãªãªã¼ã¹ã®å¤ãå¢å ããããã¨ã¯æ¨æºçã§ãã
-
-é常ãã¢ããªã±ã¼ã·ã§ã³ã®æåã®ãã¼ã¸ã§ã³ã® versionCode ã 1 ã«è¨å®ãã¦ãªãªã¼ã¹ãããã®å¾ã¯åãªãªã¼ã¹ã«ã¤ãã¦ããªãªã¼ã¹ãã¡ã¸ã£ã¼ ãªãªã¼ã¹ã§ãã£ã¦ããã¤ãã¼ ãªãªã¼ã¹ã§ãã£ã¦ããå¤ãå調å¢å ããã¾ããããã¯ãandroid:versionCode
ã®å¤ã¯ãã¦ã¼ã¶ã¼ã«è¡¨ç¤ºãããã¢ããªã±ã¼ã·ã§ã³ ãªãªã¼ã¹ ãã¼ã¸ã§ã³ã¨é¡ä¼¼ãã¦ããå¿
è¦æ§ã¯ãªããã¨ãæå³ãã¾ãã以ä¸ã® android:versionName
ãã覧ãã ãããã¢ããªã±ã¼ã·ã§ã³ã¨å
¬éãµã¼ãã¹ã§ã¯ããã®ãã¼ã¸ã§ã³ã®å¤ã¯ã¦ã¼ã¶ã¼ã«ã¯è¡¨ç¤ºããã¾ããã
-
-android:versionName
- ã¢ããªã±ã¼ã·ã§ã³ ã³ã¼ãã®ãªãªã¼ã¹ ãã¼ã¸ã§ã³ã表ãæååå¤ã§ãã¦ã¼ã¶ã¼ã«è¡¨ç¤ºãããå¤ã§ãã
-å¤ã¯æååãªã®ã§ãã¢ããªã±ã¼ã·ã§ã³ ãã¼ã¸ã§ã³ãã<major>.<minor>.<point>ãã¨ãã£ãæååãããã®ä»ã®ã¿ã¤ãã®çµ¶å¯¾çã¾ãã¯ç¸å¯¾çãã¼ã¸ã§ã³ ID ã¨ãã¦è¨è¿°ã§ãã¾ãã
-
-android:versionCode
ã®å ´åã¨åæ§ã«ãã·ã¹ãã ã§ã¯ãã®å¤ãã¢ããªã±ã¼ã·ã§ã³ã§ã¦ã¼ã¶ã¼ã«è¡¨ç¤ºãã以å¤ã®ç®çã§å
é¨çã«å©ç¨ãããã¨ã¯ããã¾ãããå
¬éãµã¼ãã¹ã§ã¯ãã¦ã¼ã¶ã¼ã«è¡¨ç¤ºããããã« android:versionName
å¤ãåãåºãå¯è½æ§ãããã¾ãã
-
-
-
-ãããã®ãã¼ã¸ã§ã³å±æ§ã®ä¸¡æ¹ããããã§ã¹ã ãã¡ã¤ã«ã® <manifest>
è¦ç´ ã§å®ç¾©ãã¾ãã
-
-ããã«ã<manifest>
è¦ç´ ã® android:versionCode
㨠android:versionName
å±æ§ã示ããããã§ã¹ãã®ä¾ã示ãã¾ãã
-
-
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.example.package.name"
- android:versionCode="2"
- android:versionName="1.1">
- <application android:icon="@drawable/icon" android:label="@string/app_name">
- ...
- </application>
-</manifest>
-
-
-ãã®ä¾ã§ã¯ãandroid:versionCode
å¤ã¯ç¾å¨ã® .apk ããã®ã¢ããªã±ã¼ã·ã§ã³ ã³ã¼ãã® 2 çªç®ã®ãªãªã¼ã¹ãå«ãã§ãããã¨ã表ãããã㯠android:codeName
æååã示ãããã«ãã¤ãã¼å¾ç¶ãªãªã¼ã¹ã§ãããã¨ã示ãã¾ãã
-
-Android ãã¬ã¼ã ã¯ã¼ã¯ã«ã¯ãã¢ããªã±ã¼ã·ã§ã³ãã·ã¹ãã ã«å¥ã®ã¢ããªã±ã¼ã·ã§ã³ã®ãã¼ã¸ã§ã³æ
å ±ãåãåããã API ãç¨æããã¦ãã¾ãããã¼ã¸ã§ã³æ
å ±ãåå¾ãããããã¢ããªã±ã¼ã·ã§ã³ã¯ {@link android.content.pm.PackageManager#getPackageInfo(java.lang.String, int)}
-method of {@link android.content.pm.PackageManager PackageManager}.
ã使ç¨ãã¾ãã
-
-æå°ã·ã¹ãã API ãã¼ã¸ã§ã³ã®æå®
-
-ã¢ããªã±ã¼ã·ã§ã³ãæä½ã§ã Android ãã©ãããã©ã¼ã ã®ç¹å®ã®ãã¼ã¸ã§ã³ãå¿
è¦ã¨ããå ´åããã®ãã¼ã¸ã§ã³ã API ã¬ãã«ã® ID ã¨ãã¦ã¢ããªã±ã¼ã·ã§ã³ã®ãããã§ã¹ã ãã¡ã¤ã«ã«æå®ã§ãã¾ãããã®ããã«ããã¨ãäºææ§ã®ãããã¼ã¸ã§ã³ã® Android ã·ã¹ãã ãå®è¡ãã¦ããããã¤ã¹ã«ã®ã¿ã¢ããªã±ã¼ã·ã§ã³ãã¤ã³ã¹ãã¼ã«ã§ããããã«ãªãã¾ãã
-
-æå°ã·ã¹ãã ãã¼ã¸ã§ã³ããããã§ã¹ãã«æå®ããã«ã¯ã次ã®å±æ§ã使ç¨ãã¾ã:
-
-
-android:minSdkVersion
- Android ãã©ãããã©ã¼ã ã®ã³ã¼ã ãã¼ã¸ã§ã³ã«å¯¾å¿ããæ´æ°å¤ã
-ã¢ããªã±ã¼ã·ã§ã³ã®ã¤ã³ã¹ãã¼ã«ãæºåããéã«ãã·ã¹ãã ã¯ãã®å±æ§ã®å¤ã確èªãã¦ãã·ã¹ãã ãã¼ã¸ã§ã³ã¨æ¯è¼ãã¾ããandroid:minSdkVersion
å¤ãã·ã¹ãã ãã¼ã¸ã§ã³ããã大ããå ´åãã·ã¹ãã ã¯ã¢ããªã±ã¼ã·ã§ã³ã®ã¤ã³ã¹ãã¼ã«ãä¸æ¢ãã¾ãã
-
-ãã®å±æ§ããããã§ã¹ãã«æå®ããªãå ´åãã·ã¹ãã ã§ã¯ã¢ããªã±ã¼ã·ã§ã³ããã¹ã¦ã®ãã©ãããã©ã¼ã ãã¼ã¸ã§ã³ã¨äºææ§ãããã¨ä»®å®ãã¾ãã
-
-
-ã¢ããªã±ã¼ã·ã§ã³ã«æå°ãã©ãããã©ã¼ã ãã¼ã¸ã§ã³ãæå®ããã«ã¯ã<uses-sdk>
è¦ç´ ã <manifest>
ã®åã¨ãã¦è¿½å ããandroid:minSdkVersion
ãå±æ§ã¨ãã¦å®ç¾©ãã¾ãã
-
-詳細ã¯ãAndroid System Image 1.1 Version Notes ãã覧ãã ããã
diff --git a/docs/html/intl/ja/guide/topics/fundamentals.jd b/docs/html/intl/ja/guide/topics/fundamentals.jd
deleted file mode 100644
index cf9f7ddaa113..000000000000
--- a/docs/html/intl/ja/guide/topics/fundamentals.jd
+++ /dev/null
@@ -1,922 +0,0 @@
-page.title=éçºã®åºç¤
-@jd:body
-
-
-
-
-Android ã¢ããªã±ã¼ã·ã§ã³ã¯ãã¹ã¦ Java ããã°ã©ãã³ã°è¨èªã§è¨è¿°ãã¾ããã³ã³ãã¤ã«æ¸ã¿ã® Java ã³ã¼ãï¼ããã³ãã®ã¢ããªã±ã¼ã·ã§ã³ã«å¿
è¦ãªãã¹ã¦ã®ãã¼ã¿ããªã½ã¼ã¹ ãã¡ã¤ã«ï¼ã¯ãaapt
ãã¼ã«ã使ç¨ã㦠Android ããã±ã¼ã¸ã«ãã³ãã«ãã¾ããAndroid ããã±ã¼ã¸ã¯ãæ¡å¼µåã {@code .apk} ã®ã¢ã¼ã«ã¤ã ãã¡ã¤ã«ã§ããã¦ã¼ã¶ã¼ã¯ããã®ãã¡ã¤ã«ãããã¤ã¹ã«ãã¦ã³ãã¼ããã¦å©ç¨ãã¾ããã¤ã¾ããAndroid ããã±ã¼ã¸ã¯ãã¢ããªã±ã¼ã·ã§ã³ãã¢ãã¤ã« ããã¤ã¹ã«é
å¸ããã³ã¤ã³ã¹ãã¼ã«ããããã®åªä½ã¨ãã¦æ©è½ãã¾ãã1 ã¤ã® {@code .apk} ãã¡ã¤ã«ã«å«ã¾ãã¦ãããã¹ã¦ã®ã³ã¼ããã1 ã¤ã®ã¢ããªã±ã¼ã·ã§ã³ã¨è¦ãªããã¾ãã
-
-
-
-å Android ã¢ããªã±ã¼ã·ã§ã³ã¯ã以ä¸ã«ç¤ºããã¾ãã¾ãªæ¹æ³ã§ä»ã®ã¢ããªã±ã¼ã·ã§ã³ããéé¢ããã¦ãã¾ã:
-
-
-
-- ãã¹ã¦ã®ã¢ããªã±ã¼ã·ã§ã³ã¯ãããã©ã«ãã§ã¯ãã®ã¢ããªã±ã¼ã·ã§ã³åå¥ã® Linux ããã»ã¹ã§å®è¡ããã¾ããAndroid ã¯ãã¢ããªã±ã¼ã·ã§ã³ ã³ã¼ãã®å®è¡ãå¿
è¦ã«ãªã£ãã¨ãã«ããã»ã¹ãéå§ãããã®å¿
è¦ããªããªã£ã¦ä»ã®ã¢ããªã±ã¼ã·ã§ã³ããã·ã¹ãã ãªã½ã¼ã¹ãè¦æ±ãããã¨ãã«ããã»ã¹ãçµäºãã¾ãã
-
-- ããã»ã¹ãã¨ã«å°ç¨ã® Java ä»®æ³ãã·ã³ï¼VMï¼ãå²ãå½ã¦ããããããã¢ããªã±ã¼ã·ã§ã³ ã³ã¼ãã¯ä»ã®ã¢ããªã±ã¼ã·ã§ã³ããéé¢ãããç¶æ
ã§å®è¡ããã¾ãã
-
-- ããã©ã«ãã§ã¯ãã¢ããªã±ã¼ã·ã§ã³ãã¨ã«åºæã® Linux ã¦ã¼ã¶ã¼ ID ãå²ãå½ã¦ããã¾ãã権éãè¨å®ããã¦ãããããã¢ããªã±ã¼ã·ã§ã³ã®ãã¡ã¤ã«ã¯ãã®ã¦ã¼ã¶ã¼ããããèªèã§ããããã®ã¢ããªã±ã¼ã·ã§ã³èªä½ããã®ã¿å©ç¨ã§ãã¾ãããã ãããã¡ã¤ã«ãä»ã®ã¢ããªã±ã¼ã·ã§ã³ã«ã¨ã¯ã¹ãã¼ããããã¨ã¯å¯è½ã§ãã
-
-
-
-2 ã¤ã®ã¢ããªã±ã¼ã·ã§ã³ã§åãã¦ã¼ã¶ã¼ ID ãå
±æãããã¨ãã§ãã¾ãããã®å ´åã¯ãããããã®ã¢ããªã±ã¼ã·ã§ã³ã®ãã¡ã¤ã«ãç¸äºã«èªèã§ãã¾ããã·ã¹ãã ãªã½ã¼ã¹ãç¯ç´ãããããåã ID ã®ã¢ããªã±ã¼ã·ã§ã³ã§åã VM ãå
±æããåã Linux ããã»ã¹ã§å®è¡ãããã¨ãå¯è½ã§ãã
-
-
-
-ã¢ããªã±ã¼ã·ã§ã³ã®ã³ã³ãã¼ãã³ã
-
-
-Android ã®å¤§ããªç¹é·ã® 1 ã¤ã¯ã許å¯ããã¦ããã°ãããã¢ããªã±ã¼ã·ã§ã³ããå¥ã®ã¢ããªã±ã¼ã·ã§ã³ã®è¦ç´ ãå©ç¨ã§ããç¹ã§ãããã¨ãã°ãéçºä¸ã®ã¢ããªã±ã¼ã·ã§ã³ã§ç»åã®ä¸è¦§ãã¹ã¯ãã¼ã«è¡¨ç¤ºãããå ´åãä»ã®ã¢ããªã±ã¼ã·ã§ã³ã§éçºæ¸ã¿ã®é©åãªã¹ã¯ãã¼ã©ãããããã®å©ç¨ã許å¯ããã¦ããã°ãç¬èªã«éçºããªãã¦ããã®ã¹ã¯ãã¼ã©ãå©ç¨ã§ãã¾ããã¢ããªã±ã¼ã·ã§ã³ã«ä»ã®ã¢ããªã±ã¼ã·ã§ã³ã®ã³ã¼ããçµã¿è¾¼ãã ãããªã³ã¯ãè¨å®ãããããå¿
è¦ã¯ããã¾ãããå¿
è¦ã«ãªã£ãæç¹ã§ãä»ã®ã¢ããªã±ã¼ã·ã§ã³ã®ä¸é¨åãéå§ããã ãã§ãã
-
-
-
-ãã®ä»çµã¿ãæ©è½ããã«ã¯ãã¢ããªã±ã¼ã·ã§ã³ ããã»ã¹ã®ä¸é¨åãå¿
è¦ã«å¿ãã¦éå§ã§ãããã®é¨åã® Java ãªãã¸ã§ã¯ããã¤ã³ã¹ã¿ã³ã¹åã§ããªãã¦ã¯ãªãã¾ããããã®ãããAndroid ã¢ããªã±ã¼ã·ã§ã³ã«ã¯ãä»ã®ã·ã¹ãã ã§åä½ããã¢ããªã±ã¼ã·ã§ã³ã§ãã使ç¨ããããããªãã¢ããªã±ã¼ã·ã§ã³å
¨ä½ã«ã¢ã¯ã»ã¹ããããã®åä¸ã®ã¨ã³ã㪠ãã¤ã³ãï¼ãã¨ãã° {@code main()} é¢æ°ï¼ã¯ããã¾ããã代ããã«ãã·ã¹ãã ãå¿
è¦ã«å¿ãã¦ã¤ã³ã¹ã¿ã³ã¹åãã¦å®è¡ã§ããã³ã³ãã¼ãã³ãã§æ§æããã¾ããã³ã³ãã¼ãã³ãã«ã¯ä»¥ä¸ã® 4 ã¤ã®ã¿ã¤ããããã¾ã:
-
-
-
-
-- ã¢ã¯ãã£ããã£
-- ã¢ã¯ãã£ããã£ã¯ãã¦ã¼ã¶ã¼ã 1 ã¤ã®æä½ãéä¸çã«è¡ãããã®è¦è¦çãªã¦ã¼ã¶ã¼ ã¤ã³ã¿ã¼ãã§ã¼ã¹ã表ãã¾ãããã¨ãã°ãã¦ã¼ã¶ã¼ãé¸æã§ããã¡ãã¥ã¼ ã¢ã¤ãã ã®ä¸è¦§ã表示ããã¢ã¯ãã£ããã£ããåçããã£ãã·ã§ã³ä»ãã§è¡¨ç¤ºããã¢ã¯ãã£ããã£ãªã©ãèãããã¾ããSMS ã¢ããªã±ã¼ã·ã§ã³ãªããããã¢ã¯ãã£ããã£ã§ã¡ãã»ã¼ã¸ãéä¿¡ããé£çµ¡å
ã®ä¸è¦§ã表示ããå¥ã®ã¢ã¯ãã£ããã£ã§é¸æããé£çµ¡å
ã¸ã®ã¡ãã»ã¼ã¸ãå
¥åãããã®ä»ã®ã¢ã¯ãã£ããã£ã§å¤ãã¡ãã»ã¼ã¸ãåç
§ãããè¨å®ãå¤æ´ãããã§ãã¾ãããããã®ã¢ã¯ãã£ããã£ãçµã¿åããã¦å
¨ä½ã¨ãã¦ã®ã¦ã¼ã¶ã¼ ã¤ã³ã¿ã¼ãã§ã¼ã¹ãå½¢æãã¾ãããããããã®ã¢ã¯ãã£ããã£ã¯ç¸äºã«ç¬ç«ãã¦ãã¾ããåã¢ã¯ãã£ããã£ã¯ã{@link android.app.Activity} åºæ¬ã¯ã©ã¹ã®ãµãã¯ã©ã¹ã¨ãã¦å®è£
ããã¾ãã
-
-
-ã¢ããªã±ã¼ã·ã§ã³ã¯ã1 ã¤ã®ã¢ã¯ãã£ããã£ã§æ§æãããã¨ããä¸è¨ã®SMS ã¢ããªã±ã¼ã·ã§ã³ã®ããã«è¤æ°ã®ã¢ã¯ãã£ããã£ã§æ§æãããã¨ãã§ãã¾ããã©ã®ãããªã¢ã¯ãã£ããã£ãããã¤å¿
è¦ã«ãªããã¯ãã¢ããªã±ã¼ã·ã§ã³ããã®è¨è¨ã«å¿ãã¦ç°ãªãã¾ããé常ã¯ãã¢ã¯ãã£ããã£ã®ãã¡ã®ãããããæåã®ã¢ã¯ãã£ããã£ã¨ãã¦æå®ããã¦ã¼ã¶ã¼ãã¢ããªã±ã¼ã·ã§ã³ãèµ·åããã¨ãã«è¡¨ç¤ºãã¾ããããã¢ã¯ãã£ããã£ããå¥ã®ã¢ã¯ãã£ããã£ã«ç§»åããã«ã¯ãç¾å¨ã®ã¢ã¯ãã£ããã£ãã次ã®ã¢ã¯ãã£ããã£ãéå§ãã¾ãã
-
-
-
-åã¢ã¯ãã£ããã£ã«ã¯ãããã表示ããããã®ããã©ã«ãã®ã¦ã£ã³ãã¦ãå²ãå½ã¦ããã¾ããé常ã¯ã¦ã£ã³ãã¦ãç»é¢å
¨ä½ã«è¡¨ç¤ºãã¾ãããç»é¢ããå°ããã¦ã£ã³ãã¦ãä»ã®ã¦ã£ã³ãã¦ã®åé¢ã«è¡¨ç¤ºãããã¨ãã§ãã¾ããã¢ã¯ãã£ããã£ã«ãæ°ããªã¦ã£ã³ãã¦ã追å ãããã¨ãå¯è½ã§ãããã¨ãã°ãã¢ã¯ãã£ããã£ã®éä¸ã§ã¦ã¼ã¶ã¼ã®å¿çãè¦æ±ãããããã¢ãã ãã¤ã¢ãã°ã表示ããããã¦ã¼ã¶ã¼ãç»é¢ä¸ã®ç¹å®ã®ã¢ã¤ãã ãé¸æããã¨ãã«å¥ã¦ã£ã³ãã¦ã§éè¦ãªæ
å ±ã表示ãããã§ãã¾ãã
-
-
-
-ã¦ã£ã³ãã¦ã®è¦è¦çãªã³ã³ãã³ãã¯ããã¥ã¼ï¼{@link android.view.View} åºæ¬ã¯ã©ã¹ã®æ´¾çãªãã¸ã§ã¯ãï¼ã®é層ã¨ãã¦æä¾ããã¾ããåãã¥ã¼ã¯ãã¦ã£ã³ãã¦å
ã®ç¹å®ã®ç©å½¢é åãå¶å¾¡ãã¾ãã親ãã¥ã¼ã¯ããã®åã¨ãªããã¥ã¼ã§æ§æããããããã®åãã¥ã¼ã®ã¬ã¤ã¢ã¦ãã決å®ãã¾ãããªã¼ã ãã¥ã¼ï¼é層ã®æä¸ä½ã«ä½ç½®ãããã¥ã¼ï¼ã¯ããã®ãã¥ã¼ãå¶å¾¡ããç©å½¢é åã«è¡¨ç¤ºããããã®é åã§ã®ã¦ã¼ã¶ã¼ã®ã¢ã¯ã·ã§ã³ã«å¯¾ãã¦å¿çãã¾ããã¤ã¾ãããã¥ã¼ã¯ã¢ã¯ãã£ããã£ã¨ã¦ã¼ã¶ã¼ã対話ããå ´æã§ãããã¨ãã°ããã¥ã¼ã«å°ããªç»åã表示ããã¦ã¼ã¶ã¼ããã®ç»åãã¿ãããããä½ããã®ã¢ã¯ã·ã§ã³ãéå§ãããã¨ãã§ãã¾ããAndroid ã«ã¯ããã¿ã³ãããã¹ã ãã£ã¼ã«ããã¹ã¯ãã¼ã« ãã¼ãã¡ãã¥ã¼ ã¢ã¤ãã ããã§ãã¯ããã¯ã¹ãªã©ããã¾ãã¾ãªãã¥ã¼ããããããç¨æããã¦ãã¾ãã
-
-
-
-ãã¥ã¼ã®é層ã¯ã{@link android.app.Activity#setContentView Activity.setContentView()}
ã¡ã½ããã使ç¨ãã¦ã¢ã¯ãã£ããã£ã®ã¦ã£ã³ãã¦å
ã«é
ç½®ãã¾ããã³ã³ãã³ã ãã¥ã¼ã¯ãé層ã®ã«ã¼ãã¨ãªã View ãªãã¸ã§ã¯ãã§ãï¼ãã¥ã¼ããã³ãã®é層ã«ã¤ãã¦è©³ããã¯User Interface ã®ããã¥ã¡ã³ããã覧ãã ããï¼ã
-
-
- - ãµã¼ãã¹
-- ãµã¼ãã¹ã¯ãè¦è¦çãªã¦ã¼ã¶ã¼ ã¤ã³ã¿ã¼ãã§ã¼ã¹ãæãããããã¯ã°ã©ã¦ã³ãã«ããã¦æ確ãªçµäºæéããªãã§å®è¡ããã¾ãããã¨ãã°ãã¦ã¼ã¶ã¼ãä»ã®æä½ããã¦ããé BGM ãåçãããµã¼ãã¹ããããã¯ã¼ã¯çµç±ã§ãã¼ã¿ããã§ãããããµã¼ãã¹ãä½ããè¨ç®ãã¦ãã®çµæãã¢ã¯ãã£ããã£ã«æä¾ãããµã¼ãã¹ãªã©ãèãããã¾ããåãµã¼ãã¹ã¯ã{@link android.app.Service} åºæ¬ã¯ã©ã¹ã®æ¡å¼µã§ãã
-
-
-å
¸åçãªä¾ã¨ãã¦ã¯ããã¬ã¤ãªã¹ãã®æ²ãåçããã¡ãã£ã¢ ãã¬ã¼ã¤ã¼ãæãããã¾ãããã¬ã¼ã¤ã¼ ã¢ããªã±ã¼ã·ã§ã³ã¯ãã¦ã¼ã¶ã¼ãæ²ãé¸ãã§åçããããã® 1 ã¤ä»¥ä¸ã®ã¢ã¯ãã£ããã£ã§æ§æãããã¨ãäºæ³ããã¾ãããã¦ã¼ã¶ã¼ã¯ãã¬ã¼ã¤ã¼ãé¢ãã¦å¥ã®æä½ã«ç§»ã£ãå¾ãæ²ãèãã¦ãããã¨èãããããã¨ãããæ²ã®åçèªä½ãã¢ã¯ãã£ããã£ã§å¦çããããã«ã¯ããã¾ãããé³æ¥½ã®åçãç¶ããã«ã¯ãã¡ãã£ã¢ ãã¬ã¼ã¤ã¼ ã¢ã¯ãã£ããã£ãããããã¯ã°ã©ã¦ã³ãã§å®è¡ãããµã¼ãã¹ãéå§ãã¾ããé³æ¥½åçãµã¼ãã¹ã¯ããããéå§ããã¢ã¯ãã£ããã£ãç»é¢ä¸ã«è¦ããªããªã£ãå¾ããã®ã¾ã¾å®è¡ããã¾ãã
-
-
-
-ã¾ããå®è¡ä¸ã®ãµã¼ãã¹ã«æ¥ç¶ï¼ãã¤ã³ãï¼ãããã¨ãã§ãã¾ãï¼å®è¡ããã¦ããªãå ´åã¯ãã®ãµã¼ãã¹ãéå§ãããã¨ãå¯è½ã§ãï¼ãæ¥ç¶ä¸ã¯ããµã¼ãã¹ãå
¬éãã¦ããã¤ã³ã¿ã¼ãã§ã¼ã¹ã使ã£ã¦ãµã¼ãã¹ã¨å¯¾è©±ã§ãã¾ããé³æ¥½åçãµã¼ãã¹ã§ããã¯ããã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã使ã£ã¦ä¸æåæ¢ãå·»ãæ»ããåæ¢ãåçã®åéãªã©ã®æä½ãå®è¡ã§ããããã«ãã¾ãã
-
-
-
-ã¢ã¯ãã£ããã£ãä»ã®ã³ã³ãã¼ãã³ãã¨åæ§ã«ããµã¼ãã¹ãã¢ããªã±ã¼ã·ã§ã³ ããã»ã¹ã®ã¡ã¤ã³ ã¹ã¬ããã§å®è¡ãã¾ãããããã£ã¦ããµã¼ãã¹ã«ãã£ã¦ä»ã®ã³ã³ãã¼ãã³ããã¦ã¼ã¶ã¼ ã¤ã³ã¿ã¼ãã§ã¼ã¹ã®å®è¡ã妨ãããããã¨ã¯ãªããæéããããã¿ã¹ã¯ï¼ãã¨ãã°æ²ã®åçï¼ã«ã¤ãã¦ã¯ãé常ã¯å¥ã®ã¹ã¬ãããçæãã¦å¦çãã¾ãã詳ããã¯ãããã»ã¹ã¨ã¹ã¬ãããã覧ãã ããã
-
-
-- ããã¼ããã£ã¹ã ã¬ã·ã¼ã
-- ããã¼ããã£ã¹ã ã¬ã·ã¼ãã¯ãããã¼ããã£ã¹ãã®é£çµ¡ãåä¿¡ãã¦ããã«å¯¾å¦ããã ãã®ã³ã³ãã¼ãã³ãã§ããããã¼ããã£ã¹ãã®å¤ããå
ã
ã¯ã·ã¹ãã ã³ã¼ãã§ããã¨ãã°ã¿ã¤ã ã¾ã¼ã³ãå¤æ´ããããã¨ãé»æ± ã®æ®éãå°ãªããªã£ããã¨ãåçãæ®å½±ããããã¨ãã¦ã¼ã¶ã¼ãè¨èªè¨å®ãå¤æ´ãããã¨ãªã©ãé£çµ¡ããããã«ä½¿ç¨ãã¾ããã¢ããªã±ã¼ã·ã§ã³ã§ãããã¨ãã°ä½ããã®ãã¼ã¿ãããã¤ã¹ã«ãã¦ã³ãã¼ãããã¦å©ç¨ã§ããããã«ãªã£ããã¨ããä»ã®ã¢ããªã±ã¼ã·ã§ã³ã«ããã¼ããã£ã¹ãã§ç¥ããããã¨ãã§ãã¾ãã
-
-
-ã¢ããªã±ã¼ã·ã§ã³ã§ã¯ãéè¦ã¨æããããã¹ã¦ã®é£çµ¡ã«å¿çã§ãããããããã¼ããã£ã¹ã ã¬ã·ã¼ããããã¤ã§ãè¨å®ã§ãã¾ãããã¹ã¦ã®ã¬ã·ã¼ãã¯ã{@link android.content.BroadcastReceiver} åºæ¬ã¯ã©ã¹ã®æ¡å¼µã§ãã
-
-
-
-ããã¼ããã£ã¹ã ã¬ã·ã¼ããã¦ã¼ã¶ã¼ ã¤ã³ã¿ã¼ãã§ã¼ã¹ã表示ãããã¨ã¯ããã¾ããããã ããåä¿¡ããæ
å ±ã¸ã®å¿çã¨ãã¦ã¢ã¯ãã£ããã£ãéå§ãããã{@link android.app.NotificationManager} ã使ç¨ãã¦ã¦ã¼ã¶ã¼ã«ã¢ã©ã¼ããéä¿¡ããããããã¨ã¯ããã¾ããéç¥ã®éã«ã¯ãããã¯ã©ã¤ããç¹æ»
ãããããã¤ãã¬ã¼ã·ã§ã³ãèµ·åãããé³ãé³´ãããªã©ããã¾ãã¾ãªæ¹æ³ã§ã¦ã¼ã¶ã¼ã®æ³¨æãåèµ·ã§ãã¾ããé常ã¯ãã¹ãã¼ã¿ã¹ ãã¼ã«æ°¸ç¶ã¢ã¤ã³ã³ã表示ããã¦ã¼ã¶ã¼ããããéãã¦ã¡ãã»ã¼ã¸ãåå¾ã§ããããã«ãã¾ãã
-
-
-- ã³ã³ãã³ã ãããã¤ã
-- ã³ã³ãã³ã ãããã¤ãã¯ãã¢ããªã±ã¼ã·ã§ã³ã®ãã¼ã¿ãä»ã®ã¢ããªã±ã¼ã·ã§ã³ã§ãå©ç¨ã§ããããã«ãã¾ãããã¼ã¿ã¯ããã¡ã¤ã« ã·ã¹ãã ã SQLite ãã¼ã¿ãã¼ã¹ãªã©ãä¸è¬ã«å©ç¨ã§ããæ¹æ³ã§æ ¼ç´ããã¦ããã°ä½¿ç¨ã§ãã¾ããã³ã³ãã³ã ãããã¤ãã¯ã{@link android.content.ContentProvider} åºæ¬ã¯ã©ã¹ã®æ¡å¼µã§ãããããã¤ããå¶å¾¡ããåã®ãã¼ã¿ããä»ã®ã¢ããªã±ã¼ã·ã§ã³ããåå¾ããã³æ ¼ç´ããããã®æ¨æºã¡ã½ãã ã»ãããå®è£
ãã¦ãã¾ãããã ãããããã®ã¡ã½ãããã¢ããªã±ã¼ã·ã§ã³ããç´æ¥å¼ã³åºããã¨ã¯ã§ãã¾ããã代ããã«ã{@link android.content.ContentResolver} ãªãã¸ã§ã¯ãã®ã¡ã½ãããå¼ã³åºãã¾ããContentResolver ã¯ããã¹ã¦ã®ãããã¤ãã¨éä¿¡ã§ãããããã¤ãã¨é£æºãã¦é¢ä¿ã®ãããã¹ã¦ã®ããã»ã¹ééä¿¡ã管çãã¾ãã
-
-
-ã³ã³ãã³ã ãããã¤ãã®ä½¿ç¨æ¹æ³ã«ã¤ãã¦è©³ããã¯ãContent Providersã®ããã¥ã¡ã³ããã覧ãã ããã
-
-
-
-
-
-Android ã§ã¯ãç¹å®ã®ã³ã³ãã¼ãã³ãã§å¦çãã¹ããªã¯ã¨ã¹ããããã¨ããã®ã³ã³ãã¼ãã³ãã®ã¢ããªã±ã¼ã·ã§ã³ ããã»ã¹ãå®è¡ä¸ãã©ããã確èªï¼å¿
è¦ã«å¿ãã¦ããã»ã¹ãéå§ï¼ãããã®ã³ã³ãã¼ãã³ãã®é©åãªã¤ã³ã¹ã¿ã³ã¹ãå©ç¨å¯è½ãã©ããã確èªï¼å¿
è¦ã«å¿ãã¦ã¤ã³ã¹ã¿ã³ã¹ãä½æï¼ãã¾ãã
-
-
-
-ã³ã³ãã¼ãã³ãã®ã¢ã¯ãã£ãå: ã¤ã³ãã³ã
-
-
-ã³ã³ãã³ã ãããã¤ãã¯ãContentResolver ããã®ãªã¯ã¨ã¹ãã®å¯¾è±¡ã«ãªãã¨ã¢ã¯ãã£ãåããã¾ãããã以å¤ã® 3 ã¤ã®ã³ã³ãã¼ãã³ãï¼ã¢ã¯ãã£ããã£ããµã¼ãã¹ãããã¼ããã£ã¹ã ã¬ã·ã¼ãï¼ã¯ãã¤ã³ãã³ãã¨å¼ã°ããéåæã¡ãã»ã¼ã¸ã«ãã£ã¦ã¢ã¯ãã£ãåããã¾ããã¤ã³ãã³ãã¯ãã¡ãã»ã¼ã¸ã®ã³ã³ãã³ããä¿æãã {@link android.content.Intent} ãªãã¸ã§ã¯ãã§ããã¢ã¯ãã£ããã£ããµã¼ãã¹ã®å ´åã® Intent ãªãã¸ã§ã¯ãã®ä¸»ãªå½¹å²ã¯ããªã¯ã¨ã¹ãããã¦ããã¢ã¯ã·ã§ã³ãæåãããã®å¯¾è±¡ã¨ãªããã¼ã¿ã® URI ãæå®ãããã¨ã§ãããã¨ãã°ãã¦ã¼ã¶ã¼ã«ç»åã表示ããããã®ãªã¯ã¨ã¹ãããã¦ã¼ã¶ã¼ã«ããã¹ããç·¨éããããªã¯ã¨ã¹ããã¢ã¯ãã£ããã£ã«ä¼éã§ãã¾ããããã¼ããã£ã¹ã ã¬ã·ã¼ãã®å ´åã¯ãIntent ãªãã¸ã§ã¯ããããããéç¥ãè¡ãã¢ã¯ã·ã§ã³ãæåãã¾ãããã¨ãã°ãã«ã¡ã©ã®ãã¿ã³ãæ¼ããããã¨ããé¢ä¿ã®ããããã¼ããã£ã¹ã ã¬ã·ã¼ãã«éç¥ã§ãã¾ãã
-
-
-
-以ä¸ã«ç¤ºãããã«ãã³ã³ãã¼ãã³ãã®ã¿ã¤ããã¨ã«å¥ã
ã®ã¢ã¯ãã£ãåã¡ã½ãããç¨æããã¦ãã¾ã:
-
-
-
-
-- ã¢ã¯ãã£ããã£ãèµ·åããï¼ã¾ãã¯ä½ãæ°ããå¦çãå®è¡ãããï¼ã«ã¯ãIntent ãªãã¸ã§ã¯ãã
{@link android.content.Context#startActivity
-Context.startActivity()}
ã¾ã㯠{@link
-android.app.Activity#startActivityForResult
-Activity.startActivityForResult()}
ã«æ¸¡ãã¾ããå¿çã¢ã¯ãã£ããã£ã§ {@link android.app.Activity#getIntent getIntent()}
ã¡ã½ãããå¼ã³åºãã¨ãæåã«ãã®ã¢ã¯ãã£ããã£ãèµ·åãããã¨ãã®ã¤ã³ãã³ãã®å
容ã確èªã§ãã¾ããAndroid ã«ãã£ã¦ã¢ã¯ãã£ããã£ã® {@link
-android.app.Activity#onNewIntent onNewIntent()}
ã¡ã½ãããå¼ã³åºãããã¢ã¯ãã£ããã£ãå¾ç¶ã®ã¤ã³ãã³ãã«æ¸¡ããã¾ãã
-
-
-å¤ãã®å ´åãã¢ã¯ãã£ããã£ãã次ã®ã¢ã¯ãã£ããã£ãéå§ãã¾ããéå§ããã¢ã¯ãã£ããã£ããçµæãè¿ãããå ´åã¯ã{@code startActivity()} ã§ã¯ãªã {@code startActivityForResult()} ãå¼ã³åºãã¾ãããã¨ãã°ãã¦ã¼ã¶ã¼ã«åçãé¸æãããã¢ã¯ãã£ããã£ãéå§ããå ´åã¯ãã¦ã¼ã¶ã¼ã«ãã£ã¦é¸æãããåçãè¿ãããããããã¾ãããçµæã¯ãå¼ã³åºãå´ã®ã¢ã¯ãã£ããã£ã® {@link android.app.Activity#onActivityResult
-onActivityResult()}
ã¡ã½ããã«æ¸¡ãã Intent ãªãã¸ã§ã¯ãã§è¿ããã¾ãã
-
-
-
-ãµã¼ãã¹ãéå§ããï¼ã¾ãã¯å®è¡ä¸ã®ãµã¼ãã¹ã«æ°ããæ示ãä¸ããï¼ã«ã¯ã{@link
-android.content.Context#startService Context.startService()}
ã« Intent ãªãã¸ã§ã¯ãã渡ãã¾ããAndroid ã«ããããµã¼ãã¹ã® {@link android.app.Service#onStart
-onStart()}
ã¡ã½ãããå¼ã³åºãã㦠Intent ãªãã¸ã§ã¯ãã渡ããã¾ãã
-
-
-åæ§ã«ãã¤ã³ãã³ãã {@link
-android.content.Context#bindService Context.bindService()}
ã«æ¸¡ãã¨ãå¼ã³åºãå´ã®ã³ã³ãã¼ãã³ãã¨å¯¾è±¡ã¨ãªããµã¼ãã¹ã®éã®ç¶ç¶ä¸ã®æ¥ç¶ã確ç«ã§ãã¾ãããµã¼ãã¹ã¯ã{@link android.app.Service#onBind onBind()}
å¼ã³åºã㧠Intent ãªãã¸ã§ã¯ããåãåãã¾ãï¼ãµã¼ãã¹ãã¾ã éå§ããã¦ããªãå ´åã¯ãå¿
è¦ã«å¿ã㦠{@code bindService()} ã§éå§ã§ãã¾ãï¼ããã¨ãã°ãä¸ã§ä¾ã«æããé³æ¥½åçãµã¼ãã¹ã¨ã®æ¥ç¶ã確ç«ããã¢ã¯ãã£ããã£ã使ç¨ãã¦ãã¦ã¼ã¶ã¼ãåçãæä½ããããã®æ段ï¼ã¦ã¼ã¶ã¼ ã¤ã³ã¿ã¼ãã§ã¼ã¹ï¼ãæä¾ã§ãã¾ããã¢ã¯ãã£ããã£ã§ {@code bindService()} ãå¼ã³åºãã¦æ¥ç¶ã確ç«ãã¦ããããµã¼ãã¹ã«å®ç¾©ããã¦ããã¡ã½ãããå¼ã³åºãã¦åçãæä½ãã¾ãã
-
-
-
-ãµã¼ãã¹ã®ãã¤ã³ãã«ã¤ãã¦ã¯ãå¾ã»ã©ãªã¢ã¼ã ããã·ã¼ã¸ã£ ã³ã¼ã«ã®ã»ã¯ã·ã§ã³ã§è©³ãã説æãã¾ãã
-
-
-
-ã¢ããªã±ã¼ã·ã§ã³ã§ããã¼ããã£ã¹ããéå§ããã«ã¯ã{@link
-android.content.Context#sendBroadcast(Intent) Context.sendBroadcast()}
ã{@link android.content.Context#sendOrderedBroadcast(Intent, String)
-Context.sendOrderedBroadcast()}
ã{@link
-android.content.Context#sendStickyBroadcast Context.sendStickyBroadcast()}
ãªã©ã®ã¡ã½ããã®ããããã®ããªã¨ã¼ã·ã§ã³ã« Intent ãªãã¸ã§ã¯ãã渡ãã¾ããAndroid ã«ãã£ã¦ {@link
-android.content.BroadcastReceiver#onReceive onReceive()}
ã¡ã½ãããå¼ã³åºãããé¢ä¿ã®ãããã¹ã¦ã®ããã¼ããã£ã¹ã ã¬ã·ã¼ãã«ã¤ã³ãã³ããé
ä¿¡ããã¾ãã
-
-
-
-
-ã¤ã³ãã³ã ã¡ãã»ã¼ã¸ã«ã¤ãã¦è©³ããã¯ãIntents and Intent Filters ãã覧ãã ããã
-
-
-
-ã³ã³ãã¼ãã³ãã®çµäº
-
-
-ã³ã³ãã³ã ãããã¤ãã¯ãContentResolver ããã®ãªã¯ã¨ã¹ãã«å¿çãã¦ããéã®ã¿ã¢ã¯ãã£ãã«ãªãã¾ããããã¼ããã£ã¹ã ã¬ã·ã¼ãã¯ãããã¼ããã£ã¹ã ã¡ãã»ã¼ã¸ã«å¿çãã¦ããéã®ã¿ã¢ã¯ãã£ãã«ãªãã¾ããã¤ã¾ãããããã®ã³ã³ãã¼ãã³ããæ示çã«çµäºãããå¿
è¦ã¯ããã¾ããã
-
-
-
-ä¸æ¹ãã¢ã¯ãã£ããã£ã¯ã¦ã¼ã¶ã¼ ã¤ã³ã¿ã¼ãã§ã¼ã¹ãæä¾ãã¾ããé·ãæéãããã¦ã¦ã¼ã¶ã¼ã¨ä¼è©±ããããã®ãã®ã§ãããå¾
æ©ç¶æ
ã®éããä¼è©±ãç¶ãã¦ããéãã¯ã¢ã¯ãã£ããªã¾ã¾ã«ãªã£ã¦ããå¯è½æ§ãããã¾ããåæ§ã«ããµã¼ãã¹ãé·ãéå®è¡ãããã¾ã¾ã«ãªãå¯è½æ§ãããã¾ããAndroid ã«ã¯ãã¢ã¯ãã£ããã£ã¨ãµã¼ãã¹ã以ä¸ã®ãããªè¦åçãªæ¹æ³ã§çµäºãããããã®ã¡ã½ãããç¨æããã¦ãã¾ã:
-
-
-
-- ã¢ã¯ãã£ããã£ãçµäºãããã«ã¯ããã®
{@link android.app.Activity#finish finish()}
ã¡ã½ãããå¼ã³åºãã¾ããããã¢ã¯ãã£ããã£ãã {@code startActivityForResult()} ã§éå§ããå¥ã®ã¢ã¯ãã£ããã£ã¯ã{@link android.app.Activity#finishActivity finishActivity()}
ãå¼ã³åºãã¦çµäºããããã¨ãã§ãã¾ãã
-
-- ãµã¼ãã¹ã¯ããã®
{@link android.app.Service#stopSelf stopSelf()}
ã¡ã½ãããå¼ã³åºããã{@link android.content.Context#stopService Context.stopService()}
ãå¼ã³åºããã¨ã§åæ¢ã§ãã¾ãã
-
-
-
-ã³ã³ãã¼ãã³ãããæ¢ã«å©ç¨ããã¦ããªãå ´åããAndroid ãããã¢ã¯ãã£ããªä»ã®ã³ã³ãã¼ãã³ãã«ã¡ã¢ãªãå²ãå½ã¦ãå¿
è¦ãããå ´åã¯ãã·ã¹ãã ãã³ã³ãã¼ãã³ããçµäºããããã¨ãããã¾ãããã®ãããªç¶æ³ããã³ãã®å½±é¿ã«ã¤ãã¦ã¯ãã³ã³ãã¼ãã³ãã®ã©ã¤ããµã¤ã¯ã«ã§è©³ãã説æãã¾ãã
-
-
-
-ãããã§ã¹ã ãã¡ã¤ã«
-
-
-ã¢ããªã±ã¼ã·ã§ã³ ã³ã³ãã¼ãã³ããéå§ããã«ã¯ãAndroid ããã®ã³ã³ãã¼ãã³ãã®åå¨ãèªèãã¦ããå¿
è¦ãããã¾ããã¢ããªã±ã¼ã·ã§ã³ã®ã³ã³ãã¼ãã³ãã¯ããããã§ã¹ã ãã¡ã¤ã«ã§å®£è¨ãã¾ãããã®ãã¡ã¤ã«ã¯ãã¢ããªã±ã¼ã·ã§ã³ã®ã³ã¼ãããã¡ã¤ã«ããªã½ã¼ã¹ãªã©ã¨ã¨ãã« Android ããã±ã¼ã¸ï¼{@code .apk} ãã¡ã¤ã«ï¼ã«ãã³ãã«ããã¾ãã
-
-
-
-ãããã§ã¹ãã¯æ§é åããã XML ãã¡ã¤ã«ã§ãã©ã®ã¢ããªã±ã¼ã·ã§ã³ã§ã常㫠AndroidManifest.xml ã¨ããååã«ãªãã¾ããã¢ããªã±ã¼ã·ã§ã³ ã³ã³ãã¼ãã³ãã®å®£è¨ä»¥å¤ã«ããã¢ããªã±ã¼ã·ã§ã³ããªã³ã¯ãããå¿
è¦ã®ããã©ã¤ãã©ãªï¼ããã©ã«ãã® Android ã©ã¤ãã©ãªãé¤ãï¼ã®æå®ããã¢ããªã±ã¼ã·ã§ã³ã«ä»ä¸ãããã¹ã権éã®æå®ãªã©ã«ã使ç¨ãã¾ãã
-
-
-
-ãããããããã§ã¹ãã®æãéè¦ãªå½¹å²ã¯ãã¢ããªã±ã¼ã·ã§ã³ã®ã³ã³ãã¼ãã³ãã«é¢ããæ
å ±ã Android ã«æä¾ãããã¨ã§ãããã¨ãã°ãã¢ã¯ãã£ããã£ã次ã®ããã«å®£è¨ã§ãã¾ã:
-
-
-<?xml version="1.0" encoding="utf-8"?>
-<manifest . . . >
- <application . . . >
- <activity android:name="com.example.project.FreneticActivity"
- android:icon="@drawable/small_pic.png"
- android:label="@string/freneticLabel"
- . . . >
- </activity>
- . . .
- </application>
-</manifest>
-
-
-<activity>
è¦ç´ ã® {@code name} å±æ§ã¯ããã®ã¢ã¯ãã£ããã£ãå®è£
ãã {@link android.app.Activity} ãµãã¯ã©ã¹ãæåãã¾ãã{@code icon} ããã³ {@code label} å±æ§ã«ã¯ãã¦ã¼ã¶ã¼ã«å¯¾ãã¦è¡¨ç¤ºããã¢ã¤ã³ã³ãã©ãã«ãä¿æããã¦ãããªã½ã¼ã¹ ãã¡ã¤ã«ãæå®ãã¾ãã
-
-
-
-ãã®ä»ã®ã³ã³ãã¼ãã³ããããµã¼ãã¹ã¯ <service>
è¦ç´ ãããã¼ããã£ã¹ã ã¬ã·ã¼ã㯠<receiver>
è¦ç´ ãã³ã³ãã³ã ãããã¤ã㯠<provider>
è¦ç´ ã使ç¨ãã¦åããããªæ¹æ³ã§å®£è¨ãã¾ãããããã§ã¹ãã«å®£è¨ããã¦ããªãã¢ã¯ãã£ããã£ããµã¼ãã¹ãããã³ã³ã³ãã³ã ãããã¤ãã¯ãã·ã¹ãã ããèªèã§ããªãããå®è¡ããããã¨ã¯ããã¾ããããã ããããã¼ããã£ã¹ã ã¬ã·ã¼ãã®å ´åã¯ããããã§ã¹ãã§å®£è¨ããæ¹æ³ã¨ãã³ã¼ãå
㧠{@link android.content.BroadcastReceiver} ãªãã¸ã§ã¯ãã¨ãã¦åçã«ä½æãã{@link android.content.Context#registerReceiver Context.registerReceiver()}
ãå¼ã³åºãã¦ã·ã¹ãã ã«ç»é²ããæ¹æ³ãããã¾ãã
-
-
-
-ãããã§ã¹ã ãã¡ã¤ã«ã®ä½ææ¹æ³ã«ã¤ãã¦è©³ããã¯ãThe AndroidManifest.xml Fileãã覧ãã ããã
-
-
-
-ã¤ã³ãã³ã ãã£ã«ã¿
-
-
-Intent ãªãã¸ã§ã¯ãã§ã¯ã対象ã¨ããã³ã³ãã¼ãã³ããæ示çã«æåã§ãã¾ããæ示çã«æåããã¦ããå ´åãAndroid ã¯ãããã§ã¹ã ãã¡ã¤ã«å
ã®å®£è¨ã«åºã¥ãã¦ã³ã³ãã¼ãã³ããç¹å®ãã¦ã¢ã¯ãã£ãã«ãã¾ããä¸æ¹ãæ示çã«æåããã¦ããªãå ´åã¯ããã®ã¤ã³ãã³ãã«å¿çããä¸ã§æé©ãªã³ã³ãã¼ãã³ããé¸æããã¾ããæ¹æ³ã¨ãã¦ã¯ãIntent ãªãã¸ã§ã¯ããããã®å¯¾è±¡ã¨ãªãããã³ã³ãã¼ãã³ãã®ã¤ã³ãã³ã ãã£ã«ã¿ã¨ç
§åãã¾ããã³ã³ãã¼ãã³ãã®ã¤ã³ãã³ã ãã£ã«ã¿ã¯ããã®ã³ã³ãã¼ãã³ãã§å¦çã§ããã¤ã³ãã³ãã®ç¨®é¡ã示ãã¾ãããããã³ã³ãã¼ãã³ãã«é¢ããéè¦ãªæ
å ±ã® 1 ã¤ãªã®ã§ããããã§ã¹ã ãã¡ã¤ã«ã§å®£è¨ãã¾ãã次ã«ãä¸ã«ç¤ºããä¾ãæ¡å¼µã㦠2 ã¤ã®ã¤ã³ãã³ã ãã£ã«ã¿ã追å ããã¢ã¯ãã£ããã£ã示ãã¾ã:
-
-
-<?xml version="1.0" encoding="utf-8"?>
-<manifest . . . >
- <application . . . >
- <activity android:name="com.example.project.FreneticActivity"
- android:icon="@drawable/small_pic.png"
- android:label="@string/freneticLabel"
- . . . >
- <intent-filter . . . >
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- <intent-filter . . . >
- <action android:name="com.example.project.BOUNCE" />
- <data android:mimeType="image/jpeg" />
- <category android:name="android.intent.category.DEFAULT" />
- </intent-filter>
- </activity>
- . . .
- </application>
-</manifest>
-
-
-ãã®ä¾ã® 1 ã¤ç®ã®ãã£ã«ã¿ã¯ãã¢ã¯ã·ã§ã³ã{@code android.intent.action.MAIN}ãã¨ã«ãã´ãªã{@code android.intent.category.LAUNCHER}ããçµã¿åãããä¸è¬çãªãã£ã«ã¿ã§ãããã®ãã£ã«ã¿ã¯ãã¢ããªã±ã¼ã·ã§ã³ ã©ã³ãã£ï¼ã¦ã¼ã¶ã¼ãããã¤ã¹ä¸ã§èµ·åã§ããã¢ããªã±ã¼ã·ã§ã³ãä¸è¦§è¡¨ç¤ºããç»é¢ï¼ã«ããã®ã¢ã¯ãã£ããã£ã表示ããå¿
è¦ããããã¨ã示ãã¦ãã¾ããã¤ã¾ãããã®ã¢ã¯ãã£ããã£ã¯ã¢ããªã±ã¼ã·ã§ã³ã¸ã®ã¨ã³ã㪠ãã¤ã³ãã¨ãã¦æ©è½ããã¦ã¼ã¶ã¼ãã©ã³ãã£ã§ãã®ã¢ããªã±ã¼ã·ã§ã³ãé¸æããã¨ãã«æåã«è¡¨ç¤ºãããã¨ãããã¨ã§ãã
-
-
-
-2 ã¤ç®ã®ãã£ã«ã¿ã§ã¯ãã¢ã¯ãã£ããã£ãç¹å®ã®ã¿ã¤ãã®ãã¼ã¿ã«å¯¾ãã¦å®è¡ã§ããã¢ã¯ã·ã§ã³ã宣è¨ãã¦ãã¾ãã
-
-
-
-ã³ã³ãã¼ãã³ãã«ã¯ã¤ã³ãã³ã ãã£ã«ã¿ãããã¤ã§ãæå®ã§ããããããã®ãã£ã«ã¿ã§å¥ã
ã®æ©è½ã宣è¨ã§ãã¾ãããã£ã«ã¿ã 1 ã¤ãæå®ããã¦ããªãã³ã³ãã¼ãã³ãã¯ããã®ã³ã³ãã¼ãã³ãã対象ã¨ãã¦æ示çã«æåããã¦ããã¤ã³ãã³ãã§ã®ã¿ã¢ã¯ãã£ãã«ã§ãã¾ãã
-
-
-
-ã³ã¼ãå
ã§ä½æãã¦ç»é²ããããã¼ããã£ã¹ã ã¬ã·ã¼ãã®å ´åãã¤ã³ãã³ã ãã£ã«ã¿ã¯ {@link android.content.IntentFilter} ãªãã¸ã§ã¯ãã¨ãã¦ç´æ¥ã¤ã³ã¹ã¿ã³ã¹åããã¾ãããã以å¤ã®å
¨ã¦ã®ãã£ã«ã¿ã¯ããããã§ã¹ãã§è¨å®ãã¾ãã
-
-
-
-ã¤ã³ãã³ã ãã£ã«ã¿ã«ã¤ãã¦è©³ããã¯ãIntents and Intent Filters ãã覧ãã ããã
-
-
-
-ã¢ã¯ãã£ããã£ã¨ã¿ã¹ã¯
-
-
-æ¢ã«èª¬æããããã«ãããã¢ã¯ãã£ããã£ããå¥ã®ã¢ã¯ãã£ããã£ãéå§ãããã¨ãã§ãã¾ããããã«ã¯ãå¥ã®ã¢ããªã±ã¼ã·ã§ã³ã§å®ç¾©ããã¦ããã¢ã¯ãã£ããã£ãå«ã¾ãã¾ãããã¨ãã°ãã¦ã¼ã¶ã¼ã«ç¹å®ã®å ´æã®å°å³ã表示ããã¨ãã¾ãããã®ããã®ã¢ã¯ãã£ããã£ã¯æ¢ã«åå¨ãã¦ããã®ã§ãç¾å¨ã®ã¢ã¯ãã£ããã£ã§å¿
è¦ãªæ
å ±ã Intent ãªãã¸ã§ã¯ãã«æ ¼ç´ã㦠{@code startActivity()} ã«æ¸¡ãã ãã§ãããã ãã¥ã¼ã¢ã«å°å³ã表示ã§ãã¾ããã¦ã¼ã¶ã¼ã [æ»ã] ãã¼ãæ¼ãã¨ãç»é¢ã«å
ã®ã¢ã¯ãã£ããã£ãå表示ããã¾ãã
-
-
-
-ãã®å ´åãããã ãã¥ã¼ã¢ã¯å¥ã®ã¢ããªã±ã¼ã·ã§ã³ã§å®ç¾©ããã¦ããããã®ã¢ããªã±ã¼ã·ã§ã³ã®ããã»ã¹ã§å®è¡ããã¦ãã¾ãããã¦ã¼ã¶ã¼ã«ã¨ã£ã¦ã¯ããã ãã¥ã¼ã¢ãå
ã®ã¢ããªã±ã¼ã·ã§ã³ã®ä¸é¨ã§ãããã®ããã«æãããã¾ããAndroid ã§ã¯ã両æ¹ã®ã¢ã¯ãã£ããã£ãåãã¿ã¹ã¯ã«çµã¿è¾¼ããã¨ã§ããã®ãããªã¦ã¼ã¶ã¼ ã¨ã¯ã¹ããªã¨ã³ã¹ãå®ç¾ã§ãã¾ããç°¡åã«è¨ãã°ãã¦ã¼ã¶ã¼ã 1 ã¤ã®ãã¢ããªã±ã¼ã·ã§ã³ãã¨æãããã®ãã¿ã¹ã¯ã§ããé¢é£ããã¢ã¯ãã£ããã£ãã¹ã¿ãã¯ã«ã¾ã¨ãããã®ãã¿ã¹ã¯ã§ããã¹ã¿ãã¯å
ã®ã«ã¼ã ã¢ã¯ãã£ããã£ã¯ãã¿ã¹ã¯ãéå§ããã¢ã¯ãã£ããã£ã§ããé常ã§ããã°ãã¦ã¼ã¶ã¼ãã¢ããªã±ã¼ã·ã§ã³ ã©ã³ãã£ã§é¸æããã¢ã¯ãã£ããã£ãããã«ç¸å½ãã¾ããã¹ã¿ãã¯ã®æä¸ä½ã«ããã¢ã¯ãã£ããã£ã¯ãã¦ã¼ã¶ã¼ã®ã¢ã¯ã·ã§ã³ã®ç¦ç¹ã¨ãªã£ã¦ããå®è¡ä¸ã®ã¢ã¯ãã£ããã£ã§ããããã¢ã¯ãã£ããã£ããå¥ã®ã¢ã¯ãã£ããã£ãéå§ããã¨ããã®ã¢ã¯ãã£ããã£ãæ°ãã«ã¹ã¿ãã¯ã«ããã·ã¥ããã¦å®è¡ä¸ã®ã¢ã¯ãã£ããã£ã«ãªãã¾ãã1 ã¤åã®ã¢ã¯ãã£ããã£ã¯ã¹ã¿ãã¯å
ã«æ®ããã¦ãã¾ããã¦ã¼ã¶ã¼ã [[]æ»ã] ãã¼ãæ¼ãã¨ãç¾å¨ã®ã¢ã¯ãã£ããã£ãã¹ã¿ãã¯ãããããããã1 ã¤åã®ã¢ã¯ãã£ããã£ãå®è¡ä¸ã®ã¢ã¯ãã£ããã£ã¨ãã¦åéããã¾ãã
-
-
-
-ã¹ã¿ãã¯ã¯ãªãã¸ã§ã¯ããä¿æãã¾ãããããã£ã¦ãåã Activity ãµãã¯ã©ã¹ã®ã¤ã³ã¹ã¿ã³ã¹ï¼ãã¨ãã°ããã ã¤ã³ã¹ã¿ã³ã¹ï¼ãè¤æ°éãã¨ãããããã®ã¤ã³ã¹ã¿ã³ã¹ãå¥ã
ã®ã¨ã³ããªã«ãªãã¾ããã¹ã¿ãã¯å
ã®ã¢ã¯ãã£ããã£ã¯ãããã·ã¥ã¾ãã¯ããããããã®ã¿ã§åé
ç½®ããããã¨ã¯ããã¾ããã
-
-
-
-ã¿ã¹ã¯ã¯ã¢ã¯ãã£ããã£ã®ã¹ã¿ãã¯ã§ããããããã§ã¹ã ãã¡ã¤ã«å
ã®ã¯ã©ã¹ãè¦ç´ ã§ã¯ããã¾ããããããã£ã¦ãã¢ã¯ãã£ããã£ã¨ç¡é¢ä¿ã«ã¿ã¹ã¯ã®å¤ãè¨å®ãããã¨ã¯ã§ãã¾ãããã¿ã¹ã¯ã®å¤ã¯ãã«ã¼ã ã¢ã¯ãã£ããã£ã§ã¾ã¨ãã¦è¨å®ãã¾ãããã¨ãã°ã次ã®ã»ã¯ã·ã§ã³ã§ã¯ãã¿ã¹ã¯ã®è¦ªåæ§ãã«ã¤ãã¦èª¬æãã¾ãããå¤ã¯ã¿ã¹ã¯ã®ã«ã¼ã ã¢ã¯ãã£ããã£ã®è¦ªåæ§ã®ã»ããããèªã¿è¾¼ã¾ãã¾ãã
-
-
-
-ã¿ã¹ã¯å
ã®ã¢ã¯ãã£ããã£ã¯ã1 ã¤ã®ã¦ãããã¨ãã¦ä¸ç·ã«ç§»åãã¾ããã¿ã¹ã¯å
¨ä½ï¼ã¢ã¯ãã£ãã㣠ã¹ã¿ãã¯å
¨ä½ï¼ããã©ã¢ã°ã©ã¦ã³ãã«ç§»åããããããã¯ã°ã©ã¦ã³ãã«ç§»åãããã§ãã¾ãããã¨ãã°ãç¾å¨ã®ã¿ã¹ã¯ã¯ 4 ã¤ã®ã¢ã¯ãã£ããã£ãããªãã¹ã¿ãã¯ã§ãç¾å¨ã®ã¢ã¯ãã£ããã£ã®ä¸ã«ã¢ã¯ãã£ããã£ã 3 ã¤ããã¨ãã¾ããããã§ãã¦ã¼ã¶ã¼ã [ãã¼ã ] ãã¼ãæ¼ãã¦ã¢ããªã±ã¼ã·ã§ã³ ã©ã³ãã£ã«ç§»åããæ°ããã¢ããªã±ã¼ã·ã§ã³ï¼å®éã«ã¯æ°ããã¿ã¹ã¯ï¼ãé¸æããã¨ãã¾ããããã¨ãç¾å¨ã®ã¿ã¹ã¯ã¯ããã¯ã°ã©ã¦ã³ãã«ç§»åããæ°ããã¿ã¹ã¯ã®ã«ã¼ã ã¢ã¯ãã£ããã£ã表示ããã¾ãããã°ãããã¦ãã¦ã¼ã¶ã¼ããã¼ã ç»é¢ã«æ»ã 1 ã¤åã®ã¢ããªã±ã¼ã·ã§ã³ï¼ã¿ã¹ã¯ï¼ãé¸æããã¨ããã®ã¿ã¹ã¯ãã¹ã¿ãã¯å
ã® 4 ã¤ã®ã¢ã¯ãã£ããã£ã¨ã¨ãã«ãã©ã¢ã°ã©ã¦ã³ãã«ç§»åãã¾ããããã§ã¦ã¼ã¶ã¼ã [æ»ã] ãã¼ãæ¼ãã¦ããä¸æããã°ããã®ã¢ããªã±ã¼ã·ã§ã³ï¼1 ã¤åã®ã¿ã¹ã¯ã®ã«ã¼ã ã¢ã¯ãã£ããã£ï¼ã¯è¡¨ç¤ºããã¾ããã代ããã«ãã¹ã¿ãã¯ã®æä¸ä½ã®ã¢ã¯ãã£ããã£ãããããããåãã¿ã¹ã¯ã® 1 ã¤åã®ã¢ã¯ãã£ããã£ã表示ããã¾ãã
-
-
-
-ã¢ã¯ãã£ããã£ã¨ã¿ã¹ã¯ã®åä½ã¨ãã¦ã¯ãããã§èª¬æããåä½ãããã©ã«ãã§ãããã ãããã®åä½ã®ã»ã¨ãã©ã®è¦ç´ ã¯å¤æ´å¯è½ã§ããã¿ã¹ã¯ã¨ã¢ã¯ãã£ããã£ã®é¢é£ä»ããã¿ã¹ã¯å
ã§ã®ã¢ã¯ãã£ããã£ã®åä½ã¯ãã¢ã¯ãã£ããã£ãéå§ãã Intent ãªãã¸ã§ã¯ãã®ãã©ã° ã»ããã¨ããããã§ã¹ãã«æå®ããã¦ããã¢ã¯ãã£ããã£ã® <activity>
è¦ç´ ã®å±æ§ã»ããã¨ã®ç¸äºä½ç¨ã«ãã£ã¦æ±ºã¾ãã¾ãããªã¯ã¨ã¹ãå´ã¨å¿çå´ã®ä¸¡æ¹ãåä½ã«å½±é¿ãåã¼ãã¾ãã
-
-
-
-ãã®ç¹ã«ããã¦ã主ã«ä½¿ç¨ãã Intent ãã©ã°ã¯ä»¥ä¸ã®ã¨ããã§ã:
-
-
{@code FLAG_ACTIVITY_NEW_TASK}
{@code FLAG_ACTIVITY_CLEAR_TOP}
{@code FLAG_ACTIVITY_RESET_TASK_IF_NEEDED}
{@code FLAG_ACTIVITY_SINGLE_TOP}
-
-
-ã¾ãã主ã«ä½¿ç¨ãã {@code <activity>} å±æ§ã¯ä»¥ä¸ã®ã¨ããã§ã:
-
-
{@code taskAffinity}
{@code launchMode}
{@code allowTaskReparenting}
{@code clearTaskOnLaunch}
{@code alwaysRetainTaskState}
{@code finishOnTaskLaunch}
-
-
-以éã®ã»ã¯ã·ã§ã³ã§ã¯ããããã®ãã©ã°ãå±æ§ã®å½¹å²ãç¸äºä½ç¨ã®ä»çµã¿ã使ç¨ããéã®çæäºé
ãªã©ã«ã¤ãã¦èª¬æãã¾ãã
-
-
-
-親åæ§ã¨æ°ããã¿ã¹ã¯
-
-
-ããã©ã«ãã§ã¯ãã¢ããªã±ã¼ã·ã§ã³å
ã®ãã¹ã¦ã®ã¢ã¯ãã£ããã£ã¯ç¸äºã«è¦ªåæ§ãããããã¹ã¦ã®ã¢ã¯ãã£ããã£ãã§ããéãåãã¿ã¹ã¯ã«å±ããã¨ãã¾ãããã ãã{@code <activity>} è¦ç´ ã® {@code taskAffinity} å±æ§ã使ç¨ãã¦ãã¢ã¯ãã£ããã£ãã¨ã«åå¥ã®è¦ªåæ§ãè¨å®ãããã¨ãã§ãã¾ããã¤ã¾ããå¥ã
ã®ã¢ããªã±ã¼ã·ã§ã³ã§å®ç¾©ããã¦ããã¢ã¯ãã£ããã£ã§è¦ªåæ§ãå
±æããããåãã¢ããªã±ã¼ã·ã§ã³ã§å®ç¾©ããã¦ããã¢ã¯ãã£ããã£ã«å¥ã
ã®è¦ªåæ§ãå²ãå½ã¦ããã§ããã¨ãããã¨ã§ãã親åæ§ãä½ç¨ããç¶æ³ã¯ 2 ã¤ããã¾ãã1 ã¤ã¯ã¢ã¯ãã£ããã£ãèµ·åãã Intent ãªãã¸ã§ã¯ãã« {@code FLAG_ACTIVITY_NEW_TASK} ãã©ã°ãå«ã¾ãã¦ããå ´åããã 1 ã¤ã¯ã¢ã¯ãã£ããã£ã® {@code allowTaskReparenting} å±æ§ã "{@code true}" ã«è¨å®ããã¦ããå ´åã§ãã
-
-
-
-{@link android.content.Intent#FLAG_ACTIVITY_NEW_TASK}
ãã©ã°
-- æ¢ã«èª¬æããã¨ãããæ°ããã¢ã¯ãã£ããã£ã¯ãããã©ã«ãã§ã¯ {@code startActivity()} ãå¼ã³åºããã¢ã¯ãã£ããã£ã®ã¿ã¹ã¯ã®ä¸é¨ã¨ãã¦èµ·åãã¾ããã¤ã¾ããå¼ã³åºãå´ã®ã¢ã¯ãã£ããã£ã¨åãã¹ã¿ãã¯ã«ããã·ã¥ãããã¨ãããã¨ã§ãããããã{@code startActivity()} ã«æ¸¡ããã Intent ãªãã¸ã§ã¯ãã« {@code FLAG_ACTIVITY_NEW_TASK} ãã©ã°ãå«ã¾ãã¦ããå ´åãã·ã¹ãã ã¯ãã®æ°ããã¢ã¯ãã£ããã£ãå¥ã®ã¿ã¹ã¯ã«å容ãããã¨ãã¾ãããã©ã°ã®ååãããå¤æã§ãã¾ãããã»ã¨ãã©ã®å ´åã¯æ°ããã¿ã¹ã¯ãéå§ããã¾ãããã ã常ã«ãããªãã¨ã¯éãã¾ãããæ¢åã®ã¿ã¹ã¯ã«æ°ããã¢ã¯ãã£ããã£ã¨åã親åæ§ãå²ãå½ã¦ããã¦ããå ´åããã®ã¢ã¯ãã£ããã£ã¯ãã®ã¿ã¹ã¯ã®ä¸é¨ã¨ãã¦èµ·åãã¾ããããã§ãªãå ´åã«ã¯ãæ°ããã¿ã¹ã¯ãéå§ããã¾ãã
-
-allowTaskReparenting
å±æ§
-- {@code allowTaskReparenting} å±æ§ã "{@code true}" ã«è¨å®ããã¦ããã¢ã¯ãã£ããã£ã¯ããã®ã¢ã¯ãã£ããã£ã¨è¦ªåæ§ã®ããã¿ã¹ã¯ããã©ã¢ã°ã©ã¦ã³ãã«ç§»ã£ãã¨ãã«ãã¢ã¯ãã£ããã£ãéå§ããã¿ã¹ã¯ãã親åæ§ã®ããã¿ã¹ã¯ã«ç§»åã§ãã¾ãããã¨ãã°ãæ
è¡ã¢ããªã±ã¼ã·ã§ã³ã®ä¸é¨ã¨ãã¦ãé¸æãããé½å¸ã®å¤©æ°äºå ±ã表示ããã¢ã¯ãã£ããã£ãå®ç¾©ããã¦ããã¨ãã¾ãããã®ã¢ã¯ãã£ããã£ã«ã¯ãåãã¢ããªã±ã¼ã·ã§ã³å
ã®ä»ã®ã¢ã¯ãã£ããã£ã¨åã親åæ§ï¼ããã©ã«ãã®è¦ªåæ§ï¼ãå²ãå½ã¦ããã¦ãã¾ããããã®è¦ªã®å²ãå½ã¦ãå¤æ´ãããã¨ãå¯è½ã§ããããã¢ã¯ãã£ããã£ã天æ°äºå ±ã¢ã¯ãã£ããã£ãéå§ããã¨ããã®æç¹ã§ã¯éå§å´ã®ã¢ã¯ãã£ããã£ã¨åãã¿ã¹ã¯ã«å±ããç¶æ
ã«ãªãã¾ãããããã次ã«æ
è¡ã¢ããªã±ã¼ã·ã§ã³ããã©ã¢ã°ã©ã¦ã³ãã«ç§»ãã¨ã天æ°äºå ±ã¢ã¯ãã£ããã£ã®å²ãå½ã¦ãå¤æ´ãããæ
è¡ã¢ããªã±ã¼ã·ã§ã³ã®ã¿ã¹ã¯ã®ä¸é¨ã¨ãã¦è¡¨ç¤ºããã¾ãã
-
-
-
-ã¦ã¼ã¶ã¼ããè¦ã¦è¤æ°ã®ãã¢ããªã±ã¼ã·ã§ã³ãã 1 ã¤ã® {@code .apk} ãã¡ã¤ã«ã«å«ã¾ãã¦ããå ´åã¯ãããããã®ã¢ããªã±ã¼ã·ã§ã³ã«é¢é£ä»ãããã¦ããã¢ã¯ãã£ããã£ã«å¥ã
ã®è¦ªåæ§ãå²ãå½ã¦ããã¨ããããããã¾ãã
-
-
-
-èµ·åã¢ã¼ã
-
-
-launchMode
å±æ§ã® {@code <activity>} è¦ç´ ã«ã¯ã以ä¸ã® 4 種é¡ã®èµ·åã¢ã¼ããå²ãå½ã¦ããã¨ãã§ãã¾ã:
-
-
-"{@code standard}"ï¼ããã©ã«ã ã¢ã¼ãï¼
"{@code singleTop}"
"{@code singleTask}"
"{@code singleInstance}"
-
-
-ãããã®ã¢ã¼ãã¯ãããããã以ä¸ã® 4 ã¤ã®ç¹ã§ç°ãªãã¾ã:
-
-
-
-
-- ã¤ã³ãã³ãã«å¿çããã¢ã¯ãã£ããã£ãã©ã®ã¿ã¹ã¯ã«ä¿æãããã"{@code standard}" ããã³ "{@code singleTop}" ã¢ã¼ãã®å ´åã¯ããã®ã¤ã³ãã³ããéå§ããï¼ã¤ã¾ã
{@link android.content.Context#startActivity startActivity()}
ãå¼ã³åºããï¼ã¿ã¹ã¯ã«ä¿æããã¾ãããã ããIntent ãªãã¸ã§ã¯ãã« {@link android.content.Intent#FLAG_ACTIVITY_NEW_TASK}
ãã©ã°ãå«ã¾ãã¦ããå ´åã¯ãåã®ã»ã¯ã·ã§ã³è¦ªåæ§ã¨æ°ããã¿ã¹ã¯ã§èª¬æããã¨ãããå¥ã®ã¿ã¹ã¯ãé¸æããã¾ãã
-
-
-ä¸æ¹ã"{@code singleTask}" ããã³ "{@code singleInstance}" ã¢ã¼ãã®å ´åã¯ãã¢ã¯ãã£ããã£ã常ã«ã¿ã¹ã¯ã®ã«ã¼ã ã¢ã¯ãã£ããã£ã«ãªãã¾ããã¿ã¹ã¯ã¯å®ç¾©ããã¦ãããä»ã®ã¿ã¹ã¯ã®ä¸é¨ã¨ãã¦èµ·åããããã¨ã¯ããã¾ããã
-
-
- ã¢ã¯ãã£ããã£ã®ã¤ã³ã¹ã¿ã³ã¹ãè¤æ°çæã§ãããã"{@code standard}" ã¾ã㯠"{@code singleTop}" ã¢ã¯ãã£ããã£ã¯è¤æ°åã¤ã³ã¹ã¿ã³ã¹åã§ãã¾ãããããã®ã¤ã³ã¹ã¿ã³ã¹ãè¤æ°ã®ã¿ã¹ã¯ã«å²ãå½ã¦ããã¨ããç¹å®ã®ã¿ã¹ã¯ã«åãã¢ã¯ãã£ããã£ã®è¤æ°ã®ã¤ã³ã¹ã¿ã³ã¹ãå²ãå½ã¦ããã¨ãå¯è½ã§ãã
-
-
-
-ä¸æ¹ã"{@code singleTask}" ããã³ "{@code singleInstance}" ã¢ã¯ãã£ããã£ã®ã¤ã³ã¹ã¿ã³ã¹ã¯ 1 ã¤ã«å¶éããã¾ãããããã®ã¢ã¯ãã£ããã£ã¯ã¿ã¹ã¯ã®ã«ã¼ãã«å½ããã¾ãããããã£ã¦ããããã®ã¿ã¹ã¯ã®è¤æ°ã®ã¤ã³ã¹ã¿ã³ã¹ãããã¤ã¹ä¸ã«åæã«åå¨ãããã¨ã¯ãªãã¨ãããã¨ã«ãªãã¾ãã
-
-
-ã¤ã³ã¹ã¿ã³ã¹ã®ã¿ã¹ã¯ã«ä»ã®ã¢ã¯ãã£ããã£ãå«ãããã¨ãã§ãããã"{@code singleInstance}" ã¢ã¯ãã£ããã£ã¯ããã®ã¿ã¹ã¯å
ã®å¯ä¸ã®ã¢ã¯ãã£ããã£ã¨ãã¦åç¬ã§åä½ãã¾ããããããå¥ã®ã¢ã¯ãã£ããã£ãéå§ããå ´åããã®ã¢ã¯ãã£ããã£ã¯èµ·åã¢ã¼ãã«é¢ä¿ãªããããããã¤ã³ãã³ãã« {@code FLAG_ACTIVITY_NEW_TASK} ãã©ã°ãå«ã¾ãã¦ãããã®ããã«å¥ã®ã¿ã¹ã¯ã§èµ·åãã¾ãã"{@code singleInstance}" ã¢ã¼ã㨠"{@code singleTask}" ã¢ã¼ãã¯ããã以å¤ã®ç¹ã§ã¯ã¾ã£ããåãã§ãã
-
-
-ä»ã® 3 ã¤ã®ã¢ã¼ãã§ã¯ãã¿ã¹ã¯ã«è¤æ°ã®ã¢ã¯ãã£ããã£ãå²ãå½ã¦ããã¨ãã§ãã¾ãã"{@code singleTask}" ã¢ã¯ãã£ããã£ã¯ã常ã«ã¿ã¹ã¯ã®ã«ã¼ã ã¢ã¯ãã£ããã£ã«ãªãã¾ãããåãã¿ã¹ã¯ã«å²ãå½ã¦ããã¨ã«ãªãå¥ã®ã¢ã¯ãã£ããã£ãéå§ãããã¨ãã§ãã¾ãã"{@code standard}" ããã³ "{@code singleTop}" ã¢ã¯ãã£ããã£ã®ã¤ã³ã¹ã¿ã³ã¹ã¯ãã¹ã¿ãã¯å
ã®ã©ã®ä½ç½®ã«ã§ãé
ç½®ã§ãã¾ãã
-
-
-- ã¯ã©ã¹ã®æ°ããã¤ã³ã¹ã¿ã³ã¹ãèµ·åãã¦æ°ããã¤ã³ãã³ããå¦çãããã©ãããããã©ã«ãã® "{@code standard}" ã¢ã¼ãã®å ´åã¯ãæ°ããã¤ã³ãã³ãã«å¿çããã¨ãã«ã¯å¿
ãæ°ããã¤ã³ã¹ã¿ã³ã¹ãä½æããã¾ããããããã®ã¤ã³ã¹ã¿ã³ã¹ã§å¦çããã¤ã³ãã³ã㯠1 ã¤ã®ã¿ã§ãã"{@code singleTop}" ã¢ã¼ãã®å ´åã¯ãã¯ã©ã¹ã®æ¢åã®ã¤ã³ã¹ã¿ã³ã¹ã対象ã¿ã¹ã¯ã®ã¢ã¯ãã£ãã㣠ã¹ã¿ãã¯ã®æä¸ä½ã«ããã°ããããåå©ç¨ãã¦æ°ããã¤ã³ãã³ããå¦çãã¾ããã¹ã¿ãã¯ã®æä¸ä½ã«ãªãå ´åã¯åå©ç¨ããã¾ããã代ããã«ãæ°ããã¤ã³ã¹ã¿ã³ã¹ãä½æããã¦ã¹ã¿ãã¯ã«ããã·ã¥ãããæ°ããã¤ã³ãã³ãã®å¦çã«ä½¿ç¨ããã¾ãã
-
-
-ãã¨ãã°ãã¿ã¹ã¯ã®ã¢ã¯ãã£ãã㣠ã¹ã¿ãã¯ã«ãã«ã¼ã ã¢ã¯ãã£ãã㣠A ã¨ã¢ã¯ãã£ãã㣠BãCãD ãå«ã¾ãã¦ããã¨ãã¾ããã¹ã¿ãã¯å
ã®ã¢ã¯ãã£ããã£ã®é åºã¯ A-B-C-D 㧠D ãæä¸ä½ã§ããããã«ãã¢ã¯ãã£ããã£ã®ã¿ã¤ãã D ã®ã¤ã³ãã³ããå±ãã¾ããD ã®èµ·åã¢ã¼ããããã©ã«ãã® "{@code standard}" ã§ããå ´åã¯ããã®ã¯ã©ã¹ã®æ°ããã¤ã³ã¹ã¿ã³ã¹ãèµ·åããã¹ã¿ãã¯ã¯ A-B-C-D-D ã¨ãªãã¾ããããããD ã®èµ·åã¢ã¼ãã "{@code singleTop}" ã§ããã°ãã¹ã¿ãã¯ã®æä¸ä½ã¯ D ãªã®ã§ãæ°ããã¤ã³ãã³ãã¯æ¢åã®ã¤ã³ã¹ã¿ã³ã¹ã«ãã£ã¦å¦çãããã¯ãã§ãããããã£ã¦ãã¹ã¿ãã¯ã¯ A-B-C-D ã®ã¾ã¾ã¨ãªãã¾ãã
-
-
-
-ä¸æ¹ãå±ããã¤ã³ãã³ãã®ã¢ã¯ãã£ãã㣠ã¿ã¤ãã B ã ã£ãå ´åã¯ãB ã®ã¢ã¼ãã "{@code standard}" ã§ãã£ã¦ã "{@code singleTop}"ã§ãã£ã¦ã B ã®æ°ããã¤ã³ã¹ã¿ã³ã¹ãèµ·åãã¾ãããã㯠B ãã¹ã¿ãã¯ã®æä¸ä½ã§ã¯ãªãããã§ãçµæã¨ãã¦ã¹ã¿ãã¯ã¯ A-B-C-D-B ã¨ãªãã¾ãã
-
-
-
-"{@code singleTask}" ã¾ã㯠"{@code singleInstance}" ã¢ã¯ãã£ããã£ã®å ´åã¯ãæ¢ã«èª¬æããã¨ããåæã«è¤æ°ã®ã¤ã³ã¹ã¿ã³ã¹ãåå¨ãããã¨ã¯ãªããããã¤ã³ã¹ã¿ã³ã¹ã¯å¸¸ã«æ°ããã¤ã³ãã³ããå¦çãããã¨ã«ãªãã¾ãã"{@code singleInstance}" ã¢ã¯ãã£ããã£ã¯ã¹ã¿ãã¯å
ã®å¯ä¸ã®ã¢ã¯ãã£ããã£ã§ããããã常ã«ã¹ã¿ãã¯ã®æä¸ä½ãã¤ã¾ãã¤ã³ãã³ããå¦çããä½ç½®ã«ããã¾ããä¸æ¹ã"{@code singleTask}" ã¢ã¯ãã£ããã£ã¯ãã¹ã¿ãã¯å
ã®ä¸ä½ã«ä»ã®ã¢ã¯ãã£ããã£ãããå ´åã¨ãªãå ´åãããã¾ããä¸ä½ã«ã¢ã¯ãã£ããã£ãããå ´åãã¤ã³ãã³ããå¦çããä½ç½®ã«ã¯ãªãããããã®ã¤ã³ãã³ãã¯ããããããã¾ãï¼ã¤ã³ãã³ãããããããããã¨ãã¦ãããã®ã¤ã³ãã³ããå±ãããã¨ã«ãã£ã¦ãã¿ã¹ã¯ããã©ã¢ã°ã©ã¦ã³ãã«ç§»ã£ãã¾ã¾ã®ç¶æ
ã«ãªãã¾ãï¼ã
-
-
-
-
-
-
-æ¢åã®ã¢ã¯ãã£ããã£ã§æ°ããã¤ã³ãã³ããå¦çãããã¨ã«ãªã£ãå ´åã¯ã{@link android.app.Activity#onNewIntent onNewIntent()}
ã®å¼ã³åºãã«ãã£ã¦ Intent ãªãã¸ã§ã¯ããã¢ã¯ãã£ããã£ã«æ¸¡ããã¾ãï¼æåã«ã¢ã¯ãã£ããã£ãéå§ããã¤ã³ãã³ã ãªãã¸ã§ã¯ã㯠{@link android.app.Activity#getIntent getIntent()}
ãå¼ã³åºãã¦åå¾ã§ãã¾ãï¼ã
-
-
-
-ãªããæ°ããã¤ã³ãã³ããå¦çããããã«ã¢ã¯ãã£ããã£ã®æ°ããã¤ã³ã¹ã¿ã³ã¹ãä½æãããå ´åãã¦ã¼ã¶ã¼ã¯ [[]æ»ã] ãã¼ãæ¼ã㦠1 ã¤åã®ç¶æ
ï¼1 ã¤åã®ã¢ã¯ãã£ããã£ï¼ã«æ»ããã¨ãã§ãã¾ããããããã¢ã¯ãã£ããã£ã®æ¢åã®ã¤ã³ã¹ã¿ã³ã¹ã§æ°ããã¤ã³ãã³ããå¦çããå ´åã¯ã[[]æ»ã] ãã¼ãæ¼ãã¦ããæ°ããã¤ã³ãã³ããå±ãåã«ãã®ã¤ã³ã¹ã¿ã³ã¹ã§å¦çãã¦ããä½æ¥ã«æ»ããã¨ã¯ã§ãã¾ããã
-
-
-
-èµ·åã¢ã¼ãã«ã¤ãã¦è©³ããã¯ã<activity>
è¦ç´ ã®èª¬æãã覧ãã ããã
-
-
-
-ã¹ã¿ãã¯ã®ã¯ãªã¢
-
-
-ã¦ã¼ã¶ã¼ãã¿ã¹ã¯ãé·æéæ¾ç½®ããã¨ãã¿ã¹ã¯ã®ã«ã¼ã ã¢ã¯ãã£ããã£ãé¤ããã¹ã¦ã®ã¢ã¯ãã£ããã£ãã¯ãªã¢ããã¾ããã¦ã¼ã¶ã¼ãã¿ã¹ã¯ã«æ»ãã¨ãã¿ã¹ã¯ã¯ä»¥åã®ããã«è¡¨ç¤ºããã¾ãããæ®ã£ã¦ããã®ã¯æåã®ã¢ã¯ãã£ããã£ã ãã§ããã¤ã¾ããä¸å®ã®æéãçµéãã¦ããã°ã¦ã¼ã¶ã¼ã¯ä»¥åã®ä½æ¥ãæ¾æ£ãã¦ãã¦ãæ°ããä½æ¥ãããããã«ãã®ã¿ã¹ã¯ã«æ»ã£ã¦ããã¨èããããã§ãã
-
-
-
-ãããããã©ã«ãã§ãããã®åä½ãå¤æ´ãããå ´åã¯ã以ä¸ã®ã¢ã¯ãã£ããã£å±æ§ã使ç¨ãã¾ã:
-
-
-
-alwaysRetainTaskState
å±æ§
-- ã¿ã¹ã¯ã®ã«ã¼ã ã¢ã¯ãã£ããã£ã§ãã®å±æ§ã "{@code true}" ã«è¨å®ããã¨ãä¸ã§èª¬æããããã©ã«ãã®åä½ã¯çºçãã¾ãããé·æéçµéãã¦ããã¿ã¹ã¯å
ã®ãã¹ã¦ã®ã¢ã¯ãã£ããã£ã¯ãã®ã¾ã¾æ®ããã¾ãã
-
-clearTaskOnLaunch
å±æ§
-- ã¿ã¹ã¯ã®ã«ã¼ã ã¢ã¯ãã£ããã£ã§ãã®å±æ§ã "{@code true}" ã«è¨å®ããå ´åãã¦ã¼ã¶ã¼ããã£ããã¿ã¹ã¯ãé¢ããã¨ãæ»ã£ãã¨ãã«ã¯ã«ã¼ããå«ããã¹ã¦ã®ã¢ã¯ãã£ããã£ãã¯ãªã¢ããã¦ãã¾ããã¤ã¾ãã{@code alwaysRetainTaskState} ã®æ£å対ã®åä½ã«ãªãã¾ããã¦ã¼ã¶ã¼ãä¸ç¬ã§ãã¿ã¹ã¯ãé¢ããã¨ãæåã®ç¶æ
ããããç´ããã¨ã«ãªãã¾ãã
-
-finishOnTaskLaunch
å±æ§
-- ãã®å±æ§ã¯ {@code clearTaskOnLaunch} ã«ä¼¼ã¦ãã¾ãããã¿ã¹ã¯å
¨ä½ã§ã¯ãªãåä¸ã®ã¢ã¯ãã£ããã£ã«ä½ç¨ãã¾ããã¾ããã«ã¼ã ã¢ã¯ãã£ããã£ãå«ãã©ã®ã¢ã¯ãã£ããã£ãã¯ãªã¢ã®å¯¾è±¡ã¨ãªããã¾ãããã®å±æ§ã "{@code true}" ã«è¨å®ãããã¢ã¯ãã£ããã£ã¯ãç¾å¨ã®ã»ãã·ã§ã³ã®éã®ã¿ã¿ã¹ã¯ã®ä¸é¨ãå½¢æãã¾ããã¦ã¼ã¶ã¼ããã£ãããã®ã¿ã¹ã¯ããé¢ãã¦ãããå度ã¿ã¹ã¯ã«æ»ãã¨ããã®ã¢ã¯ãã£ããã£ã¯ã¯ãªã¢ããã¦ãã¾ã
-
-
-
-ã¢ã¯ãã£ããã£ãã¹ã¿ãã¯ããåé¤ããæ¹æ³ã¯ä»ã«ãããã¾ããIntent ãªãã¸ã§ã¯ãã« {@link
-android.content.Intent#FLAG_ACTIVITY_CLEAR_TOP FLAG_ACTIVITY_CLEAR_TOP}
ãã©ã°ãå«ã¾ãã¦ããããã®ã¤ã³ãã³ããå¦çãã¹ãã¿ã¤ãã®ã¢ã¯ãã£ããã£ã®ã¤ã³ã¹ã¿ã³ã¹ã対象ã¿ã¹ã¯ã®ã¹ã¿ãã¯å
ã«åå¨ããå ´åã¯ããã®ã¤ã³ã¹ã¿ã³ã¹ãã¹ã¿ãã¯ã®æä¸ä½ã«ãªã£ã¦ã¤ã³ãã³ãã«å¿çã§ãããããããããä¸ä½ã®ã¢ã¯ãã£ããã£ã¯ãã¹ã¦ã¯ãªã¢ããã¾ããæå®ãããã¢ã¯ãã£ããã£ã®èµ·åã¢ã¼ãã "{@code standard}" ã§ããå ´åã¯ããã®ã¢ã¯ãã£ããã£ãã¹ã¿ãã¯ããåé¤ãããæ°ããã¤ã³ã¹ã¿ã³ã¹ãèµ·åãã¦ã¤ã³ãã³ããå¦çãã¾ããèµ·åã¢ã¼ã "{@code standard}" ã§ã¯ãæ°ããã¤ã³ãã³ããå¦çããéã常ã«æ°ããã¤ã³ã¹ã¿ã³ã¹ãä½æãããããã§ãã
-
-
-
-{@code FLAG_ACTIVITY_CLEAR_TOP} ã¯ãã»ã¨ãã©ã®å ´å {@code FLAG_ACTIVITY_NEW_TASK} ã¨çµã¿åããã¦ä½¿ç¨ãã¾ãããããã®ãã©ã°ãçµã¿åãããã¨ãå¥ã®ã¿ã¹ã¯ã«æ¢ã«åå¨ãã¦ããã¢ã¯ãã£ããã£ãæ¢ãããããã¤ã³ãã³ãã«å¿çã§ããä½ç½®ã«é
ç½®ã§ãã¾ãã
-
-
-
-ã¿ã¹ã¯ã®éå§
-
-
-ã¢ã¯ãã£ããã£ãã¿ã¹ã¯ã®ã¨ã³ã㪠ãã¤ã³ãã¨ãã¦è¨å®ããã«ã¯ãã¢ã¯ã·ã§ã³ã¨ã㦠"{@code android.intent.action.MAIN}"ãã«ãã´ãªã¨ã㦠"{@code android.intent.category.LAUNCHER}" ãæå®ããã¤ã³ãã³ã ãã£ã«ã¿ãã¢ã¯ãã£ããã£ã«è¿½å ãã¾ãï¼ãã®ã¿ã¤ãã®ãã£ã«ã¿ã®ä¾ã«ã¤ãã¦ã¯ãã¤ã³ãã³ã ãã£ã«ã¿ãã覧ãã ããï¼ããã®ã¿ã¤ãã®ãã£ã«ã¿ã追å ããã¨ãã¢ã¯ãã£ããã£ã®ã¢ã¤ã³ã³ã¨ã©ãã«ãã¢ããªã±ã¼ã·ã§ã³ ã©ã³ãã£ã«è¡¨ç¤ºããã¾ããããã«ãããã¦ã¼ã¶ã¼ãã¿ã¹ã¯ãèµ·åããããã®æ段ãæä¾ã§ããã ãã§ãªããèµ·åå¾ã¯ãã¤ã§ããã®ã¿ã¹ã¯ã«æ»ããããã«ãããã¨ãã§ãã¾ãã
-
-
-
-ãã® 2 çªç®ã®æ©è½ãã¤ã¾ãã¦ã¼ã¶ã¼ããã£ããã¿ã¹ã¯ãé¢ãã¦ãå¾ã§æ»ããã¨ãã§ããããã«ããç¹ãéè¦ã§ãããã®çç±ãããã¢ã¯ãã£ããã£ã« {@code MAIN} 㨠{@code LAUNCHER} ãã£ã«ã¿ãæå®ããã¦ããå ´åã¯ãå¿
ãã¿ã¹ã¯ãéå§ãããèµ·åã¢ã¼ãï¼"{@code singleTask}" ã¾ã㯠"{@code singleInstance}"ï¼ã使ç¨ããå¿
è¦ãããã¾ãããã¨ãã°ããã®ãã£ã«ã¿ãæå®ããªãã£ãå ´åãèãã¦ã¿ã¾ããããã¤ã³ãã³ãã "{@code singleTask}" ã¢ã¯ãã£ããã£ãèµ·åããæ°ããã¿ã¹ã¯ãéå§ãããã¦ã¼ã¶ã¼ããã°ããã®éãã®ã¿ã¹ã¯ã§ä½æ¥ãè¡ãã¾ãããã®å¾ãã¦ã¼ã¶ã¼ã [ãã¼ã ] ãã¼ãæ¼ããã¨ãã¾ãããã¼ã ç»é¢ã表示ãããå
ã»ã©ã®ã¿ã¹ã¯ã¯ããã¯ã°ã©ã¦ã³ãã«ç§»åãã¾ãããããããã®ã¿ã¹ã¯ã¯ã¢ããªã±ã¼ã·ã§ã³ ã©ã³ãã£ã«ã¯è¡¨ç¤ºããã¦ããªããããã¦ã¼ã¶ã¼ãã¿ã¹ã¯ã«æ»ãããã®æ段ãããã¾ããã
-
-
-
-{@code FLAG_ACTIVITY_NEW_TASK} ãã©ã°ã«ããããã¨åããããªé£ãããããã¾ãããã®ãã©ã°ãæå®ããã¢ã¯ãã£ããã£ã§ã¯ãæ°ããã¿ã¹ã¯ãéå§ããå¾ã«ã¦ã¼ã¶ã¼ã [ãã¼ã ] ãã¼ãæ¼ãã¦ãã®ã¿ã¹ã¯ãé¢ããå ´åã«åããã¿ã¹ã¯ã«æ»ãããã®æ段ãç¨æãã¦ããå¿
è¦ãããã¾ããä¸é¨ã®ã¨ã³ãã£ãã£ï¼ãã¨ãã°éç¥ããã¼ã¸ã£ï¼ã¯ãã¢ã¯ãã£ããã£ã常ã«å¤é¨ã¿ã¹ã¯ã¨ãã¦éå§ãã¾ããã¨ã³ãã£ãã£ã®ä¸é¨ã¨ãã¦éå§ãããã¨ã¯ãªãããã{@code startActivity()} ã«æ¸¡ãã¤ã³ãã³ãã«ã¯å¿
ã {@code FLAG_ACTIVITY_NEW_TASK} ãæå®ãã¾ããå¤é¨ã¨ã³ãã£ãã£ããå¼ã³åºããã¨ã®ã§ããã¢ã¯ãã£ããã£ã§ãã®ãã©ã°ã使ç¨ããã¦ããå¯è½æ§ãããå ´åã¯ãéå§ãããã¿ã¹ã¯ã«ã¦ã¼ã¶ã¼ãæ»ãããã®æ段ãå¥éæä¾ããããã«ãã¦ãã ããã
-
-
-
-ã¦ã¼ã¶ã¼ãã¢ã¯ãã£ããã£ã«æ»ããã¨ãã§ããããã«ããªãå ´åã¯ã{@code <activity>} è¦ç´ ã® {@code finishOnTaskLaunch} ã "{@code true}" ã«è¨å®ãã¾ãã詳ããã¯ãã¹ã¿ãã¯ã®ã¯ãªã¢ãã覧ãã ããã
-
-
-
-ããã»ã¹ã¨ã¹ã¬ãã
-
-
-Android ã§ã¯ãæåã®ã¢ããªã±ã¼ã·ã§ã³ ã³ã³ãã¼ãã³ããå®è¡ããå¿
è¦ãçããã¨ããã®ããã® Linux ããã»ã¹ãåä¸ã®å®è¡ã¹ã¬ããã§éå§ãã¾ããããã©ã«ãã§ã¯ãã¢ããªã±ã¼ã·ã§ã³ã®ãã¹ã¦ã®ã³ã³ãã¼ãã³ãããã®ããã»ã¹ã¨ã¹ã¬ããã§å®è¡ããã¾ãã
-
-
-
-ãã ããã³ã³ãã¼ãã³ããä»ã®ããã»ã¹ã§å®è¡ãããããã«ããããç¹å®ã®ããã»ã¹ã«ä½¿ç¨ãã追å ã¹ã¬ãããçæããããããã¨ãå¯è½ã§ãã
-
-
-
-ããã»ã¹
-
-
-ã³ã³ãã¼ãã³ããå®è¡ããããã»ã¹ã¯ããããã§ã¹ã ãã¡ã¤ã«ã§ç®¡çãã¾ããã³ã³ãã¼ãã³ãã®åè¦ç´ ï¼{@code <activity>}ã{@code <service>}ã{@code <receiver>}ãããã³ {@code <provider>}ï¼ã«ã¯ {@code process} å±æ§ãããããã®ã³ã³ãã¼ãã³ããã©ã®ããã»ã¹ã§å®è¡ãã¹ãããæå®ã§ããããã«ãªã£ã¦ãã¾ãããããã®å±æ§ã®è¨å®ã«ãã£ã¦ãããããã®ã³ã³ãã¼ãã³ããå°ç¨ã®ããã»ã¹ã§å®è¡ããããä¸é¨ã®ã³ã³ãã¼ãã³ãã ãã§ããã»ã¹ãå
±æãããã§ãã¾ããã¾ããå¥ã
ã®ã¢ããªã±ã¼ã·ã§ã³ã®ã³ã³ãã¼ãã³ãããåãããã»ã¹ã§å®è¡ãããããã«è¨å®ãããã¨ãã§ãã¾ãããã®å ´åã¯ããããã®ã¢ããªã±ã¼ã·ã§ã³ãåã Linux ã¦ã¼ã¶ã¼ ID ãå
±æããåãèªè¨¼æ©é¢ã«ãã£ã¦ç½²åããã¦ããå¿
è¦ãããã¾ãã{@code <application>} è¦ç´ ã«ã {@code process} å±æ§ãããããã¹ã¦ã®ã³ã³ãã¼ãã³ãã«é©ç¨ãããããã©ã«ãå¤ãè¨å®ã§ãã¾ãã
-
-
-
-ãã¹ã¦ã®ã³ã³ãã¼ãã³ãã¯æå®ãããããã»ã¹ã®ã¡ã¤ã³ ã¹ã¬ããã§ã¤ã³ã¹ã¿ã³ã¹åãããã³ã³ãã¼ãã³ãã«å¯¾ããã·ã¹ãã ã³ã¼ã«ã¯ãã®ã¹ã¬ãããããã£ã¹ãããããã¾ãã1 ã¤ã®ã¤ã³ã¹ã¿ã³ã¹ã«å¯¾ãã¦ãè¤æ°ã®ã¹ã¬ãããä½æããããã¨ã¯ããã¾ããããããã£ã¦ãã·ã¹ãã ã³ã¼ã«ã«å¿çããã¡ã½ããï¼ãã¨ãã°ãå¾ã»ã©ã³ã³ãã¼ãã³ã ã©ã¤ããµã¤ã¯ã«ã§èª¬æããã©ã¤ããµã¤ã¯ã«éç¥ããã¦ã¼ã¶ã¼ã®ã¢ã¯ã·ã§ã³ãå ±åãã {@link android.view.View#onKeyDown View.onKeyDown()}
ã®ãããªã¡ã½ããï¼ã¯ã常ã«ãã®ããã»ã¹ã®ã¡ã¤ã³ ã¹ã¬ããã§å®è¡ããã¾ããã¤ã¾ããã³ã³ãã¼ãã³ããã·ã¹ãã ããå¼ã³åºãããã¨ãã«ãããã»ã¹å
ã®ä»ã®ã³ã³ãã¼ãã³ãã®å®è¡ã妨ããªããããå®è¡ã«æéããããå¦çãä»ã®å¦¨ãã«ãªããã¨ã®å¤ãå¦çï¼ãããã¯ã¼ã¯å¦çãã«ã¼ãè¨ç®ãªã©ï¼ãã§ããéãé¿ããå¿
è¦ãããã¨ãããã¨ã§ããæéããããå¦çã«ã¯å¥ã®ã¹ã¬ãããçæã§ãã¾ãã詳ããã¯ã次ã®ã¹ã¬ãã ã»ã¯ã·ã§ã³ãã覧ãã ããã
-
-
-
-ç¶æ³ã«ãã£ã¦ã¯ãAndroid ãããã»ã¹ãçµäºãããã¹ãã¨å¤æããå ´åãããã¾ãããã¨ãã°ãã¡ã¢ãªãä¸è¶³ãã¦ããå ´åããä»ã®ããã»ã¹ã§ã¦ã¼ã¶ã¼ã«ãã°ããå¿çããå¿
è¦ãããå ´åã§ããããã»ã¹ãçµäºããã¨ããã®ããã»ã¹å
ã§å®è¡ããã¦ããã¢ããªã±ã¼ã·ã§ã³ ã³ã³ãã¼ãã³ãã¯ç ´æ£ããã¾ãããããã®ã³ã³ãã¼ãã³ãã§å¦çããä½æ¥ãããä¸åº¦çºçããã¨ããã®ããã®ããã»ã¹ãåã³éå§ããã¾ãã
-
-
-
-Android ã§ã¯ãã©ã®ããã»ã¹ãçµäºãããããå¤æãããããã¦ã¼ã¶ã¼ã«ã¨ã£ã¦ã®ç¸å¯¾çãªéè¦åº¦ãéã¿ä»ããã¦ç®¡çãã¾ãããã¨ãã°ãã¢ã¯ãã£ããã£ãã¾ã ç»é¢ã«è¡¨ç¤ºããã¦ããããã»ã¹ãçµäºãããããããã¢ã¯ãã£ããã£ãç»é¢ã«è¡¨ç¤ºããã¦ããªãããã»ã¹ãçµäºãããæ¹ãåççã§ãããããã£ã¦ãããã»ã¹ãçµäºããããã©ããã¯ããã®ããã»ã¹ã§å®è¡ããã¦ããã³ã³ãã¼ãã³ãã®ç¶æ
ã«å¿ãã¦å¤æãããã¨ãããã¨ã§ããã³ã³ãã¼ãã³ãã®ç¶æ
ã«ã¤ãã¦ã¯ãå¾ã»ã©ã³ã³ãã¼ãã³ãã®ã©ã¤ããµã¤ã¯ã«ã§è©³ãã説æãã¾ãã
-
-
-
-ã¹ã¬ãã
-
-
-ã¢ããªã±ã¼ã·ã§ã³ãåä¸ã®ããã»ã¹ã«éå®ããã¨ãã¦ããããã¯ã°ã©ã¦ã³ãã§ã®å¦çã«ã¹ã¬ãããå¿
è¦ã«ãªããã¨ã¯ããããã¾ããã¦ã¼ã¶ã¼ ã¤ã³ã¿ã¼ãã§ã¼ã¹ã¯ã¦ã¼ã¶ã¼ã®ã¢ã¯ã·ã§ã³ã«å¯¾ãã¦å¸¸ã«ãã°ããå¿çã§ããªããã°ãªããªããããã¢ã¯ãã£ããã£ããã¹ãããã¹ã¬ããã§ããããã¯ã¼ã¯ ãã¦ã³ãã¼ãã®ãããªæéã®ãããå¦çãä¸ç·ã«ãã¹ãããªãããã«ããå¿
è¦ãããã¾ããããã«å®äºããªãå¯è½æ§ã®ãããã¹ã¦ã®å¦çã¯ãå¥ã®ã¹ã¬ããã«å²ãå½ã¦ãããã«ãã¦ãã ããã
-
-
-
-ã¹ã¬ããã¯ãæ¨æºã® Java {@link java.lang.Thread} ãªãã¸ã§ã¯ãã使ç¨ãã¦ã³ã¼ãå
ã§ä½æãã¾ããAndroid ã«ã¯ãã¹ã¬ããã管çããããã®ä¾¿å©ãªã¯ã©ã¹ãæ°å¤ãç¨æããã¦ãã¾ãããã¨ãã°ãã¹ã¬ããå
ã§ã¡ãã»ã¼ã¸ ã«ã¼ããå®è¡ããããã® {@link android.os.Looper}ãã¡ãã»ã¼ã¸ãå¦çããããã® {@link android.os.Handler}ãã¡ãã»ã¼ã¸ ã«ã¼ãã§ã¹ã¬ãããè¨å®ããããã® {@link android.os.HandlerThread} ãªã©ãããã¾ãã
-
-
-
-ãªã¢ã¼ã ããã·ã¼ã¸ã£ ã³ã¼ã«
-
-
-Androidã¯è»½éãªä»çµã¿ã®ãªã¢ã¼ãã»ããã·ã¼ã¸ã£ã»ã³ã¼ã« (RPC) ãæ¡ç¨ãã¦ãã¾ããRPC ã¨ã¯ãã¡ã½ããããã¼ã«ã«ã§å¼ã³åºãã¾ãããå®è¡ã¯ãªã¢ã¼ãï¼å¥ã®ããã»ã¹ï¼ã§è¡ãããã®çµæãå¼ã³åºãå´ã«è¿ãã¾ãããã®ããã«ã¯ãã¡ã½ããå¼ã³åºãã¨ããã«ä»éãããã¼ã¿ããªãã¬ã¼ãã£ã³ã°ã·ã¹ãã ã解éã§ããã¬ãã«ã¾ã§å解ãã¦ããããããããã¼ã«ã«ã®ããã»ã¹ã¨ã¢ãã¬ã¹ç©ºéãããªã¢ã¼ãã®ããã»ã¹ã¨ã¢ãã¬ã¹ç©ºéã«è»¢éãããªã¢ã¼ãã§å¼ã³åºããåæ§ç¯ããå¿
è¦ãããã¾ããæ»ãå¤ã¯ãå対æ¹åã«è»¢éããªããã°ãªãã¾ãããAndroid ã«ã¯ãã®å¦çãè¡ãããã®ã³ã¼ãããã¹ã¦ç¨æããã¦ãããããRPC ã¤ã³ã¿ã¼ãã§ã¼ã¹ãå®ç¾©ãã¦å®è£
ããã ã㧠RPC ãå©ç¨ã§ãã¾ãã
-
-
-
-RPC ã¤ã³ã¿ã¼ãã§ã¼ã¹ã«å«ãããã¨ãã§ããã®ã¯ã¡ã½ããã®ã¿ã§ãããã¹ã¦ã®ã¡ã½ããã¯ãæ»ãå¤ããªãå ´åã§ãåæçã«å®è¡ããã¾ãï¼ã¤ã¾ãããªã¢ã¼ã ã¡ã½ãããå®äºããã¾ã§ãã¼ã«ã« ã¡ã½ããããããã¯ããã¾ãï¼ã
-
-
-
-ãã®ã¡ã«ããºã ãç°¡åã«èª¬æããã¨æ¬¡ã®ããã«ãªãã¾ããã¾ããã·ã³ãã«ãªã¤ã³ã¿ã¼ãã§ã¼ã¹å®ç¾©è¨èªï¼IDLï¼ã使ç¨ãã¦ãå®è£
ããã RPC ã¤ã³ã¿ã¼ãã§ã¼ã¹ã宣è¨ãã¾ããaidl
ãã¼ã«ã«ãããRPC ã¤ã³ã¿ã¼ãã§ã¼ã¹ã®å®£è¨ãã Java ã¤ã³ã¿ã¼ãã§ã¼ã¹å®ç¾©ãçæããã¾ãããã®å®ç¾©ã¯ããã¼ã«ã«ã¨ãªã¢ã¼ãã®ä¸¡æ¹ã®ããã»ã¹ã§ä½¿ç¨ããå¿
è¦ãããã¾ããå®ç¾©ã«ã¯ã次ã®å³ã«ç¤ºãããã« 2 ã¤ã®å
é¨ã¯ã©ã¹ãå«ã¾ãã¦ãã¾ã:
-
-
-
-
-
-
-
-ãããã®å
é¨ã¯ã©ã¹ã«ã¯ãIDL ã§å®£è¨ããã¤ã³ã¿ã¼ãã§ã¼ã¹ã®ãªã¢ã¼ã ããã·ã¼ã¸ã£ ã³ã¼ã«ã管çããããã«å¿
è¦ãªã³ã¼ãããã¹ã¦å«ã¾ãã¦ãã¾ããã©ã¡ãã®å
é¨ã¯ã©ã¹ã {@link android.os.IBinder} ã¤ã³ã¿ã¼ãã§ã¼ã¹ãå®è£
ãã¾ããä¸æ¹ã®å
é¨ã¯ã©ã¹ã¯ããã¼ã«ã«ã®ã·ã¹ãã ã§å
é¨çã«ä½¿ç¨ãã¾ãããè¨è¿°ããã³ã¼ãã§ã¯ç¡è¦ãã¦ãæ§ãã¾ãããããä¸æ¹ã®å
é¨ã¯ã©ã¹ã¯ã¹ã¿ãã¨å¼ã°ãã{@link android.os.Binder} ã¯ã©ã¹ãæ¡å¼µãã¾ããã¹ã¿ãã«ã¯ãIPCï¼ããã»ã¹ééä¿¡ï¼å¼ã³åºããçºçãããããã®å
é¨ã³ã¼ãã«å ããIDL ã§å®£è¨ãã RPC ã¤ã³ã¿ã¼ãã§ã¼ã¹å
ã®ã¡ã½ããã®å®£è¨ãå«ã¾ãã¾ãããããã®ã¡ã½ãããå®è£
ããã«ã¯ãå³ã«ç¤ºãããã«ã¹ã¿ãããµãã¯ã©ã¹åãã¾ããï¼ã¤ã®å
é¨ã¯ã©ã¹ã®ãã¡ã®ä¸æ¹ã¯ãã·ã¹ãã ããã¼ã«ã«ãã¤å
é¨çã«ä½¿ç¨ããã®ã§ãéçºè
ãè¨è¿°ããã³ã¼ãã§ã¯ç¡è¦ãã¦ãã¾ãã¾ããã... ãªã¢ã¼ãå´ã§ã¯ãå³ã®ããã«ã¹ã¿ãããµãã¯ã©ã¹åãã¦ããããã®ã¡ã½ãããå®è£
ããå¿
è¦ãããã¾ãã
-
-
-
- é常ããªã¢ã¼ã ããã»ã¹ã¯ãµã¼ãã¹ã§ç®¡çãã¾ãããµã¼ãã¹ãªããããã»ã¹ãä»ã®ããã»ã¹ã¸ã®æ¥ç¶ã«é¢ããæ
å ±ãã·ã¹ãã ã«ä¼ãããã¨ãã§ããããã§ãããµã¼ãã¹ã«ã¯ã{@code aidl} ãã¼ã«ã§çæãããã¤ã³ã¿ã¼ãã§ã¼ã¹ ãã¡ã¤ã«ã¨ãRPC ã¡ã½ãããå®è£
ããã¹ã¿ã ãµãã¯ã©ã¹ã®ä¸¡æ¹ãæããããã¨ã«ãªãã¾ãããµã¼ãã¹ã®ã¯ã©ã¤ã¢ã³ãã«ã¯ã{@code aidl} ãã¼ã«ã§çæãããã¤ã³ã¿ã¼ãã§ã¼ã¹ ãã¡ã¤ã«ã®ã¿ãæããã¾ãã
-
-
-
-以ä¸ã«ããµã¼ãã¹ã¨ãã®ã¯ã©ã¤ã¢ã³ãã®éã®æ¥ç¶ãã©ã®ããã«è¨å®ããããã示ãã¾ã:
-
-
-
-- ãµã¼ãã¹ã®ã¯ã©ã¤ã¢ã³ãï¼ãã¼ã«ã«å´ï¼ã«ã¯
{@link android.content.ServiceConnection#onServiceConnected
-onServiceConnected()}
ããã³{@link android.content.ServiceConnection#onServiceDisconnected
-onServiceDisconnected()}
ã¡ã½ãããå®è£
ããã¦ããããããªã¢ã¼ã ãµã¼ãã¹ã¨ã®æ¥ç¶ã確ç«ãããã¨ããåæãããã¨ãã«ã¯éç¥ãåãããã¨ãã§ãã¾ããéç¥ããã次第ã{@link android.content.Context#bindService bindService()}
ãå¼ã³åºãã¦æ¥ç¶ãè¨å®ãã¾ãã
-
-
--
-ãµã¼ãã¹ã®
{@link android.app.Service#onBind onBind()}
ã¡ã½ããã¯ãåãåã£ãã¤ã³ãã³ãï¼{@code bindService()} ã«æ¸¡ãããã¤ã³ãã³ãï¼ã«å¿ãã¦ãæ¥ç¶ãæ¿èªã¾ãã¯æå¦ããããã«å®è£
ãã¾ããæ¥ç¶ãæ¿èªãããã¨ãæ¥ç¶ãæ¿èªããã®ã§ããã°ãã¹ã¿ã ãµãã¯ã©ã¹ã®ã¤ã³ã¹ã¿ã³ã¹ãè¿ãã¾ãã
-
-
-- ãµã¼ãã¹ãæ¥ç¶ãæ¿èªããã¨ãAndroid ãã¯ã©ã¤ã¢ã³ãã® {@code onServiceConnected()} ã¡ã½ãããå¼ã³åºããIBinder ãªãã¸ã§ã¯ãï¼ãµã¼ãã¹ã管çããã¹ã¿ã ãµãã¯ã©ã¹ã®ãããã·ï¼ã渡ãã¾ããã¯ã©ã¤ã¢ã³ãã¯ããã®ãããã·ãä»ãã¦ãªã¢ã¼ããµã¼ãã¹ãå¼ã³åºããã¨ãã§ãã¾ãã
-
-
-
-
-ããã§ã¯ã説æãç°¡åã«ãããããRPC ã¡ã«ããºã ã®ç´°ããç¹ã¯çç¥ãã¦ãã¾ãã詳ããã¯ãDesigning a Remote Interface Using AIDLãããã³ {@link android.os.IBinder IBinder} ã¯ã©ã¹ã®èª¬æãã覧ãã ããã
-
-
-
-ã¹ã¬ããã»ã¼ããªã¡ã½ãã
-
-
-ç¶æ³ã«ãã£ã¦ã¯å®è£
ããã¡ã½ãããè¤æ°ã®ã¹ã¬ããããå¼ã³åºããããã¨ããããããã¹ã¬ããã»ã¼ããªè¨è¿°ãå¿æããå¿
è¦ãããã¾ãã
-
-
-
-åã®ã»ã¯ã·ã§ã³ã§èª¬æãã RPC ã®ããã«ã¡ã½ããããªã¢ã¼ãã§å¼ã³åºããã¨ãã§ããå ´åã¯ããã®ãããªç¶æ³ãç¹ã«çºçãããããªãã¾ããIBinder ãªãã¸ã§ã¯ãã«å®è£
ããã¦ããã¡ã½ããã IBinder ã¨åãããã»ã¹ããå¼ã³åºãã¨ããã®ã¡ã½ããã¯å¼ã³åºãå´ã®ã¹ã¬ããã§å®è¡ããã¾ããä¸æ¹ãå¥ã®ããã»ã¹ããã¡ã½ãããå¼ã³åºããå ´åã¯ãããã»ã¹ã®ã¡ã¤ã³ ã¹ã¬ããã§ã¯ãªããIBinder ã¨åãããã»ã¹å
ã«ä¿æããã¦ããã¹ã¬ããã®ãã¼ã«ããé¸æãããã¹ã¬ããã§å®è¡ããã¾ãããã¨ãã°ããµã¼ãã¹ã® {@code onBind()} ã¡ã½ããã¯ãã®ãµã¼ãã¹ã®ããã»ã¹ã®ã¡ã¤ã³ ã¹ã¬ããããå¼ã³åºãããã®ã«å¯¾ãã{@code onBind()} ããè¿ããããªãã¸ã§ã¯ãã«å®è£
ããã¦ããã¡ã½ããï¼ãã¨ãã° RPC ã¡ã½ãããå®è£
ããã¹ã¿ã ãµãã¯ã©ã¹ï¼ã¯ãã¼ã«å
ã®ã¹ã¬ããããå¼ã³åºããã¾ãããµã¼ãã¹ã«ã¯è¤æ°ã®ã¯ã©ã¤ã¢ã³ããå²ãå½ã¦ããã¨ãã§ãããããè¤æ°ã®ãã¼ã« ã¹ã¬ãããåã IBinder ã«åæã«å²ãå½ã¦ããã¨ãå¯è½ã§ãããããã£ã¦ãIBinder ã¡ã½ããã¯ã¹ã¬ããã»ã¼ãã«ãªãããã«å®è£
ããå¿
è¦ãããã¾ãã
-
-
-
-åæ§ã«ãã³ã³ãã³ã ãããã¤ããå¥ã®ããã»ã¹ããã®ãã¼ã¿ ãªã¯ã¨ã¹ããåãåããã¨ãã§ãã¾ããContentResolver ããã³ ContentProvider ã¯ã©ã¹ã¯ããã»ã¹ééä¿¡ã®ç®¡çã®è©³ç´°ãé è½ãã¾ããããããã®ãªã¯ã¨ã¹ãã«å¿çãã ContentProvider ã¡ã½ããï¼{@link android.content.ContentProvider#query query()}
ã{@link android.content.ContentProvider#insert insert()}
ã{@link android.content.ContentProvider#delete delete()}
ã{@link android.content.ContentProvider#update update()}
ãããã³ {@link android.content.ContentProvider#getType getType()}
ã¡ã½ããï¼ã¯ãããã»ã¹ã®ã¡ã¤ã³ ã¹ã¬ããã§ã¯ãªããã³ã³ãã³ã ãããã¤ãã®ããã»ã¹å
ã®ã¹ã¬ããã®ãã¼ã«ããå¼ã³åºããã¾ãããããã®ã¡ã½ãããåæã«å¼ã³åºããã¨ã®ã§ããã¡ã½ããã®æ°ã«å¶éã¯ããã¾ããããããã£ã¦ããããã®ã¡ã½ãããã¹ã¬ããã»ã¼ãã«ãªãããã«å®è£
ããå¿
è¦ãããã¾ãã
-
-
-
-ã³ã³ãã¼ãã³ãã®ã©ã¤ããµã¤ã¯ã«
-
-
-ã¢ããªã±ã¼ã·ã§ã³ ã³ã³ãã¼ãã³ãã«ã¯ã©ã¤ããµã¤ã¯ã«ãããã¾ããã©ã¤ããµã¤ã¯ã«ã¯ãã¤ã³ãã³ãã¸å¿çãããã¨ã§ã®ã¤ã³ã¹ã¿ã³ã¹åã§å§ã¾ãããã®ã¤ã³ã¹ã¿ã³ã¹ã®ç ´æ£ã§çµããã¾ãããã®éãã³ã³ãã¼ãã³ããã¢ã¯ãã£ããªã¨ãã¨ã¢ã¯ãã£ãã§ãªãã¨ãããããã¢ã¯ãã£ããã£ã§ããã°ã¦ã¼ã¶ã¼ããè¦ããã¨ãã¨è¦ããªãã¨ããããã¾ãããã®ã»ã¯ã·ã§ã³ã§ã¯ãã¢ã¯ãã£ããã£ããµã¼ãã¹ãããã³ããã¼ããã£ã¹ã ã¬ã·ã¼ãã®ã©ã¤ããµã¤ã¯ã«ã«ã¤ãã¦èª¬æãã¾ããå
·ä½çã«ã¯ããããããã©ã¤ãã¿ã¤ã ã®éã«åããã¨ã®ã§ããç¶æ
ãç¶æ
ã®é·ç§»ãéç¥ããæ¹æ³ãããã³ãããã®ç¶æ
ããã³ã³ãã¼ãã³ããå®è¡ãã¦ããããã»ã¹ãçµäºãããããããã¤ã³ã¹ã¿ã³ã¹ãç ´æ£ããããããå¯è½æ§ã¸ã®å½±é¿ãªã©ã«ã¤ãã¦èª¬æãã¾ãã
-
-
-
-ã¢ã¯ãã£ããã£ã®ã©ã¤ããµã¤ã¯ã«
-
-ã¢ã¯ãã£ããã£ã¯ãåºæ¬çã«ä»¥ä¸ã® 3 ã¤ã®ç¶æ
ãåãã¾ã:
-
-
-- ç¶æ
ãã¢ã¯ãã£ãã¾ãã¯å®è¡ä¸ã®ã¢ã¯ãã£ããã£ã¯ãç»é¢ã®ãã©ã¢ã°ã©ã¦ã³ãã«è¡¨ç¤ºããã¦ããï¼ã¤ã¾ãç¾å¨ã®ã¿ã¹ã¯ã®ã¢ã¯ãã£ãã㣠ã¹ã¿ãã¯ã®æä¸ä½ã«ããï¼ã¢ã¯ãã£ããã£ã§ããããããã¦ã¼ã¶ã¼ã®ã¢ã¯ã·ã§ã³ã®ç¦ç¹ã¨ãªã£ã¦ããã¢ã¯ãã£ããã£ã§ãã
-
-ç¶æ
ãä¸æåæ¢ã®ã¢ã¯ãã£ããã£ã¯ãã¦ã¼ã¶ã¼ã®ã¢ã¯ã·ã§ã³ã®ç¦ç¹ããå¤ãã¦ãã¾ãããã¾ã ã¦ã¼ã¶ã¼ããè¦ããã¨ã®ã§ããã¢ã¯ãã£ããã£ã§ããã¤ã¾ãããããããåé¢ã«ä»ã®ã¢ã¯ãã£ããã£ã表示ããã¦ãã¾ããããã®ã¢ã¯ãã£ããã£ãéæãå
¨ç»é¢è¡¨ç¤ºã§ãªããã®ã©ã¡ããã§ãä¸æåæ¢ãã¦ããã¢ã¯ãã£ããã£ã®ä¸é¨ãè¦ãã¦ããç¶æ
ã§ããä¸æåæ¢ãã¦ããã¢ã¯ãã£ããã£ã¯ãå®å
¨ã«åä½ãã¦ãã¾ãï¼ãã¹ã¦ã®ç¶æ
ãã¡ã³ãã¼æ
å ±ã¯ä¿æããã¦ãããã¦ã£ã³ã㦠ããã¼ã¸ã£ã«ã¢ã¿ãããããã¾ã¾ã«ãªã£ã¦ãã¾ãï¼ããã ããã¡ã¢ãªã極端ã«ä¸è¶³ããå ´åã¯ãã·ã¹ãã ã«ãã£ã¦å¼·å¶çµäºãããããå¯è½æ§ãããã¾ãã
-
-ç¶æ
ãåæ¢ã®ã¢ã¯ãã£ããã£ã¯ãå¥ã®ã¢ã¯ãã£ããã£ã«é ããã¦å®å
¨ã«è¦ããªããªã£ãã¢ã¯ãã£ããã£ã§ãããã¹ã¦ã®ç¶æ
ã¨ã¡ã³ãã¼æ
å ±ã¯ã¾ã ä¿æãã¦ãã¾ããããããããã¦ã¼ã¶ã¼ã«å¯¾ãã¦è¡¨ç¤ºããã¦ããªããããä»ã§ã¡ã¢ãªãå¿
è¦ãªå ´åã¯å¼·å¶çµäºãããããå¯è½æ§ãé«ãã¢ã¯ãã£ããã£ã§ãã
-
-
-
-ã·ã¹ãã ãä¸æåæ¢ã¾ãã¯åæ¢ãã¦ããã¢ã¯ãã£ããã£ãã¡ã¢ãªããåé¤ããå ´åã¯ãã¢ã¯ãã£ããã£ã® {@link android.app.Activity#finish finish()} ã¡ã½ãããå¼ã³åºãã¦çµäºãè¦æ±ããããåç´ã®ãã®ããã»ã¹ãå¼·å¶çµäºãã¾ãããã®ã¢ã¯ãã£ããã£ãããä¸åº¦ã¦ã¼ã¶ã¼ã«è¡¨ç¤ºããéã¯ãå®å
¨ã«åèµ·åãã¦ä»¥åã®ç¶æ
ã«å¾©å
ããå¿
è¦ãããã¾ãã
-
-
-
-ã¢ã¯ãã£ããã£ãããç¶æ
ããå¥ã®ç¶æ
ã«é·ç§»ããã¨ã以ä¸ã® protected ã¡ã½ããã«å¯¾ããå¼ã³åºãã«ãã£ã¦å¤æ´ãéç¥ããã¾ã:
-
-
-{@code void onCreate(Bundle savedInstanceState)}
{@code void onStart()}
{@code void onRestart()}
{@code void onResume()}
{@code void onPause()}
{@code void onStop()}
{@code void onDestroy()}
-
-
-ãããã®ã¡ã½ããã¯ãã¹ã¦ãç¶æ
ãå¤åããã¨ãã«é©åãªå¦çãè¡ãããã«ãªã¼ãã¼ã©ã¤ãã§ããããã¯ã§ãããªãã¸ã§ã¯ããåãã¦ã¤ã³ã¹ã¿ã³ã¹åãããã¨ãã«åæè¨å®ãè¡ãããããã¹ã¦ã®ã¢ã¯ãã£ããã£ã«ã¯ {@link android.app.Activity#onCreate onCreate()}
ãå®è£
ããå¿
è¦ãããã¾ããå¤ãã®ã¢ã¯ãã£ããã£ã«ã¯ããã¼ã¿ã®å¤æ´ãã³ãããããããã® {@link android.app.Activity#onPause onPause()}
ãå®è£
ãã¾ãããããå®è£
ããªãå ´åã¯ãä½ããã®æ¹æ³ã§ã¦ã¼ã¶ã¼ã¨ã®å¯¾è©±ãåæ¢ã§ããããã«ãã¦ããå¿
è¦ãããã¾ãã
-
-
-
-
-
ã¹ã¼ãã¼ã¯ã©ã¹ã®å¼ã³åºã
-
-ã©ã®ã¢ã¯ãã£ãã㣠ã©ã¤ããµã¤ã¯ã« ã¡ã½ããã®å®è£
ã§ããå¿
ãæåã«ã¹ã¼ãã¼ã¯ã©ã¹ ãã¼ã¸ã§ã³ãå¼ã³åºãå¿
è¦ãããã¾ãã次ã«ä¾ã示ãã¾ã:
-
-
-
protected void onPause() {
- super.onPause();
- . . .
-}
-
-
-
-
-
-ããã 7 ã¤ã®ã¡ã½ããã使ç¨ããã¨ãã¢ã¯ãã£ããã£ã®ã©ã¤ããµã¤ã¯ã«å
¨ä½ãå®ç¾©ã§ãã¾ããããããå®è£
ãããã¨ã§ããã¹ãããã 3 ã¤ã®ã«ã¼ããããªãã¢ã¯ãã£ããã£ã®ã©ã¤ããµã¤ã¯ã«ãç£è¦ã§ãã¾ã:
-
-
-
-- ã¢ã¯ãã£ããã£ã®ã©ã¤ãã¿ã¤ã å
¨ä½ã¯ã
{@link android.app.Activity#onCreate onCreate()}
ãåãã¦å¼ã³åºãããã¨ãã«å§ã¾ããæå¾ã« {@link android.app.Activity#onDestroy}
ãå¼ã³åºãããã¨ãã«çµäºãã¾ããã¢ã¯ãã£ããã£ã¯ã{@code onCreate()} ã§ãå
¨ä½çããªç¶æ
ã®ãã¹ã¦ã®åæè¨å®ãè¡ãã{@code onDestroy()} æ®ã£ã¦ãããªã½ã¼ã¹ããã¹ã¦è§£æ¾ãã¾ãããã¨ãã°ããããã¯ã¼ã¯ããã®ãã¼ã¿ã®ãã¦ã³ãã¼ããããã¯ã°ã©ã¦ã³ãã§å®è¡ããã¹ã¬ããã¯ã{@code onCreate()} ã§ä½æããã{@code onDestroy()} ã§åæ¢ãã¾ãã
-
-ã¢ã¯ãã£ããã£ã®å¯è¦ã©ã¤ãã¿ã¤ã ã¯ã{@link android.app.Activity#onStart onStart()}
ã®å¼ã³åºãã§å§ã¾ãã対å¿ãã {@link android.app.Activity#onStop onStop()}
ã®å¼ã³åºãã§çµäºãã¾ãããã®ã©ã¤ãã¿ã¤ã ã®éã¯ãã¦ã¼ã¶ã¼ãç»é¢ä¸ã§ãã®ã¢ã¯ãã£ããã£ãè¦ããã¨ãã§ãã¾ãããã ããã¢ã¯ãã£ããã£ããã©ã¢ã°ã©ã¦ã³ãã«ãªãå ´åããã¦ã¼ã¶ã¼ã¨å¯¾è©±ãã¦ããªãå ´åãããã¾ãããããã® 2 ã¤ã®ã¡ã½ããã®éã¯ãã¦ã¼ã¶ã¼ã«å¯¾ãã¦ã¢ã¯ãã£ããã£ã表示ããããã«å¿
è¦ãªãªã½ã¼ã¹ã確ä¿ã§ãã¾ãããã¨ãã°ã{@code onStart()} 㧠{@link android.content.BroadcastReceiver} ãç»é²ã㦠UI ã«å½±é¿ããå¤åãç£è¦ãã表示ãã¦ããã¢ã¯ãã£ããã£ãã¦ã¼ã¶ã¼ããè¦ããªããªã£ãã {@code onStop()} ã§ç»é²ã解é¤ã§ãã¾ãã{@code onStart()} ããã³ {@code onStop()} ã¡ã½ããã¯ãã¢ã¯ãã£ããã£ãã¦ã¼ã¶ã¼ããè¦ãé ããããã³ã«ç¹°ãè¿ãå¼ã³åºããã¨ãã§ãã¾ãã
-
-ã¢ã¯ãã£ããã£ã®ãã©ã¢ã°ã©ã¦ã³ã ã©ã¤ãã¿ã¤ã ã¯ã{@link android.app.Activity#onResume onResume()}
ã®å¼ã³åºãã§å§ã¾ãã対å¿ãã {@link android.app.Activity#onPause onPause()}
ã®å¼ã³åºãã§çµäºãã¾ãããã©ã¢ã°ã©ã¦ã³ã ã©ã³ã¿ã¤ã ã®éã¯ããã®ã¢ã¯ãã£ããã£ãä»ã®ã©ã®ã¢ã¯ãã£ããã£ãããåé¢ã«è¡¨ç¤ºãããã¦ã¼ã¶ã¼ã¨å¯¾è©±ãã¦ãã¾ããã¢ã¯ãã£ããã£ã¯ãä¸æåæ¢ç¶æ
ã¨åéç¶æ
ã®éãé »ç¹ã«é·ç§»ãã¾ãããã¨ãã°ãããã¤ã¹ãã¹ãªã¼ãç¶æ
ã«ãªãã¨ããæ°ããã¢ã¯ãã£ããã£ãéå§ããã¨ãã«ã¯ {@code onPause()} ãå¼ã³åºãããã¢ã¯ãã£ããã£ã®çµæãæ°ããã¤ã³ãã³ããå±ããã¨ãã«ã¯ {@code onResume()} ãå¼ã³åºããã¾ãããããã£ã¦ããããã®ã¡ã½ãããè¨è¿°ããéã¯ãã§ããã ã軽éåãã¦ããå¿
è¦ãããã¾ãã
-
-
-
-次ã®å³ã«ããããã®ã«ã¼ãã¨ã¢ã¯ãã£ããã£ã®é·ç§»çµè·¯ã示ãã¾ããè²ã®ä»ããæ¥åã¯ãã¢ã¯ãã£ããã£ãåããã¨ã®ã§ãã主ãªç¶æ
ã§ããé·æ¹å½¢ã¯ãã¢ã¯ãã£ããã£ãç¶æ
éãé·ç§»ããã¨ãã«å¦çãå®è¡ããããã«å®è£
ã§ããã³ã¼ã«ãã㯠ã¡ã½ããã表ãã¾ãã
-
-
-
-
-
-次ã®è¡¨ã§ã¯ãåã¡ã½ããã«ã¤ãã¦è©³ãã説æããã©ã¤ããµã¤ã¯ã«å
¨ä½ã«ãããä½ç½®ä»ãã示ãã¾ã:
-
-
-
-
-
-
-
-
-
-ã¡ã½ãã | 説æ | å¼·å¶çµäº | 次 |
-
-
-
-
- {@link android.app.Activity#onCreate onCreate()} |
- ã¢ã¯ãã£ããã£ãåãã¦ä½æãããã¨ãã«å¼ã³åºããã¾ããé常ã®éçãªè¨å®ï¼ãã¥ã¼ã®ä½æããªã¹ãã¸ã®ãã¼ã¿ã®ãã¤ã³ããªã©ï¼ã¯ããã¹ã¦ã®ãã®ã¡ã½ããã§è¡ãå¿
è¦ãããã¾ãããã®ã¢ã¯ãã£ããã£ã® 以åã®ç¶æ
ãä¿åããã¦ããå ´åããã®ã¡ã½ããã«ã¯ãã®ç¶æ
ãä¿æãã¦ãã Bundle ãªãã¸ã§ã¯ããå¼æ°ã¨ãã¦ï¼è©³ããã¯ãå¾è¿°ã®ã¢ã¯ãã£ããã£ã®ç¶æ
ã®ä¿åãã覧ãã ããï¼ã
- ãã®å¾ã«ã¯ãå¿
ã {@code onStart()} ãå¼ã³åºããã¾ãã |
- ä¸å¯ |
- {@code onStart()} |
-
-
-
- |
- {@link android.app.Activity#onRestart
-onRestart()} |
- ã¢ã¯ãã£ããã£ãåæ¢ããå¾ããããããä¸åº¦éå§ããç´åã«å¼ã³åºããã¾ãã
- ãã®å¾ã«ã¯ãå¿
ã {@code onStart()} ãå¼ã³åºããã¾ãã |
- ä¸å¯ |
- {@code onStart()} |
-
-
-
- {@link android.app.Activity#onStart onStart()} |
- ã¢ã¯ãã£ããã£ãã¦ã¼ã¶ã¼ããè¦ããããã«ãªãç´åã«å¼ã³åºããã¾ãã
- ãã®å¾ãã¢ã¯ãã£ããã£ããã©ã¢ã°ã©ã¦ã³ãã«è¡¨ç¤ºãããå ´å㯠{@code onResume()} ããä»ã®ã¢ã¯ãã£ããã£ã®å¾ãã«é ããå ´å㯠{@code onStop()} ãå¼ã³åºããã¾ãã |
- ä¸å¯ |
- {@code onResume()} ã¾ã㯠{@code onStop()} |
-
-
-
- |
- {@link android.app.Activity#onResume onResume()} |
- ã¢ã¯ãã£ããã£ãã¦ã¼ã¶ã¼ã¨ã®å¯¾è©±ãéå§ããç´åã«å¼ã³åºããã¾ãããã®æç¹ã§ãã¢ã¯ãã£ããã£ã¯ã¢ã¯ãã£ãã㣠ã¹ã¿ãã¯ã®æä¸ä½ã«ãããã¦ã¼ã¶ã¼ããã®å
¥åã¯ãã®ã¢ã¯ãã£ããã£ã«å¯¾ãã¦è¡ããã¾ãã
- ãã®å¾ã«ã¯ãå¿
ã {@code onPause()} ãå¼ã³åºããã¾ãã |
- ä¸å¯ |
- {@code onPause()} |
-
-
-
- {@link android.app.Activity#onPause onPause()} |
- ã·ã¹ãã ãå¥ã®ã¢ã¯ãã£ããã£ãéå§ãããã¨ãã¦ããã¨ãã«å¼ã³åºããã¾ãããã®ã¡ã½ããã¯ãä¿åããã¦ããªãå¤æ´ãæ°¸ç¶ãã¼ã¿ã«ã³ãããããå ´åããã¢ãã¡ã¼ã·ã§ã³ã®ããã« CPU ã大éã«æ¶è²»ããå¦çãåæ¢ããå ´åã«ä½¿ç¨ããã®ãä¸è¬çã§ãããã®ã¡ã½ãããçµäºããã¾ã§ã¯æ¬¡ã®ã¢ã¯ãã£ããã£ãéå§ããããªããããã§ããéãçæéã§å®è¡ã§ããããã«ãã¦ããå¿
è¦ãããã¾ãã
- ãã®å¾ãã¢ã¯ãã£ããã£ããã©ã¢ã°ã©ã¦ã³ãã«æ»ã£ãå ´å㯠{@code onResume()} ããã¦ã¼ã¶ã¼ããè¦ããªããªã£ãå ´å㯠{@code onStop()} ãå¼ã³åºããã¾ãã |
- å¯è½ |
- {@code onResume()} ã¾ã㯠{@code onStop()} |
-
-
-
- {@link android.app.Activity#onStop onStop()} |
- ã¢ã¯ãã£ããã£ãã¦ã¼ã¶ã¼ããè¦ããªããªã£ãã¨ãã«å¼ã³åºããã¾ããè¦ããªããªãç¶æ³ã¨ãã¦ã¯ãã¢ã¯ãã£ããã£ãç ´æ£ãããå ´åããåéãããå¥ã®ã¢ã¯ãã£ããã£ï¼æ¢åãæ°è¦ããåããï¼ã«ãã£ã¦é ãããå ´åãèãããã¾ãã
- ãã®å¾ãã¢ã¯ãã£ããã£ãã¦ã¼ã¶ã¼ã¨ã®å¯¾è©±ã«æ»ã£ãå ´å㯠{@code onRestart()} ããã¢ã¯ãã£ããã£ãå®å
¨ã«çµäºããå ´å㯠{@code onDestroy()} ãå¼ã³åºããã¾ãã |
- å¯è½ |
- {@code onRestart()} ã¾ã㯠{@code onDestroy()} |
-
-
-
- {@link android.app.Activity#onDestroy
-onDestroy()} |
- ã¢ã¯ãã£ããã£ãç ´æ£ãããåã«å¼ã³åºããã¾ããããããã¢ã¯ãã£ããã£ãåãåãæå¾ã®å¼ã³åºãã¨ãªãã¾ãããã®ã¡ã½ãããå¼ã³åºãããç¶æ³ã¨ãã¦ã¯ãã¢ã¯ãã£ããã£ãå®äºããå ´åï¼{@link android.app.Activity#finish
- finish()} ãå¼ã³åºãããã¨ãï¼ããã·ã¹ãã ãé åã確ä¿ããããã«ä¸æçã«ãã®ã¢ã¯ãã£ããã£ã®ã¤ã³ã¹ã¿ã³ã¹ãç ´æ£ããå ´åãèãããã¾ãããããã® 2 ã¤ã®ç¶æ³ã¯ã{@link
- android.app.Activity#isFinishing isFinishing()} ã¡ã½ããã使ç¨ãã¦èå¥ã§ãã¾ãã |
- å¯è½ |
- ãªã |
-
-
-
-
-
-表ã®å¼·å¶çµäºåã«æ³¨ç®ãã¦ãã ããããã®åã¯ãã¡ã½ãããçµäºããå¾ã§ããã°ãã·ã¹ãã ãã¢ã¯ãã£ããã£ã®ã³ã¼ãã®å¥ã®è¡ãå®è¡ãããã¨ãªããã¤ã§ãã¢ã¯ãã£ããã£ãå®è¡ãã¦ããããã»ã¹ãå¼·å¶çµäºã§ãããã©ããã示ãã¦ãã¾ãã{@code onPause()}ã{@code onStop()}ãããã³ {@code onDestroy()} ã¡ã½ããã® 3 ã¤ã¯ãå¯è½ãã¨ãªã£ã¦ãã¾ãã1 çªç®ã«æãã {@code onPause()} ã ãã¯ãããã»ã¹ãå¼·å¶çµäºããåã«å¿
ãå¼ã³åºããã¾ãã{@code onStop()} 㨠{@code onDestroy()} ã¯ãå¿
ãå¼ã³åºãããã¨ã¯éãã¾ããããããã£ã¦ãæ°¸ç¶ãã¼ã¿ï¼ãã¨ãã°ã¦ã¼ã¶ã¼ã«ããç·¨éï¼ãã¹ãã¬ã¼ã¸ã«æ¸ãè¾¼ãé㯠{@code onPause()} ã使ç¨ããå¿
è¦ãããã¾ãã
-
-
-
-å¼·å¶çµäºåããä¸å¯ãã«ãªã£ã¦ããã¡ã½ããã¯ãããããå¼ã³åºãããç¬éãããã¢ã¯ãã£ããã£ãå®è¡ãã¦ããããã»ã¹ãä¿è·ãã¦å¼·å¶çµäºãããªãããã«ãã¾ãããããã£ã¦ãã¢ã¯ãã£ããã£ãå¼·å¶çµäºå¯è½ãªç¶æ
ã«ããã®ã¯ããã¨ãã° {@code onPause()} ãè¿ããã¦ãã {@code onResume()} ãå¼ã³åºãããã¾ã§ã®éã¨ãããã¨ã§ãããã®å¾ã¯ãããä¸åº¦ {@code onPause()} ãè¿ãããã¾ã§ãå¼·å¶çµäºã§ããç¶æ
ã«ã¯æ»ãã¾ããã
-
-
-
-å¾è¿°ã®ããã»ã¹ã¨ã©ã¤ããµã¤ã¯ã«ã®ã»ã¯ã·ã§ã³ã§è©³ãã説æãã¾ãããããã§ã®å®ç¾©ã§æè¡çã«ã¯ãå¼·å¶çµäºå¯è½ãã§ãªãã¢ã¯ãã£ããã£ã§ããã·ã¹ãã ã«ãã£ã¦å¼·å¶çµäºãããããå¯è½æ§ã¯ããã¾ãããä»ã«å©ç¨ã§ãããªã½ã¼ã¹ããªããªã©ã極端ã«æ¥ãè¦ããå ´åã«éããã¾ãã
-
-
-
-ã¢ã¯ãã£ããã£ã®ç¶æ
ã®ä¿å
-
-
-ã¡ã¢ãªä¸è¶³ãè£ãããã«ã¦ã¼ã¶ã¼ã§ã¯ãªãã·ã¹ãã ãã¢ã¯ãã£ããã£ãçµäºãããå ´åã«ã¯ï¼ã¦ã¼ã¶ããã®ã¢ã¯ãã£ããã£ã«æ»ã£ãã¨ãã«ã以åã®ç¶æ
ã®ã¾ã¾ã§ãããã¨ãæå¾
ããã§ãããã
-
-
-
-ã¢ã¯ãã£ããã£ãå¼·å¶çµäºãããããåã®ç¶æ
ãä¿åãã¦ããããå ´åã¯ãã¢ã¯ãã£ããã£ã« {@link android.app.Activity#onSaveInstanceState
-onSaveInstanceState()}
ã¡ã½ãããå®è£
ãã¾ãããã®ã¡ã½ããã¯ãã¢ã¯ãã£ããã£ãç ´æ£ãããããç¶æ
ã«ãªãåï¼ã¤ã¾ã {@code onPause()} ãå¼ã³åºãããåï¼ã«å¼ã³åºããã¾ãããã®éãã¢ã¯ãã£ããã£ã®åçãªç¶æ
ãåå/å¤ãã¢ã¨ãã¦è¨é²ã§ãã {@link android.os.Bundle} ãªãã¸ã§ã¯ãã渡ããã¾ããã¢ã¯ãã£ããã£ãããä¸åº¦éå§ãããã¨ãBundle 㯠{@code onCreate()} ã ãã§ãªãã{@code onStart()} ã®å¾ã«å¼ã³åºããã {@link
-android.app.Activity#onRestoreInstanceState onRestoreInstanceState()}
ã¡ã½ããã«ã渡ãããä¿åããã¦ããç¶æ
ããã®ã©ã¡ããã¾ãã¯ä¸¡æ¹ã§å¾©å
ã§ãã¾ãã
-
-
-
-{@code onSaveInstanceState()} ããã³ {@code onRestoreInstanceState()} ã¡ã½ããã¯ãããã¾ã§ã«èª¬æãã {@code onPause()} ãªã©ã¨ã¯ç°ãªããã©ã¤ããµã¤ã¯ã« ã¡ã½ããã§ã¯ããã¾ããããããã®ã¡ã½ããã¯ã常ã«å¼ã³åºãããããã§ã¯ããã¾ããããã¨ãã°ã{@code onSaveInstanceState()} ã¯ãã·ã¹ãã ã«ãã£ã¦ã¢ã¯ãã£ããã£ãç ´æ£ããããç¶æ
ã«ãããåã«ã¯å¼ã³åºããã¾ãããã¦ã¼ã¶ã¼ã®ã¢ã¯ã·ã§ã³ï¼ãã¨ãã° [[]æ»ã] ãã¼ï¼ã«ãã£ã¦ã¤ã³ã¹ã¿ã³ã¹ãå®éã«ç ´æ£ãããã¨ãã«ã¯å¼ã³åºããã¾ããããã®ãããªå ´åã¯ãã¦ã¼ã¶ã¼ããã®ã¢ã¯ãã£ããã£ã«æ»ããã¨ãæ³å®ããå¿
è¦ã¯ãªããããç¶æ
ãä¿åããçç±ããªãã®ã§ãã
-
-
-
-{@code onSaveInstanceState()} ã¯å¸¸ã«å¼ã³åºãããã¨ã¯éããªããããã¢ã¯ãã£ããã£ã®ä¸æçãªç¶æ
ãè¨é²ããç®çã®ã¿ã«ä½¿ç¨ããæ°¸ç¶ãã¼ã¿ã®æ ¼ç´ã«ã¯ä½¿ç¨ããªãããã«ãã¦ãã ããããã®ç®çã«ã¯ {@code onPause()} ã使ç¨ãã¾ãã
-
-
-
-ã¢ã¯ãã£ããã£ã®å調
-
-
-ããã¢ã¯ãã£ããã£ãå¥ã®ã¢ã¯ãã£ããã£ãéå§ããã¨ã両æ¹ã®ã¢ã¯ãã£ããã£ã®ã©ã¤ããµã¤ã¯ã«ç¶æ
ãé·ç§»ãã¾ããä¸æ¹ãä¸æåæ¢ã¾ãã¯åæ¢ããããä¸æ¹ãéå§ããã¾ããå ´åã«ãã£ã¦ã¯ããããã®å調ãããå¿
è¦ãããã¾ãã
-
-
-
-ã©ã¤ããµã¤ã¯ã«ã®ã³ã¼ã«ããã¯ã®é åºã¯æ確ã«å®ç¾©ããã¦ãããç¹ã« 2 ã¤ã®ã¢ã¯ãã£ããã£ãåãããã»ã¹å
ã«åå¨ããå ´åã¯æ¬¡ã®ããã«ãªãã¾ã:
-
-
-
-- ç¾å¨ã®ã¢ã¯ãã£ããã£ã® {@code onPause()} ã¡ã½ãããå¼ã³åºããã¾ãã
-
-- ç¶ãã¦ãéå§ãããã¢ã¯ãã£ããã£ã® {@code onCreate()}ã{@code onStart()}ãããã³ {@code onResume()} ã¡ã½ãããé çªã«å¼ã³åºããã¾ãã
-
-- ãã®å¾ãéå§ãããã¢ã¯ãã£ããã£ãç»é¢ä¸ã§è¦ããªããªãã¨ããã® {@code onStop()} ã¡ã½ãããå¼ã³åºããã¾ãã
-
-
-
-ãµã¼ãã¹ã®ã©ã¤ããµã¤ã¯ã«
-
-
-ãµã¼ãã¹ã¯ã以ä¸ã® 2 ã¤ã®æ¹æ³ã§ä½¿ç¨ã§ãã¾ã:
-
-
-
-
-
-ããã 2 ã¤ã®ã¢ã¼ãã¯ãå®å
¨ã«åé¢ããã¦ããããã§ã¯ããã¾ããã{@code startService()} ã§éå§ããããµã¼ãã¹ã«ãã¤ã³ããããã¨ãå¯è½ã§ãããã¨ãã°ãåçããæ²ãæå®ãã Intent ãªãã¸ã§ã¯ã㧠{@code startService()} ãå¼ã³åºãã¦é³æ¥½åçãµã¼ãã¹ãéå§ããã¨ãã¾ãããã®å¾ããã¨ãã°ã¦ã¼ã¶ã¼ããã¬ã¼ã¤ã¼ãæä½ãããå ´åãåçä¸ã®æ²ã«é¢ããæ
å ±ãå
¥æãããå ´åã«ã¯ãã¢ã¯ãã£ããã£ãã {@code bindService()} ãå¼ã³åºãã¦ãµã¼ãã¹ã¨ã®æ¥ç¶ã確ç«ã§ãã¾ãããã®ãããªå ´åãæå¾ã®ãã¤ã³ããéããããã¾ã§ã¯ã{@code stopService()} ãå¼ã³åºãã¦ããµã¼ãã¹ã¯åæ¢ãã¾ããã
-
-
-
-ã¢ã¯ãã£ããã£ã¨åæ§ããµã¼ãã¹ã«ãã©ã¤ããµã¤ã¯ã« ã¡ã½ããããããããããå®è£
ãããã¨ã§ãµã¼ãã¹ã®ç¶æ
ã®å¤åãç£è¦ã§ãã¾ãããã ããprotected ã§ã¯ãªã public ã§ã以ä¸ã® 3 ã¤ããããã¾ãã:
-
-
-{@code void onCreate()}
{@code void onStart(Intent intent)}
{@code void onDestroy()}
-
-
-ãããã®ã¡ã½ãããå®è£
ãããã¨ã§ããã¹ãããã 2 ã¤ã®ã«ã¼ããããªããµã¼ãã¹ã®ã©ã¤ããµã¤ã¯ã«ãç£è¦ã§ãã¾ã:
-
-
-
-- ãµã¼ãã¹ã®ã©ã¤ãã¿ã¤ã å
¨ä½ã¯ã
{@link android.app.Service#onCreate onCreate()}
ãå¼ã³åºãããã¨ãã«å§ã¾ãã{@link android.app.Service#onDestroy}
çµäºããã¨ãã«çµããã¾ããã¢ã¯ãã£ããã£ã¨åããããµã¼ãã¹ã {@code onCreate()} ã§åæè¨å®ãè¡ãã{@code onDestroy()} ã§æ®ã£ã¦ãããªã½ã¼ã¹ããã¹ã¦è§£æ¾ãã¾ãããã¨ãã°ãé³æ¥½åçãµã¼ãã¹ã§ããã°ã{@code onCreate()} ã§é³æ¥½ãåçããã¹ã¬ãããä½æãã{@code onDestroy()} ã§ãã®ã¹ã¬ãããåæ¢ã§ãã¾ãã
-
-ãµã¼ãã¹ã®ã¢ã¯ãã£ã ã©ã¤ãã¿ã¤ã ã¯ã{@link android.app.Service#onStart onStart()}
ãå¼ã³åºããã¨ãã«å§ã¾ãã¾ãããã®ã¡ã½ããã«ã¯ã{@code startService()} ã«æ¸¡ããã Intent ãªãã¸ã§ã¯ãã渡ããã¾ããé³æ¥½åçãµã¼ãã¹ã¯ããã® Intent ãªãã¸ã§ã¯ããã¿ã¦æ²ãè¦ã¤ãããã®åçãéå§ãã¾ãã
-
-
-ãµã¼ãã¹ã®åæ¢ã«ç¸å½ããã³ã¼ã«ããã¯ãã¤ã¾ã {@code onStop()} ã¡ã½ããã¯ããã¾ããã
-
-
-
-
-{@code onCreate()} ããã³ {@code onDestroy()} ã¡ã½ããã¯ããµã¼ãã¹ã {@link android.content.Context#startService Context.startService()}
ã¾ã㯠{@link android.content.Context#bindService Context.bindService()}
ã®ã©ã¡ãã§éå§ãããã«é¢ä¿ãªãããã¹ã¦ã®ãµã¼ãã¹ã§å¼ã³åºããã¾ããä¸æ¹ã{@code onStart()} ã¯ããµã¼ãã¹ã {@code startService()} ã§éå§ããå ´åã®ã¿å¼ã³åºããã¾ãã
-
-
-
-ãµã¼ãã¹ãä»ããã®ãã¤ã³ãã許å¯ãã¦ããå ´åã¯ã以ä¸ã®ã³ã¼ã«ãã㯠ã¡ã½ããã追å ã§å®è£
ã§ãã¾ã:
-
-
-{@code IBinder onBind(Intent intent)}
{@code boolean onUnbind(Intent intent)}
{@code void onRebind(Intent intent)}
-
-
-{@link android.app.Service#onBind onBind()}
ã³ã¼ã«ããã¯ã«ã¯ {@code bindService()} ã«æ¸¡ããã Intent ãªãã¸ã§ã¯ãã渡ããã{@link android.app.Service#onUnbind onUnbind()}
ã«ã¯ {@code unbindService()} 渡ããã Intent ãªãã¸ã§ã¯ãã渡ããã¾ãããµã¼ãã¹ããã¤ã³ãã許å¯ãã¦ããå ´åã¯ãã¯ã©ã¤ã¢ã³ãããµã¼ãã¹ã¨å¯¾è©±ããéä¿¡ãã£ãã«ã {@code onBind()} ã§è¿ãã¾ãã{@code onUnbind()} ã¡ã½ããã¯ããµã¼ãã¹ã«æ°ããã¯ã©ã¤ã¢ã³ããæ¥ç¶ããå ´åã« {@link android.app.Service#onRebind onRebind()}
ã®å¼ã³åºããè¦æ±ã§ãã¾ãã
-
-
-
-次ã®å³ã«ããµã¼ãã¹ã®ã³ã¼ã«ãã㯠ã¡ã½ããã示ãã¾ãããªãã{@code startService()} ã§ä½æããããµã¼ãã¹ã¨ã{@code bindService()} ã§ä½æããããµã¼ãã¹ãåãã¦è¨è¿°ãã¦ãã¾ãããä½æãããæ¹æ³ã«é¢ä¿ãªãï¼ãã¹ã¦ã®ãµã¼ãã¹ã¯ã¯ã©ã¤ã¢ã³ãããã®ãã¤ã³ãã許å¯ã§ãã¾ãããããã£ã¦ãã©ã®ãµã¼ãã¹ã {@code onBind()} ããã³{@code onUnbind()} ã¡ã½ããã®å¼ã³åºããåãåãå¯è½æ§ã¯ããã¾ãã
-
-
-
-
-
-ããã¼ããã£ã¹ã ã¬ã·ã¼ãã®ã©ã¤ããµã¤ã¯ã«
-
-
-ããã¼ããã£ã¹ã ã¬ã·ã¼ãã®ã³ã¼ã«ãã㯠ã¡ã½ããã¯æ¬¡ã® 1 ã¤ã®ã¿ã§ã:
-
-
-{@code void onReceive(Context curContext, Intent broadcastMsg)}
-
-
-ã¬ã·ã¼ãã«ããã¼ããã£ã¹ã ã¡ãã»ã¼ã¸ãå±ãã¨ã{@link android.content.BroadcastReceiver#onReceive onReceive()}
ã¡ã½ãããå¼ã³åºãããã¡ãã»ã¼ã¸ãä¿æãã Intent ãªãã¸ã§ã¯ãã渡ããã¾ããããã¼ããã£ã¹ã ã¬ã·ã¼ãã¯ããã®ã¡ã½ããã®å®è¡ä¸ã®ã¿ã¢ã¯ãã£ãã¨è¦ãªããã¾ãã{@code onReceive()} çµäºããã¨ãããã¼ããã£ã¹ã ã¬ã·ã¼ãã¯ã¢ã¯ãã£ãã§ãªããªãã¾ãã
-
-
-
-ããã¼ããã£ã¹ã ã¬ã·ã¼ããã¢ã¯ãã£ãã«ãªã£ã¦ããããã»ã¹ã¯ãå¼·å¶çµäºããªãããä¿è·ããã¾ããä¸æ¹ãã¢ã¯ãã£ãã§ãªãã³ã³ãã¼ãã³ãã®ã¿ãããªãããã»ã¹ã¯ããããæ¶è²»ãã¦ããã¡ã¢ãªãä»ã®ããã»ã¹ã§å¿
è¦ã«ãªã£ãå ´åã¯ããã¤ã§ãå¼·å¶çµäºãããå¯è½æ§ãããã¾ãã
-
-
-
-ãã®ç¹ã¯ãããã¼ããã£ã¹ã ã¡ãã»ã¼ã¸ã¸ã®å¿çã«æéãããããããã¦ã¼ã¶ã¼ ã¤ã³ã¿ã¼ãã§ã¼ã¹ã®ä»ã®ã³ã³ãã¼ãã³ããå®è¡ãã¦ããã¡ã¤ã³ ã¹ã¬ããã¨ã¯å¥ã®ã¹ã¬ããã§ä½ããã®å¦çãè¡ãå¿
è¦ãããå ´åã«åé¡ã«ãªãã¾ãã{@code onReceive()} ãæ°ããã¹ã¬ãããçæãã¦çµäºããå ´åãããã»ã¹å
ã«ä»ã«ã¢ã¯ãã£ããªã¢ããªã±ã¼ã·ã§ã³ ã³ã³ãã¼ãã³ãããªããã°ããã®ã¹ã¬ãããå«ããããã»ã¹å
¨ä½ãã¢ã¯ãã£ãã§ãªãã¨å¤æããã¦å¼·å¶çµäºãããããããããããã¾ãããã®åé¡ãåé¿ããã«ã¯ã{@code onReceive()} ã§ãµã¼ãã¹ãéå§ãããã®ãµã¼ãã¹ã«ã¸ã§ããå®è¡ããã¾ããããã«ãããããã»ã¹å
ã«ã¾ã ã¢ã¯ãã£ããªã³ã³ãã¼ãã³ããããã¨è¦ãªããã¾ãã
-
-
-
-次ã®ã»ã¯ã·ã§ã³ã§ã¯ãããã»ã¹ãå¼·å¶çµäºãããå¯è½æ§ãé«ããªãç¶æ³ã«ã¤ãã¦ããã«è©³ãã説æãã¾ãã
-
-
-
-ããã»ã¹ã¨ã©ã¤ããµã¤ã¯ã«
-
-Android ã¯ãããã»ã¹ãã§ããã ãé·ãéç¶æãããã¨ãã¾ããããããæçµçã«ã¡ã¢ãªãä¸è¶³ããã¨ãã«ã¯ãå¤ãããã»ã¹ãåé¤ããªããã°ãªããªããªãã¾ããAndroid ã§ã¯ãã©ã®ããã»ã¹ãç¶æããã©ã®ããã»ã¹ãå¼·å¶çµäºãããããå¤æãããããããã»ã¹å
ã§å®è¡ããã¦ããã³ã³ãã¼ãã³ãã¨åã³ã³ãã¼ãã³ãã®ç¶æ
ã«åºã¥ãã¦ãåããã»ã¹ããéè¦åº¦ã®é層ãã®ä½ç½®ã¥ãã¾ããã¾ãæãéè¦åº¦ã®ä½ãããã»ã¹ãåé¤ããã次㯠2 çªç®ã«éè¦åº¦ã®ä½ãããã»ã¹ããã®æ¬¡ã« 3 çªç®ãã¨ããããã«å¤æããã¾ããé層㯠5 ã¤ã®ã¬ãã«ã§æ§æããã¾ãã以ä¸ã§ã¯ãéè¦åº¦ã®é«ããã®ããé ã«èª¬æãã¾ã:
-
-
-
-
-- ãã©ã¢ã°ã©ã¦ã³ã ããã»ã¹ã¯ãã¦ã¼ã¶ã¼ããã®æç¹ã§è¡ã£ã¦ããä½æ¥ã«å¿
è¦ãªããã»ã¹ã§ãã以ä¸ã®ããããã®æ¡ä»¶ãæºããã¦ããããã»ã¹ã¯ããã©ã¢ã°ã©ã¦ã³ã ããã»ã¹ã¨è¦ãªããã¾ã:
-
-
-- ã¦ã¼ã¶ã¼ã¨å¯¾è©±ä¸ã®ã¢ã¯ãã£ããã£ãå®è¡ãã¦ããï¼Activity ãªãã¸ã§ã¯ãã®
{@link android.app.Activity#onResume
-onResume()}
ã¡ã½ãããå¼ã³åºããã¦ããï¼ã
-
-ã¦ã¼ã¶ã¼ã¨å¯¾è©±ä¸ã®ã¢ã¯ãã£ããã£ã«ãã¤ã³ãããã¦ãããµã¼ãã¹ãå®è¡ãã¦ããã
-
-ããããã®ã©ã¤ããµã¤ã¯ã« ã³ã¼ã«ããã¯ï¼{@link android.app.Service#onCreate
-onCreate()}
ã{@link android.app.Service#onStart onStart()}
ãã¾ã㯠{@link android.app.Service#onDestroy onDestroy()}
ï¼ãå®è¡ãã¦ãã {@link android.app.Service} ãªãã¸ã§ã¯ããä¿æãã¦ããã
-
-{@link android.content.BroadcastReceiver#onReceive
-onReceive()}
ã¡ã½ãããå®è¡ãã¦ãã {@link android.content.BroadcastReceiver} ãªãã¸ã§ã¯ããä¿æãã¦ããã
-
-
-
-åæã«åå¨ãããã©ã¢ã°ã©ã¦ã³ã ããã»ã¹ã¯å°æ°ã«éããã¦ãã¾ãããã©ã¢ã°ã©ã¦ã³ã ããã»ã¹ã¯ãã¡ã¢ãªã極端ã«ä¸è¶³ãããã¹ã¦ã®ãã©ã¢ã°ã©ã¦ã³ã ããã»ã¹ã®å®è¡ãç¶ç¶ã§ããªãå ´åã®æçµæ段ã¨ãã¦å¼·å¶çµäºããããã¾ããé常ããã®æç¹ã§ããã¤ã¹ã¯ã¡ã¢ãª ãã¼ã¸ã³ã°ã®ç¶æ
ã«éãã¦ãããã¦ã¼ã¶ã¼ ã¤ã³ã¿ã¼ãã§ã¼ã¹ãå¿çå¯è½ãªç¶æ
ã«ç¶æããããã«ã¯ããã©ã¢ã°ã©ã¦ã³ã ããã»ã¹ã®ä¸é¨ãå¼·å¶çµäºãããªããã°ãªããªãç¶æ³ã«é¥ã£ã¦ãã¾ãã
-
-
-å¯è¦ããã»ã¹ã¯ããã©ã¢ã°ã©ã¦ã³ã ã³ã³ãã¼ãã³ãã§ã¯ãªããã®ã®ãã¦ã¼ã¶ã¼ãè¦ã¦ããç»é¢ã«å½±é¿ãåã¼ããã¨ã®ã§ããããã»ã¹ã§ãã以ä¸ã®ããããã®æ¡ä»¶ãæºããã¦ããããã»ã¹ã¯ãå¯è¦ããã»ã¹ã¨è¦ãªããã¾ã:
-
-
-
-
-å¯è¦ããã»ã¹ã¯ãé常ã«éè¦ãªããã»ã¹ã¨è¦ãªããããã¹ã¦ã®ãã©ã¢ã°ã©ã¦ã³ã ããã»ã¹ã®å®è¡ãç¶æããããã«å¿
è¦ã§ãªãéããå¼·å¶çµäºããããããã¨ã¯ããã¾ããã
-
-
-ãµã¼ãã¹ ããã»ã¹ã¯ã{@link android.content.Context#startService startService()}
ã¡ã½ããã§éå§ããããµã¼ãã¹ãå®è¡ãã¦ããããã»ã¹ã®ãã¡ãããéè¦åº¦ã®é«ã 2 ã¤ã®ã¬ãã«ã®ã©ã¡ãã«ã該å½ããªãããã»ã¹ã§ãããµã¼ãã¹ ããã»ã¹ã¯ãã¦ã¼ã¶ã¼ã«è¦ãããã®ã¨ã®ç´æ¥çãªé¢ä¿ã¯ããã¾ãããããã¨ãã°ããã¯ã°ã©ã¦ã³ãã§ã® MP3 ã®åçããããã¯ã¼ã¯ããã®ãã¼ã¿ã®ãã¦ã³ãã¼ããªã©ãã¦ã¼ã¶ã¼ãæ°ã«ããã¦ããå¦çã§ãããã¨ãä¸è¬çã§ãããããã£ã¦ããã¹ã¦ã®ãã©ã¢ã°ã©ã¦ã³ã ããã»ã¹ã¨å¯è¦ããã»ã¹ã«å ãããããã®ãµã¼ãã¹ ããã»ã¹ã®å®è¡ãç¶æããã ãã®ã¡ã¢ãªã確ä¿ã§ããéããå¼·å¶çµäºããããããã¨ã¯ããã¾ããã
-
-
-ããã¯ã°ã©ã¦ã³ã ããã»ã¹ã¯ããã®æç¹ã§ã¦ã¼ã¶ã¼ããè¦ããªãã¢ã¯ãã£ããã£ãä¿æãã¦ããï¼Activity ãªãã¸ã§ã¯ãã® {@link android.app.Activity#onStop onStop()}
ã¡ã½ãããå¼ã³åºããã¦ããï¼ããã»ã¹ã§ãããããã®ããã»ã¹ã¯ãã¦ã¼ã¶ã¼ ã¨ã¯ã¹ããªã¨ã³ã¹ã«ç´æ¥çã«ã¯å½±é¿ãã¦ãããããã©ã¢ã°ã©ã¦ã³ããå¯è¦ããµã¼ãã¹ ããã»ã¹ããã¡ã¢ãªãè¦æ±ãããå ´åã¯ãã¤ã§ãå¼·å¶çµäºããå¯è½æ§ãããã¾ããé常ã¯æ°å¤ãã®ããã¯ã°ã©ã¦ã³ã ããã»ã¹ãå®è¡ããã¦ããããããããã LRUï¼least recently usedï¼ãªã¹ãã«ç»é²ããã¦ã¼ã¶ã¼ãä¸çªæè¿è¦ãã¢ã¯ãã£ããã£ã®ããã»ã¹ãæå¾ã«å¼·å¶çµäºãããããªä»çµã¿ã«ãªã£ã¦ãã¾ããã¢ã¯ãã£ããã£ã«ã©ã¤ããµã¤ã¯ã« ã¡ã½ãããæ£ããå®è£
ããã¦ãããç¾å¨ã®ç¶æ
ãæ£ããä¿åããã¦ããã°ãããã»ã¹ãå¼·å¶çµäºãã¦ãã¦ã¼ã¶ã¼ ã¨ã¯ã¹ããªã¨ã³ã¹ã«æªå½±é¿ãåã¶ãã¨ã¯ããã¾ããã
-
-
-空ã®ããã»ã¹ã¯ãã¢ã¯ãã£ããªã¢ããªã±ã¼ã·ã§ã³ ã³ã³ãã¼ãã³ããä¿æãã¦ããªãããã»ã¹ã§ãããã®ãããªããã»ã¹ãç¶æãã¦ããå¯ä¸ã®çç±ã¯ãããããã£ãã·ã¥ã¨ãã¦ä½¿ç¨ãã次åã³ã³ãã¼ãã³ããå®è¡ããã¨ãã®èµ·åæéãçãããããã§ããå¤ãã®å ´åãã·ã¹ãã ã¯ãããã®ããã»ã¹ãå¼·å¶çµäºããã¦ãããã»ã¹ ãã£ãã·ã¥ã¨ãã®åºç¤ã¨ãªãã«ã¼ãã« ãã£ãã·ã¥ã®éã§ã·ã¹ãã ãªã½ã¼ã¹å
¨ä½ã®ãã©ã³ã¹ãåãã¾ãã
-
-
-
-
-åããã»ã¹ã¯ããã®æç¹ã§ã¢ã¯ãã£ããªã³ã³ãã¼ãã³ãã®éè¦åº¦ã«åºã¥ãã¦ããã®ããã»ã¹ãåãããæãé«ãã¬ãã«ã«ã©ã³ã¯ä»ãããã¾ãããã¨ãã°ãããããã»ã¹ããµã¼ãã¹ã¨å¯è¦ã¢ã¯ãã£ããã£ããã¹ããã¦ããå ´åããã®ããã»ã¹ã¯ãµã¼ãã¹ ããã»ã¹ã§ã¯ãªãå¯è¦ããã»ã¹ã¨ãã¦ã©ã³ã¯ä»ãããã¾ãã
-
-
-
-ã¾ããããããã»ã¹ã«ä»ã®ããã»ã¹ãä¾åãã¦ããããã«ããã®ããã»ã¹ã®ã©ã³ã¯ãå¼ãä¸ããããå¯è½æ§ãããã¾ããä»ã®ããã»ã¹ããä¾åããã¦ããããã»ã¹ããä¾åãã¦ããããã»ã¹ãããä½ãã¬ãã«ã«ã©ã³ã¯ä»ãããããã¨ã¯ããã¾ããããã¨ãã°ãããã»ã¹ A å
ã®ã³ã³ãã³ã ãããã¤ãã«ããã»ã¹ B å
ã®ã¯ã©ã¤ã¢ã³ããä¾åãã¦ããå ´åããããã»ã¹ A å
ã®ãµã¼ãã¹ãããã»ã¹ B å
ã®ã³ã³ãã¼ãã³ãã«ãã¤ã³ãããã¦ããå ´åãããã»ã¹ A ã¯å¸¸ã«ããã»ã¹ B ããã¯éè¦åº¦ãé«ãã¨è¦ãªããã¾ãã
-
-
-
-ãµã¼ãã¹ãå®è¡ãã¦ããããã»ã¹ã¯ãããã¯ã°ã©ã¦ã³ã ã¢ã¯ãã£ããã£ãå®è¡ãã¦ããããã»ã¹ãããé«ãã©ã³ã¯ä»ãããã¾ãããããã£ã¦ãæéã®ãããå¦çãå®è¡ããå ´åãç¹ã«ãã®å¦çãã¢ã¯ãã£ããã£ãããé·ãç¶ããããªå ´åã¯ãåã«ã¹ã¬ãããçæããã®ã§ã¯ãªãããã®å¦çç¨ã®ãµã¼ãã¹ãéå§ãããã¨ããããããã¾ãããã¨ãã°ãããã¯ã°ã©ã¦ã³ãã§é³æ¥½ãåçããå ´åããã«ã¡ã©ã§æ®å½±ããåçã Web ãµã¤ãã«ã¢ãããã¼ãããå ´åãªã©ã¯ããã«å½ããã¾ãããµã¼ãã¹ã使ç¨ãããã¨ã§ãã¢ã¯ãã£ããã£ãã©ã®ãããªç¶æ³ã«ãã£ã¦ããå¦çã®éè¦åº¦ã¨ãã¦ããµã¼ãã¹ ããã»ã¹ãã¬ãã«ä»¥ä¸ãç¶æã§ãã¾ããããã¼ããã£ã¹ã ã¬ã·ã¼ãã®ã©ã¤ããµã¤ã¯ã«ã®ã»ã¯ã·ã§ã³ã§ã説æãã¾ããããããã¼ããã£ã¹ã ã¬ã·ã¼ãã«ããã¦ãããã¨åãçç±ã§ãå¦çã«æéããããå ´åã¯ã¹ã¬ããã§ã¯ãªããµã¼ãã¹ã使ç¨ãããã¨ããããããã¾ãã
-
diff --git a/docs/html/intl/ja/guide/tutorials/hello-world.jd b/docs/html/intl/ja/guide/tutorials/hello-world.jd
deleted file mode 100644
index c69f5da3f8ed..000000000000
--- a/docs/html/intl/ja/guide/tutorials/hello-world.jd
+++ /dev/null
@@ -1,376 +0,0 @@
-page.title=Hello, World
-@jd:body
-
-
-
-ãããããã¼ã«ã¨ã£ã¦ãéçºãã¬ã¼ã ã¯ã¼ã¯ã®ç¬¬ä¸å°è±¡ã¯ãã©ãã ãç°¡åã«ãHello, Worldããè¨è¿°ã§ãããã§æ±ºã¾ãã¾ããAndroid ã§ã¯ãé常ã«ç°¡åã«è¨è¿°ã§ãã¾ããç·åéçºç°å¢ã¨ã㦠Eclipse ã使ç¨ãã¦ããå ´åã«ã¯ãéçºã¯ç¹ã«ç°¡åã§ããããã¸ã§ã¯ãã®ä½æã¨ç®¡çã«ä½¿ç¨ã§ãã便å©ãªãã©ã°ã¤ã³ãç¨æããã¦ãããéçºãµã¤ã¯ã«ã大å¹
ã«ã¹ãã¼ãã¢ããã§ããããã§ãã
-
-Eclipse ã使ç¨ãã¦ããªãå ´åã§ãåé¡ããã¾ãããDeveloping in Other IDEsã«æ
£ãã¦ããããã®ãã¥ã¼ããªã¢ã«ã«æ»ããEclipse ã«é¢ããé¨å以å¤ãåèã«ãã¦ãã ããã
-
-éå§ããåã«ãææ°ã® SDK ãã¤ã³ã¹ãã¼ã«ããã¦ããå¿
è¦ãããã¾ããã¾ããEclipse ã使ç¨ããå ´åã«ã¯ãADT ãã©ã°ã¤ã³ãã¤ã³ã¹ãã¼ã«ããã¦ããå¿
è¦ãããã¾ãããããã®ããã°ã©ã ãã¤ã³ã¹ãã¼ã«ããã¦ããªãå ´åã¯ããInstalling the Android SDKããåèã«ã¤ã³ã¹ãã¼ã«ãå®è¡ãã¦ãå®äºå¾ã«ãã®ãã¥ã¼ããªã¢ã«ã«æ»ã£ã¦ãã ããã
-
-AVD ã®ä½æ
-
-
-
-
AVD ã®ä½¿ç¨æ¹æ³ã¨ä½¿ç¨å¯è½ãªãªãã·ã§ã³ã«ã¤ãã¦è©³ããã¯ãAndroid ä»®æ³ããã¤ã¹ ã®ããã¥ã¡ã³ããåç
§ãã¦ãã ããã
-
-
-
-ãã®ãã¥ã¼ããªã¢ã«ã§ã¯ãéçºããã¢ããªã±ã¼ã·ã§ã³ã Android ã¨ãã¥ã¬ã¼ã¿ã§å®è¡ãã¾ããã¨ãã¥ã¬ã¼ã¿ãèµ·åããã«ã¯ãäºåã« Android ä»®æ³ããã¤ã¹ï¼AVDï¼ãä½æããå¿
è¦ãããã¾ããAVD ã¯ãã¨ãã¥ã¬ã¼ã¿ã使ç¨ããã·ã¹ãã ã¤ã¡ã¼ã¸ã¨ããã¤ã¹ã®è¨å®ãå®ç¾©ãããã®ã§ãã
-
-AVD ãä½æããã«ã¯ãAndroid SDK ã«å«ã¾ãã¦ãããandroidããã¼ã«ã使ç¨ãã¾ããã³ãã³ã ããã³ããã¾ãã¯ã¿ã¼ããã«ãéããSDK ããã±ã¼ã¸ã®ä¸ã® tools/
ãã£ã¬ã¯ããªã«ç§»åãã¦ã次ã®ã³ãã³ããå®è¡ãã¾ãã
-
-android create avd --target 2 --name my_avd
-
-
-ã«ã¹ã¿ã ãã¼ãã¦ã§ã¢ ãããã¡ã¤ã«ãä½æãããã©ãããå°ãããã¾ããããã§ã¯ã²ã¨ã¾ãããªã¿ã¼ã³ ãã¼ãæ¼ãã¦ã¹ããããã¾ãï¼ããã©ã«ãã®åçã¯ãNoãã¨ãªã£ã¦ãã¾ãï¼ä»¥ä¸ã§ AVD ã®ä½æã¯çµäºã§ãããã®ä½æ¥ã«ãããAndroid 1.5 ãã©ãããã©ã¼ã ã使ç¨ãããmy_avdãã¨ããååã® AVD ãæ§æããã¾ãããããã§ãAVD ãã¨ãã¥ã¬ã¼ã¿ã§ä½¿ç¨ã§ããç¶æ
ã«ãªãã¾ããã
-
-ä¸è¨ã®ã³ãã³ãã§ä½¿ç¨ãã --target
ãªãã·ã§ã³ã¯ãã¨ãã¥ã¬ã¼ã¿ãå®è¡ããé
åã¿ã¼ã²ãããæå®ãããã®ã§ãå¿
é ãªãã·ã§ã³ã§ãã--name
ãªãã·ã§ã³ã¯æ°è¦ AVD ã®ååãå®ç¾©ãããã®ã§ããããå¿
é ãªãã·ã§ã³ã§ãã
-
-
-æ°è¦ Android ããã¸ã§ã¯ããä½æãã
-
-AVD ãä½æãããã次㯠Eclipse å
ã§æ°è¦ Android ããã¸ã§ã¯ããéå§ãã¾ãã
-
-
- - Eclipse ã§ã[[]ãã¡ã¤ã«ï¼Fileï¼] > [[]æ°è¦ï¼Newï¼] > [[]ããã¸ã§ã¯ãï¼Projectï¼] ãé¸æãã¾ãã
-
ADT Plugin for Eclipse ãæ£å¸¸ã«ã¤ã³ã¹ãã¼ã«ããã¦ããã°ã表示ããããã¤ã¢ãã°ã«ããAndroidãã¨ããã©ãã«ã®ä»ãããã©ã«ãã¨ããã®ä¸ã®ãAndroid ããã¸ã§ã¯ãï¼Android Projectï¼ãã表示ããã¾ãï¼1 ã¤ã¾ãã¯è¤æ°ã® Android ããã¸ã§ã¯ããä½æããå¾ã¯ããAndroid XML Fileãã¨ããã¨ã³ããªã表示ãããããã«ãªãã¾ãï¼ã
-
-
- - ãAndroid ããã¸ã§ã¯ãï¼Android Projectï¼ããé¸æãã¦ã[[]次ã¸ï¼Nextï¼] ãã¯ãªãã¯ãã¾ãã
-
-
- - ããã¸ã§ã¯ãã®è©³ç´°é
ç®ã«ä»¥ä¸ã®å¤ãå
¥åãã¾ãã
-
- - ããã¸ã§ã¯ãåï¼Project nameï¼: HelloAndroid
- - ã¢ããªã±ã¼ã·ã§ã³åï¼Application nameï¼: Hello, Android
- - ããã±ã¼ã¸åï¼Package nameï¼: com.example.helloandroidï¼ã¾ãã¯èªåã®ãã©ã¤ãã¼ã ãã¼ã ã¹ãã¼ã¹ï¼
- - ã¢ã¯ãã£ããã£ãä½æï¼Create Activityï¼: HelloAndroid
- - SDK ã®æå°ãã¼ã¸ã§ã³ï¼Min SDK Versionï¼: 2
-
- [[]å®äºï¼Finishï¼] ãã¯ãªãã¯ãã¾ãã
-
-
-
- åãã£ã¼ã«ãã®èª¬æã¯ä»¥ä¸ã®ã¨ããã§ãã
-
-
- - ããã¸ã§ã¯ãåï¼Project Nameï¼
- - Eclipse ã®ããã¸ã§ã¯ãåãããã¸ã§ã¯ã ãã¡ã¤ã«ãæ ¼ç´ãããã£ã¬ã¯ããªã®ååã§ãã
- - ã¢ããªã±ã¼ã·ã§ã³åï¼Application Nameï¼
- - ã¢ããªã±ã¼ã·ã§ã³åã¯ã¦ã¼ã¶ã¼ã«ããããããã¢ããªã±ã¼ã·ã§ã³ã®ã¿ã¤ãã«ã«ãã¾ãããã®ååã Android æºå¸¯ç«¯æ«ã«è¡¨ç¤ºããã¾ãã
- - ããã±ã¼ã¸åï¼Package Nameï¼
- - ä½æãããã¹ã¦ã®ã½ã¼ã¹ ã³ã¼ããæ ¼ç´ããããã±ã¼ã¸ ãã¼ã ã¹ãã¼ã¹ã§ãï¼Java ããã°ã©ãã³ã°è¨èªã§ä½æããããã±ã¼ã¸ã¨åãã«ã¼ã«ã«å¾ãã¾ãï¼ãã¾ããããã«ãããã¹ã¿ã Activity ãçæãããããã±ã¼ã¸ã®ååãè¨å®ããã¾ãã
-
ããã±ã¼ã¸å㯠Android ã·ã¹ãã ã«ã¤ã³ã¹ãã¼ã«ããããã¹ã¦ã®ããã±ã¼ã¸ã«å
±éãã¦åºæã®ãã®ã§ãªããã°ãªãã¾ããããã®ãããä½æããã¢ããªã±ã¼ã·ã§ã³ã«æ¨æºçãªãã¡ã¤ã³ ã¹ã¿ã¤ã«ã®ããã±ã¼ã¸ã使ç¨ãããã¨ãé常ã«éè¦ã§ããä¸è¨ã®ä¾ã§ã¯ããcom.exampleãã¨ãããã¼ã ã¹ãã¼ã¹ã使ç¨ãã¦ãã¾ããããã¯ãµã³ãã« ããã¥ã¡ã³ãç¨ã®ãã¼ã ã¹ãã¼ã¹ã§ããå®éã«ã¢ããªã±ã¼ã·ã§ã³ãä½æããéã«ã¯ãæå±ããçµç¹ã¾ãã¯æ³äººã«é©åãªãã¼ã ã¹ãã¼ã¹ã使ç¨ãã¾ãã
- - ã¢ã¯ãã£ããã£ãä½æï¼Create Activityï¼
- - ãã©ã°ã¤ã³ã«ãã£ã¦çæãããã¯ã©ã¹ ã¹ã¿ãã®ååã§ããã¯ã©ã¹ ã¹ã¿ã㯠Android ã® {@link android.app.Activity} ã¯ã©ã¹ã®ãµãã¯ã©ã¹ã¨ãªãã¾ããã¢ã¯ãã£ããã£ã¨ã¯åã«ãå®è¡ãã¦ä½ããã®å¦çãè¡ããã¨ãã§ããã¯ã©ã¹ãæå³ãã¾ããé¸æã«å¿ã㦠UI ãä½æãããã¨ãã§ãã¾ãï¼ãã ãå¿
é ã§ã¯ããã¾ããï¼ããã§ãã¯ããã¯ã¹ã«ãªã£ã¦ãããã¨ãããããããã«ãããã¯ä»»æé¸æã®é
ç®ã§ããããããå®éã«ã¯ã»ã¨ãã©ã®ã¢ããªã±ã¼ã·ã§ã³ã§ã¯ãã¢ã¯ãã£ããã£ãã¢ããªã±ã¼ã·ã§ã³ã®åºç¤ã¨ãã¦ä½¿ç¨ãã¦ãã¾ãã
- - SDK ã®æå°ãã¼ã¸ã§ã³ï¼Min SDK Versionï¼
- - ä½æããã¢ããªã±ã¼ã·ã§ã³ãå¿
è¦ã¨ããæå° API ã¬ãã«ãæå®ããå¤ã§ããããã«å
¥åãã API ã¬ãã«ããé¸æå¯è½ãªã¿ã¼ã²ããã®ããããã§æä¾ããã API ã¬ãã«ã¨ä¸è´ããå ´åã¯ããã«ã ã¿ã¼ã²ãããèªåçã«é¸æããã¾ãï¼ãã®ä¾ã§ã¯ãAPI ã¬ãã«ã«ã2ãã¨å
¥åããã¨ã¿ã¼ã²ãã Android 1.1 ãé¸æããã¾ãï¼ãAndroid ã·ã¹ãã ã¤ã¡ã¼ã¸ã¨ Android SDK ããããã®æ°ãããã¼ã¸ã§ã³ã§ã¯ãAPI ã«è¿½å ã¾ãã¯å¤æ´ãå ãããã¦ããå¯è½æ§ãããã¾ãã追å ã¾ãã¯å¤æ´ãå ãããã¦ããå ´åãæ°ãã API ã¬ãã«ãã·ã¹ãã ã¤ã¡ã¼ã¸ã«å²ãå½ã¦ãããã©ã®ã¢ããªã±ã¼ã·ã§ã³ã®å®è¡ã許å¯ããããè¦å¶ããã¾ããã¢ããªã±ã¼ã·ã§ã³ã§å¿
è¦ãª API ã¬ãã«ãããã¤ã¹ã§ãµãã¼ããããã¬ãã«ãããé«ãå ´åãã¢ããªã±ã¼ã·ã§ã³ã¯ã¤ã³ã¹ãã¼ã«ããã¾ããã
-
-
- ãã®ä»ã®ãã£ã¼ã«ã: ãããã©ã«ã ãã±ã¼ã·ã§ã³ã®ä½¿ç¨ããã§ãã¯ããã¯ã¹ã§ã¯ãããã¸ã§ã¯ãã®ãã¡ã¤ã«ãçæããä¿åããããã£ã¹ã¯ä¸ã®å ´æãå¤æ´ãããã¨ãã§ãã¾ããããã«ã ã¿ã¼ã²ãããã¯ãä½æããã¢ããªã±ã¼ã·ã§ã³ãã³ã³ãã¤ã«ãããã¨ãã«ã¿ã¼ã²ããã¨ãããã©ãããã©ã¼ã ã§ãï¼ãã®é
ç®ã¯ [[]SDK ã®æå°ãã¼ã¸ã§ã³ï¼Min SDK Versionï¼] ã®å
¥åå¤ã«åºã¥ãã¦èªåçã«é¸æããã¾ãï¼ã
-
- ããã§ãé¸æããããã«ã ã¿ã¼ã²ããã㧠Android 1.1 ãã©ãããã©ã¼ã ã使ç¨ããããã¨ã«æ³¨ç®ãã¦ãã ãããããã¯ãä½æããã¢ããªã±ã¼ã·ã§ã³ã Android 1.1 ãã©ãããã©ã¼ã ã©ã¤ãã©ãªãã¿ã¼ã²ããã¨ãã¦ã³ã³ãã¤ã«ããããã¨ãæå³ãã¾ããå
ã»ã©ä½æãã AVD 㯠Android 1.5 ãã©ãããã©ã¼ã ã§å®è¡ããã¾ãããã¼ã¸ã§ã³ã®æ°åãä¸è´ãã¾ããããAndroid ã¢ããªã±ã¼ã·ã§ã³ã«ã¯ä¸æ¹äºææ§ãããããã1.1 ãã©ãããã©ã¼ã ã©ã¤ãã©ãªãã¿ã¼ã²ããã¨ãã¦æ§ç¯ãããã¢ããªã±ã¼ã·ã§ã³ã§ã 1.5 ãã©ãããã©ã¼ã ã§æ£å¸¸ã«åä½ãã¾ãããã ããã®éã®å ´åã¯æ£å¸¸ã«åä½ãã¾ããã
-
-
-
-ãã¦ããã㧠Android ããã¸ã§ã¯ãã使ç¨ã§ããç¶æ
ã«ãªãã¾ãããããã¸ã§ã¯ãã¯å·¦å´ã®ããã±ã¼ã¸ ã¨ã¯ã¹ããã¼ã©ã¼ï¼Package Explorerï¼ã§è¡¨ç¤ºã§ãã¾ãããHelloAndroidã > ãsrcã > ãcom.example.helloandroidã ã®ä¸ã«ãã HelloAndroid.java
ãã¡ã¤ã«ãéãã¾ãããã¡ã¤ã«ã®å
容ã¯æ¬¡ã®ããã«ãªã£ã¦ãã¾ãã
-
-
-package com.example.helloandroid;
-
-import android.app.Activity;
-import android.os.Bundle;
-
-public class HelloAndroid extends Activity {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- }
-}
-
-ã¯ã©ã¹ã {@link android.app.Activity} ã¯ã©ã¹ã«åºã¥ãã¦ãããã¨ã«æ³¨ç®ãã¦ãã ãããã¢ã¯ãã£ããã£ï¼Activityï¼ã¨ã¯ãå¦çãå®è¡ããããã«ä½¿ç¨ãããåä½ã®ã¢ããªã±ã¼ã·ã§ã³ ã¨ã³ãã£ãã£ã§ãã1 ã¤ã®ã¢ããªã±ã¼ã·ã§ã³ã«ã¯ããã¤ãã®ã¢ã¯ãã£ããã£ãå«ã¾ããå ´åãããã¾ãããã¦ã¼ã¶ã¼ãä¸åº¦ã«æä½ããã®ã¯ 1 ã¤ã®ã¢ã¯ãã£ããã£ã§ããã¢ã¯ãã£ããã£ãéå§ããã¨ãAndroid ã·ã¹ãã ã«ãã£ã¦ {@link android.app.Activity#onCreate(Bundle) onCreate()} ã¡ã½ãããå¼ã³åºããã¾ãããã®ã¿ã¤ãã³ã°ã§ãã¹ã¦ã®åæå㨠UI ã»ããã¢ãããå®è¡ãã¾ããã¢ã¯ãã£ããã£ã«ã¦ã¼ã¶ã¼ ã¤ã³ã¿ã¼ãã§ã¼ã¹ã¯å¿
é ã§ã¯ããã¾ããããé常ã¯ã¦ã¼ã¶ã¼ ã¤ã³ã¿ã¼ãã§ã¼ã¹ãè£
åãã¾ãã
-
-ã§ã¯ãã³ã¼ããå¤æ´ãã¦ã¿ã¾ãããã
-
-
-UI ãæ§ç¯ãã
-
-ä¸è¨ã®å¤æ´æ¸ã¿ã®ã³ã¼ããåç
§ãã¦ããæå
ã® HelloAndroid ã¯ã©ã¹ã«åãå¤æ´ãå ãã¦ã¿ã¦ãã ããã太åã®é¨åã追å ãããè¡ã§ãã
-
-
-package com.android.helloandroid;
-
-import android.app.Activity;
-import android.os.Bundle;
-import android.widget.TextView;
-
-public class HelloAndroid extends Activity {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- TextView tv = new TextView(this);
- tv.setText("Hello, Android");
- setContentView(tv);
- }
-}
-
-ãã³ã: ããã¸ã§ã¯ãã«ã¤ã³ãã¼ã ããã±ã¼ã¸ãç°¡åã«è¿½å ã§ããæ¹æ³ã¨ãã¦ãCtrl+Shift+Oï¼Mac ã§ã¯ ã³ãã³ã+Shift+Oï¼ãæ¼ãæ¹æ³ãããã¾ããããã¯ãã³ã¼ãã®è¨è¿°ã«åºã¥ãã¦è¶³ããªãããã±ã¼ã¸ãç¹å®ãã¦è¿½å ãã Eclipse ã®ã·ã§ã¼ãã«ãã ãã¼ã§ãã
-
-Android ã®ã¦ã¼ã¶ã¼ ã¤ã³ã¿ã¼ãã§ã¼ã¹ã¯ãããã¥ã¼ï¼Viewsï¼ãã¨å¼ã°ãããªãã¸ã§ã¯ãã®é層ã§æ§æããã¦ãã¾ãã{@link android.view.View} ã¯ãUI ã¬ã¤ã¢ã¦ãå
ã§ãã¿ã³ãç»åãã¾ãã¯ï¼ãã®ãµã³ãã«ã®ããã«ï¼ããã¹ã ã©ãã«ã¨ãã£ãè¦ç´ ã¨ãã¦ä½¿ç¨ããããæç»å¯è½ãªãªãã¸ã§ã¯ãã§ãããããã®ãªãã¸ã§ã¯ãã®ããããã View ã¯ã©ã¹ã®ãµãã¯ã©ã¹ã§ãããããã¹ããå¦çãããµãã¯ã©ã¹ã¯ {@link android.widget.TextView} ã§ãã
-
-ãã®å¤æ´ã§ã¯ãã¯ã©ã¹ ã³ã³ã¹ãã©ã¯ã¿ã使ç¨ã㦠TextView ãä½æãã¾ãããã®ã¯ã©ã¹ ã³ã³ã¹ãã©ã¯ã¿ã¯ããã©ã¡ã¼ã¿ã¨ã㦠Android {@link android.content.Context} ã¤ã³ã¹ã¿ã³ã¹ãåãå
¥ãã¾ããContext ã¨ã¯ãã·ã¹ãã ã¸ã®ãã³ãã«ã§ããããªã½ã¼ã¹ã®è§£æ±ºããã¼ã¿ãã¼ã¹ãè¨å®ã¸ã®ã¢ã¯ã»ã¹ã®åå¾ãªã©ã®ãµã¼ãã¹ãæä¾ãã¾ããActivity ã¯ã©ã¹ã¯ Context ãç¶æ¿ãã¾ããä½æãã HelloAndroid ã¯ã©ã¹ã¯ãActivity ã®ãµãã¯ã©ã¹ã§ãããããContext ã§ãããã¾ãããããã£ã¦ãthis
ã Context åç
§ã¨ã㦠TextView ã«å¼ã渡ããã¨ãã§ãã¾ãã
-
-次ã«ã{@link android.widget.TextView setText(CharSequence) setText()} ã使ç¨ãã¦ããã¹ã ã³ã³ãã³ããå®ç¾©ãã¾ãã
-
-æå¾ã«ããã®ã³ã³ãã³ãã Activity UI ã®ã³ã³ãã³ãã¨ãã¦è¡¨ç¤ºãããããã«ãTextView ã {@link android.app.Activity#setContentView(View) setContentView()} ã«å¼ã渡ãã¾ããActivity ã«ãã£ã¦ãã®ã¡ã½ãããå¼ã³åºãããªããã°ãUI ã¯è¡¨ç¤ºãããã空ç½ã®ç»é¢ã表示ããã¾ãã
-
-ããã§ãAndroid ã§ãHello, Worldãã表示ãããããã«ãªãã¾ããã次ã®æé ã¯ãã¡ãããã¢ããªã±ã¼ã·ã§ã³ã®å®è¡ã§ãã
-
-
-ã¢ããªã±ã¼ã·ã§ã³ãå®è¡ãã
-
-Eclipse ãã©ã°ã¤ã³ã§ã¯ãé常ã«ç°¡åã«ã¢ããªã±ã¼ã·ã§ã³ãå®è¡ã§ãã¾ãã
-
-
- - [[]å®è¡] > [[]å®è¡] ãé¸æãã¾ãã
- - ãAndroid Applicationããé¸æãã¾ãã
-
-
-
-
-Eclipse ADT ã«ãã£ã¦èªåçã«ããã¸ã§ã¯ãã®æ°è¦èµ·åæ§æãä½æãããAndroid ã¨ãã¥ã¬ã¼ã¿ãèªåçã«èµ·åãã¾ããã¨ãã¥ã¬ã¼ã¿ãèµ·åããå¾ãå°ãçµã¤ã¨ã¢ããªã±ã¼ã·ã§ã³ã表示ããã¾ãã次ã®ãããªç»é¢ã表示ããã¾ãã
-
-
-
-ã°ã¬ã¼ã®ãã¼ã«è¡¨ç¤ºããã¦ãããHello, Androidãã¯ãã¢ããªã±ã¼ã·ã§ã³ã®ã¿ã¤ãã«ã§ãããã®ã¿ã¤ãã«ã¯ Eclipse ãã©ã°ã¤ã³ã«ãã£ã¦èªåçã«ä½æããã¾ãï¼æåå㯠res/values/strings.xml
ãã¡ã¤ã«å
ã§å®ç¾©ãããAndroidManifest.xml
ã«ãã£ã¦åç
§ããã¾ãï¼ãã¿ã¤ãã«ã®ä¸ã®ããã¹ãã¯ãå
ã»ã© TextView ãªãã¸ã§ã¯ãã§ä½æããå®éã®ããã¹ãã§ãã
-
-ããã§ãHello Worldãã«ã¤ãã¦ã®åºæ¬çãªãã¥ã¼ããªã¢ã«ã¯çµäºã§ããããã®ç¶ãããã²èªãã§ãã ãããAndroid ã¢ããªã±ã¼ã·ã§ã³ã®éçºã«é¢ããããã«æçãªæ
å ±ãç´¹ä»ãã¦ãã¾ãã
-
-
-UI ã XML ã¬ã¤ã¢ã¦ãã«ã¢ããã°ã¬ã¼ããã
-
-å
ã»ã©ä½æãããHello, Worldãã®ãµã³ãã«ã¯ããããã°ã©ããã£ãã¯ãã¨å¼ã°ãã UI ã¬ã¤ã¢ã¦ãã使ç¨ãã¦ãã¾ãããããã°ã©ããã£ãã¯ãã¨ã¯ãã¢ããªã±ã¼ã·ã§ã³ã® UI ãç´æ¥ã½ã¼ã¹ ã³ã¼ãã§ä½æããã³æ§ç¯ãããã¨ãæå³ãã¾ããUI ããã°ã©ãã³ã°ã®çµé¨ãè±å¯ãªæ¹ã§ããã°ããããããã®ãããªã¢ããã¼ããæã«ããã«èå¼±ã«ãªãå¾ããããããåãã§ããããã¬ã¤ã¢ã¦ãã®è»½å¾®ãªå¤æ´ã®ãã³ã«ãã½ã¼ã¹ ã³ã¼ãå
¨ä½ã«é¢ãã大ããªåé¡ãçºçããå¯è½æ§ãããããã§ããã¾ããè¤æ°ã®ãã¥ã¼ãé©åã«çµã³ã¤ãããã¨ãå¿ããããã¡ã§ãããããããã«ããã¬ã¤ã¢ã¦ãã«ã¨ã©ã¼ãçºçããã³ã¼ãã®ãããã°ã§æéãç¡é§ã«ãªãå ´åãããã¾ãã
-
-ãã®çç±ãããAndroid ã§ã¯ãXML ãã¼ã¹ã®ã¬ã¤ã¢ã¦ã ãã¡ã¤ã«ã使ç¨ããå¥ã® UI æ§ç¯ã¢ãã«ãç¨æãã¦ãã¾ãããã®æ¦å¿µãç°¡åã«èª¬æããã«ã¯ããµã³ãã«ãç´¹ä»ããã®ãä¸çªã§ããããã«ç¤ºãã®ã¯ãä¸è¨ã®ãããã°ã©ããã£ãã¯ãã«æ§ç¯ãããµã³ãã«ã¨åãããã«åä½ãã XML ã¬ã¤ã¢ã¦ã ãã¡ã¤ã«ã§ãã
-
-<?xml version="1.0" encoding="utf-8"?>
-<TextView xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:text="@string/hello"/>
-
-Android XML ã¬ã¤ã¢ã¦ã ãã¡ã¤ã«ã®å
¨è¬çãªæ§é ã¯ã·ã³ãã«ã§ããXML è¦ç´ ãããªã¼æ§é ã«ãªã£ã¦ãããå«ã¾ããåãã¼ãã View ã¯ã©ã¹ã®ååã表ãã¦ãã¾ãï¼ãã®ãµã³ãã«ã§ã¯ View è¦ç´ ã 1 ã¤ã®ã¿ã§ããï¼ãXML ã¬ã¤ã¢ã¦ãå
ã®è¦ç´ ã¨ãã¦ã{@link android.view.View} ãæ¡å¼µããä»»æã®ã¯ã©ã¹ã®ååã使ç¨ã§ãã¾ããããã«ã¯ä½æããã³ã¼ãã®ä¸ã§å®ç¾©ããã«ã¹ã¿ã View ã¯ã©ã¹ãå«ã¾ãã¾ãããã®æ§é ã«ãããããã°ã©ããã£ãã¯ãªã¬ã¤ã¢ã¦ããããã·ã³ãã«ãªæ§é ã¨æ§æã使ç¨ãã¦ãè¿
é㪠UI æ§ç¯ãé常ã«ç°¡åã«è¡ããã¨ãã§ãã¾ãããã®ã¢ãã«ã¯ãã¢ããªã±ã¼ã·ã§ã³ã®è¡¨ç¤ºï¼ã¤ã¾ã UIï¼ãããã¼ã¿ã®åå¾ã¨å
¥åã«ä½¿ç¨ãããã¢ããªã±ã¼ã·ã§ã³ ãã¸ãã¯ããåãé¢ããã¨ãã§ãã Web éçºã¢ãã«ãããã³ããå¾ã¦èæ¡ããã¾ããã
-
-ä¸è¨ã® XML ãµã³ãã«ã«ã¯ãTextView
ã¨ãã View è¦ç´ 1 ã¤ã®ã¿ãå«ã¾ãã¦ãã¾ãããã®è¦ç´ 㯠4 ã¤ã® XML å±æ§ãæã£ã¦ãã¾ããä¸è¡¨ã«ããããã® 4 ã¤ã®å±æ§ã®èª¬æãã¾ã¨ãã¾ããã
-
-
-
-
-
- å±æ§
- |
-
- 説æ
- |
-
-
-
- xmlns:android
- |
-
- Android ãã¼ã ã¹ãã¼ã¹ã§å®ç¾©ãããå
±éã®å±æ§ãåç
§ãããã¨ã Android ãã¼ã«ã«ä¼ãã XML ãã¼ã ã¹ãã¼ã¹å®£è¨ã§ãããã¹ã¦ã® Android ã¬ã¤ã¢ã¦ã ãã¡ã¤ã«å
ã®æåã¨æå¾ã®ã¿ã°ã¯ãã®å±æ§ãæã¤å¿
è¦ãããã¾ãã
- |
-
-
-
- android:layout_width
- |
-
- 該å½ã® View ãç»é¢ã®å©ç¨å¯è½ãªå¹
ã®ãã¡ã©ãããããå ããããå®ç¾©ãã¾ãããã®ãµã³ãã«ã§ã¯ããã® View ãããªãããããfill_parentãã¨ããå¤ã使ç¨ãã¦ç»é¢å
¨ä½ãå ãããã¨ã«ãã¾ãã
- |
-
-
-
- android:layout_height
- |
-
- android:layout_width ã¨ããä¼¼ãå±æ§ã§ãå¹
ã§ã¯ãªãé«ãã表ãã¾ãã
- |
-
-
-
- android:text
- |
-
- TextView ã表示ããããã¹ããè¨å®ãã¾ãããã®ãµã³ãã«ã§ã¯ããã¼ãã³ã¼ãè¨è¿°ãããæååå¤ã§ã¯ãªãæååãªã½ã¼ã¹ã使ç¨ãã¾ããæååãhelloã㯠res/values/strings.xml ãã¡ã¤ã«å
ã§å®ç¾©ããã¾ããã¢ããªã±ã¼ã·ã§ã³ã«æååãæ¿å
¥ããå ´åã«ã¯ãã®æ¹æ³ãæ¨å¥¨ããã¾ããã¬ã¤ã¢ã¦ã ãã¡ã¤ã«ã®ãã¼ãã³ã¼ããç´æ¥å¤æ´ããå¿
è¦ããªããããã¢ããªã±ã¼ã·ã§ã³ã®ä»ã®è¨èªã¸ã®ãã¼ã«ã©ã¤ãºãã¹ã ã¼ãºã«é²ãããã§ãã詳ããã¯ãããªã½ã¼ã¹ã¨å½éåããåç
§ãã¦ãã ããã
- |
-
-
-
-
-
-ãããã® XML ã¬ã¤ã¢ã¦ã ãã¡ã¤ã«ã¯ãä½æããããã¸ã§ã¯ãã® res/layout/
ãã£ã¬ã¯ããªå
ã«ç½®ããã¾ãããresãã¯ãresourcesãã®ç¥ã§ãã¢ããªã±ã¼ã·ã§ã³ã«å¿
è¦ãªã³ã¼ã以å¤ã®ãã¹ã¦ã®ã¢ã»ããããã®ãã£ã¬ã¯ããªã«æ ¼ç´ããã¾ãããªã½ã¼ã¹ã«ã¯ãã¬ã¤ã¢ã¦ã ãã¡ã¤ã«ã®ä»ã«ãç»åãé³å£°ããã¼ã«ã©ã¤ãºãããæååãªã©ã®ã¢ã»ãããããã¾ãã
-
-
-
横表示ã¬ã¤ã¢ã¦ã
-
横表示ã®å ´åã«ç°ãªããã¶ã¤ã³ã§è¡¨ç¤ºããã«ã¯ãã¬ã¤ã¢ã¦ã XML ãã¡ã¤ã«ã /res/layout-land å
ã«å
¥ãã¾ããAndroid 端æ«ã®ã¬ã¤ã¢ã¦ãã横表示ã«å¤ããã¨èªåçã«ãã®ãã£ã¬ã¯ããªãåç
§ããã¾ãããã®ããã«æ¨ªè¡¨ç¤ºåãã«å®ç¾©ãããã¬ã¤ã¢ã¦ããåå¨ããªãå ´åãèªåçã«ããã©ã«ãã®ã¬ã¤ã¢ã¦ããæ¡å¤§ãã¦ä½¿ç¨ããã¾ãã
-
-
-
-Eclipse ãã©ã°ã¤ã³ã§ã¯ããã®ãããªã¬ã¤ã¢ã¦ã ãã¡ã¤ã«ã® 1 ã¤ã§ãããmain.xmlããèªåçã«ä½æããã¾ããå
ã»ã©ãHello Worldãã¢ããªã±ã¼ã·ã§ã³ãä½æããéã«ã¯ããã®ãã¡ã¤ã«ã¯ç¡è¦ãã¦ããã°ã©ããã£ãã¯ã«ã¬ã¤ã¢ã¦ããä½æãã¾ããããã®ä½ææ¹æ³ã¯ Android ãã¬ã¼ã ã¯ã¼ã¯ã«ã¤ãã¦ããæ·±ãç解ãã¦ããã ããã¨ãæå³ãããã®ã§ãå®éã«ã¯ã»ã¨ãã©ã®å ´åã¬ã¤ã¢ã¦ãã¯ã³ã¼ãã§ã¯ãªã XML ãã¡ã¤ã«ã§å®ç¾©ãã¾ãã以ä¸ã®æé ã§ã¯ãæ¢åã®ã¢ããªã±ã¼ã·ã§ã³ãå¤æ´ã㦠XML ã¬ã¤ã¢ã¦ãã使ç¨ãããããã«ããæ¹æ³ã説æãã¾ãã
-
-
- - Eclipse ã®ããã±ã¼ã¸ ã¨ã¯ã¹ããã¼ã©ã¼ï¼Package Explorerï¼ã§ã
/res/layout/
ãã©ã«ããå±éããmain.xml
ãéãã¾ãï¼éããå¾ãå ´åã«ãã£ã¦ã¯ XML ã½ã¼ã¹ãè¦ãã®ã«ã¦ã£ã³ãã¦ä¸é¨ã«ãããmain.xmlãã¿ããã¯ãªãã¯ããå¿
è¦ãããã¾ãï¼ããã¡ã¤ã«ã®å
容ã以ä¸ã® XML ã«ç½®ãæãã¾ãã
-
-<?xml version="1.0" encoding="utf-8"?>
-<TextView xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:text="@string/hello"/>
-ãã¡ã¤ã«ãä¿åãã¾ãã
-
-
-res/values/
ãã©ã«ãå
ã® strings.xml
ãéãã¾ãããã®ãã¡ã¤ã«ã¯ãä½æããã¦ã¼ã¶ã¼ ã¤ã³ã¿ã¼ãã§ã¼ã¹ã®ããã®ãã¹ã¦ã®ããã©ã«ãã®ããã¹ãæååãä¿åãããã®ã§ããEclipse ã使ç¨ãã¦ããå ´åãADT ã«ãã£ã¦ããããã hello 㨠app_name ã¨ãã 2 ã¤ã®æååãç¨æãããç¶æ
ã«ãªãã¾ããhello ãä½ãå¥ã®æååã«æ¸ãæãã¦ã¿ã¾ãããããã¨ãã°ãHello, Android! I am a string resource!ãã¨ãã¦ã¿ã¾ããããå¤æ´å¾ã®ãã¡ã¤ã«ã®å
¨ä½ã¯æ¬¡ã®ããã«ãªãã¾ãã
-
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
- <string name="hello">Hello, Android! I am a string resource!</string>
- <string name="app_name">Hello, Android</string>
-</resources>
-
-
-
-- 次ã«ã
HelloAndroid
ã¯ã©ã¹ãéãã¦ãXML ã¬ã¤ã¢ã¦ãã使ç¨ãã¦å¤æ´ãã¾ãããã¡ã¤ã«ãç·¨éãã¦æ¬¡ã®ãããªå
容ã«ãã¾ãã
-
-package com.example.helloandroid;
-
-import android.app.Activity;
-import android.os.Bundle;
-
-public class HelloAndroid extends Activity {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- }
-}
-
-ãã®å¤æ´ãè¡ãéã«ãã³ã¼ããæå
¥åãã¦ã³ã¼ãè£å®æ©è½ã試ãã¦ã¿ã¾ãããããR.layout.mainãã¨å
¥åãããã¨ããã¨ããã©ã°ã¤ã³ã«ãã£ã¦å
¥ååè£ã表示ããã¾ãããã®æ©è½ã®ä¾¿å©ãã¯ãéçºä¸ã«ä½åãå®æããã¨æãã¾ãã
-
-View ãªãã¸ã§ã¯ãã« setContentView()
ãå¼ã渡ã代ããã«ãã¬ã¤ã¢ã¦ã ãªã½ã¼ã¹ã¸ã®åç
§ãä»ä¸ãã¾ãããªã½ã¼ã¹ã¯ R.layout.main
ã¨ãã¦èå¥ããã¾ããããã¯ã/res/layout/main.xml
ã§å®ç¾©ãããã¬ã¤ã¢ã¦ãããã³ã³ãã¤ã«ããããªãã¸ã§ã¯ãã§è¡¨ãããã®ã§ããEclipse ãã©ã°ã¤ã³ã§ã¯ããã®åç
§ãããã¸ã§ã¯ãã® R.java ã¯ã©ã¹å
ã«èªåçã«ä½æããã¾ããEclipse ã使ç¨ãã¦ããªãå ´åãAnt ãå®è¡ãã¦ã¢ããªã±ã¼ã·ã§ã³ã®ãã«ããè¡ãéã« R.java ã¯ã©ã¹ãçæããã¾ãï¼R ã¯ã©ã¹ã«ã¤ãã¦è©³ããã¯å¾ã»ã©èª¬æãã¾ãï¼ã
-
-
-
-ããã§ãã¢ããªã±ã¼ã·ã§ã³ãåå®è¡ãã¾ããèµ·åæ§æã¯ä½ææ¸ã¿ã§ãããããããã§ã¯ç·è²ã®ç¢å°ã¢ã¤ã³ã³ãã¯ãªãã¯ãã¦å®è¡ããããã¾ã㯠[[]å®è¡ï¼Runï¼] > [[]ãã¹ããªã¼ã®å®è¡ï¼Run Historyï¼] > [[]Android Activity] ãé¸æããã ãã§ããTextView æååã«å ããå¤æ´ãé¤ãã°ãã¢ããªã±ã¼ã·ã§ã³ã¯åãã«è¦ãã¾ããããã§ãã¤ã³ãã¨ãªãã®ã¯ã2 ã¤ã®ç°ãªãã¬ã¤ã¢ã¦ãç·¨éæ¹æ³ã使ç¨ãã¦åãçµæãå¾ãããã¨ãããã¨ã§ãã
-
-ãã³ã: ã·ã§ã¼ãã«ãã ãã¼Ctrl+F11ï¼Mac ã§ã¯ ã³ãã³ã+Shift+F11ï¼ã使ç¨ãã¦ãç¾å¨è¡¨ç¤ºããã¦ããã¢ããªã±ã¼ã·ã§ã³ãå®è¡ãããã¨ãã§ãã¾ãã
-
-ããããã¯ããããã°ã®åºç¤ç¥èã¨ãä»ã®ç·åéçºç°å¢ã«é¢ããè£è¶³æ
å ±ã«ã¤ãã¦èª¬æãã¾ããããã«è©³ããå¦ç¿ãããå ´åã¯ããã¢ããªã±ã¼ã·ã§ã³ã®åºç¤ããåç
§ãã¦ãã ãããAndroid ã¢ããªã±ã¼ã·ã§ã³ãåä½ããããã®ãã¹ã¦ã®è¦ç´ ã«ã¤ãã¦èª¬æãã¦ãã¾ããã¾ããããããããã¼ ã¬ã¤ããã®å°å
¥ãã¼ã¸ãåç
§ãã¦ããããããã¼ ã¬ã¤ã ããã¥ã¡ã³ãã®æ¦è¦ã確èªãã¦ãã ããã
-
-
-
-
R ã¯ã©ã¹
-
Eclipse ã§ãR.java
ã¨ããååã®ãã¡ã¤ã«ï¼gen/
ï¼ãçæããã Java ãã¡ã¤ã«ï¼Generated Java Filesï¼ããã©ã«ãå
ï¼ãéãã¾ãããã¡ã¤ã«ã®å
容ã¯æ¬¡ã®ããã«ãªã£ã¦ãã¾ãã
-
-
-package com.example.helloandroid;
-
-public final class R {
- public static final class attr {
- }
- public static final class drawable {
- public static final int icon=0x7f020000;
- }
- public static final class layout {
- public static final int main=0x7f030000;
- }
- public static final class string {
- public static final int app_name=0x7f040001;
- public static final int hello=0x7f040000;
- }
-}
-
-
-
ããã¸ã§ã¯ãã® R.java
ãã¡ã¤ã«ã¯ããã¡ã¤ã«å
ã§å®ç¾©ããããã¹ã¦ã®ãªã½ã¼ã¹ã¸ã®ã¤ã³ããã¯ã¹ã§ããã½ã¼ã¹ ã³ã¼ãå
ã§ã¯ãããã¸ã§ã¯ãã«å«ãããã¹ã¦ã®ãªã½ã¼ã¹ãåç
§ããããã®ç°¡ç¥å½¢å¼ã¨ãã¦ãã®ã¯ã©ã¹ã使ç¨ãã¾ããããã¯ãEclipse ãªã©ã®ç·åéçºç°å¢ã®ã³ã¼ãè£å®æ©è½ã¨ã¨ãã«ä½¿ç¨ããã¨ç¹ã«ä¾¿å©ã§ããæ¢ãã¦ããç¹å®ã®åç
§ããã°ããã¤ã³ã¿ã©ã¯ãã£ãã«è¦ã¤ãããã¨ãã§ããããã§ãã
-
-
ãæå
ã®ãã¡ã¤ã«ã¯ããã¨ã¯è¥å¹²ç°ãªãå¯è½æ§ãããã¾ãï¼ãããã 16 é²å¤ãç°ãªãããã§ãï¼ãããã§ã¯ããlayoutãã¨ããååã®å
é¨ã¯ã©ã¹ã¨ããã®ã¡ã³ãã¼ã§ãããã£ã¼ã«ããmainãã«æ³¨ç®ãã¾ããEclipse ãã©ã°ã¤ã³ã«ãã main.xml ã¨ããååã® XML ã¬ã¤ã¢ã¦ã ãã¡ã¤ã«ãèªèãããããã«ãã®ããã®ã¯ã©ã¹ãçæããããã®ã§ããããã¸ã§ã¯ãã«ä»ã®ãªã½ã¼ã¹ï¼res/values/string.xml
ãã¡ã¤ã«å
ã®æååã res/drawable/
ãã£ã¬ã¯ããªå
ã®æç»å¯è½ãªãã¸ã§ã¯ããªã©ï¼ã追å ããã¨ãR.java
ã«ææ°ã®å¤æ´ãåæ ããã¾ãã
-
Eclipse ã使ç¨ãã¦ããªãå ´åã¯ãï¼Ant ãã¼ã«ã使ç¨ããï¼ãã«ãæã«ãã®ã¯ã©ã¹ ãã¡ã¤ã«ãçæããã¾ãã
-
ããããããã®ãã¡ã¤ã«ãæåã§ç·¨éããªãããã«ãã¦ãã ããã
-
-
-ããã¸ã§ã¯ãããããã°ãã
-
-Android Plugin for Eclipse ã¯ãEclipse ã®ãããã¬ã¨åªããé£åæ§ãçºæ®ãã¾ãããã®ã¡ãªããã確èªãããããä½æããã³ã¼ãã«ãã°ãåãè¾¼ãã§ã¿ã¾ããããä½æãã HelloAndroid ã½ã¼ã¹ ã³ã¼ãã次ã®ããã«å¤æ´ãã¾ãã
-
-
-package com.android.helloandroid;
-
-import android.app.Activity;
-import android.os.Bundle;
-
-public class HelloAndroid extends Activity {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- Object o = null;
- o.toString();
- setContentView(R.layout.main);
- }
-}
-
-ãã®å¤æ´ã¯ãåã«ã³ã¼ãã« NullPointerException ãçºçããããã®ã§ããã¢ããªã±ã¼ã·ã§ã³ãå度å®è¡ããã¨ãæçµçã«æ¬¡ã®ãããªç»é¢ã表示ããã¾ãã
-
-
-
-ãå¼·å¶çµäºããæ¼ãã¦ã¢ããªã±ã¼ã·ã§ã³ãçµäºããã¨ãã¥ã¬ã¼ã¿ ã¦ã£ã³ãã¦ãéãã¾ãã
-
-ã¨ã©ã¼ã®è©³ç´°ã確èªããã«ã¯ãã½ã¼ã¹ ã³ã¼ãå
ã® Object o = null;
è¡ã«ãã¬ã¼ã¯ãã¤ã³ããè¨å®ãã¾ãï¼è©²å½ããã½ã¼ã¹ ã³ã¼ãè¡ã®æ¨ªã«ãããã¼ã«ã¼ ãã¼ãããã«ã¯ãªãã¯ãã¾ãï¼ã次ã«ãã¡ãã¥ã¼ãã [[]å®è¡ï¼Runï¼] > [[]ãããã° ãã¹ããªã¼ï¼Debug Historyï¼] > [[]Hello, Android] ãé¸æãã¦ããããã° ã¢ã¼ãã«å
¥ãã¾ããã¨ãã¥ã¬ã¼ã¿ã§ã¢ããªã±ã¼ã·ã§ã³ãåèµ·åããã¾ãããä»åº¦ã¯ãå
ã»ã©è¨å®ãããã¬ã¼ã¯ãã¤ã³ãã«å°éããæç¹ã§ä¸æããã¾ãããã®å¾ Eclipse ã®ãããã° ãã¼ã¹ãã¯ãã£ãï¼Debug Perspectiveï¼ã§ãä»ã®ã¢ããªã±ã¼ã·ã§ã³ã§é常è¡ãããã«ãã³ã¼ãã®å
容ã確èªã§ãã¾ãã
-
-
-
-
-Eclipse ã使ç¨ããã«ããã¸ã§ã¯ããä½æãã
-
- Eclipse ã使ç¨ãã¦ããªãå ´åï¼æ®æ®µãã使ç¨ãã¦ããç·åéçºç°å¢ãããå ´åããã·ã³ãã«ã«ããã¹ã ã¨ãã£ã¿ãã³ãã³ã ã©ã¤ã³ ãã¼ã«ã使ç¨ãã¦ããå ´åãªã©ï¼ã¯ãEclipse ãã©ã°ã¤ã³ãå©ç¨ãããã¨ã¯ã§ãã¾ããããããå¿é
ã¯ç¡ç¨ã§ããEclipse ã使ç¨ãã¦ããªãããã¨ãã£ã¦ä½ããã®æ©è½ã失ããããã¨ã¯ããã¾ããã
-
- Android Plugin for Eclipse ã¯ãåã« Android SDK ã«å«ã¾ãããã¼ã« ã»ãããã¾ã¨ãããã®ã«éãã¾ããï¼ã¨ãã¥ã¬ã¼ã¿ãaaptãadbãddms ãªã©ã®åå¥ã®ãã¼ã«ã«ã¤ãã¦ã¯ããã¡ãã§å¥é説æãã¦ãã¾ãï¼ããã®ããããããã®ãã¼ã«ãå¥ã®ãã¼ã«ããã¨ãã°ãAntãã®ãã«ã ãã¡ã¤ã«ãªã©ã§ã¾ã¨ãããã¨ãå¯è½ã§ãã
-
- Android SDK ã«ã¯ããandroidãã¨ããååã®ãã¼ã«ãå«ã¾ãã¦ãã¾ãããã®ãã¼ã«ã使ç¨ããã¨ãä½æããããã¸ã§ã¯ãã®ã½ã¼ã¹ ã³ã¼ãã¨ãã£ã¬ã¯ã㪠ã¹ã¿ããã¹ã¦ãããã³ Ant ã¨äºææ§ã®ãã build.xml
ãã¡ã¤ã«ãä½æãããã¨ãã§ãã¾ããããã«ãããããã¸ã§ã¯ããã³ãã³ã ã©ã¤ã³ã§ä½æããããæ®æ®µä½¿ç¨ãã¦ããç·åéçºç°å¢ã¨çµ±åããããããã¨ãã§ãã¾ãã
-
- ãã¨ãã°ãEclipse ã§ä½æããããã®ã¨åæ§ã® HelloAndroid ããã¸ã§ã¯ããä½æããã«ã¯ã次ã®ã³ãã³ãã使ç¨ãã¾ãã
-
-
-android create project \
- --package com.android.helloandroid \
- --activity HelloAndroid \
- --target 2 \
- --path <path-to-your-project>/HelloAndroid
-
-
- ããã«ãããpath ã§å®ç¾©ãããå ´æã«ãããã¸ã§ã¯ãã«å¿
è¦ãªãã©ã«ãã¨ãã¡ã¤ã«ãä½æããã¾ãã
-
- SDK ãã¼ã«ã使ç¨ãã¦ããã¸ã§ã¯ããä½æããã³æ§ç¯ããæ¹æ³ã«ã¤ãã¦è©³ããã¯ããDeveloping in Other IDEsããåç
§ãã¦ãã ããã
diff --git a/docs/html/intl/ja/resources/community-groups.jd b/docs/html/intl/ja/resources/community-groups.jd
deleted file mode 100644
index 3fd66013d703..000000000000
--- a/docs/html/intl/ja/resources/community-groups.jd
+++ /dev/null
@@ -1,116 +0,0 @@
-community=true
-page.title=ã³ãã¥ããã£
-@jd:body
-
-
-
ã³ãã¥ããã£
-
Android ãããããã¼ ã³ãã¥ããã£ã¸ãããããã³ãã¥ããã£ã§ã®ãã£ã¹ã«ãã·ã§ã³ã«ãã²åå ãã¦ãã ãããæ稿ããåã«ãã³ãã¥ãã㣠ã¬ã¤ãã©ã¤ã³ãè¨è¼ããã¦ããã°ã«ã¼ãã®è¶£æããèªã¿ãã ããã
-
-
注: Android ã½ã¼ã¹ ã³ã¼ãï¼ã¢ããªã±ã¼ã·ã§ã³éçºã§ã¯ãªãï¼ã«é¢ãããã£ã¹ã«ãã·ã§ã³ã¯ããªã¼ãã³ã½ã¼ã¹ ããã¸ã§ã¯ãã®ã¡ã¼ãªã³ã° ãªã¹ãï¼è±èªï¼ãåç
§ãã¦ãã ããã
-
-
ç®æ¬¡
-
- - 質åãæ稿ããåã«
- - ã¢ããªã±ã¼ã·ã§ã³ ãããããã¼ ã¡ã¼ãªã³ã° ãªã¹ã
- - ã¡ã¼ãªã³ã° ãªã¹ãã«ã¡ã¼ã«ã使ç¨
- - IRC ã®ä½¿ç¨
-
-
-
質åãæ稿ããåã«
-
æ稿ãä½æããåã«ãä¸è¨ãã試ããã ãã:
-
-
-- ãããã質åãåç
§ãã¾ããAndroid ã¢ããªã±ã¼ã·ã§ã³ã®éçºã«ã¤ãã¦é常ã«ä¸è¬çãªè³ªåãããã®ä¸è¦§ã«è¨è¼ããã¦ãããé »ç¹ã«æ´æ°ããã¦ãã¾ãã
-- Android ã®ã¡ã¤ã³ ãµã¤ãã®æ¤ç´¢ãã¼ï¼ãã®ãã¼ã¸ã®ä¸é¨ã«ããã®ã¨åããã®ï¼ã«ã調ã¹ãããã¼ã¯ã¼ããå
¥åãã¦ãã ããããã®æ¤ç´¢ã¯ããµã¤ããããã¥ã¡ã³ããããã°ã«å«ã¾ãããã¹ã¦ã®ã³ã³ãã³ãã®ä»ã«ããã¹ã¦ã®ã°ã«ã¼ãã§ä»¥åè¡ããããã¹ã¦ã®ãã£ã¹ã«ãã·ã§ã³ã網ç¾
ãã¦ãã¾ãã誰ãä»ã®äººãã以åã«ãåãåé¡ã«ééããå¯è½æ§ã¯å¤§ãã«ããã¾ãã
-- ã¡ã¼ãªã³ã° ãªã¹ãã®ã¢ã¼ã«ã¤ããæ¤ç´¢ãã¦ãåã質åã«é¢ãããã£ã¹ã«ãã·ã§ã³ãæ¢ã«åå¨ããªãã調ã¹ã¦ãã ããã
-
-
-
-
質åã¸ã®çããè¦ã¤ãããªãå ´åãã³ãã¥ããã£ã§è³ªåãããã¨ããããããã¾ããæ稿ããéã¯ã次ã®æé ã«å¾ã£ã¦ãã ããã
-
-- ã³ãã¥ãã㣠ã¬ã¤ãã©ã¤ã³ãè¨è¼ããã¦ããAndroid ã¡ã¼ãªã³ã°ãªã¹ãã®è¶£æããèªã¿ãã ããã
-
-- 質åã«æé©ãªã¡ã¼ãªã³ã° ãªã¹ããé¸æãã¦ãã ãããå¾è¿°ããããã«ããããããã¼åãã®ã¡ã¼ãªã³ã° ãªã¹ãã¯ä½ç¨®é¡ãã«åããã¦ãã¾ãã
--
- 質åã®å
容ãæ確ã«ãæ確ãªè³ªåã¯ãåçè
ã¨ãå°æ¥æ
å ±ãæ¢ããã¨ãã人ã®åæ¹ã«ã¨ã£ã¦æçã§ãã
-- æ稿ã¯è©³ããæ¸ãã¦ãã ãããåçè
ã®äººãã¡ãåé¡ãç解ããã®ã«å½¹ç«ã¡ã¾ããã³ã¼ãããã°ã®ã¹ãããããã¹ã¯ãªã¼ã³ã·ã§ããã¸ã®ãªã³ã¯ãå«ãããã¨ãæç¨ã§ãã質åããããããã表ç¾ããããã®è©³ããã¬ã¤ãã©ã¤ã³ã¯ãè³¢ã質åã®ãããï¼è±èªï¼ãã覧ãã ããã
-
-
-
-
-
ã¢ããªã±ã¼ã·ã§ã³ ãããããã¼ ã¡ã¼ãªã³ã° ãªã¹ã
-
-
-- Android SDK Japan - Android SDK ã«é¢ãã質åã¨çããææ¡ã¨ãã£ã¼ãããã¯ã交æã§ããå ´ã§ãã
-
-
-
-- Android åå¿è
åã - Android ã¢ããªã±ã¼ã·ã§ã³ã®éçºåå¿è
åãã§ããAndroid SDK ã¨åºæ¬ç㪠Android API ã®å©ç¨æ¹æ³ã«ã¤ãã¦å¦ç¿ãããå ´åã¯ããã®ã¡ã¼ãªã³ã° ãªã¹ãããå§ãã¦ãã ããããã®ã¡ã¼ãªã³ã° ãªã¹ãã«ã¯ãSDK ãå©ç¨ãããããããã¼ã®åæ©çãªãã£ã¹ã«ãã·ã§ã³ã®å ´æã§ããAndroid ãã©ãããã©ã¼ã ã§åãã¦ã¢ããªã±ã¼ã·ã§ã³ãä½æãã¦å®è¡ããéã¯ãé常ã«æçãªæ
å ±ãå¾ããã¨ãã§ããã§ããããéçºç°å¢ã®ã¤ã³ã¹ãã¼ã«æ¹æ³ã«ã¤ãã¦ã®è³ªåãæ稿ããããAndroid éçºã®åæ©ï¼åãã¦ä½æããã¦ã¼ã¶ã¼ ã¤ã³ã¿ã¼ãã§ã¼ã¹ã権éãAndroid ãã¡ã¤ã«ã·ã¹ãã ã§ã®ãã¡ã¤ã«ãAndroid ãã¼ã±ããã§ã®ã¢ããªã±ã¼ã·ã§ã³ãªã©ï¼ã«ã¤ãã¦æãã¦ããããã¨ãã§ãã¾ããæ°ãã«è³ªåããåã«ãå¿
ãæåã«ã¢ã¼ã«ã¤ãã確èªãã¦ãã ãããé«åº¦ãªå
容ã®è³ªåã®å ´åã¯ããã§ã¯è³ªåãããandroid-developers ã¡ã¼ãªã³ã° ãªã¹ãã§è³ªåãã¦ãã ãããã¾ã使ç¨ã«é¢ãã質åã¯ãandroid-discuss ã¡ã¼ãªã³ã° ãªã¹ãã®æ¹ãé©ãã¦ãã¾ãã
-
-
-
-- Android ãããããã¼åã - Android ã¢ããªã±ã¼ã·ã§ã³ ãããããã¼ã¨ãã¦çµé¨ãç©ãã«ã¤ããAndroid ã¢ããªã±ã¼ã·ã§ã³éçºã®åºæ¬ãææ¡ãã¦ãSDK ã使ãããªããããã«ãªãã¾ããä»åº¦ã¯ãããé«åº¦ãªå
容ã«ã¤ãã¦è³ªåããå¿
è¦ãããã¾ããã¢ããªã±ã¼ã·ã§ã³ã®ãã©ãã«ã·ã¥ã¼ãã£ã³ã°ãå®è£
ã¸ã®ã¢ããã¤ã¹ãã¢ããªã±ã¼ã·ã§ã³ã®ããã©ã¼ãã³ã¹ãã¦ã¼ã¶ã¼ ã¨ã¯ã¹ããªã¨ã³ã¹ãæ¹è¯ãããã¯ããã¯ã«é¢ãã質åã«ã¯ã次ã®ã¡ã¼ãªã³ã° ãªã¹ããå½¹ç«ã¡ã¾ãã使ç¨ã«é¢ããåé¡ï¼android-discuss ããå©ç¨ãã ããï¼ããAndroid SDK ã使ç¨ããéã®åæ©ç質åï¼android-beginners ããå©ç¨ãã ããï¼ã«ã¤ãã¦ã®ãã£ã¹ã«ãã·ã§ã³ã®å ´æã§ã¯ããã¾ããã
-
-
-
-- Android ãã£ã¹ã«ãã·ã§ã³ - Android ã«é¢ãããäºæ¸ç«¯ä¼è°ãã§ããããã§ã¯ãAndroid ãã©ãããã©ã¼ã ã¸ã®ã¢ã¤ãã¢ãèªåã®ã¢ããªã±ã¼ã·ã§ã³ã®å
¬è¡¨ãAndroid æºå¸¯ç«¯æ«ã«é¢ãããã£ã¹ã«ãã·ã§ã³ãã³ãã¥ãã㣠ãªã½ã¼ã¹ãªã©ãAndroid ã«é¢ãããã¨ãªãä½ã§ãæ稿å¯è½ã§ãããã ãä»ã®ã¡ã¼ãªã³ã° ãªã¹ãã«è©²å½ããå
容ã®å ´åã¯ããã®ã¡ã¼ãªã³ã° ãªã¹ãã«æ稿ãããã¨ããããããã¾ãã質åã®ãã¼ããéå®ããã¦ããå ´æã®æ¹ããããå¤ãã®åçãå¾ããã¨ãã§ããã§ãããã
-
-
-
-- Android ã»ãã¥ãªã㣠ãã£ã¹ã«ãã·ã§ã³ - å®å
¨ãªéçºãæ°ãã«çºçããã»ãã¥ãªãã£ã®åé¡ãAndroid ãããããã¼åãã® Android ãããããã¼ã«ãããã¹ã ãã©ã¯ãã£ã¹ã«ã¤ãã¦èªç±ã«ãã£ã¹ã«ãã·ã§ã³ãè¡ããå ´æã§ããã¡ã¼ãªã³ã° ãªã¹ãã§èå¼±æ§ãç´æ¥å
¬éãããã¨ã¯ããã¹ã¦ã® Android ã¦ã¼ã¶ã¼ãå±éºã«ããããã¨ã«ãªãã®ã§ãé¿ãã¦ãã ããã
-
-
-
-- Android ã»ãã¥ãªãã£ã«é¢ããçºè¡¨ - Android ã»ãã¥ãªã㣠ãã¼ã ãã»ãã¥ãªãã£é¢é£ã®çºè¡¨ãè¡ããå°è¦æ¨¡ãªã°ã«ã¼ãã§ãã
-
-
-
-- Android ãã¼ã±ãã ãã«ããã©ã¼ã©ã - Android ãã¼ã±ããã«é¢ãã質åãåé¡ã®å ±åãããããã®ãã¦ã§ããã¼ã¹ã®ãã£ã¹ã«ãã·ã§ã³ ãã©ã¼ã©ã ã§ãã
-
-
-
-
-
-
-
-
ã¡ã¼ãªã³ã° ãªã¹ãã«ã¡ã¼ã«ã使ç¨
-
Google ã°ã«ã¼ã ã®ãµã¤ãã使ç¨ãã代ããã«ãã¡ã¼ã« ã¯ã©ã¤ã¢ã³ãã使ç¨ãã¦ãã¡ã¼ãªã³ã° ãªã¹ãã«æ稿ãããã¨ãå¯è½ã§ãã
-
Google ã°ã«ã¼ãã®ãµã¤ãã使ç¨ããã«ãã°ã«ã¼ãã«ç»é²ããã«ã¯ãä¸è¨ã®ãã¡ã¼ã«ã§ç»é²ãã®ãªã³ã¯ã使ç¨ãã¾ãã
-
ã¡ã¼ãªã³ã° ãªã¹ãã¸ã®æ稿ãã¡ã¼ã«ã§åä¿¡ããããã«è¨å®ããæ¹æ³ã¯ã次ã®ã¨ããã§ã:
-
-
- Google ã°ã«ã¼ã ãµã¤ããããã°ã«ã¼ãã«ãã°ã¤ã³ãã¾ãããã¨ãã° android-framework ã°ã«ã¼ãã«ã¯ http://groups.google.com/group/android-framework?hl=ja ã«ã¢ã¯ã»ã¹ãã¾ãã
-- å³å´ã® [ã¡ã³ãã¼ã¹ãã¼ã¿ã¹ãç·¨é] ãã¯ãªãã¯ãã¾ãã
-- [ãã®ã°ã«ã¼ãã®é²è¦§æ¹æ³] ã§ãã¡ã¼ã« ãªãã·ã§ã³ã®ãããããé¸æãã¾ãã
-
-
-
IRC ã®ä½¿ç¨
-
Android ã³ãã¥ããã£ã¯ irc.freenode.net ãµã¼ãã¼ã® #android ãã£ã³ãã«ã使ç¨ãã¦ãã¾ãã
-
-
-
-
-
-
-
-
-
diff --git a/docs/html/intl/ja/resources/tutorials/hello-world.jd b/docs/html/intl/ja/resources/tutorials/hello-world.jd
deleted file mode 100644
index e0ef9e69ca0e..000000000000
--- a/docs/html/intl/ja/resources/tutorials/hello-world.jd
+++ /dev/null
@@ -1,377 +0,0 @@
-page.title=Hello, World
-@jd:body
-
-
-
-ãããããã¼ã«ã¨ã£ã¦ãéçºãã¬ã¼ã ã¯ã¼ã¯ã®ç¬¬ä¸å°è±¡ã¯ãã©ãã ãç°¡åã«ãHello, Worldããè¨è¿°ã§ãããã§æ±ºã¾ãã¾ããAndroid ã§ã¯ãé常ã«ç°¡åã«è¨è¿°ã§ãã¾ããç·åéçºç°å¢ã¨ã㦠Eclipse ã使ç¨ãã¦ããå ´åã«ã¯ãéçºã¯ç¹ã«ç°¡åã§ããããã¸ã§ã¯ãã®ä½æã¨ç®¡çã«ä½¿ç¨ã§ãã便å©ãªãã©ã°ã¤ã³ãç¨æããã¦ãããéçºãµã¤ã¯ã«ã大å¹
ã«ã¹ãã¼ãã¢ããã§ããããã§ãã
-
-Eclipse ã使ç¨ãã¦ããªãå ´åã§ãåé¡ããã¾ãããDeveloping in Other IDEsã«æ
£ãã¦ããããã®ãã¥ã¼ããªã¢ã«ã«æ»ããEclipse ã«é¢ããé¨å以å¤ãåèã«ãã¦ãã ããã
-
-éå§ããåã«ãææ°ã® SDK ãã¤ã³ã¹ãã¼ã«ããã¦ããå¿
è¦ãããã¾ããã¾ããEclipse ã使ç¨ããå ´åã«ã¯ãADT ãã©ã°ã¤ã³ãã¤ã³ã¹ãã¼ã«ããã¦ããå¿
è¦ãããã¾ãããããã®ããã°ã©ã ãã¤ã³ã¹ãã¼ã«ããã¦ããªãå ´åã¯ããInstalling the Android SDKããåèã«ã¤ã³ã¹ãã¼ã«ãå®è¡ãã¦ãå®äºå¾ã«ãã®ãã¥ã¼ããªã¢ã«ã«æ»ã£ã¦ãã ããã
-
-AVD ã®ä½æ
-
-
-
-
AVD ã®ä½¿ç¨æ¹æ³ã¨ä½¿ç¨å¯è½ãªãªãã·ã§ã³ã«ã¤ãã¦è©³ããã¯ãAndroid ä»®æ³ããã¤ã¹ ã®ããã¥ã¡ã³ããåç
§ãã¦ãã ããã
-
-
-
-ãã®ãã¥ã¼ããªã¢ã«ã§ã¯ãéçºããã¢ããªã±ã¼ã·ã§ã³ã Android ã¨ãã¥ã¬ã¼ã¿ã§å®è¡ãã¾ããã¨ãã¥ã¬ã¼ã¿ãèµ·åããã«ã¯ãäºåã« Android ä»®æ³ããã¤ã¹ï¼AVDï¼ãä½æããå¿
è¦ãããã¾ããAVD ã¯ãã¨ãã¥ã¬ã¼ã¿ã使ç¨ããã·ã¹ãã ã¤ã¡ã¼ã¸ã¨ããã¤ã¹ã®è¨å®ãå®ç¾©ãããã®ã§ãã
-
-AVD ãä½æããã«ã¯ãAndroid SDK ã«å«ã¾ãã¦ãããandroidããã¼ã«ã使ç¨ãã¾ããã³ãã³ã ããã³ããã¾ãã¯ã¿ã¼ããã«ãéããSDK ããã±ã¼ã¸ã®ä¸ã® tools/
ãã£ã¬ã¯ããªã«ç§»åãã¦ã次ã®ã³ãã³ããå®è¡ãã¾ãã
-
-android create avd --target 2 --name my_avd
-
-
-ã«ã¹ã¿ã ãã¼ãã¦ã§ã¢ ãããã¡ã¤ã«ãä½æãããã©ãããå°ãããã¾ããããã§ã¯ã²ã¨ã¾ãããªã¿ã¼ã³ ãã¼ãæ¼ãã¦ã¹ããããã¾ãï¼ããã©ã«ãã®åçã¯ãNoãã¨ãªã£ã¦ãã¾ãï¼ä»¥ä¸ã§ AVD ã®ä½æã¯çµäºã§ãããã®ä½æ¥ã«ãããAndroid 1.5 ãã©ãããã©ã¼ã ã使ç¨ãããmy_avdãã¨ããååã® AVD ãæ§æããã¾ãããããã§ãAVD ãã¨ãã¥ã¬ã¼ã¿ã§ä½¿ç¨ã§ããç¶æ
ã«ãªãã¾ããã
-
-ä¸è¨ã®ã³ãã³ãã§ä½¿ç¨ãã --target
ãªãã·ã§ã³ã¯ãã¨ãã¥ã¬ã¼ã¿ãå®è¡ããé
åã¿ã¼ã²ãããæå®ãããã®ã§ãå¿
é ãªãã·ã§ã³ã§ãã--name
ãªãã·ã§ã³ã¯æ°è¦ AVD ã®ååãå®ç¾©ãããã®ã§ããããå¿
é ãªãã·ã§ã³ã§ãã
-
-
-æ°è¦ Android ããã¸ã§ã¯ããä½æãã
-
-AVD ãä½æãããã次㯠Eclipse å
ã§æ°è¦ Android ããã¸ã§ã¯ããéå§ãã¾ãã
-
-
- - Eclipse ã§ã[[]ãã¡ã¤ã«ï¼Fileï¼] > [[]æ°è¦ï¼Newï¼] > [[]ããã¸ã§ã¯ãï¼Projectï¼] ãé¸æãã¾ãã
-
ADT Plugin for Eclipse ãæ£å¸¸ã«ã¤ã³ã¹ãã¼ã«ããã¦ããã°ã表示ããããã¤ã¢ãã°ã«ããAndroidãã¨ããã©ãã«ã®ä»ãããã©ã«ãã¨ããã®ä¸ã®ãAndroid ããã¸ã§ã¯ãï¼Android Projectï¼ãã表示ããã¾ãï¼1 ã¤ã¾ãã¯è¤æ°ã® Android ããã¸ã§ã¯ããä½æããå¾ã¯ããAndroid XML Fileãã¨ããã¨ã³ããªã表示ãããããã«ãªãã¾ãï¼ã
-
-
- - ãAndroid ããã¸ã§ã¯ãï¼Android Projectï¼ããé¸æãã¦ã[[]次ã¸ï¼Nextï¼] ãã¯ãªãã¯ãã¾ãã
-
-
- - ããã¸ã§ã¯ãã®è©³ç´°é
ç®ã«ä»¥ä¸ã®å¤ãå
¥åãã¾ãã
-
- - ããã¸ã§ã¯ãåï¼Project nameï¼: HelloAndroid
- - ã¢ããªã±ã¼ã·ã§ã³åï¼Application nameï¼: Hello, Android
- - ããã±ã¼ã¸åï¼Package nameï¼: com.example.helloandroidï¼ã¾ãã¯èªåã®ãã©ã¤ãã¼ã ãã¼ã ã¹ãã¼ã¹ï¼
- - ã¢ã¯ãã£ããã£ãä½æï¼Create Activityï¼: HelloAndroid
- - SDK ã®æå°ãã¼ã¸ã§ã³ï¼Min SDK Versionï¼: 2
-
- [[]å®äºï¼Finishï¼] ãã¯ãªãã¯ãã¾ãã
-
-
-
- åãã£ã¼ã«ãã®èª¬æã¯ä»¥ä¸ã®ã¨ããã§ãã
-
-
- - ããã¸ã§ã¯ãåï¼Project Nameï¼
- - Eclipse ã®ããã¸ã§ã¯ãåãããã¸ã§ã¯ã ãã¡ã¤ã«ãæ ¼ç´ãããã£ã¬ã¯ããªã®ååã§ãã
- - ã¢ããªã±ã¼ã·ã§ã³åï¼Application Nameï¼
- - ã¢ããªã±ã¼ã·ã§ã³åã¯ã¦ã¼ã¶ã¼ã«ããããããã¢ããªã±ã¼ã·ã§ã³ã®ã¿ã¤ãã«ã«ãã¾ãããã®ååã Android æºå¸¯ç«¯æ«ã«è¡¨ç¤ºããã¾ãã
- - ããã±ã¼ã¸åï¼Package Nameï¼
- - ä½æãããã¹ã¦ã®ã½ã¼ã¹ ã³ã¼ããæ ¼ç´ããããã±ã¼ã¸ ãã¼ã ã¹ãã¼ã¹ã§ãï¼Java ããã°ã©ãã³ã°è¨èªã§ä½æããããã±ã¼ã¸ã¨åãã«ã¼ã«ã«å¾ãã¾ãï¼ãã¾ããããã«ãããã¹ã¿ã Activity ãçæãããããã±ã¼ã¸ã®ååãè¨å®ããã¾ãã
-
ããã±ã¼ã¸å㯠Android ã·ã¹ãã ã«ã¤ã³ã¹ãã¼ã«ããããã¹ã¦ã®ããã±ã¼ã¸ã«å
±éãã¦åºæã®ãã®ã§ãªããã°ãªãã¾ããããã®ãããä½æããã¢ããªã±ã¼ã·ã§ã³ã«æ¨æºçãªãã¡ã¤ã³ ã¹ã¿ã¤ã«ã®ããã±ã¼ã¸ã使ç¨ãããã¨ãé常ã«éè¦ã§ããä¸è¨ã®ä¾ã§ã¯ããcom.exampleãã¨ãããã¼ã ã¹ãã¼ã¹ã使ç¨ãã¦ãã¾ããããã¯ãµã³ãã« ããã¥ã¡ã³ãç¨ã®ãã¼ã ã¹ãã¼ã¹ã§ããå®éã«ã¢ããªã±ã¼ã·ã§ã³ãä½æããéã«ã¯ãæå±ããçµç¹ã¾ãã¯æ³äººã«é©åãªãã¼ã ã¹ãã¼ã¹ã使ç¨ãã¾ãã
- - ã¢ã¯ãã£ããã£ãä½æï¼Create Activityï¼
- - ãã©ã°ã¤ã³ã«ãã£ã¦çæãããã¯ã©ã¹ ã¹ã¿ãã®ååã§ããã¯ã©ã¹ ã¹ã¿ã㯠Android ã® {@link android.app.Activity} ã¯ã©ã¹ã®ãµãã¯ã©ã¹ã¨ãªãã¾ããã¢ã¯ãã£ããã£ã¨ã¯åã«ãå®è¡ãã¦ä½ããã®å¦çãè¡ããã¨ãã§ããã¯ã©ã¹ãæå³ãã¾ããé¸æã«å¿ã㦠UI ãä½æãããã¨ãã§ãã¾ãï¼ãã ãå¿
é ã§ã¯ããã¾ããï¼ããã§ãã¯ããã¯ã¹ã«ãªã£ã¦ãããã¨ãããããããã«ãããã¯ä»»æé¸æã®é
ç®ã§ããããããå®éã«ã¯ã»ã¨ãã©ã®ã¢ããªã±ã¼ã·ã§ã³ã§ã¯ãã¢ã¯ãã£ããã£ãã¢ããªã±ã¼ã·ã§ã³ã®åºç¤ã¨ãã¦ä½¿ç¨ãã¦ãã¾ãã
- - SDK ã®æå°ãã¼ã¸ã§ã³ï¼Min SDK Versionï¼
- - ä½æããã¢ããªã±ã¼ã·ã§ã³ãå¿
è¦ã¨ããæå° API ã¬ãã«ãæå®ããå¤ã§ããããã«å
¥åãã API ã¬ãã«ããé¸æå¯è½ãªã¿ã¼ã²ããã®ããããã§æä¾ããã API ã¬ãã«ã¨ä¸è´ããå ´åã¯ããã«ã ã¿ã¼ã²ãããèªåçã«é¸æããã¾ãï¼ãã®ä¾ã§ã¯ãAPI ã¬ãã«ã«ã2ãã¨å
¥åããã¨ã¿ã¼ã²ãã Android 1.1 ãé¸æããã¾ãï¼ãAndroid ã·ã¹ãã ã¤ã¡ã¼ã¸ã¨ Android SDK ããããã®æ°ãããã¼ã¸ã§ã³ã§ã¯ãAPI ã«è¿½å ã¾ãã¯å¤æ´ãå ãããã¦ããå¯è½æ§ãããã¾ãã追å ã¾ãã¯å¤æ´ãå ãããã¦ããå ´åãæ°ãã API ã¬ãã«ãã·ã¹ãã ã¤ã¡ã¼ã¸ã«å²ãå½ã¦ãããã©ã®ã¢ããªã±ã¼ã·ã§ã³ã®å®è¡ã許å¯ããããè¦å¶ããã¾ããã¢ããªã±ã¼ã·ã§ã³ã§å¿
è¦ãª API ã¬ãã«ãããã¤ã¹ã§ãµãã¼ããããã¬ãã«ãããé«ãå ´åãã¢ããªã±ã¼ã·ã§ã³ã¯ã¤ã³ã¹ãã¼ã«ããã¾ããã
-
-
- ãã®ä»ã®ãã£ã¼ã«ã: ãããã©ã«ã ãã±ã¼ã·ã§ã³ã®ä½¿ç¨ããã§ãã¯ããã¯ã¹ã§ã¯ãããã¸ã§ã¯ãã®ãã¡ã¤ã«ãçæããä¿åããããã£ã¹ã¯ä¸ã®å ´æãå¤æ´ãããã¨ãã§ãã¾ããããã«ã ã¿ã¼ã²ãããã¯ãä½æããã¢ããªã±ã¼ã·ã§ã³ãã³ã³ãã¤ã«ãããã¨ãã«ã¿ã¼ã²ããã¨ãããã©ãããã©ã¼ã ã§ãï¼ãã®é
ç®ã¯ [[]SDK ã®æå°ãã¼ã¸ã§ã³ï¼Min SDK Versionï¼] ã®å
¥åå¤ã«åºã¥ãã¦èªåçã«é¸æããã¾ãï¼ã
-
- ããã§ãé¸æããããã«ã ã¿ã¼ã²ããã㧠Android 1.1 ãã©ãããã©ã¼ã ã使ç¨ããããã¨ã«æ³¨ç®ãã¦ãã ãããããã¯ãä½æããã¢ããªã±ã¼ã·ã§ã³ã Android 1.1 ãã©ãããã©ã¼ã ã©ã¤ãã©ãªãã¿ã¼ã²ããã¨ãã¦ã³ã³ãã¤ã«ããããã¨ãæå³ãã¾ããå
ã»ã©ä½æãã AVD 㯠Android 1.5 ãã©ãããã©ã¼ã ã§å®è¡ããã¾ãããã¼ã¸ã§ã³ã®æ°åãä¸è´ãã¾ããããAndroid ã¢ããªã±ã¼ã·ã§ã³ã«ã¯ä¸æ¹äºææ§ãããããã1.1 ãã©ãããã©ã¼ã ã©ã¤ãã©ãªãã¿ã¼ã²ããã¨ãã¦æ§ç¯ãããã¢ããªã±ã¼ã·ã§ã³ã§ã 1.5 ãã©ãããã©ã¼ã ã§æ£å¸¸ã«åä½ãã¾ãããã ããã®éã®å ´åã¯æ£å¸¸ã«åä½ãã¾ããã
-
-
-
-ãã¦ããã㧠Android ããã¸ã§ã¯ãã使ç¨ã§ããç¶æ
ã«ãªãã¾ãããããã¸ã§ã¯ãã¯å·¦å´ã®ããã±ã¼ã¸ ã¨ã¯ã¹ããã¼ã©ã¼ï¼Package Explorerï¼ã§è¡¨ç¤ºã§ãã¾ãããHelloAndroidã > ãsrcã > ãcom.example.helloandroidã ã®ä¸ã«ãã HelloAndroid.java
ãã¡ã¤ã«ãéãã¾ãããã¡ã¤ã«ã®å
容ã¯æ¬¡ã®ããã«ãªã£ã¦ãã¾ãã
-
-
-package com.example.helloandroid;
-
-import android.app.Activity;
-import android.os.Bundle;
-
-public class HelloAndroid extends Activity {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- }
-}
-
-ã¯ã©ã¹ã {@link android.app.Activity} ã¯ã©ã¹ã«åºã¥ãã¦ãããã¨ã«æ³¨ç®ãã¦ãã ãããã¢ã¯ãã£ããã£ï¼Activityï¼ã¨ã¯ãå¦çãå®è¡ããããã«ä½¿ç¨ãããåä½ã®ã¢ããªã±ã¼ã·ã§ã³ ã¨ã³ãã£ãã£ã§ãã1 ã¤ã®ã¢ããªã±ã¼ã·ã§ã³ã«ã¯ããã¤ãã®ã¢ã¯ãã£ããã£ãå«ã¾ããå ´åãããã¾ãããã¦ã¼ã¶ã¼ãä¸åº¦ã«æä½ããã®ã¯ 1 ã¤ã®ã¢ã¯ãã£ããã£ã§ããã¢ã¯ãã£ããã£ãéå§ããã¨ãAndroid ã·ã¹ãã ã«ãã£ã¦ {@link android.app.Activity#onCreate(Bundle) onCreate()} ã¡ã½ãããå¼ã³åºããã¾ãããã®ã¿ã¤ãã³ã°ã§ãã¹ã¦ã®åæå㨠UI ã»ããã¢ãããå®è¡ãã¾ããã¢ã¯ãã£ããã£ã«ã¦ã¼ã¶ã¼ ã¤ã³ã¿ã¼ãã§ã¼ã¹ã¯å¿
é ã§ã¯ããã¾ããããé常ã¯ã¦ã¼ã¶ã¼ ã¤ã³ã¿ã¼ãã§ã¼ã¹ãè£
åãã¾ãã
-
-ã§ã¯ãã³ã¼ããå¤æ´ãã¦ã¿ã¾ãããã
-
-
-UI ãæ§ç¯ãã
-
-ä¸è¨ã®å¤æ´æ¸ã¿ã®ã³ã¼ããåç
§ãã¦ããæå
ã® HelloAndroid ã¯ã©ã¹ã«åãå¤æ´ãå ãã¦ã¿ã¦ãã ããã太åã®é¨åã追å ãããè¡ã§ãã
-
-
-package com.android.helloandroid;
-
-import android.app.Activity;
-import android.os.Bundle;
-import android.widget.TextView;
-
-public class HelloAndroid extends Activity {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- TextView tv = new TextView(this);
- tv.setText("Hello, Android");
- setContentView(tv);
- }
-}
-
-ãã³ã: ããã¸ã§ã¯ãã«ã¤ã³ãã¼ã ããã±ã¼ã¸ãç°¡åã«è¿½å ã§ããæ¹æ³ã¨ãã¦ãCtrl+Shift+Oï¼Mac ã§ã¯ ã³ãã³ã+Shift+Oï¼ãæ¼ãæ¹æ³ãããã¾ããããã¯ãã³ã¼ãã®è¨è¿°ã«åºã¥ãã¦è¶³ããªãããã±ã¼ã¸ãç¹å®ãã¦è¿½å ãã Eclipse ã®ã·ã§ã¼ãã«ãã ãã¼ã§ãã
-
-Android ã®ã¦ã¼ã¶ã¼ ã¤ã³ã¿ã¼ãã§ã¼ã¹ã¯ãããã¥ã¼ï¼Viewsï¼ãã¨å¼ã°ãããªãã¸ã§ã¯ãã®é層ã§æ§æããã¦ãã¾ãã{@link android.view.View} ã¯ãUI ã¬ã¤ã¢ã¦ãå
ã§ãã¿ã³ãç»åãã¾ãã¯ï¼ãã®ãµã³ãã«ã®ããã«ï¼ããã¹ã ã©ãã«ã¨ãã£ãè¦ç´ ã¨ãã¦ä½¿ç¨ããããæç»å¯è½ãªãªãã¸ã§ã¯ãã§ãããããã®ãªãã¸ã§ã¯ãã®ããããã View ã¯ã©ã¹ã®ãµãã¯ã©ã¹ã§ãããããã¹ããå¦çãããµãã¯ã©ã¹ã¯ {@link android.widget.TextView} ã§ãã
-
-ãã®å¤æ´ã§ã¯ãã¯ã©ã¹ ã³ã³ã¹ãã©ã¯ã¿ã使ç¨ã㦠TextView ãä½æãã¾ãããã®ã¯ã©ã¹ ã³ã³ã¹ãã©ã¯ã¿ã¯ããã©ã¡ã¼ã¿ã¨ã㦠Android {@link android.content.Context} ã¤ã³ã¹ã¿ã³ã¹ãåãå
¥ãã¾ããContext ã¨ã¯ãã·ã¹ãã ã¸ã®ãã³ãã«ã§ããããªã½ã¼ã¹ã®è§£æ±ºããã¼ã¿ãã¼ã¹ãè¨å®ã¸ã®ã¢ã¯ã»ã¹ã®åå¾ãªã©ã®ãµã¼ãã¹ãæä¾ãã¾ããActivity ã¯ã©ã¹ã¯ Context ãç¶æ¿ãã¾ããä½æãã HelloAndroid ã¯ã©ã¹ã¯ãActivity ã®ãµãã¯ã©ã¹ã§ãããããContext ã§ãããã¾ãããããã£ã¦ãthis
ã Context åç
§ã¨ã㦠TextView ã«å¼ã渡ããã¨ãã§ãã¾ãã
-
-次ã«ã{@link android.widget.TextView setText(CharSequence) setText()} ã使ç¨ãã¦ããã¹ã ã³ã³ãã³ããå®ç¾©ãã¾ãã
-
-æå¾ã«ããã®ã³ã³ãã³ãã Activity UI ã®ã³ã³ãã³ãã¨ãã¦è¡¨ç¤ºãããããã«ãTextView ã {@link android.app.Activity#setContentView(View) setContentView()} ã«å¼ã渡ãã¾ããActivity ã«ãã£ã¦ãã®ã¡ã½ãããå¼ã³åºãããªããã°ãUI ã¯è¡¨ç¤ºãããã空ç½ã®ç»é¢ã表示ããã¾ãã
-
-ããã§ãAndroid ã§ãHello, Worldãã表示ãããããã«ãªãã¾ããã次ã®æé ã¯ãã¡ãããã¢ããªã±ã¼ã·ã§ã³ã®å®è¡ã§ãã
-
-
-ã¢ããªã±ã¼ã·ã§ã³ãå®è¡ãã
-
-Eclipse ãã©ã°ã¤ã³ã§ã¯ãé常ã«ç°¡åã«ã¢ããªã±ã¼ã·ã§ã³ãå®è¡ã§ãã¾ãã
-
-
- - [[]å®è¡] > [[]å®è¡] ãé¸æãã¾ãã
- - ãAndroid Applicationããé¸æãã¾ãã
-
-
-
-
-Eclipse ADT ã«ãã£ã¦èªåçã«ããã¸ã§ã¯ãã®æ°è¦èµ·åæ§æãä½æãããAndroid ã¨ãã¥ã¬ã¼ã¿ãèªåçã«èµ·åãã¾ããã¨ãã¥ã¬ã¼ã¿ãèµ·åããå¾ãå°ãçµã¤ã¨ã¢ããªã±ã¼ã·ã§ã³ã表示ããã¾ãã次ã®ãããªç»é¢ã表示ããã¾ãã
-
-
-
-ã°ã¬ã¼ã®ãã¼ã«è¡¨ç¤ºããã¦ãããHello, Androidãã¯ãã¢ããªã±ã¼ã·ã§ã³ã®ã¿ã¤ãã«ã§ãããã®ã¿ã¤ãã«ã¯ Eclipse ãã©ã°ã¤ã³ã«ãã£ã¦èªåçã«ä½æããã¾ãï¼æåå㯠res/values/strings.xml
ãã¡ã¤ã«å
ã§å®ç¾©ãããAndroidManifest.xml
ã«ãã£ã¦åç
§ããã¾ãï¼ãã¿ã¤ãã«ã®ä¸ã®ããã¹ãã¯ãå
ã»ã© TextView ãªãã¸ã§ã¯ãã§ä½æããå®éã®ããã¹ãã§ãã
-
-ããã§ãHello Worldãã«ã¤ãã¦ã®åºæ¬çãªãã¥ã¼ããªã¢ã«ã¯çµäºã§ããããã®ç¶ãããã²èªãã§ãã ãããAndroid ã¢ããªã±ã¼ã·ã§ã³ã®éçºã«é¢ããããã«æçãªæ
å ±ãç´¹ä»ãã¦ãã¾ãã
-
-
-UI ã XML ã¬ã¤ã¢ã¦ãã«ã¢ããã°ã¬ã¼ããã
-
-å
ã»ã©ä½æãããHello, Worldãã®ãµã³ãã«ã¯ããããã°ã©ããã£ãã¯ãã¨å¼ã°ãã UI ã¬ã¤ã¢ã¦ãã使ç¨ãã¦ãã¾ãããããã°ã©ããã£ãã¯ãã¨ã¯ãã¢ããªã±ã¼ã·ã§ã³ã® UI ãç´æ¥ã½ã¼ã¹ ã³ã¼ãã§ä½æããã³æ§ç¯ãããã¨ãæå³ãã¾ããUI ããã°ã©ãã³ã°ã®çµé¨ãè±å¯ãªæ¹ã§ããã°ããããããã®ãããªã¢ããã¼ããæã«ããã«èå¼±ã«ãªãå¾ããããããåãã§ããããã¬ã¤ã¢ã¦ãã®è»½å¾®ãªå¤æ´ã®ãã³ã«ãã½ã¼ã¹ ã³ã¼ãå
¨ä½ã«é¢ãã大ããªåé¡ãçºçããå¯è½æ§ãããããã§ããã¾ããè¤æ°ã®ãã¥ã¼ãé©åã«çµã³ã¤ãããã¨ãå¿ããããã¡ã§ãããããããã«ããã¬ã¤ã¢ã¦ãã«ã¨ã©ã¼ãçºçããã³ã¼ãã®ãããã°ã§æéãç¡é§ã«ãªãå ´åãããã¾ãã
-
-ãã®çç±ãããAndroid ã§ã¯ãXML ãã¼ã¹ã®ã¬ã¤ã¢ã¦ã ãã¡ã¤ã«ã使ç¨ããå¥ã® UI æ§ç¯ã¢ãã«ãç¨æãã¦ãã¾ãããã®æ¦å¿µãç°¡åã«èª¬æããã«ã¯ããµã³ãã«ãç´¹ä»ããã®ãä¸çªã§ããããã«ç¤ºãã®ã¯ãä¸è¨ã®ãããã°ã©ããã£ãã¯ãã«æ§ç¯ãããµã³ãã«ã¨åãããã«åä½ãã XML ã¬ã¤ã¢ã¦ã ãã¡ã¤ã«ã§ãã
-
-<?xml version="1.0" encoding="utf-8"?>
-<TextView xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:text="@string/hello"/>
-
-Android XML ã¬ã¤ã¢ã¦ã ãã¡ã¤ã«ã®å
¨è¬çãªæ§é ã¯ã·ã³ãã«ã§ããXML è¦ç´ ãããªã¼æ§é ã«ãªã£ã¦ãããå«ã¾ããåãã¼ãã View ã¯ã©ã¹ã®ååã表ãã¦ãã¾ãï¼ãã®ãµã³ãã«ã§ã¯ View è¦ç´ ã 1 ã¤ã®ã¿ã§ããï¼ãXML ã¬ã¤ã¢ã¦ãå
ã®è¦ç´ ã¨ãã¦ã{@link android.view.View} ãæ¡å¼µããä»»æã®ã¯ã©ã¹ã®ååã使ç¨ã§ãã¾ããããã«ã¯ä½æããã³ã¼ãã®ä¸ã§å®ç¾©ããã«ã¹ã¿ã View ã¯ã©ã¹ãå«ã¾ãã¾ãããã®æ§é ã«ãããããã°ã©ããã£ãã¯ãªã¬ã¤ã¢ã¦ããããã·ã³ãã«ãªæ§é ã¨æ§æã使ç¨ãã¦ãè¿
é㪠UI æ§ç¯ãé常ã«ç°¡åã«è¡ããã¨ãã§ãã¾ãããã®ã¢ãã«ã¯ãã¢ããªã±ã¼ã·ã§ã³ã®è¡¨ç¤ºï¼ã¤ã¾ã UIï¼ãããã¼ã¿ã®åå¾ã¨å
¥åã«ä½¿ç¨ãããã¢ããªã±ã¼ã·ã§ã³ ãã¸ãã¯ããåãé¢ããã¨ãã§ãã Web éçºã¢ãã«ãããã³ããå¾ã¦èæ¡ããã¾ããã
-
-ä¸è¨ã® XML ãµã³ãã«ã«ã¯ãTextView
ã¨ãã View è¦ç´ 1 ã¤ã®ã¿ãå«ã¾ãã¦ãã¾ãããã®è¦ç´ 㯠4 ã¤ã® XML å±æ§ãæã£ã¦ãã¾ããä¸è¡¨ã«ããããã® 4 ã¤ã®å±æ§ã®èª¬æãã¾ã¨ãã¾ããã
-
-
-
-
-
- å±æ§
- |
-
- 説æ
- |
-
-
-
- xmlns:android
- |
-
- Android ãã¼ã ã¹ãã¼ã¹ã§å®ç¾©ãããå
±éã®å±æ§ãåç
§ãããã¨ã Android ãã¼ã«ã«ä¼ãã XML ãã¼ã ã¹ãã¼ã¹å®£è¨ã§ãããã¹ã¦ã® Android ã¬ã¤ã¢ã¦ã ãã¡ã¤ã«å
ã®æåã¨æå¾ã®ã¿ã°ã¯ãã®å±æ§ãæã¤å¿
è¦ãããã¾ãã
- |
-
-
-
- android:layout_width
- |
-
- 該å½ã® View ãç»é¢ã®å©ç¨å¯è½ãªå¹
ã®ãã¡ã©ãããããå ããããå®ç¾©ãã¾ãããã®ãµã³ãã«ã§ã¯ããã® View ãããªãããããfill_parentãã¨ããå¤ã使ç¨ãã¦ç»é¢å
¨ä½ãå ãããã¨ã«ãã¾ãã
- |
-
-
-
- android:layout_height
- |
-
- android:layout_width ã¨ããä¼¼ãå±æ§ã§ãå¹
ã§ã¯ãªãé«ãã表ãã¾ãã
- |
-
-
-
- android:text
- |
-
- TextView ã表示ããããã¹ããè¨å®ãã¾ãããã®ãµã³ãã«ã§ã¯ããã¼ãã³ã¼ãè¨è¿°ãããæååå¤ã§ã¯ãªãæååãªã½ã¼ã¹ã使ç¨ãã¾ããæååãhelloã㯠res/values/strings.xml ãã¡ã¤ã«å
ã§å®ç¾©ããã¾ããã¢ããªã±ã¼ã·ã§ã³ã«æååãæ¿å
¥ããå ´åã«ã¯ãã®æ¹æ³ãæ¨å¥¨ããã¾ããã¬ã¤ã¢ã¦ã ãã¡ã¤ã«ã®ãã¼ãã³ã¼ããç´æ¥å¤æ´ããå¿
è¦ããªããããã¢ããªã±ã¼ã·ã§ã³ã®ä»ã®è¨èªã¸ã®ãã¼ã«ã©ã¤ãºãã¹ã ã¼ãºã«é²ãããã§ãã詳ããã¯ãããªã½ã¼ã¹ã¨å½éåããåç
§ãã¦ãã ããã
- |
-
-
-
-
-
-ãããã® XML ã¬ã¤ã¢ã¦ã ãã¡ã¤ã«ã¯ãä½æããããã¸ã§ã¯ãã® res/layout/
ãã£ã¬ã¯ããªå
ã«ç½®ããã¾ãããresãã¯ãresourcesãã®ç¥ã§ãã¢ããªã±ã¼ã·ã§ã³ã«å¿
è¦ãªã³ã¼ã以å¤ã®ãã¹ã¦ã®ã¢ã»ããããã®ãã£ã¬ã¯ããªã«æ ¼ç´ããã¾ãããªã½ã¼ã¹ã«ã¯ãã¬ã¤ã¢ã¦ã ãã¡ã¤ã«ã®ä»ã«ãç»åãé³å£°ããã¼ã«ã©ã¤ãºãããæååãªã©ã®ã¢ã»ãããããã¾ãã
-
-
-
-
横表示ã¬ã¤ã¢ã¦ã
-
横表示ã®å ´åã«ç°ãªããã¶ã¤ã³ã§è¡¨ç¤ºããã«ã¯ãã¬ã¤ã¢ã¦ã XML ãã¡ã¤ã«ã /res/layout-land å
ã«å
¥ãã¾ããAndroid 端æ«ã®ã¬ã¤ã¢ã¦ãã横表示ã«å¤ããã¨èªåçã«ãã®ãã£ã¬ã¯ããªãåç
§ããã¾ãããã®ããã«æ¨ªè¡¨ç¤ºåãã«å®ç¾©ãããã¬ã¤ã¢ã¦ããåå¨ããªãå ´åãèªåçã«ããã©ã«ãã®ã¬ã¤ã¢ã¦ããæ¡å¤§ãã¦ä½¿ç¨ããã¾ãã
-
-
-
-Eclipse ãã©ã°ã¤ã³ã§ã¯ããã®ãããªã¬ã¤ã¢ã¦ã ãã¡ã¤ã«ã® 1 ã¤ã§ãããmain.xmlããèªåçã«ä½æããã¾ããå
ã»ã©ãHello Worldãã¢ããªã±ã¼ã·ã§ã³ãä½æããéã«ã¯ããã®ãã¡ã¤ã«ã¯ç¡è¦ãã¦ããã°ã©ããã£ãã¯ã«ã¬ã¤ã¢ã¦ããä½æãã¾ããããã®ä½ææ¹æ³ã¯ Android ãã¬ã¼ã ã¯ã¼ã¯ã«ã¤ãã¦ããæ·±ãç解ãã¦ããã ããã¨ãæå³ãããã®ã§ãå®éã«ã¯ã»ã¨ãã©ã®å ´åã¬ã¤ã¢ã¦ãã¯ã³ã¼ãã§ã¯ãªã XML ãã¡ã¤ã«ã§å®ç¾©ãã¾ãã以ä¸ã®æé ã§ã¯ãæ¢åã®ã¢ããªã±ã¼ã·ã§ã³ãå¤æ´ã㦠XML ã¬ã¤ã¢ã¦ãã使ç¨ãããããã«ããæ¹æ³ã説æãã¾ãã
-
-
- - Eclipse ã®ããã±ã¼ã¸ ã¨ã¯ã¹ããã¼ã©ã¼ï¼Package Explorerï¼ã§ã
/res/layout/
ãã©ã«ããå±éããmain.xml
ãéãã¾ãï¼éããå¾ãå ´åã«ãã£ã¦ã¯ XML ã½ã¼ã¹ãè¦ãã®ã«ã¦ã£ã³ãã¦ä¸é¨ã«ãããmain.xmlãã¿ããã¯ãªãã¯ããå¿
è¦ãããã¾ãï¼ããã¡ã¤ã«ã®å
容ã以ä¸ã® XML ã«ç½®ãæãã¾ãã
-
-<?xml version="1.0" encoding="utf-8"?>
-<TextView xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:text="@string/hello"/>
-ãã¡ã¤ã«ãä¿åãã¾ãã
-
-
-res/values/
ãã©ã«ãå
ã® strings.xml
ãéãã¾ãããã®ãã¡ã¤ã«ã¯ãä½æããã¦ã¼ã¶ã¼ ã¤ã³ã¿ã¼ãã§ã¼ã¹ã®ããã®ãã¹ã¦ã®ããã©ã«ãã®ããã¹ãæååãä¿åãããã®ã§ããEclipse ã使ç¨ãã¦ããå ´åãADT ã«ãã£ã¦ããããã hello 㨠app_name ã¨ãã 2 ã¤ã®æååãç¨æãããç¶æ
ã«ãªãã¾ããhello ãä½ãå¥ã®æååã«æ¸ãæãã¦ã¿ã¾ãããããã¨ãã°ãHello, Android! I am a string resource!ãã¨ãã¦ã¿ã¾ããããå¤æ´å¾ã®ãã¡ã¤ã«ã®å
¨ä½ã¯æ¬¡ã®ããã«ãªãã¾ãã
-
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
- <string name="hello">Hello, Android! I am a string resource!</string>
- <string name="app_name">Hello, Android</string>
-</resources>
-
-
-
-- 次ã«ã
HelloAndroid
ã¯ã©ã¹ãéãã¦ãXML ã¬ã¤ã¢ã¦ãã使ç¨ãã¦å¤æ´ãã¾ãããã¡ã¤ã«ãç·¨éãã¦æ¬¡ã®ãããªå
容ã«ãã¾ãã
-
-package com.example.helloandroid;
-
-import android.app.Activity;
-import android.os.Bundle;
-
-public class HelloAndroid extends Activity {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- }
-}
-
-ãã®å¤æ´ãè¡ãéã«ãã³ã¼ããæå
¥åãã¦ã³ã¼ãè£å®æ©è½ã試ãã¦ã¿ã¾ãããããR.layout.mainãã¨å
¥åãããã¨ããã¨ããã©ã°ã¤ã³ã«ãã£ã¦å
¥ååè£ã表示ããã¾ãããã®æ©è½ã®ä¾¿å©ãã¯ãéçºä¸ã«ä½åãå®æããã¨æãã¾ãã
-
-View ãªãã¸ã§ã¯ãã« setContentView()
ãå¼ã渡ã代ããã«ãã¬ã¤ã¢ã¦ã ãªã½ã¼ã¹ã¸ã®åç
§ãä»ä¸ãã¾ãããªã½ã¼ã¹ã¯ R.layout.main
ã¨ãã¦èå¥ããã¾ããããã¯ã/res/layout/main.xml
ã§å®ç¾©ãããã¬ã¤ã¢ã¦ãããã³ã³ãã¤ã«ããããªãã¸ã§ã¯ãã§è¡¨ãããã®ã§ããEclipse ãã©ã°ã¤ã³ã§ã¯ããã®åç
§ãããã¸ã§ã¯ãã® R.java ã¯ã©ã¹å
ã«èªåçã«ä½æããã¾ããEclipse ã使ç¨ãã¦ããªãå ´åãAnt ãå®è¡ãã¦ã¢ããªã±ã¼ã·ã§ã³ã®ãã«ããè¡ãéã« R.java ã¯ã©ã¹ãçæããã¾ãï¼R ã¯ã©ã¹ã«ã¤ãã¦è©³ããã¯å¾ã»ã©èª¬æãã¾ãï¼ã
-
-
-
-ããã§ãã¢ããªã±ã¼ã·ã§ã³ãåå®è¡ãã¾ããèµ·åæ§æã¯ä½ææ¸ã¿ã§ãããããããã§ã¯ç·è²ã®ç¢å°ã¢ã¤ã³ã³ãã¯ãªãã¯ãã¦å®è¡ããããã¾ã㯠[[]å®è¡ï¼Runï¼] > [[]ãã¹ããªã¼ã®å®è¡ï¼Run Historyï¼] > [[]Android Activity] ãé¸æããã ãã§ããTextView æååã«å ããå¤æ´ãé¤ãã°ãã¢ããªã±ã¼ã·ã§ã³ã¯åãã«è¦ãã¾ããããã§ãã¤ã³ãã¨ãªãã®ã¯ã2 ã¤ã®ç°ãªãã¬ã¤ã¢ã¦ãç·¨éæ¹æ³ã使ç¨ãã¦åãçµæãå¾ãããã¨ãããã¨ã§ãã
-
-ãã³ã: ã·ã§ã¼ãã«ãã ãã¼Ctrl+F11ï¼Mac ã§ã¯ ã³ãã³ã+Shift+F11ï¼ã使ç¨ãã¦ãç¾å¨è¡¨ç¤ºããã¦ããã¢ããªã±ã¼ã·ã§ã³ãå®è¡ãããã¨ãã§ãã¾ãã
-
-ããããã¯ããããã°ã®åºç¤ç¥èã¨ãä»ã®ç·åéçºç°å¢ã«é¢ããè£è¶³æ
å ±ã«ã¤ãã¦èª¬æãã¾ããããã«è©³ããå¦ç¿ãããå ´åã¯ããã¢ããªã±ã¼ã·ã§ã³ã®åºç¤ããåç
§ãã¦ãã ãããAndroid ã¢ããªã±ã¼ã·ã§ã³ãåä½ããããã®ãã¹ã¦ã®è¦ç´ ã«ã¤ãã¦èª¬æãã¦ãã¾ããã¾ããããããããã¼ ã¬ã¤ããã®å°å
¥ãã¼ã¸ãåç
§ãã¦ããããããã¼ ã¬ã¤ã ããã¥ã¡ã³ãã®æ¦è¦ã確èªãã¦ãã ããã
-
-
-
-
R ã¯ã©ã¹
-
Eclipse ã§ãR.java
ã¨ããååã®ãã¡ã¤ã«ï¼gen/
ï¼ãçæããã Java ãã¡ã¤ã«ï¼Generated Java Filesï¼ããã©ã«ãå
ï¼ãéãã¾ãããã¡ã¤ã«ã®å
容ã¯æ¬¡ã®ããã«ãªã£ã¦ãã¾ãã
-
-
-package com.example.helloandroid;
-
-public final class R {
- public static final class attr {
- }
- public static final class drawable {
- public static final int icon=0x7f020000;
- }
- public static final class layout {
- public static final int main=0x7f030000;
- }
- public static final class string {
- public static final int app_name=0x7f040001;
- public static final int hello=0x7f040000;
- }
-}
-
-
-
ããã¸ã§ã¯ãã® R.java
ãã¡ã¤ã«ã¯ããã¡ã¤ã«å
ã§å®ç¾©ããããã¹ã¦ã®ãªã½ã¼ã¹ã¸ã®ã¤ã³ããã¯ã¹ã§ããã½ã¼ã¹ ã³ã¼ãå
ã§ã¯ãããã¸ã§ã¯ãã«å«ãããã¹ã¦ã®ãªã½ã¼ã¹ãåç
§ããããã®ç°¡ç¥å½¢å¼ã¨ãã¦ãã®ã¯ã©ã¹ã使ç¨ãã¾ããããã¯ãEclipse ãªã©ã®ç·åéçºç°å¢ã®ã³ã¼ãè£å®æ©è½ã¨ã¨ãã«ä½¿ç¨ããã¨ç¹ã«ä¾¿å©ã§ããæ¢ãã¦ããç¹å®ã®åç
§ããã°ããã¤ã³ã¿ã©ã¯ãã£ãã«è¦ã¤ãããã¨ãã§ããããã§ãã
-
-
ãæå
ã®ãã¡ã¤ã«ã¯ããã¨ã¯è¥å¹²ç°ãªãå¯è½æ§ãããã¾ãï¼ãããã 16 é²å¤ãç°ãªãããã§ãï¼ãããã§ã¯ããlayoutãã¨ããååã®å
é¨ã¯ã©ã¹ã¨ããã®ã¡ã³ãã¼ã§ãããã£ã¼ã«ããmainãã«æ³¨ç®ãã¾ããEclipse ãã©ã°ã¤ã³ã«ãã main.xml ã¨ããååã® XML ã¬ã¤ã¢ã¦ã ãã¡ã¤ã«ãèªèãããããã«ãã®ããã®ã¯ã©ã¹ãçæããããã®ã§ããããã¸ã§ã¯ãã«ä»ã®ãªã½ã¼ã¹ï¼res/values/string.xml
ãã¡ã¤ã«å
ã®æååã res/drawable/
ãã£ã¬ã¯ããªå
ã®æç»å¯è½ãªãã¸ã§ã¯ããªã©ï¼ã追å ããã¨ãR.java
ã«ææ°ã®å¤æ´ãåæ ããã¾ãã
-
Eclipse ã使ç¨ãã¦ããªãå ´åã¯ãï¼Ant ãã¼ã«ã使ç¨ããï¼ãã«ãæã«ãã®ã¯ã©ã¹ ãã¡ã¤ã«ãçæããã¾ãã
-
ããããããã®ãã¡ã¤ã«ãæåã§ç·¨éããªãããã«ãã¦ãã ããã
-
-
-ããã¸ã§ã¯ãããããã°ãã
-
-Android Plugin for Eclipse ã¯ãEclipse ã®ãããã¬ã¨åªããé£åæ§ãçºæ®ãã¾ãããã®ã¡ãªããã確èªãããããä½æããã³ã¼ãã«ãã°ãåãè¾¼ãã§ã¿ã¾ããããä½æãã HelloAndroid ã½ã¼ã¹ ã³ã¼ãã次ã®ããã«å¤æ´ãã¾ãã
-
-
-package com.android.helloandroid;
-
-import android.app.Activity;
-import android.os.Bundle;
-
-public class HelloAndroid extends Activity {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- Object o = null;
- o.toString();
- setContentView(R.layout.main);
- }
-}
-
-ãã®å¤æ´ã¯ãåã«ã³ã¼ãã« NullPointerException ãçºçããããã®ã§ããã¢ããªã±ã¼ã·ã§ã³ãå度å®è¡ããã¨ãæçµçã«æ¬¡ã®ãããªç»é¢ã表示ããã¾ãã
-
-
-
-ãå¼·å¶çµäºããæ¼ãã¦ã¢ããªã±ã¼ã·ã§ã³ãçµäºããã¨ãã¥ã¬ã¼ã¿ ã¦ã£ã³ãã¦ãéãã¾ãã
-
-ã¨ã©ã¼ã®è©³ç´°ã確èªããã«ã¯ãã½ã¼ã¹ ã³ã¼ãå
ã® Object o = null;
è¡ã«ãã¬ã¼ã¯ãã¤ã³ããè¨å®ãã¾ãï¼è©²å½ããã½ã¼ã¹ ã³ã¼ãè¡ã®æ¨ªã«ãããã¼ã«ã¼ ãã¼ãããã«ã¯ãªãã¯ãã¾ãï¼ã次ã«ãã¡ãã¥ã¼ãã [[]å®è¡ï¼Runï¼] > [[]ãããã° ãã¹ããªã¼ï¼Debug Historyï¼] > [[]Hello, Android] ãé¸æãã¦ããããã° ã¢ã¼ãã«å
¥ãã¾ããã¨ãã¥ã¬ã¼ã¿ã§ã¢ããªã±ã¼ã·ã§ã³ãåèµ·åããã¾ãããä»åº¦ã¯ãå
ã»ã©è¨å®ãããã¬ã¼ã¯ãã¤ã³ãã«å°éããæç¹ã§ä¸æããã¾ãããã®å¾ Eclipse ã®ãããã° ãã¼ã¹ãã¯ãã£ãï¼Debug Perspectiveï¼ã§ãä»ã®ã¢ããªã±ã¼ã·ã§ã³ã§é常è¡ãããã«ãã³ã¼ãã®å
容ã確èªã§ãã¾ãã
-
-
-
-
-Eclipse ã使ç¨ããã«ããã¸ã§ã¯ããä½æãã
-
- Eclipse ã使ç¨ãã¦ããªãå ´åï¼æ®æ®µãã使ç¨ãã¦ããç·åéçºç°å¢ãããå ´åããã·ã³ãã«ã«ããã¹ã ã¨ãã£ã¿ãã³ãã³ã ã©ã¤ã³ ãã¼ã«ã使ç¨ãã¦ããå ´åãªã©ï¼ã¯ãEclipse ãã©ã°ã¤ã³ãå©ç¨ãããã¨ã¯ã§ãã¾ããããããå¿é
ã¯ç¡ç¨ã§ããEclipse ã使ç¨ãã¦ããªãããã¨ãã£ã¦ä½ããã®æ©è½ã失ããããã¨ã¯ããã¾ããã
-
- Android Plugin for Eclipse ã¯ãåã« Android SDK ã«å«ã¾ãããã¼ã« ã»ãããã¾ã¨ãããã®ã«éãã¾ããï¼ã¨ãã¥ã¬ã¼ã¿ãaaptãadbãddms ãªã©ã®åå¥ã®ãã¼ã«ã«ã¤ãã¦ã¯ããã¡ãã§å¥é説æãã¦ãã¾ãï¼ããã®ããããããã®ãã¼ã«ãå¥ã®ãã¼ã«ããã¨ãã°ãAntãã®ãã«ã ãã¡ã¤ã«ãªã©ã§ã¾ã¨ãããã¨ãå¯è½ã§ãã
-
- Android SDK ã«ã¯ããandroidãã¨ããååã®ãã¼ã«ãå«ã¾ãã¦ãã¾ãããã®ãã¼ã«ã使ç¨ããã¨ãä½æããããã¸ã§ã¯ãã®ã½ã¼ã¹ ã³ã¼ãã¨ãã£ã¬ã¯ã㪠ã¹ã¿ããã¹ã¦ãããã³ Ant ã¨äºææ§ã®ãã build.xml
ãã¡ã¤ã«ãä½æãããã¨ãã§ãã¾ããããã«ãããããã¸ã§ã¯ããã³ãã³ã ã©ã¤ã³ã§ä½æããããæ®æ®µä½¿ç¨ãã¦ããç·åéçºç°å¢ã¨çµ±åããããããã¨ãã§ãã¾ãã
-
- ãã¨ãã°ãEclipse ã§ä½æããããã®ã¨åæ§ã® HelloAndroid ããã¸ã§ã¯ããä½æããã«ã¯ã次ã®ã³ãã³ãã使ç¨ãã¾ãã
-
-
-android create project \
- --package com.android.helloandroid \
- --activity HelloAndroid \
- --target 2 \
- --path <path-to-your-project>/HelloAndroid
-
-
- ããã«ãããpath ã§å®ç¾©ãããå ´æã«ãããã¸ã§ã¯ãã«å¿
è¦ãªãã©ã«ãã¨ãã¡ã¤ã«ãä½æããã¾ãã
-
- SDK ãã¼ã«ã使ç¨ãã¦ããã¸ã§ã¯ããä½æããã³æ§ç¯ããæ¹æ³ã«ã¤ãã¦è©³ããã¯ããDeveloping in Other IDEsããåç
§ãã¦ãã ããã
diff --git a/docs/html/intl/ja/sdk/1.5_r2/installing.jd b/docs/html/intl/ja/sdk/1.5_r2/installing.jd
deleted file mode 100644
index 99807e1fe554..000000000000
--- a/docs/html/intl/ja/sdk/1.5_r2/installing.jd
+++ /dev/null
@@ -1,212 +0,0 @@
-page.title=Android SDK ã®ã¤ã³ã¹ãã¼ã«
-@jd:body
-
-
-ãã®ãã¼ã¸ã§ã¯ãAndroid SDK ãã¤ã³ã¹ãã¼ã«ãã¦ãéçºç°å¢ãè¨å®ããæ¹æ³ã«ã¤ãã¦èª¬æãã¾ããSDK ãã¾ã ãã¦ã³ãã¼ããã¦ããªãå ´åã¯ã[ãã¦ã³ãã¼ã] ãã¼ã¸ãããã¦ã³ãã¼ããã¦ãã ãããSDK ããã¦ã³ãã¼ãããå¾ã«ããã®ãã¼ã¸ã®æé ãè¡ã£ã¦ãã ããã
-
-ã¤ã³ã¹ãã¼ã«ä¸ã«åé¡ãçºçããå ´åã¯ããã®ãã¼ã¸ã®ä¸é¨ã«ããã¤ã³ã¹ãã¼ã«ã«é¢ãã注æäºé
ãåç
§ãã¦ãã ããã
-
-ã¢ããã°ã¬ã¼ãããå ´å
-SDK ã®ä»¥åã®ãã¼ã¸ã§ã³ã使ç¨ãã¦ã¢ããªã±ã¼ã·ã§ã³ãæ¢ã«éçºãã¦ããå ´åã¯ããã®ãã¼ã¸ã®ä»£ããã«ãSDK ã®ã¢ããã°ã¬ã¼ã ãã覧ãã ããã
-
-
-
-ã¤ã³ã¹ãã¼ã«ã®æºå
-
-ã¤ã³ã¹ãã¼ã«ãå§ããåã«ãéçºç¨ãã·ã³ãã·ã¹ãã è¦ä»¶ãæºããã¦ãããã¨ã確èªãã¦ãã ããã
-
-
-Eclipse ç°å¢ã« Android Development Toolsï¼ADTï¼ãã©ã°ã¤ã³ãçµã¿è¾¼ãã éçºç°å¢ã¯ãAndroid åãéçºã®åå¿è
ã«æé©ã§ãããã©ã°ã¤ã³ãå©ç¨ããå ´åã¯ãã³ã³ãã¥ã¼ã¿ã« Eclipse ã®é©åãªãã¼ã¸ã§ã³ï¼3.3 以éï¼ãã¤ã³ã¹ãã¼ã«ããã¦ãããã¨ã確èªãã¦ãã ãããEclipse ã®ã¤ã³ã¹ãã¼ã«ãå¿
è¦ãªå ´åã¯ã次ã®å ´æãããã¦ã³ãã¼ãã§ãã¾ã:
-
-http://www.eclipse.org/downloads/
-
-Eclipse ã® Java ãã¼ã¸ã§ã³ã¾ã㯠RCP ãã¼ã¸ã§ã³ããããããã¾ãã
-
-SDK ã®ã¤ã³ã¹ãã¼ã«
-
-SDK ã®ãã¦ã³ãã¼ãå¾ãã使ãã®ãã·ã³ã®é©åãªå ´æã« .zip ã¢ã¼ã«ã¤ããå±éãã¾ããããã©ã«ãã§ã¯ãSDK ãã¡ã¤ã«ã¯ android_sdk_<platform>_<release>
ãã£ã¬ã¯ããªã«å±éããã¾ãããã®ãã£ã¬ã¯ããªã«ã¯ãããã¥ã¡ã³ãã®ãã¼ã«ã« ã³ãã¼ï¼ãã©ã¦ã¶ã§ documentation.html
ãéãã¨åç
§ã§ãã¾ãï¼ã¨ãtools/
ãadd-ons/
ãplatforms/
ãªã©ã®ãµããã£ã¬ã¯ããªãå«ã¾ãã¾ããplatforms/
ã®ãµããã£ã¬ã¯ããªå
ã«ã¯ããã©ãããã©ã¼ã ã®åãã¼ã¸ã§ã³ã«åºæã®ã³ã¼ãã®ãµã³ãã«ãå«ã¾ãã samples/
ãããã¾ãã
-
-ã·ã¹ãã ä¸ã«å±éãã SDK ãã£ã¬ã¯ããªã®ååã¨ãã¹ãã¡ã¢ãã¦ããã¾ããããAndroid ãã©ã°ã¤ã³ã®è¨å®æããSDK ãã¼ã«ã®ä½¿ç¨æã«ãã® SDK ãã£ã¬ã¯ããªãåç
§ããå¿
è¦ãããã¾ãã
-
-SDK ã®ãã©ã¤ããªãã£ã¬ã¯ããªã§ãã tools
ã®ãã¹ããã·ã¹ãã PATH ã«è¿½å ãããã¨ããããããã¾ããtools/
ãã©ã¤ããªãã£ã¬ã¯ããªã¯ãSDK ãã©ã«ãã®ã«ã¼ãã«ããã¾ããtools
ããã¹ã«è¿½å ããã¨ãAndroid Debug Bridgeï¼adbï¼ããã®ä»ã®ã³ãã³ã ã©ã¤ã³ ãã¼ã«ãããã¼ã«ã®æ ¼ç´ããããã£ã¬ã¯ãã®å®å
¨ãªãã¹ãæå®ããã«å®è¡ã§ããããã«ãªãã¾ãã
-
- - Linux ä¸ã§ã¯
~/.bash_profile
ãã¡ã¤ã«ã¾ã㯠~/.bashrc
ãã¡ã¤ã«ãç·¨éãã¾ããPATH ç°å¢å¤æ°ãè¨å®ãã¦ããè¡ãæ¢ãããã®è¡ã« tools/
ãã£ã¬ã¯ããªã¸ã®å®å
¨ãªãã¹ã追å ãã¾ããPATH ãè¨å®ããè¡ãç¡ãå ´åã¯ã次ã®è¡ã追å ãã¾ã:
-
- export PATH=${PATH}:<your_sdk_dir>/tools
-
- - Mac ä¸ã§ã¯
.bash_profile
ã®ãã¼ã ãã£ã¬ã¯ããªã®å
ããåããã¡ã¤ã«ãæ¤ç´¢ããLinux ã¨åãããã«è¨å®ãã¾ãããã·ã³ä¸ã«ã¾ã .bash_profile
ãç¡ãå ´åã¯ããã¡ã¤ã«ãä½æãããã¨ãã§ãã¾ãã
-
- - Windows ä¸ã§ã¯ã[ã㤠ã³ã³ãã¥ã¼ã¿] ãå³ã¯ãªãã¯ãã[ããããã£] ãé¸æãã¾ãã[詳細è¨å®] ã¿ã㧠[ç°å¢å¤æ°] ãã¿ã³ãã¯ãªãã¯ãã表示ããããã¤ã¢ãã°ã§ [ã·ã¹ãã ç°å¢å¤æ°] ã® [Path] ãããã«ã¯ãªãã¯ãã¾ãããã® Path ã«
tools/
ãã£ã¬ã¯ããªã¸ã®å®å
¨ãªãã¹ã追å ãã¾ãã
-
-
-ä»å¾ SDK ãã¢ããã°ã¬ã¼ãããéã¯ãPATH ã®è¨å®ãæ´æ°ãããã¨ãå¿ããªãã§ãã ãããå¥ã®ãã£ã¬ã¯ããªã« SDK ãå±éããå ´åã¯ããã®æ°ããå ´æã PATH ã«è¨å®ããå¿
è¦ãããã¾ãã
-
-Eclipse IDE ãéçºç°å¢ã¨ãã¦ä½¿ç¨ããå ´åãAndroid Development Tools ãã©ã°ã¤ã³ãã¤ã³ã¹ãã¼ã«ã㦠Eclipse ãè¨å®ããæ¹æ³ã«ã¤ãã¦ã次ã®ã»ã¯ã·ã§ã³ã®æ
å ±ãåç
§ãã¦ãã ãããEclipse ã使ç¨ããªãå ´åã¯ãå¥ã® IDE ã使ç¨ã㦠Android ã¢ããªã±ã¼ã·ã§ã³ãéçºãã¦ãããSDK ã«å«ã¾ãã¦ãããã¼ã«ã使ç¨ãã¦ã³ã³ãã¤ã«ããããã°ãé
å¸ãè¡ããã¨ãã§ãã¾ãï¼ãã®å ´åã¯ã次ã®ã¹ãããã«é²ãã§ãã ããï¼ã
-
-
-Eclipse ç¨ ADT ãã©ã°ã¤ã³ã®ã¤ã³ã¹ãã¼ã«
-
-Android ã§ã¯ãAndroid Development Toolsï¼ADTï¼ã¨ãã Eclipse IDE ç¨ã®ã«ã¹ã¿ã ãã©ã°ã¤ã³ãæä¾ãã¦ãã¾ãããã®ãã©ã°ã¤ã³ã¯ãAndroid ã¢ããªã±ã¼ã·ã§ã³ã®æ§ç¯ãå¯è½ã«ããããã«è¨è¨ããããå¼·åãªçµ±åç°å¢ã§ãããã©ã°ã¤ã³ã«ãã£ã¦ Eclipse ã®æ©è½ãæ¡å¼µãããæ°ãã Android ããã¸ã§ã¯ãã®è¨å®ãã¢ããªã±ã¼ã·ã§ã³ã® UI ã®ä½æãAndroid Framework API ã«åºã¥ãã³ã³ãã¼ãã³ãã®è¿½å ãAndroid SDK ãã¼ã«ã使ç¨ããã¢ããªã±ã¼ã·ã§ã³ã®ãããã°ãå¯è½ã«ãªãã¾ããããã«ãã¢ããªã±ã¼ã·ã§ã³ãé
å¸ããããã®ç½²åæ¸ã¿ï¼ã¾ãã¯æªç½²åï¼ã® APK ã®ã¨ã¯ã¹ãã¼ããç°¡åã«ã§ããããã«ãªãã¾ãã
-
-ä¸è¬ç㪠Android éçºã«ããã¦ãADT ãçµã¿è¾¼ãã Eclipse ã®ä½¿ç¨ã¯å¼·ãæ¨å¥¨ããã¦ãããAndroid åå¿è
ã«æãå¹ççãªéçºç°å¢ãæä¾ãã¾ããï¼Eclipse 以å¤ã® IDE ã§ä½æ¥ããå ´åã¯ãEclipse ã ADT ãã¤ã³ã¹ãã¼ã«ããå¿
è¦ã¯ããã¾ããã代ããã«ãSDK ãã¼ã«ãç´æ¥ä½¿ç¨ãã¦ã¢ããªã±ã¼ã·ã§ã³ãæ§ç¯ãããããã°ãè¡ãã¾ãï¼ã
-
-ã¤ã³ã¹ãã¼ã«ã®æºåã§èª¬æããæé ã«å¾ã£ã¦ Eclipse ãã¤ã³ã¹ãã¼ã«ããå¾ã¯ã次ã®æé ã«å¾ã£ã¦æä½ã㦠ADT ãã©ã°ã¤ã³ããã¦ã³ãã¼ãããããããã® Eclipse ç°å¢ã«ã¤ã³ã¹ãã¼ã«ãã¾ãã
-
-
-Eclipse 3.3ï¼Europaï¼ | Eclipse 3.4ï¼Ganymedeï¼ |
-
-
-
-
- - Eclipse ãèµ·åãã[ãã«ã] > [ã½ããã¦ã§ã¢ã®æ´æ°] > [æ¤ç´¢ã¨ã¤ã³ã¹ãã¼ã«] ãé¸æãã¾ãã
- - 表示ããããã¤ã¢ãã°ã§ [ã¤ã³ã¹ãã¼ã«ããæ°è¦ãã£ã¼ãã£ã¼ãæ¤ç´¢] ãé¸æã㦠[次ã¸] ãã¯ãªãã¯ãã¾ãã
- - [æ°è¦ãªã¢ã¼ããµã¤ã] ãã¯ãªãã¯ãã¾ãã
- - 表示ããããã¤ã¢ãã° ããã¯ã¹ã§ããªã¢ã¼ã ãµã¤ãã®ååï¼ä¾: ãAndroid Pluginãï¼ãå
¥åããURL ãå
¥åãã¾ã:
-
https://dl-ssl.google.com/android/eclipse/
- ãã©ã°ã¤ã³ãå
¥æã§ããªãå ´åã¯ãURL ã®ãhttpsãã®ä»£ããã«ãhttpãã使ç¨ãã¦ã¿ã¦ãã ããï¼ã»ãã¥ãªãã£ä¸ã®çç±ããã¯ãhttps ããããããã¾ãï¼ã
- [OK] ãã¯ãªãã¯ãã¾ãã
- - æ¤ç´¢ãªã¹ãã«æ°ãããµã¤ãã追å ããã¦ããããã§ãã¯ããã¯ã¹ããªã³ã®ç¶æ
ã§è¡¨ç¤ºãããã¯ãã§ãã[çµäº] ãã¯ãªãã¯ãã¾ãã
- - 次㮠[æ¤ç´¢çµæ] ãã¤ã¢ãã°ããã¯ã¹ã§ããAndroid Pluginãã®ãã§ãã¯ããã¯ã¹ããªã³ã«ãã¾ããããã«ãããããã«å«ã¾ãã¦ãããã¼ã«ãAndroid DDMSãã¨ãAndroid Development Toolsããèªåçã«ãªã³ã«ãªãã¾ãã[次ã¸] ãã¯ãªãã¯ãã¾ãã
- - 使ç¨è¨±è«¾å¥ç´ãèªã¿ãåæãã¦ã[次ã¸] ãã¯ãªãã¯ãã¾ãã
- - 次ã®ã¤ã³ã¹ãã¼ã« ã¦ã£ã³ãã¦ã§ [çµäº] ãã¯ãªãã¯ãã¾ãã
- - ADT ãã©ã°ã¤ã³ã¯ãã¸ã¿ã«ç½²åããã¦ãã¾ããã[ãã¹ã¦ã¤ã³ã¹ãã¼ã«] ãã¯ãªãã¯ãã¦ã¤ã³ã¹ãã¼ã«ã許å¯ãã¾ãã
- - Eclipse ãåèµ·åãã¾ãã
-
-
- |
-
-
-
-
- - Eclipse ãèµ·åãã[ãã«ã] > [ã½ããã¦ã§ã¢ã®æ´æ°] ãé¸æãã¾ãã
- - 表示ããããã¤ã¢ãã°ã§ [使ç¨å¯è½ãªã½ããã¦ã§ã¢] ã¿ããã¯ãªãã¯ãã¾ãã
- - [ãµã¤ãã®è¿½å ] ãã¯ãªãã¯ãã¾ãã
- - 次ã®å ´æãå
¥åãã¾ã:
-
https://dl-ssl.google.com/android/eclipse/
- ãã©ã°ã¤ã³ãå
¥æã§ããªãå ´åã¯ãå ´æã® URL ã®ãhttpsãã®ä»£ããã«ãhttpãã使ç¨ãã¦ã¿ã¦ãã ããï¼ã»ãã¥ãªãã£ä¸ã®çç±ããã¯ãhttps ããããããã¾ãï¼ã
- [OK] ãã¯ãªãã¯ãã¾ãã
- - [使ç¨å¯è½ãªã½ããã¦ã§ã¢] ã®ã¿ãã«æ»ãã¨ãä¸è¨ã® URL ã«ãããã©ã°ã¤ã³ã¨ãã®ä¸ã«å«ã¾ãããDeveloper Toolsãã表示ããã¦ããã¯ãã§ãããDeveloper Toolsãã®æ¨ªã®ãã§ãã¯ããã¯ã¹ããªã³ã«ãã[ã¤ã³ã¹ãã¼ã«] ãã¯ãªãã¯ãã¾ãã
- - 次ã®ã¤ã³ã¹ãã¼ã« ã¦ã£ã³ãã¦ã§ããAndroid DDMSãã¨ãAndroid Development Toolsãã®ä¸¡æ¹ã®ãã§ãã¯ããã¯ã¹ããªã³ã«ãªã£ã¦ãããã¨ã確èªãã¾ãã[次ã¸] ãã¯ãªãã¯ãã¾ãã
- - 使ç¨è¨±è«¾å¥ç´ãèªã¿ãåæãã¦ã[çµäº] ãã¯ãªãã¯ãã¾ãã
- - Eclipse ãåèµ·åãã¾ãã
-
-
- |
-
-
-
-次ã«ãEclipse ã®è¨å®ãå¤æ´ãã¦ãAndroid SDK ãã£ã¬ã¯ããªãæãããã«å¤æ´ãã¾ã:
-
- - [ã¦ã£ã³ãã¦] > [è¨å®] ãé¸æãã¦ã[è¨å®] ããã«ãéãã¾ãï¼Mac ä¸ã§ã¯ [Eclipse] > [è¨å®]ï¼ã
- - å·¦å´ã®ããã«ã§ [Android] ãé¸æãã¾ãã
- - ã¡ã¤ã³ ããã«ã® [SDK Location] 㧠[åç
§] ãã¯ãªãã¯ãããã¦ã³ãã¼ããã SDK ãã£ã¬ã¯ããªãæ¢ãã¾ãã
- - [é©ç¨] ãã¯ãªãã¯ãã¦ã[OK] ãã¯ãªãã¯ãã¾ãã
-
-
-ããã§å®äºã§ããåé¡ãªãå®äºããå ´åã¯ãAndroid ã¢ããªã±ã¼ã·ã§ã³éçºãå§ããæºåãæ´ã£ã¦ãã¾ããéçºãå§ãããã³ãã«ã¤ãã¦ã¯ã次ã®ã¹ãããã®ã»ã¯ã·ã§ã³ãã覧ãã ããã
-
-
-ADT ã®ã¤ã³ã¹ãã¼ã«ã§ã®ãã©ãã«ã·ã¥ã¼ãã£ã³ã°
-
-ä¸è¨ã®æé ã§ãADT ãã©ã°ã¤ã³ã®ãã¦ã³ãã¼ãã«åé¡ãçããå ´åã®ãã³ãã¯æ¬¡ã®ã¨ããã§ã:
-
-
-
-ããã§ã Eclipse ã使ç¨ã㦠ADT ãã©ã°ã¤ã³ããªã¢ã¼ãæ´æ°ãµã¤ãã¨ãã¦ãã¦ã³ãã¼ãã§ããªãå ´åã¯ãADT zip ãã¡ã¤ã«ããã¼ã«ã« ãã·ã³ä¸ã«ãã¦ã³ãã¼ããã¦ãæåã§ã¤ã³ã¹ãã¼ã«ãããã¨ãã§ãã¾ã:
-
-
- - ADT zip ãã¡ã¤ã«ããã¦ã³ãã¼ããã¾ãï¼å±éã¯ããªãã§ãã ããï¼ã
- - ããã©ã«ãã®ã¤ã³ã¹ãã¼ã«æé ï¼ä¸è¨ï¼ã®ã¹ããã 1 㨠2 ã®ã¨ããã«æä½ãã¾ãã
- - Eclipse 3.3 ã§ã¯ [æ°è¦ã¢ã¼ã«ã¤ãã»ãµã¤ã] ãã¯ãªãã¯ãã¾ãã
Eclipse 3.4 ã§ã¯ [ãµã¤ãã®è¿½å ] ãã¯ãªãã¯ãã¦ã[ã¢ã¼ã«ã¤ã] ãã¯ãªãã¯ãã¾ãã
- - ãã¦ã³ãã¼ããã zip ãã¡ã¤ã«ãåç
§ãã¦é¸æãã¦ãã ããã
- - ä¸è¨ã®ã¹ããã 5 ããæ®ãã®æé ã«å¾ã£ã¦æä½ãã¾ãã
-
-zip ãã¡ã¤ã«ããã¤ã³ã¹ãã¼ã«ãããã©ã°ã¤ã³ãå¾ã§ã¢ãããã¼ãããå ´åã¯ãããã©ã«ãã®ã¢ãããã¼ãæé ã®ä»£ããã«ãããä¸åº¦ãã®æé ã©ããã«æä½ããå¿
è¦ãããã¾ãã
-
-ãã®ä»ã®ã¤ã³ã¹ãã¼ã« ã¨ã©ã¼
-
-ãªãã·ã§ã³ã® Eclipse ã³ã³ãã¼ãã³ãï¼WST ãªã©ï¼ãå¿
è¦ã¨ãã ADT ã®æ©è½ãããã¾ããADT ã®ã¤ã³ã¹ãã¼ã«æã«ã¨ã©ã¼ãçºçããå ´åãã使ãã® Eclipse ã¤ã³ã¹ãã¼ã«ç°å¢ã«ããããã³ã³ãã¼ãã³ããå«ã¾ãã¦ããªãå¯è½æ§ãããã¾ããå¿
è¦ãªã³ã³ãã¼ãã³ãã Eclipse ã¤ã³ã¹ãã¼ã«ç°å¢ã«ç°¡åã«è¿½å ããæ¹æ³ã«ã¤ãã¦è©³ããã¯ããã©ãã«ã·ã¥ã¼ãã£ã³ã° ããã㯠ADT ã¤ã³ã¹ãã¼ã«ã¨ã©ã¼: "requires plug-in org.eclipse.wst.sse.ui" ãã覧ãã ããã
-
-Linux ã¦ã¼ã¶ã¼ã®å ´å
-Eclipse ç¨ ADT ãã©ã°ã¤ã³ã®ã¤ã³ã¹ãã¼ã«æã«ã次ã®ã¨ã©ã¼ãçºçããå ´åãããã¾ãã
-
-An error occurred during provisioning.
-Cannot connect to keystore.
-JKS
-
-ãã®å ´åãã使ãã®éçºç¨ãã·ã³ã«é©å㪠Java VM ãæè¼ããã¦ãã¾ãããSun Java 6 ãã¤ã³ã¹ãã¼ã«ããã¨ãã®åé¡ã解決ããADT ãã©ã°ã¤ã³ãåã¤ã³ã¹ãã¼ã«ãããã¨ãã§ãã¾ãã
-
-
-次ã®ã¹ããã
-ã¤ã³ã¹ãã¼ã«ãå®äºããã¨ãã¢ããªã±ã¼ã·ã§ã³ã®éçºãå§ããæºåãæ´ãã¾ããéçºãå§ããæ¹æ³ãããã¤ãç´¹ä»ãã¾ã:
-
-Android ã®è©³ç´°ã®å¦ç¿
-
-
-SDK ã®æ¢ç´¢
-
-
-ãµã³ãã« ã³ã¼ãã®åç
§
-
- - Hello World ã¢ããªã±ã¼ã·ã§ã³ãæ§ç¯ãã¾ãï¼ç¹ã« Eclipse ã¦ã¼ã¶ã¼ã«ããããã§ãï¼ã
- - Notepad ãã¥ã¼ããªã¢ã«ã«æ²¿ã£ã¦ Android ã¢ããªã±ã¼ã·ã§ã³ãå®å
¨ã«æ§ç¯ãã¾ãã
- <sdk>/platforms/<platfrom>/samples
ã«åãããã¦ããä»ã®ãµã³ãã« ã¢ããªã±ã¼ã·ã§ã³ã®ãããããæ°ããããã¸ã§ã¯ãã¨ãã¦ä½æããèªåã®éçºç°å¢ã§ã³ã³ãã¤ã«ããå®è¡ãã¾ãã
-
-
-Android ãããããã¼ ã°ã«ã¼ãã¸ã®ã¢ã¯ã»ã¹
-
- - [ã³ãã¥ããã£] ã¿ãã§ãAndroid ãããããã¼ ã°ã«ã¼ãã®ä¸è¦§ãåç
§ãã¾ããç¹ã« Android Developers ã°ã«ã¼ãã¯ãAndroid ãããããã¼ ã³ãã¥ããã£ãã©ããããã®ããç¥ãã®ã«åèã«ãªãã¾ãã
-
-
-
-ã¤ã³ã¹ãã¼ã«ã«é¢ãã注æäºé
-
-Ubuntu Linux ã«é¢ãã注æäºé
-
-
- - éçºãã·ã³ä¸ã§ Java ãã¤ã³ã¹ãã¼ã«ãã¦è¨å®ããæ¹æ³ã«ã¤ãã¦ã¯ã次ã®ãªã½ã¼ã¹ãåèã«ãªãã¾ã:
-
-
- - Android SDK 㨠ADT ãã©ã°ã¤ã³ãã¤ã³ã¹ãã¼ã«ããåã«ãJava 㨠Eclipse ãã¤ã³ã¹ãã¼ã«ããæé ã¯æ¬¡ã®ã¨ããã§ãã
-
- - éçºãã·ã³ä¸ã§ 64 ãããçãå®è¡ãã¦ããå ´åã¯ã
apt-get:
ã使ç¨ã㦠ia32-libs
ããã±ã¼ã¸ãã¤ã³ã¹ãã¼ã«ããå¿
è¦ãããã¾ã:
- apt-get install ia32-libs
-
- - 次㫠Java ãã¤ã³ã¹ãã¼ã«ãã¾ã:
apt-get install sun-java6-bin
- - Ubuntu ããã±ã¼ã¸ ããã¼ã¸ã£ã§ã¯ç¾å¨ãEclipse 3.3 ãã¼ã¸ã§ã³ã®ãã¦ã³ãã¼ããæä¾ãã¦ããªãã®ã§ãeclipse.orgï¼ http://www.eclipse.org/downloads/ ï¼ãã Eclipse ããã¦ã³ãã¼ããããã¨ããããããã¾ããEclipse ã® Java ãã¼ã¸ã§ã³ã¾ã㯠RCP ãã¼ã¸ã§ã³ããããããã¾ãã
- - ä¸è¨ã®ã»ã¯ã·ã§ã³ã®æé ã©ããã« SDK 㨠ADT ãã©ã°ã¤ã³ãã¤ã³ã¹ãã¼ã«ãã¾ãã
-
-
-
-
-ãã®ä»ã® Linux ã«é¢ãã注æäºé
-
-
- - éçºç¨ã³ã³ãã¥ã¼ã¿ã« JDK ãæ¢ã«ã¤ã³ã¹ãã¼ã«ããã¦ããå ´åã¯ãã·ã¹ãã è¦ä»¶ã«è¨è¼ããã¦ãããã¼ã¸ã§ã³è¦ä»¶ãæºããã¦ãããã¨ã確èªãã¦ãã ãããç¹ã«ããã£ã¹ããªãã¥ã¼ã·ã§ã³ã«ãã£ã¦ã¯ JDK 1.4 ã¾ã㯠Gnu Compiler for Java ãçµã¿è¾¼ã¾ãã¦ããå ´åãããã¾ããããã㯠Android ã®éçºã§ã¯ãµãã¼ãããã¦ããªãã®ã§ãã注æãã ããã
-
-
-
-
diff --git a/docs/html/intl/ja/sdk/1.5_r3/installing.jd b/docs/html/intl/ja/sdk/1.5_r3/installing.jd
deleted file mode 100644
index 99807e1fe554..000000000000
--- a/docs/html/intl/ja/sdk/1.5_r3/installing.jd
+++ /dev/null
@@ -1,212 +0,0 @@
-page.title=Android SDK ã®ã¤ã³ã¹ãã¼ã«
-@jd:body
-
-
-ãã®ãã¼ã¸ã§ã¯ãAndroid SDK ãã¤ã³ã¹ãã¼ã«ãã¦ãéçºç°å¢ãè¨å®ããæ¹æ³ã«ã¤ãã¦èª¬æãã¾ããSDK ãã¾ã ãã¦ã³ãã¼ããã¦ããªãå ´åã¯ã[ãã¦ã³ãã¼ã] ãã¼ã¸ãããã¦ã³ãã¼ããã¦ãã ãããSDK ããã¦ã³ãã¼ãããå¾ã«ããã®ãã¼ã¸ã®æé ãè¡ã£ã¦ãã ããã
-
-ã¤ã³ã¹ãã¼ã«ä¸ã«åé¡ãçºçããå ´åã¯ããã®ãã¼ã¸ã®ä¸é¨ã«ããã¤ã³ã¹ãã¼ã«ã«é¢ãã注æäºé
ãåç
§ãã¦ãã ããã
-
-ã¢ããã°ã¬ã¼ãããå ´å
-SDK ã®ä»¥åã®ãã¼ã¸ã§ã³ã使ç¨ãã¦ã¢ããªã±ã¼ã·ã§ã³ãæ¢ã«éçºãã¦ããå ´åã¯ããã®ãã¼ã¸ã®ä»£ããã«ãSDK ã®ã¢ããã°ã¬ã¼ã ãã覧ãã ããã
-
-
-
-ã¤ã³ã¹ãã¼ã«ã®æºå
-
-ã¤ã³ã¹ãã¼ã«ãå§ããåã«ãéçºç¨ãã·ã³ãã·ã¹ãã è¦ä»¶ãæºããã¦ãããã¨ã確èªãã¦ãã ããã
-
-
-Eclipse ç°å¢ã« Android Development Toolsï¼ADTï¼ãã©ã°ã¤ã³ãçµã¿è¾¼ãã éçºç°å¢ã¯ãAndroid åãéçºã®åå¿è
ã«æé©ã§ãããã©ã°ã¤ã³ãå©ç¨ããå ´åã¯ãã³ã³ãã¥ã¼ã¿ã« Eclipse ã®é©åãªãã¼ã¸ã§ã³ï¼3.3 以éï¼ãã¤ã³ã¹ãã¼ã«ããã¦ãããã¨ã確èªãã¦ãã ãããEclipse ã®ã¤ã³ã¹ãã¼ã«ãå¿
è¦ãªå ´åã¯ã次ã®å ´æãããã¦ã³ãã¼ãã§ãã¾ã:
-
-http://www.eclipse.org/downloads/
-
-Eclipse ã® Java ãã¼ã¸ã§ã³ã¾ã㯠RCP ãã¼ã¸ã§ã³ããããããã¾ãã
-
-SDK ã®ã¤ã³ã¹ãã¼ã«
-
-SDK ã®ãã¦ã³ãã¼ãå¾ãã使ãã®ãã·ã³ã®é©åãªå ´æã« .zip ã¢ã¼ã«ã¤ããå±éãã¾ããããã©ã«ãã§ã¯ãSDK ãã¡ã¤ã«ã¯ android_sdk_<platform>_<release>
ãã£ã¬ã¯ããªã«å±éããã¾ãããã®ãã£ã¬ã¯ããªã«ã¯ãããã¥ã¡ã³ãã®ãã¼ã«ã« ã³ãã¼ï¼ãã©ã¦ã¶ã§ documentation.html
ãéãã¨åç
§ã§ãã¾ãï¼ã¨ãtools/
ãadd-ons/
ãplatforms/
ãªã©ã®ãµããã£ã¬ã¯ããªãå«ã¾ãã¾ããplatforms/
ã®ãµããã£ã¬ã¯ããªå
ã«ã¯ããã©ãããã©ã¼ã ã®åãã¼ã¸ã§ã³ã«åºæã®ã³ã¼ãã®ãµã³ãã«ãå«ã¾ãã samples/
ãããã¾ãã
-
-ã·ã¹ãã ä¸ã«å±éãã SDK ãã£ã¬ã¯ããªã®ååã¨ãã¹ãã¡ã¢ãã¦ããã¾ããããAndroid ãã©ã°ã¤ã³ã®è¨å®æããSDK ãã¼ã«ã®ä½¿ç¨æã«ãã® SDK ãã£ã¬ã¯ããªãåç
§ããå¿
è¦ãããã¾ãã
-
-SDK ã®ãã©ã¤ããªãã£ã¬ã¯ããªã§ãã tools
ã®ãã¹ããã·ã¹ãã PATH ã«è¿½å ãããã¨ããããããã¾ããtools/
ãã©ã¤ããªãã£ã¬ã¯ããªã¯ãSDK ãã©ã«ãã®ã«ã¼ãã«ããã¾ããtools
ããã¹ã«è¿½å ããã¨ãAndroid Debug Bridgeï¼adbï¼ããã®ä»ã®ã³ãã³ã ã©ã¤ã³ ãã¼ã«ãããã¼ã«ã®æ ¼ç´ããããã£ã¬ã¯ãã®å®å
¨ãªãã¹ãæå®ããã«å®è¡ã§ããããã«ãªãã¾ãã
-
- - Linux ä¸ã§ã¯
~/.bash_profile
ãã¡ã¤ã«ã¾ã㯠~/.bashrc
ãã¡ã¤ã«ãç·¨éãã¾ããPATH ç°å¢å¤æ°ãè¨å®ãã¦ããè¡ãæ¢ãããã®è¡ã« tools/
ãã£ã¬ã¯ããªã¸ã®å®å
¨ãªãã¹ã追å ãã¾ããPATH ãè¨å®ããè¡ãç¡ãå ´åã¯ã次ã®è¡ã追å ãã¾ã:
-
- export PATH=${PATH}:<your_sdk_dir>/tools
-
- - Mac ä¸ã§ã¯
.bash_profile
ã®ãã¼ã ãã£ã¬ã¯ããªã®å
ããåããã¡ã¤ã«ãæ¤ç´¢ããLinux ã¨åãããã«è¨å®ãã¾ãããã·ã³ä¸ã«ã¾ã .bash_profile
ãç¡ãå ´åã¯ããã¡ã¤ã«ãä½æãããã¨ãã§ãã¾ãã
-
- - Windows ä¸ã§ã¯ã[ã㤠ã³ã³ãã¥ã¼ã¿] ãå³ã¯ãªãã¯ãã[ããããã£] ãé¸æãã¾ãã[詳細è¨å®] ã¿ã㧠[ç°å¢å¤æ°] ãã¿ã³ãã¯ãªãã¯ãã表示ããããã¤ã¢ãã°ã§ [ã·ã¹ãã ç°å¢å¤æ°] ã® [Path] ãããã«ã¯ãªãã¯ãã¾ãããã® Path ã«
tools/
ãã£ã¬ã¯ããªã¸ã®å®å
¨ãªãã¹ã追å ãã¾ãã
-
-
-ä»å¾ SDK ãã¢ããã°ã¬ã¼ãããéã¯ãPATH ã®è¨å®ãæ´æ°ãããã¨ãå¿ããªãã§ãã ãããå¥ã®ãã£ã¬ã¯ããªã« SDK ãå±éããå ´åã¯ããã®æ°ããå ´æã PATH ã«è¨å®ããå¿
è¦ãããã¾ãã
-
-Eclipse IDE ãéçºç°å¢ã¨ãã¦ä½¿ç¨ããå ´åãAndroid Development Tools ãã©ã°ã¤ã³ãã¤ã³ã¹ãã¼ã«ã㦠Eclipse ãè¨å®ããæ¹æ³ã«ã¤ãã¦ã次ã®ã»ã¯ã·ã§ã³ã®æ
å ±ãåç
§ãã¦ãã ãããEclipse ã使ç¨ããªãå ´åã¯ãå¥ã® IDE ã使ç¨ã㦠Android ã¢ããªã±ã¼ã·ã§ã³ãéçºãã¦ãããSDK ã«å«ã¾ãã¦ãããã¼ã«ã使ç¨ãã¦ã³ã³ãã¤ã«ããããã°ãé
å¸ãè¡ããã¨ãã§ãã¾ãï¼ãã®å ´åã¯ã次ã®ã¹ãããã«é²ãã§ãã ããï¼ã
-
-
-Eclipse ç¨ ADT ãã©ã°ã¤ã³ã®ã¤ã³ã¹ãã¼ã«
-
-Android ã§ã¯ãAndroid Development Toolsï¼ADTï¼ã¨ãã Eclipse IDE ç¨ã®ã«ã¹ã¿ã ãã©ã°ã¤ã³ãæä¾ãã¦ãã¾ãããã®ãã©ã°ã¤ã³ã¯ãAndroid ã¢ããªã±ã¼ã·ã§ã³ã®æ§ç¯ãå¯è½ã«ããããã«è¨è¨ããããå¼·åãªçµ±åç°å¢ã§ãããã©ã°ã¤ã³ã«ãã£ã¦ Eclipse ã®æ©è½ãæ¡å¼µãããæ°ãã Android ããã¸ã§ã¯ãã®è¨å®ãã¢ããªã±ã¼ã·ã§ã³ã® UI ã®ä½æãAndroid Framework API ã«åºã¥ãã³ã³ãã¼ãã³ãã®è¿½å ãAndroid SDK ãã¼ã«ã使ç¨ããã¢ããªã±ã¼ã·ã§ã³ã®ãããã°ãå¯è½ã«ãªãã¾ããããã«ãã¢ããªã±ã¼ã·ã§ã³ãé
å¸ããããã®ç½²åæ¸ã¿ï¼ã¾ãã¯æªç½²åï¼ã® APK ã®ã¨ã¯ã¹ãã¼ããç°¡åã«ã§ããããã«ãªãã¾ãã
-
-ä¸è¬ç㪠Android éçºã«ããã¦ãADT ãçµã¿è¾¼ãã Eclipse ã®ä½¿ç¨ã¯å¼·ãæ¨å¥¨ããã¦ãããAndroid åå¿è
ã«æãå¹ççãªéçºç°å¢ãæä¾ãã¾ããï¼Eclipse 以å¤ã® IDE ã§ä½æ¥ããå ´åã¯ãEclipse ã ADT ãã¤ã³ã¹ãã¼ã«ããå¿
è¦ã¯ããã¾ããã代ããã«ãSDK ãã¼ã«ãç´æ¥ä½¿ç¨ãã¦ã¢ããªã±ã¼ã·ã§ã³ãæ§ç¯ãããããã°ãè¡ãã¾ãï¼ã
-
-ã¤ã³ã¹ãã¼ã«ã®æºåã§èª¬æããæé ã«å¾ã£ã¦ Eclipse ãã¤ã³ã¹ãã¼ã«ããå¾ã¯ã次ã®æé ã«å¾ã£ã¦æä½ã㦠ADT ãã©ã°ã¤ã³ããã¦ã³ãã¼ãããããããã® Eclipse ç°å¢ã«ã¤ã³ã¹ãã¼ã«ãã¾ãã
-
-
-Eclipse 3.3ï¼Europaï¼ | Eclipse 3.4ï¼Ganymedeï¼ |
-
-
-
-
- - Eclipse ãèµ·åãã[ãã«ã] > [ã½ããã¦ã§ã¢ã®æ´æ°] > [æ¤ç´¢ã¨ã¤ã³ã¹ãã¼ã«] ãé¸æãã¾ãã
- - 表示ããããã¤ã¢ãã°ã§ [ã¤ã³ã¹ãã¼ã«ããæ°è¦ãã£ã¼ãã£ã¼ãæ¤ç´¢] ãé¸æã㦠[次ã¸] ãã¯ãªãã¯ãã¾ãã
- - [æ°è¦ãªã¢ã¼ããµã¤ã] ãã¯ãªãã¯ãã¾ãã
- - 表示ããããã¤ã¢ãã° ããã¯ã¹ã§ããªã¢ã¼ã ãµã¤ãã®ååï¼ä¾: ãAndroid Pluginãï¼ãå
¥åããURL ãå
¥åãã¾ã:
-
https://dl-ssl.google.com/android/eclipse/
- ãã©ã°ã¤ã³ãå
¥æã§ããªãå ´åã¯ãURL ã®ãhttpsãã®ä»£ããã«ãhttpãã使ç¨ãã¦ã¿ã¦ãã ããï¼ã»ãã¥ãªãã£ä¸ã®çç±ããã¯ãhttps ããããããã¾ãï¼ã
- [OK] ãã¯ãªãã¯ãã¾ãã
- - æ¤ç´¢ãªã¹ãã«æ°ãããµã¤ãã追å ããã¦ããããã§ãã¯ããã¯ã¹ããªã³ã®ç¶æ
ã§è¡¨ç¤ºãããã¯ãã§ãã[çµäº] ãã¯ãªãã¯ãã¾ãã
- - 次㮠[æ¤ç´¢çµæ] ãã¤ã¢ãã°ããã¯ã¹ã§ããAndroid Pluginãã®ãã§ãã¯ããã¯ã¹ããªã³ã«ãã¾ããããã«ãããããã«å«ã¾ãã¦ãããã¼ã«ãAndroid DDMSãã¨ãAndroid Development Toolsããèªåçã«ãªã³ã«ãªãã¾ãã[次ã¸] ãã¯ãªãã¯ãã¾ãã
- - 使ç¨è¨±è«¾å¥ç´ãèªã¿ãåæãã¦ã[次ã¸] ãã¯ãªãã¯ãã¾ãã
- - 次ã®ã¤ã³ã¹ãã¼ã« ã¦ã£ã³ãã¦ã§ [çµäº] ãã¯ãªãã¯ãã¾ãã
- - ADT ãã©ã°ã¤ã³ã¯ãã¸ã¿ã«ç½²åããã¦ãã¾ããã[ãã¹ã¦ã¤ã³ã¹ãã¼ã«] ãã¯ãªãã¯ãã¦ã¤ã³ã¹ãã¼ã«ã許å¯ãã¾ãã
- - Eclipse ãåèµ·åãã¾ãã
-
-
- |
-
-
-
-
- - Eclipse ãèµ·åãã[ãã«ã] > [ã½ããã¦ã§ã¢ã®æ´æ°] ãé¸æãã¾ãã
- - 表示ããããã¤ã¢ãã°ã§ [使ç¨å¯è½ãªã½ããã¦ã§ã¢] ã¿ããã¯ãªãã¯ãã¾ãã
- - [ãµã¤ãã®è¿½å ] ãã¯ãªãã¯ãã¾ãã
- - 次ã®å ´æãå
¥åãã¾ã:
-
https://dl-ssl.google.com/android/eclipse/
- ãã©ã°ã¤ã³ãå
¥æã§ããªãå ´åã¯ãå ´æã® URL ã®ãhttpsãã®ä»£ããã«ãhttpãã使ç¨ãã¦ã¿ã¦ãã ããï¼ã»ãã¥ãªãã£ä¸ã®çç±ããã¯ãhttps ããããããã¾ãï¼ã
- [OK] ãã¯ãªãã¯ãã¾ãã
- - [使ç¨å¯è½ãªã½ããã¦ã§ã¢] ã®ã¿ãã«æ»ãã¨ãä¸è¨ã® URL ã«ãããã©ã°ã¤ã³ã¨ãã®ä¸ã«å«ã¾ãããDeveloper Toolsãã表示ããã¦ããã¯ãã§ãããDeveloper Toolsãã®æ¨ªã®ãã§ãã¯ããã¯ã¹ããªã³ã«ãã[ã¤ã³ã¹ãã¼ã«] ãã¯ãªãã¯ãã¾ãã
- - 次ã®ã¤ã³ã¹ãã¼ã« ã¦ã£ã³ãã¦ã§ããAndroid DDMSãã¨ãAndroid Development Toolsãã®ä¸¡æ¹ã®ãã§ãã¯ããã¯ã¹ããªã³ã«ãªã£ã¦ãããã¨ã確èªãã¾ãã[次ã¸] ãã¯ãªãã¯ãã¾ãã
- - 使ç¨è¨±è«¾å¥ç´ãèªã¿ãåæãã¦ã[çµäº] ãã¯ãªãã¯ãã¾ãã
- - Eclipse ãåèµ·åãã¾ãã
-
-
- |
-
-
-
-次ã«ãEclipse ã®è¨å®ãå¤æ´ãã¦ãAndroid SDK ãã£ã¬ã¯ããªãæãããã«å¤æ´ãã¾ã:
-
- - [ã¦ã£ã³ãã¦] > [è¨å®] ãé¸æãã¦ã[è¨å®] ããã«ãéãã¾ãï¼Mac ä¸ã§ã¯ [Eclipse] > [è¨å®]ï¼ã
- - å·¦å´ã®ããã«ã§ [Android] ãé¸æãã¾ãã
- - ã¡ã¤ã³ ããã«ã® [SDK Location] 㧠[åç
§] ãã¯ãªãã¯ãããã¦ã³ãã¼ããã SDK ãã£ã¬ã¯ããªãæ¢ãã¾ãã
- - [é©ç¨] ãã¯ãªãã¯ãã¦ã[OK] ãã¯ãªãã¯ãã¾ãã
-
-
-ããã§å®äºã§ããåé¡ãªãå®äºããå ´åã¯ãAndroid ã¢ããªã±ã¼ã·ã§ã³éçºãå§ããæºåãæ´ã£ã¦ãã¾ããéçºãå§ãããã³ãã«ã¤ãã¦ã¯ã次ã®ã¹ãããã®ã»ã¯ã·ã§ã³ãã覧ãã ããã
-
-
-ADT ã®ã¤ã³ã¹ãã¼ã«ã§ã®ãã©ãã«ã·ã¥ã¼ãã£ã³ã°
-
-ä¸è¨ã®æé ã§ãADT ãã©ã°ã¤ã³ã®ãã¦ã³ãã¼ãã«åé¡ãçããå ´åã®ãã³ãã¯æ¬¡ã®ã¨ããã§ã:
-
-
-
-ããã§ã Eclipse ã使ç¨ã㦠ADT ãã©ã°ã¤ã³ããªã¢ã¼ãæ´æ°ãµã¤ãã¨ãã¦ãã¦ã³ãã¼ãã§ããªãå ´åã¯ãADT zip ãã¡ã¤ã«ããã¼ã«ã« ãã·ã³ä¸ã«ãã¦ã³ãã¼ããã¦ãæåã§ã¤ã³ã¹ãã¼ã«ãããã¨ãã§ãã¾ã:
-
-
- - ADT zip ãã¡ã¤ã«ããã¦ã³ãã¼ããã¾ãï¼å±éã¯ããªãã§ãã ããï¼ã
- - ããã©ã«ãã®ã¤ã³ã¹ãã¼ã«æé ï¼ä¸è¨ï¼ã®ã¹ããã 1 㨠2 ã®ã¨ããã«æä½ãã¾ãã
- - Eclipse 3.3 ã§ã¯ [æ°è¦ã¢ã¼ã«ã¤ãã»ãµã¤ã] ãã¯ãªãã¯ãã¾ãã
Eclipse 3.4 ã§ã¯ [ãµã¤ãã®è¿½å ] ãã¯ãªãã¯ãã¦ã[ã¢ã¼ã«ã¤ã] ãã¯ãªãã¯ãã¾ãã
- - ãã¦ã³ãã¼ããã zip ãã¡ã¤ã«ãåç
§ãã¦é¸æãã¦ãã ããã
- - ä¸è¨ã®ã¹ããã 5 ããæ®ãã®æé ã«å¾ã£ã¦æä½ãã¾ãã
-
-zip ãã¡ã¤ã«ããã¤ã³ã¹ãã¼ã«ãããã©ã°ã¤ã³ãå¾ã§ã¢ãããã¼ãããå ´åã¯ãããã©ã«ãã®ã¢ãããã¼ãæé ã®ä»£ããã«ãããä¸åº¦ãã®æé ã©ããã«æä½ããå¿
è¦ãããã¾ãã
-
-ãã®ä»ã®ã¤ã³ã¹ãã¼ã« ã¨ã©ã¼
-
-ãªãã·ã§ã³ã® Eclipse ã³ã³ãã¼ãã³ãï¼WST ãªã©ï¼ãå¿
è¦ã¨ãã ADT ã®æ©è½ãããã¾ããADT ã®ã¤ã³ã¹ãã¼ã«æã«ã¨ã©ã¼ãçºçããå ´åãã使ãã® Eclipse ã¤ã³ã¹ãã¼ã«ç°å¢ã«ããããã³ã³ãã¼ãã³ããå«ã¾ãã¦ããªãå¯è½æ§ãããã¾ããå¿
è¦ãªã³ã³ãã¼ãã³ãã Eclipse ã¤ã³ã¹ãã¼ã«ç°å¢ã«ç°¡åã«è¿½å ããæ¹æ³ã«ã¤ãã¦è©³ããã¯ããã©ãã«ã·ã¥ã¼ãã£ã³ã° ããã㯠ADT ã¤ã³ã¹ãã¼ã«ã¨ã©ã¼: "requires plug-in org.eclipse.wst.sse.ui" ãã覧ãã ããã
-
-Linux ã¦ã¼ã¶ã¼ã®å ´å
-Eclipse ç¨ ADT ãã©ã°ã¤ã³ã®ã¤ã³ã¹ãã¼ã«æã«ã次ã®ã¨ã©ã¼ãçºçããå ´åãããã¾ãã
-
-An error occurred during provisioning.
-Cannot connect to keystore.
-JKS
-
-ãã®å ´åãã使ãã®éçºç¨ãã·ã³ã«é©å㪠Java VM ãæè¼ããã¦ãã¾ãããSun Java 6 ãã¤ã³ã¹ãã¼ã«ããã¨ãã®åé¡ã解決ããADT ãã©ã°ã¤ã³ãåã¤ã³ã¹ãã¼ã«ãããã¨ãã§ãã¾ãã
-
-
-次ã®ã¹ããã
-ã¤ã³ã¹ãã¼ã«ãå®äºããã¨ãã¢ããªã±ã¼ã·ã§ã³ã®éçºãå§ããæºåãæ´ãã¾ããéçºãå§ããæ¹æ³ãããã¤ãç´¹ä»ãã¾ã:
-
-Android ã®è©³ç´°ã®å¦ç¿
-
-
-SDK ã®æ¢ç´¢
-
-
-ãµã³ãã« ã³ã¼ãã®åç
§
-
- - Hello World ã¢ããªã±ã¼ã·ã§ã³ãæ§ç¯ãã¾ãï¼ç¹ã« Eclipse ã¦ã¼ã¶ã¼ã«ããããã§ãï¼ã
- - Notepad ãã¥ã¼ããªã¢ã«ã«æ²¿ã£ã¦ Android ã¢ããªã±ã¼ã·ã§ã³ãå®å
¨ã«æ§ç¯ãã¾ãã
- <sdk>/platforms/<platfrom>/samples
ã«åãããã¦ããä»ã®ãµã³ãã« ã¢ããªã±ã¼ã·ã§ã³ã®ãããããæ°ããããã¸ã§ã¯ãã¨ãã¦ä½æããèªåã®éçºç°å¢ã§ã³ã³ãã¤ã«ããå®è¡ãã¾ãã
-
-
-Android ãããããã¼ ã°ã«ã¼ãã¸ã®ã¢ã¯ã»ã¹
-
- - [ã³ãã¥ããã£] ã¿ãã§ãAndroid ãããããã¼ ã°ã«ã¼ãã®ä¸è¦§ãåç
§ãã¾ããç¹ã« Android Developers ã°ã«ã¼ãã¯ãAndroid ãããããã¼ ã³ãã¥ããã£ãã©ããããã®ããç¥ãã®ã«åèã«ãªãã¾ãã
-
-
-
-ã¤ã³ã¹ãã¼ã«ã«é¢ãã注æäºé
-
-Ubuntu Linux ã«é¢ãã注æäºé
-
-
- - éçºãã·ã³ä¸ã§ Java ãã¤ã³ã¹ãã¼ã«ãã¦è¨å®ããæ¹æ³ã«ã¤ãã¦ã¯ã次ã®ãªã½ã¼ã¹ãåèã«ãªãã¾ã:
-
-
- - Android SDK 㨠ADT ãã©ã°ã¤ã³ãã¤ã³ã¹ãã¼ã«ããåã«ãJava 㨠Eclipse ãã¤ã³ã¹ãã¼ã«ããæé ã¯æ¬¡ã®ã¨ããã§ãã
-
- - éçºãã·ã³ä¸ã§ 64 ãããçãå®è¡ãã¦ããå ´åã¯ã
apt-get:
ã使ç¨ã㦠ia32-libs
ããã±ã¼ã¸ãã¤ã³ã¹ãã¼ã«ããå¿
è¦ãããã¾ã:
- apt-get install ia32-libs
-
- - 次㫠Java ãã¤ã³ã¹ãã¼ã«ãã¾ã:
apt-get install sun-java6-bin
- - Ubuntu ããã±ã¼ã¸ ããã¼ã¸ã£ã§ã¯ç¾å¨ãEclipse 3.3 ãã¼ã¸ã§ã³ã®ãã¦ã³ãã¼ããæä¾ãã¦ããªãã®ã§ãeclipse.orgï¼ http://www.eclipse.org/downloads/ ï¼ãã Eclipse ããã¦ã³ãã¼ããããã¨ããããããã¾ããEclipse ã® Java ãã¼ã¸ã§ã³ã¾ã㯠RCP ãã¼ã¸ã§ã³ããããããã¾ãã
- - ä¸è¨ã®ã»ã¯ã·ã§ã³ã®æé ã©ããã« SDK 㨠ADT ãã©ã°ã¤ã³ãã¤ã³ã¹ãã¼ã«ãã¾ãã
-
-
-
-
-ãã®ä»ã® Linux ã«é¢ãã注æäºé
-
-
- - éçºç¨ã³ã³ãã¥ã¼ã¿ã« JDK ãæ¢ã«ã¤ã³ã¹ãã¼ã«ããã¦ããå ´åã¯ãã·ã¹ãã è¦ä»¶ã«è¨è¼ããã¦ãããã¼ã¸ã§ã³è¦ä»¶ãæºããã¦ãããã¨ã確èªãã¦ãã ãããç¹ã«ããã£ã¹ããªãã¥ã¼ã·ã§ã³ã«ãã£ã¦ã¯ JDK 1.4 ã¾ã㯠Gnu Compiler for Java ãçµã¿è¾¼ã¾ãã¦ããå ´åãããã¾ããããã㯠Android ã®éçºã§ã¯ãµãã¼ãããã¦ããªãã®ã§ãã注æãã ããã
-
-
-
-
diff --git a/docs/html/intl/ja/training/monitoring-device-state/battery-monitoring.jd b/docs/html/intl/ja/training/monitoring-device-state/battery-monitoring.jd
deleted file mode 100644
index c4aafe4ccf90..000000000000
--- a/docs/html/intl/ja/training/monitoring-device-state/battery-monitoring.jd
+++ /dev/null
@@ -1,120 +0,0 @@
-page.title=é»æ± æ®éã¨å
é»ç¶æ
ã®ç£è¦
-parent.title=é»æ± æ¶è²»éã®æé©å
-parent.link=index.html
-
-trainingnavtop=true
-next.title=ãã«ãã¼ã®è£
çç¶æ
ã¨ã¿ã¤ãã®ç¹å®ã¨ç£è¦
-next.link=docking-monitoring.html
-
-@jd:body
-
-
-
-ããã¯ã°ã©ã¦ã³ãæ´æ°ãé»æ± æ¶è²»éã«åã¼ãå½±é¿ãæããããã«æ´æ°ã®é »åº¦ãå¤æ´ããã«ã¯ãåãã«ç¾å¨ã®é»æ± æ®éã¨å
é»ç¶æ
ã調ã¹ããã¨ããããããã¾ãã
-
-ã¢ããªã®æ´æ°ãé»æ± æ¶è²»éã«åã¼ãå½±é¿ã®åº¦åãã¯ã端æ«ã®é»æ± æ®éã¨å
é»ç¶æ
ã«ãã£ã¦ç°ãªãã¾ããAC é»æºãã端æ«ãå
é»ãã¦ããã¨ãã¯ãæ´æ°ã®å®è¡ã«ããå½±é¿ã¯ããããããªã®ã§ãã»ã¨ãã©ã®å ´åã¯ã端æ«ã AC é»æºã«æ¥ç¶ããã¦ããéããæ´æ°é »åº¦ãæ大ã«ãã¦å·®ãæ¯ãããã¾ãããéã«ã端æ«ãé»æ± ã§é§åãã¦ããã¨ãã¯ãæ´æ°é »åº¦ãä¸ããã¨é»æ± æ¶è²»éãæãããã¨ãã§ãã¾ãã
-
-åæ§ã«ãé»æ± æ®éã調ã¹ãã¨ãæ®éããããããã§ããã¨ãã«æ´æ°é »åº¦ãä¸ããããå ´åã«ãã£ã¦ã¯åæ¢ãããããããã¨ãã§ãã¾ãã
-
-
-ç¾å¨ã®å
é»ç¶æ
ãç¹å®ãã
-
-åãã«ãç¾å¨ã®å
é»ç¶æ
ãç¹å®ãã¾ãã{@link android.os.BatteryManager} ã«ãã£ã¦é»æ± ã¨å
é»ç¶æ
ã«é¢ãããã¹ã¦ã®è©³ç´°æ
å ±ã sticky {@link android.content.Intent} ã¨ãã¦ããã¼ããã£ã¹ãããã¾ããããã®ä¸ã«å
é»ç¶æ
ãæ ¼ç´ããã¦ãã¾ãã
-
-ãã㯠sticky ã¤ã³ãã³ãã§ããããã{@link android.content.BroadcastReceiver} ãç»é²ããå¿
è¦ã¯ããã¾ããã{@code registerReceiver} ãå¼ã³åºãã{@code null} ãã¬ã·ã¼ãã¨ãã¦æ¸¡ãã ãã§ï¼æ¬¡ã®ã³ã¼ãä¾ãåç
§ï¼ãç¾å¨ã®é»æ± ç¶æ
ã®ã¤ã³ãã³ããè¿ããã¾ããããã§å®éã® {@link android.content.BroadcastReceiver} ãªãã¸ã§ã¯ãã渡ããã¨ãã§ãã¾ããããã®ã¬ãã¹ã³ã§ã¯å¾ã§æ´æ°ã«ã¤ãã¦ã®å¦çãè¡ãã®ã§ãããã¯å¿
è¦ããã¾ããã
-
-IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
-Intent batteryStatus = context.registerReceiver(null, ifilter);
-
-ç¾å¨ã®å
é»ç¶æ
ã«å ãã¦ãå
é»ä¸ã®å ´å㯠USB çµç±ã AC å
é»å¨çµç±ãã調ã¹ããã¨ãã§ãã¾ãã
-
-
// Are we charging / charged?
-int status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
-boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
- status == BatteryManager.BATTERY_STATUS_FULL;
-
-// How are we charging?
-int chargePlug = battery.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
-boolean usbCharge = chargePlug == BATTERY_PLUGGED_USB;
-boolean acCharge = chargePlug == BATTERY_PLUGGED_AC;
-
-ä¸è¬çã«ã¯ã端æ«ã AC å
é»å¨ã«æ¥ç¶ããã¦ããã¨ãã¯ããã¯ã°ã©ã¦ã³ãæ´æ°ã®é »åº¦ãæ大ã«ããUSB çµç±ã§å
é»ä¸ã®ã¨ãã¯é »åº¦ãä¸ããé»æ± ã§é§åä¸ã®ã¨ãã¯ããã«é »åº¦ãä¸ãã¾ãã
-
-
-å
é»ç¶æ
ã®å¤åãç£è¦ãã
-
-å
é»ç¶æ
ã¯ã端æ«ãå
é»å¨ã«æ¥ç¶ãããã¨ãã«ããã«å¤åããã®ã§ãå
é»ç¶æ
ã®å¤åãç£è¦ãããã®å¤åã«å¿ãã¦æ´æ°ã®é »åº¦ãå¤æ´ãããã¨ãéè¦ã§ãã
-
-{@link android.os.BatteryManager} ã¯ã端æ«ãé»æºã«æ¥ç¶ãããã¨ããæ¥ç¶ã解é¤ãããã¨ãã«ãã¢ã¯ã·ã§ã³ãããã¼ããã£ã¹ããã¾ãããã®ãããªã¤ãã³ãã¯ãã¢ããªãå®è¡ä¸ã§ãªãã¨ãã§ãåä¿¡ãããã¨ãéè¦ã§ããç¹ã«ãã®ã¤ãã³ãããã¢ããªã®ããã¯ã°ã©ã¦ã³ãæ´æ°ãéå§ããããã«ã¢ããªãèµ·åãããé »åº¦ã«å½±é¿ãããã®ã§ããå ´åã§ãããããã£ã¦ã{@link android.content.BroadcastReceiver} ãã¢ããªã®ãããã§ã¹ãå
ã§ç»é²ãã両æ¹ã®ã¤ãã³ããåä¿¡ããããã« {@link android.content.Intent#ACTION_POWER_CONNECTED} 㨠{@link android.content.Intent#ACTION_POWER_DISCONNECTED} ãã¤ã³ãã³ã ãã£ã«ã¿å
ã§å®ç¾©ãã¾ãã
-
-<receiver android:name=".PowerConnectionReceiver">
- <intent-filter>
- <action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>
- <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/>
- </intent-filter>
-</receiver>
-
-é¢é£ä»ãããã¦ãã {@link android.content.BroadcastReceiver} å®è£
ã®ä¸ã§ãåã®ã¹ãããã§èª¬æããããã«ãç¾å¨ã®å
é»ç¶æ
ã¨å
é»æ¹æ³ãæ½åºãã¾ãã
-
-public class PowerConnectionReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
- boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
- status == BatteryManager.BATTERY_STATUS_FULL;
-
- int chargePlug = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
- boolean usbCharge = chargePlug == BATTERY_PLUGGED_USB;
- boolean acCharge = chargePlug == BATTERY_PLUGGED_AC;
- }
-}
-
-
-ç¾å¨ã®é»æ± æ®éãç¹å®ãã
-
-ç¶æ³ã«ãã£ã¦ã¯ãç¾å¨ã®é»æ± æ®éããããã¨ä¾¿å©ãªãã¨ãããã¾ãããã¨ãã°ãé»æ± æ®éãæå®ã®ã¬ãã«ãä¸åã£ãå ´åã«ã¢ããªã®ããã¯ã°ã©ã¦ã³ãæ´æ°ã®é »åº¦ãä¸ãããã¨ãã§ãã¾ãã
-
-ç¾å¨ã®é»æ± æ®éã調ã¹ãã«ã¯ã次ã«ç¤ºãããã«ãé»æ± ç¶æ
ã®ã¤ã³ãã³ãããç¾å¨ã®é»æ± æ®éã¨æ大éãæ½åºãã¾ãã
-
-int level = battery.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
-int scale = battery.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
-
-float batteryPct = level / (float)scale;
-
-
-é»æ± æ®éã®å¤§ããªå¤åãç£è¦ãã
-
-é»æ± ç¶æ
ãç¶ç¶çã«ç£è¦ãããã¨ã¯ç°¡åã§ã¯ããã¾ãããããã®å¿
è¦ãããã¾ããã
-
-ä¸è¬çã«ãé»æ± æ®éãç¶ç¶çã«ç£è¦ããã»ãããé»æ± ã¸ã®å½±é¿ã¯ã¢ããªã®é常ã®åä½ã«ãããã®ããã大ãããªããããé»æ± æ®éã®å¤§ããªå¤åã®ã¿ãç£è¦ãããã¨ããããããã¾ããç¹ã«ã端æ«ãé»æ± æ®éä½ä¸ç¶æ
ã«å
¥ã£ãã¨ããããã®ç¶æ
ã解æ¶ãããã¨ãã§ãã
-
-次ã«ç¤ºããããã§ã¹ãã®æçã¯ãããã¼ããã£ã¹ã ã¬ã·ã¼ãã®ä¸ã«ããã¤ã³ãã³ã ãã£ã«ã¿è¦ç´ ããã®æç²ã§ãããã®ã¬ã·ã¼ãã¯ã端æ«ãé»æ± æ®éä½ä¸ç¶æ
ã«å
¥ã£ãã¨ããããã®ç¶æ
ã解æ¶ãããã¨ãã«å¼ã³åºããã¾ãããã®ããã«ã{@link android.content.Intent#ACTION_BATTERY_LOW} 㨠{@link android.content.Intent#ACTION_BATTERY_OKAY} ãåä¿¡ãã¾ãã
-
-<receiver android:name=".BatteryLevelReceiver">
-<intent-filter>
- <action android:name="android.intent.action.ACTION_BATTERY_LOW"/>
- <action android:name="android.intent.action.ACTION_BATTERY_OKAY"/>
- </intent-filter>
-</receiver>
-
-ä¸è¬çã«ãé»æ± æ®éããããããã«ãªã£ãã¨ãã¯ã¢ããªã®ããã¯ã°ã©ã¦ã³ãæ´æ°ããã¹ã¦åæ¢ãããã¨ããããããã¾ãããã¼ã¿ããããæ°ããã¦ãã端æ«èªä½ã®é»æºãåãã¦ãã¾ã£ãã®ã§ã¯ãã¼ã¿ãæ´»ç¨ã§ãã¾ããã
-
-å¤ãã®å ´åã端æ«ã®å
é»ã¨ããåä½ãéå§ããã®ã¯ã端æ«ããã«ãã¼ã«ã»ãããããã®ã¨åæã§ãã次ã®ã¬ãã¹ã³ã§ã¯ãç¾å¨ã®ãã«ãã¼ã®ç¶æ
ãç¹å®ãã端æ«ã®ãã«ãã¼è£
çç¶æ
ã®å¤åãç£è¦ããæ¹æ³ãç´¹ä»ãã¾ãã
-
diff --git a/docs/html/intl/ja/training/monitoring-device-state/connectivity-monitoring.jd b/docs/html/intl/ja/training/monitoring-device-state/connectivity-monitoring.jd
deleted file mode 100644
index 82b0c6b01acb..000000000000
--- a/docs/html/intl/ja/training/monitoring-device-state/connectivity-monitoring.jd
+++ /dev/null
@@ -1,70 +0,0 @@
-page.title=æ¥ç¶ç¶æ
ã®ç¹å®ã¨ç£è¦
-parent.title=é»æ± æ¶è²»éã®æé©å
-parent.link=index.html
-
-trainingnavtop=true
-
-previous.title=ãã«ãã¼ã®è£
çç¶æ
ã¨ã¿ã¤ãã®ç¹å®ã¨ç£è¦
-previous.link=docking-monitoring.html
-next.title=ãªã³ããã³ãã§ã®ããã¼ããã£ã¹ã ã¬ã·ã¼ãæä½
-next.link=manifest-receivers.html
-
-@jd:body
-
-
-
-å復ã¢ã©ã¼ã ã¨ããã¯ã°ã©ã¦ã³ã ãµã¼ãã¹ã®ç¨éã®ãã¡ä»£è¡¨çãªãã®ã¨ãã¦ã¯ãã¤ã³ã¿ã¼ããã ãªã½ã¼ã¹ããã¢ããªã®ãã¼ã¿ãå®æçã«æ´æ°ããããã®ã¹ã±ã¸ã¥ã¼ã«è¨å®ãããã¼ã¿ã®ãã£ãã·ã¥ã¸ã®æ ¼ç´ãé·æéã«åã¶ãã¦ã³ãã¼ãã®å®è¡ãªã©ãããã¾ããããããã¤ã³ã¿ã¼ãããã«æ¥ç¶ããã¦ããªãã¨ãããé度ãä½ãããããã«ãã¦ã³ãã¼ããå®äºã§ããªãå ´åã«ã¾ã§ãæ´æ°ãã¹ã±ã¸ã¥ã¼ãªã³ã°ããããã«ç«¯æ«ãã¹ãªã¼ãç¶æ
ãã復帰ãããå¿
è¦ãããã§ããããã
-
-{@link android.net.ConnectivityManager} ã使ç¨ããã¨ã端æ«ãå®éã«ã¤ã³ã¿ã¼ãããã«æ¥ç¶ããã¦ãããã©ããã¨ãæ¥ç¶ããã¦ããå ´åã®æ¥ç¶ã¿ã¤ãã調ã¹ããã¨ãã§ãã¾ãã
-
-
-ã¤ã³ã¿ã¼ãããæ¥ç¶ã®æç¡ãç¹å®ãã
-
-端æ«ãã¤ã³ã¿ã¼ãããã«æ¥ç¶ããã¦ããªãå ´åã¯ãã¤ã³ã¿ã¼ããã ãªã½ã¼ã¹ã«åºã¥ãæ´æ°ãã¹ã±ã¸ã¥ã¼ãªã³ã°ããå¿
è¦æ§ã¯ããã¾ããã次ã®ã¹ããããã¯ã{@link android.net.ConnectivityManager} ã使ç¨ãã¦ã¢ã¯ãã£ããªãããã¯ã¼ã¯ãåãåããã¦ãã¤ã³ã¿ã¼ãããã«æ¥ç¶ãã¦ãããã©ãããç¹å®ããæ¹æ³ã示ããã®ã§ãã
-
-ConnectivityManager cm =
- (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
-
-NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
-boolean isConnected = activeNetwork.isConnectedOrConnecting();
-
-
-ã¤ã³ã¿ã¼ãããæ¥ç¶ã®ã¿ã¤ããç¹å®ãã
-
-ç¾å¨ä½¿ç¨å¯è½ãªã¤ã³ã¿ã¼ãããæ¥ç¶ã®ã¿ã¤ãã調ã¹ããã¨ãã§ãã¾ãã
-
-端æ«ã®æ¥ç¶ã®ã¿ã¤ãã¨ãã¦ã¯ãã¢ãã¤ã« ãã¼ã¿ãWiMAXãWi-Fiãã¤ã¼ãµããããããã¾ãã次ã«ç¤ºãããã«ãã¢ã¯ãã£ããªãããã¯ã¼ã¯ã®ã¿ã¤ããåãåãããã¨ã使ç¨å¯è½ãªå¸¯åå¹
ã«åããã¦æ´æ°é »åº¦ãå¤æ´ãããã¨ãã§ãã¾ãã
-
-boolean isWiFi = activeNetwork.getType() == ConnectivityManager.TYPE_WIFI;
-
-ã¢ãã¤ã« ãã¼ã¿æ¥ç¶ã®ã³ã¹ã㯠Wi-Fi æ¥ç¶ã大ããä¸åãå¾åãããããã端æ«ãã¢ãã¤ã«æ¥ç¶ãã¦ããã¨ãã¯ã¢ããªã®æ´æ°é »åº¦ãä¸ããã®ãä¸è¬çã§ããåæ§ã«ã大éã®ãã¼ã¿ããã¦ã³ãã¼ãããã¨ãã¯ãWi-Fi æ¥ç¶ãããã¾ã§åæ¢ããã¨ããã§ãããã
-
-æ´æ°ãåæ¢ããå ´åã¯ãæ¥ç¶ç¶æ
ã®å¤åãåä¿¡ãããã¨ãéè¦ã§ããã¤ã³ã¿ã¼ãããæ¥ç¶ã確ç«ããããæ´æ°ãåéã§ããããã«ããããã§ãã
-
-
-æ¥ç¶ç¶æ
ã®å¤åãç£è¦ãã
-
-æ¥ç¶ç¶æ
ã®è©³ç´°ãå¤åããã¨ã{@link android.net.ConnectivityManager} ã«ãã£ã¦ {@link android.net.ConnectivityManager#CONNECTIVITY_ACTION}ï¼{@code "android.net.conn.CONNECTIVITY_CHANGE"}ï¼ã¢ã¯ã·ã§ã³ãããã¼ããã£ã¹ãããã¾ããã¢ããªã®ãããã§ã¹ãå
ã§ããã¼ããã£ã¹ã ã¬ã·ã¼ããç»é²ãããã®ãããªå¤åãæ¤åºãããã¨ã§ãããã«å¿ãã¦ã¢ããªã®ããã¯ã°ã©ã¦ã³ãæ´æ°ãåéï¼ã¾ãã¯åæ¢ï¼ãããã¨ãã§ãã¾ãã
-
-<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
-
-端æ«ã®æ¥ç¶ç¶æ
ã®å¤åã¯ããããã¦é »ç¹ã«ãªããã¨ãããã¾ãããã®ããã¼ããã£ã¹ãã¯ãã¢ãã¤ã« ãã¼ã¿æ¥ç¶ã¨ Wi-Fi æ¥ç¶ã¨ãåãæ¿ãããã³ã«çºè¡ãããããã§ãããããã£ã¦ããã®ããã¼ããã£ã¹ãã®ç£è¦ã¯ãæ´æ°ããã¦ã³ãã¼ããåæ¢ããå¾ã«åéãã¹ããã©ãããå¤æããããã«éã£ã¦è¡ããã¨ããããããã¾ããä¸è¬çã«ã¯ãæ´æ°ãéå§ããåã«ã¤ã³ã¿ã¼ãããæ¥ç¶ã®æç¡ã調ã¹ãã°ååã§ããã¤ã³ã¿ã¼ãããã«æ¥ç¶ãã¦ããªãå ´åã¯ãåã³æ¥ç¶ãããã¾ã§ã®éãæ´æ°ãåæ¢ãã¾ãã
-
-ãã®ããã«ããã«ã¯ããããã§ã¹ãå
ã§å®£è¨ããããã¼ããã£ã¹ã ã¬ã·ã¼ãã®ãªã³ã¨ãªããåãæ¿ããå¿
è¦ãããã¾ããããã«ã¤ãã¦ã次ã®ã¬ãã¹ã³ã§èª¬æãã¾ãã
diff --git a/docs/html/intl/ja/training/monitoring-device-state/docking-monitoring.jd b/docs/html/intl/ja/training/monitoring-device-state/docking-monitoring.jd
deleted file mode 100644
index 9c0e05435cd4..000000000000
--- a/docs/html/intl/ja/training/monitoring-device-state/docking-monitoring.jd
+++ /dev/null
@@ -1,74 +0,0 @@
-page.title=ãã«ãã¼ã®è£
çç¶æ
ã¨ã¿ã¤ãã®ç¹å®ã¨ç£è¦
-parent.title=é»æ± æ¶è²»éã®æé©å
-parent.link=index.html
-
-trainingnavtop=true
-previous.title= é»æ± æ®éã¨å
é»ç¶æ
ã®ç£è¦
-previous.link=battery-monitoring.html
-next.title= æ¥ç¶ç¶æ
ã®ç¹å®ã¨ç£è¦
-next.link=connectivity-monitoring.html
-
-@jd:body
-
-
-
-Android æè¼ç«¯æ«ãè£
çã§ãããã«ãã¼ã®ç¨®é¡ã«ã¯ããã¾ãã¾ãªãã®ãããã¾ãããã¨ãã°ãè»è¼ç¨ã家åºç¨ã®ãã«ãã¼ãããããã¸ã¿ã«ãã¢ããã°ãã¨ããåºå¥ãããã¾ãããã«ãã¼è£
çç¶æ
ã¯ä¸è¬çã«ãå
é»ç¶æ
ã¨å¯æ¥ã«ãªã³ã¯ãã¦ãã¾ããå¤ãã®ãã«ãã¼ã¯ãè£
çããã¦ãã端æ«ã«é»åãä¾çµ¦ãã¦ããããã§ãã
-
-端æ«ã®ãã«ãã¼è£
çç¶æ
ãæ´æ°ã®é »åº¦ã«ã©ã®ããã«å½±é¿ãããã¯ãã¢ããªã«ãã£ã¦ç°ãªãã¾ãããã¨ãã°ãã¹ãã¼ã ã»ã³ã¿ã¼ ã¢ããªãªããåä¸ãã«ãã¼è£
çæã«ã¯æ´æ°é »åº¦ãä¸ããã«ã¼ ãã«ãã¼è£
çæã«ã¯æ´æ°ãå®å
¨ã«åæ¢ããã¨ããã§ããããéã«ãã«ã¼ ãã«ãã¼è£
çæã«æ´æ°é »åº¦ãæ大ã«ããã±ã¼ã¹ã¨ãã¦ã¯ãããã¯ã°ã©ã¦ã³ã ãµã¼ãã¹ã«ãã£ã¦é路交éç¶æ³ãæ´æ°ããå ´åãèãããã¾ãã
-
-ãã«ãã¼è£
çç¶æ
ã sticky {@link android.content.Intent} ã¨ãã¦ããã¼ããã£ã¹ããããã®ã§ã端æ«ããã«ãã¼ã«è£
çããã¦ãããã©ããã¨ãè£
çããã¦ããå ´åã®ãã«ãã¼ã®ã¿ã¤ããåãåããããã¨ãã§ãã¾ãã
-
-
-ç¾å¨ã®ãã«ãã¼è£
çç¶æ
ãç¹å®ãã
-
-ãã«ãã¼è£
çç¶æ
ã®è©³ç´°ã¯ã{@link android.content.Intent#ACTION_DOCK_EVENT} ã¢ã¯ã·ã§ã³ã® sticky ããã¼ããã£ã¹ãã«ã¨ã¯ã¹ãã©ã¨ãã¦å«ã¾ãã¦ãã¾ãããã㯠sticky ã§ããããã{@link android.content.BroadcastReceiver} ãç»é²ããå¿
è¦ã¯ããã¾ããã次ã®ã³ã¼ãä¾ã«ç¤ºãããã«ã{@link android.content.Context#registerReceiver registerReceiver()} ãå¼ã³åºãã{@code null} ãããã¼ããã£ã¹ã ã¬ã·ã¼ãã¨ãã¦æ¸¡ãã¾ãã
-
-IntentFilter ifilter = new IntentFilter(Intent.ACTION_DOCK_EVENT);
-Intent dockStatus = context.registerReceiver(null, ifilter);
-
-ç¾å¨ã®ãã«ãã¼è£
çç¶æ
ã¯ã次ã®ããã« {@code EXTRA_DOCK_STATE} ã¨ã¯ã¹ãã©ããæ½åºãã¾ãã
-
-
int dockState = battery.getIntExtra(EXTRA_DOCK_STATE, -1);
-boolean isDocked = dockState != Intent.EXTRA_DOCK_STATE_UNDOCKED;
-
-
-ç¾å¨ã®ãã«ãã¼ã®ã¿ã¤ããç¹å®ãã
-
-端æ«ããã«ãã¼ã«è£
çããã¦ããå ´åã®ãã«ãã¼ã®ã¿ã¤ãã¯ã次㮠4 ã¤ã®ããããã§ãã
-
- ã«ã¼
-- åä¸
-- ãã¼ã¨ã³ãï¼ã¢ããã°ï¼åä¸
-- ãã¤ã¨ã³ãï¼ãã¸ã¿ã«ï¼åä¸
-
-æå¾ã® 2 ã¤ã¯ãAndroid API ã¬ãã« 11 ã§è¿½å ããããã®ã§ãããããã£ã¦ããã«ãã¼ã®ã¿ã¤ãã ãããããã°ããããã¸ã¿ã«ã¨ã¢ããã°ã®åºå¥ã¯åããªãã¨ããå ´åã¯ã次ã®ããã« 3 ã¤ãã¹ã¦ã«ã¤ãã¦èª¿ã¹ãã¨ããã§ãããã
-
-boolean isCar = dockState == EXTRA_DOCK_STATE_CAR;
-boolean isDesk = dockState == EXTRA_DOCK_STATE_DESK ||
- dockState == EXTRA_DOCK_STATE_LE_DESK ||
- dockState == EXTRA_DOCK_STATE_HE_DESK;
-
-
-ãã«ãã¼ã®è£
çç¶æ
ã¾ãã¯ã¿ã¤ãã®å¤åãç£è¦ãã
-
-端æ«ããã«ãã¼ã«è£
çãããããè£
çã解é¤ãããããããã³ã«ã{@link android.content.Intent#ACTION_DOCK_EVENT} ã¢ã¯ã·ã§ã³ãããã¼ããã£ã¹ãããã¾ãã端æ«ã®ãã«ãã¼è£
çç¶æ
ã®å¤åãç£è¦ããã«ã¯ã次ã®ã³ã¼ãä¾ã«ç¤ºãããã«ãã¢ããªã®ãããã§ã¹ãå
ã§ããã¼ããã£ã¹ã ã¬ã·ã¼ããç»é²ãã¾ãã
-
-<action android:name="android.intent.action.ACTION_DOCK_EVENT"/>
-
-ã¬ã·ã¼ãå®è£
ã®ä¸ã§ãã«ãã¼ã®ã¿ã¤ãã¨ç¶æ
ãæ½åºããæ¹æ³ã¯ãåã®ã¹ãããã§ä½¿ç¨ãããã®ã¨åãã§ãã
diff --git a/docs/html/intl/ja/training/monitoring-device-state/index.jd b/docs/html/intl/ja/training/monitoring-device-state/index.jd
deleted file mode 100644
index 07897b1f0280..000000000000
--- a/docs/html/intl/ja/training/monitoring-device-state/index.jd
+++ /dev/null
@@ -1,49 +0,0 @@
-page.title=é»æ± æ¶è²»éã®æé©å
-
-trainingnavtop=true
-startpage=true
-next.title=é»æ± æ®éã¨å
é»ç¶æ
ã®ç£è¦
-next.link=battery-monitoring.html
-
-@jd:body
-
-
-
-
-
ä¾åé¢ä¿ã¨åææ¡ä»¶
-
-
-
é¢é£é
ç®
-
-
-
-
-
-ã¢ããªãéçºããã¨ãã¯ããã¹ã端æ«ã®é»æ± æ¶è²»éã¸ã®å½±é¿ãæããããå¿ãããå¿
è¦ãããã¾ãããã®ã¯ã©ã¹ãä¿®äºããã¨ãéçºããã¢ããªã®ä¸ã§ãã¹ã端æ«ã®ç¶æ
ãç£è¦ããããã«åºã¥ãã¦æ©è½ãåä½ãå¤æ´ãããã¨ãã§ããããã«ãªãã¾ãã
-
-æ¥ç¶ã失ãããã¨ãã¯ããã¯ã°ã©ã¦ã³ã ãµã¼ãã¹ã®æ´æ°ãåæ¢ãããé»æ± æ®éãä½ä¸ããã¨ãã¯æ´æ°ã®é »åº¦ãä¸ããã¨ãã£ã対çãè¬ãããã¨ã«ãããã¦ã¼ã¶ã¼ ã¨ã¯ã¹ããªã¨ã³ã¹ãæãªããã¨ãªããã¢ããªãé»æ± æ¶è²»éã«åã¼ãå½±é¿ãæå°éã«æãããã¨ãã§ãã¾ãã
-
-ã¬ãã¹ã³
-
-
-
-
- - é»æ± æ®éã¨å
é»ç¶æ
ã®ç£è¦
- - ã¢ããªã®æ´æ°é »åº¦ãå¤æ´ããããã«ç¾å¨ã®é»æ± æ®éãå
é»ç¶æ
ã®å¤åãç¹å®ããã³ç£è¦ããæ¹æ³ãå¦ç¿ãã¾ãã
-
- - ãã«ãã¼ã®è£
çç¶æ
ã¨ã¿ã¤ãã®ç¹å®ã¨ç£è¦
- - æé©ãªæ´æ°é »åº¦ã¯ããã¹ã端æ«ãã©ã®ããã«ä½¿ç¨ããã¦ãããã«ãã£ã¦ç°ãªãã¾ãããã«ãã¼ã®è£
çç¶æ
ã¨ã¿ã¤ãã«å¿ãã¦ã¢ããªã®åä½ãå¤æ´ããããã«ãããããç¹å®ããã³ç£è¦ããæ¹æ³ãå¦ç¿ãã¾ãã
-
- - æ¥ç¶ç¶æ
ã®ç¹å®ã¨ç£è¦
- - ã¤ã³ã¿ã¼ãããã«æ¥ç¶ãã¦ããªãã¨ãã¯ããªã³ã©ã¤ã³ ã½ã¼ã¹ããã¢ããªãæ´æ°ãããã¨ã¯ã§ãã¾ãããæ¥ç¶ç¶æ
ã調ã¹ãããã«å¿ãã¦ããã¯ã°ã©ã¦ã³ãæ´æ°ã®é »åº¦ãå¤æ´ããæ¹æ³ãå¦ç¿ãã¾ããã¾ãã大éã®å¸¯åå¹
ãæ¶è²»ããå¦çãéå§ããåã«æ¥ç¶ã Wi-Fi ãã¢ãã¤ã« ãã¼ã¿ãã調ã¹ãæ¹æ³ãå¦ç¿ãã¾ãã
-
- - ãªã³ããã³ãã§ã®ããã¼ããã£ã¹ã ã¬ã·ã¼ãæä½
- - ãããã§ã¹ãå
ã§å®£è¨ããããã¼ããã£ã¹ã ã¬ã·ã¼ãã®ãªã³ã¨ãªããå®è¡æã«åãæ¿ãã¾ãã端æ«ã®ç¶æ
ã«å¿ãã¦ãä¸è¦ãªã¬ã·ã¼ããç¡å¹ã«ãããã¨ãã§ãã¾ããå¹çãä¸ããããã«ãç¶æ
å¤åã¬ã·ã¼ãã®ãªã³ã¨ãªããåãæ¿ããæ¹æ³ãã端æ«ãç¹å®ã®ç¶æ
ã«ãªãã¾ã§ã¢ã¯ã·ã§ã³ã延æããæ¹æ³ãå¦ç¿ãã¾ãã
-
\ No newline at end of file
diff --git a/docs/html/intl/ja/training/monitoring-device-state/manifest-receivers.jd b/docs/html/intl/ja/training/monitoring-device-state/manifest-receivers.jd
deleted file mode 100644
index 7635d9f87c02..000000000000
--- a/docs/html/intl/ja/training/monitoring-device-state/manifest-receivers.jd
+++ /dev/null
@@ -1,50 +0,0 @@
-page.title=ãªã³ããã³ãã§ã®ããã¼ããã£ã¹ã ã¬ã·ã¼ãæä½
-parent.title=é»æ± æ¶è²»éã®æé©å
-parent.link=index.html
-
-trainingnavtop=true
-
-previous.title=æ¥ç¶ç¶æ
ã®ç¹å®ã¨ç£è¦
-previous.link=connectivity-monitoring.html
-
-@jd:body
-
-
-
-端æ«ã®ç¶æ
å¤åãç£è¦ããæãåç´ãªæ¹æ³ã¯ãç£è¦å¯¾è±¡ã¨ããç¶æ
ãã¨ã« {@link android.content.BroadcastReceiver} ãä½æãããããããã¢ããªã®ãããã§ã¹ãå
ã§ç»é²ããã¨ãããã®ã§ãããããã®åã¬ã·ã¼ãå
ã§ã端æ«ã®ç¾å¨ã®ç¶æ
ã«åºã¥ãã¦å復ã¢ã©ã¼ã ã®ã¹ã±ã¸ã¥ã¼ã«ãåè¨å®ãã¾ãã
-
-ãã®æ¹æ³ã®ãã¡ãªããã¯ããããã®ã¬ã·ã¼ãã®ãããããããªã¬ããããã³ã«ç«¯æ«ãã¹ãªã¼ããã復帰ãããã¨ã§ããããã®ãã¨ã¯å¿
è¦ä»¥ä¸ã«é »ç¹ã«çºçããå¯è½æ§ãããã¾ãã
-
-ãããããè¯ãæ¹æ³ã¯ãå®è¡æã«ããã¼ããã£ã¹ã ã¬ã·ã¼ãããªã³ã¾ãã¯ãªãã«ããã¨ãããã®ã§ãããã®ããã«ããã°ããããã§ã¹ãå
ã§å®£è¨ããã¬ã·ã¼ããååçã¢ã©ã¼ã ã¨ãã¦ä½¿ç¨ã§ãã¾ããã¤ã¾ãããã®ã¢ã©ã¼ã ã¯ãå¿
è¦ãªã¨ãã«ã ãã·ã¹ãã ã¤ãã³ãã«ãã£ã¦å¼ã³åºããã¾ãã
-
-
-å¹çãä¸ããããã«ç¶æ
å¤åã¬ã·ã¼ãã®ãªã³ã¨ãªããåãæ¿ãã
-
-{@link android.content.pm.PackageManager} ã使ç¨ããã¨ããããã§ã¹ãå
ã§å®ç¾©ããã¦ããã³ã³ãã¼ãã³ãã®æå¹åç¶æ
ãåãæ¿ãããã¨ãã§ãã¾ãããã®ã³ã³ãã¼ãã³ãã«ã¯ããã¼ããã£ã¹ã ã¬ã·ã¼ãã該å½ããã®ã§ã次ã«ç¤ºãããã«ãªã³ã¨ãªããåãæ¿ãããã¨ãã§ãã¾ãã
-
-ComponentName receiver = new ComponentName(context, myReceiver.class);
-
-PackageManager pm = context.getPackageManager();
-
-pm.setComponentEnabledSetting(receiver,
- PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
- PackageManager.DONT_KILL_APP)
-
-ãã®ææ³ã使ç¨ããã°ãæ¥ç¶ã失ããããã¨ãå¤æããå ´åã«ãæ¥ç¶ç¶æ
å¤åã¬ã·ã¼ã以å¤ã®ã¬ã·ã¼ãããã¹ã¦ç¡å¹ã«ãããã¨ãã§ãã¾ããéã«ãæ¥ç¶ã確ç«ãããå¾ã¯ãæ¥ç¶ç¶æ
å¤åã®åä¿¡ãåæ¢ãã¾ãããªã³ã©ã¤ã³ãã©ããã調ã¹ãã®ã¯ãæ´æ°ãå®è¡ããç´åããå復æ´æ°ã¢ã©ã¼ã ã®ã¹ã±ã¸ã¥ã¼ã«åè¨å®ã®ç´åã ãã§ååã§ãã
-
-åãææ³ã使ç¨ãã¦ã大éã®å¸¯åå¹
ãå¿
è¦ã¨ãããã¦ã³ãã¼ãã延æãããã¨ãã§ãã¾ããããã«ã¯ãæ¥ç¶ç¶æ
ã®å¤åããªãã¹ã³ããããã¼ããã£ã¹ã ã¬ã·ã¼ããæå¹ã«ãã¦ããã端æ«ã Wi-Fi ã«æ¥ç¶ãããããã¦ã³ãã¼ããéå§ãã¾ãã
diff --git a/docs/html/intl/ja/training/multiscreen/adaptui.jd b/docs/html/intl/ja/training/multiscreen/adaptui.jd
deleted file mode 100644
index 8b1e6acdee05..000000000000
--- a/docs/html/intl/ja/training/multiscreen/adaptui.jd
+++ /dev/null
@@ -1,212 +0,0 @@
-page.title=é å¿æ§ã®ãã UI ããã¼ã®å®è£
-parent.title=è¤æ°ç»é¢ã®ãã¶ã¤ã³
-parent.link=index.html
-
-trainingnavtop=true
-previous.title=ãã¾ãã¾ãªç»é¢å¯åº¦ã®ãµãã¼ã
-previous.link=screendensities.html
-
-@jd:body
-
-
-
-
-
-ã¢ããªãç¾å¨è¡¨ç¤ºãã¦ããã¬ã¤ã¢ã¦ãã«ãã£ã¦ãUI ããã¼ãç°ãªãå¯è½æ§ãããã¾ãããã¨ãã°ãã¢ããªããã¥ã¢ã«ãã¤ã³ ã¢ã¼ãã§ããã°ãå·¦ãã¤ã³ã®ã¢ã¤ãã ãã¯ãªãã¯ããã¨ãåã«å³ãã¤ã³ã«ã³ã³ãã³ãã表示ãããã ãã§ãããã·ã³ã°ã«ãã¤ã³ ã¢ã¼ãã§ããã°ãã³ã³ãã³ãã¯ï¼å¥ã®ã¢ã¯ãã£ããã£å
ã®ï¼ã³ã³ãã³ãå°ç¨ã®ãã¤ã³ã«è¡¨ç¤ºãããå¿
è¦ãããã¾ãã
-
-
-ç¾å¨ã®ã¬ã¤ã¢ã¦ããå¤å¥ãã
-
-ã¬ã¤ã¢ã¦ãã«ãã£ã¦å®è£
ãå¤å°ç°ãªãã®ã§ãã¾ããã¦ã¼ã¶ã¼ãç¾å¨ã©ã®ãããªã¬ã¤ã¢ã¦ãã表示ãã¦ããããå¤å¥ããå¿
è¦ãããã¾ãããã¨ãã°ãã¦ã¼ã¶ã¼ã表示ãã¦ããã¬ã¤ã¢ã¦ãããã·ã³ã°ã«ãã¤ã³ãã¢ã¼ããªã®ããããã¥ã¢ã«ãã¤ã³ãã¢ã¼ããªã®ãã確èªããå¿
è¦ãããã¾ããããã¯ã以ä¸ã®ãããªã³ã¼ãã§ãããç¹å®ã®ãã¥ã¼ãåå¨ãããã¤å¯è¦ã«ãªã£ã¦ããããç
§ä¼ãããã¨ã§å¯è½ã§ã:
-
-
-public class NewsReaderActivity extends FragmentActivity {
- boolean mIsDualPane;
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main_layout);
-
- View articleView = findViewById(R.id.article);
- mIsDualPane = articleView != null &&
- articleView.getVisibility() == View.VISIBLE;
- }
-}
-
-
-ãã®ã³ã¼ãã«ããã¦ãarticleããã¤ã³ã使ç¨å¯è½ãã©ãããç
§ä¼ãã¦ããç¹ã«æ³¨ç®ãã¦ãã ãããç¹å®ã®ã¬ã¤ã¢ã¦ãã®ç
§ä¼ããã¼ãã³ã¼ãã£ã³ã°ãããããã¯ããã«æè»æ§ãããã¾ãã
-
-ãã®ä»ã«ãããã¾ãã¾ãªã³ã³ãã¼ãã³ãã§ã対å¿ã§ããæ¹æ³ã¨ãã¦ãã³ã³ãã¼ãã³ããæä½ããåã«ä½¿ç¨å¯è½ãã©ããã確èªããæ¹æ³ãããã¾ãããã¨ãã°ãNews Reader ãµã³ãã« ã¢ããªã§ã¯ãã¡ãã¥ã¼ãéããã¿ã³ãããã¾ããããã®ãã¿ã³ã¯ Android 3.0 ãããå¤ããã¼ã¸ã§ã³ã§åä½ãã¦ããã¨ãã«ãã表示ããã¾ããï¼ãã®æ©è½ã¯ãAPI ã¬ãã« 11 以ä¸ã® {@link android.app.ActionBar} ã§æä¾ãããããï¼ãããã§ã以ä¸ã®ãããªã³ã¼ãã追å ãã¦ããã®ãã¿ã³ã®ã¤ãã³ã ãªã¹ãã¼ã追å ãã¾ã:
-
-
-Button catButton = (Button) findViewById(R.id.categorybutton);
-OnClickListener listener = /* create your listener here */;
-if (catButton != null) {
- catButton.setOnClickListener(listener);
-}
-
-
-
-ç¾å¨ã®ã¬ã¤ã¢ã¦ãã«åããã¦å¿çãã
-
-ç¾å¨ã®ã¬ã¤ã¢ã¦ãã«ãã£ã¦ãä¸é¨ã®ã¢ã¯ã·ã§ã³ã®çµæãç°ãªãå¯è½æ§ãããã¾ãããã¨ãã°ãNews Reader ãµã³ãã«ã§ã¯ãè¦åºããªã¹ãã§è¦åºããã¯ãªãã¯ããã¨ãããã¥ã¢ã«ãã¤ã³ ã¢ã¼ãã® UI ã®å ´åã¯å³ãã¤ã³ã«è¨äºã表示ããã¾ãããã·ã³ã°ã«ãã¤ã³ã® UI ã®å ´åã¯å¥ã®ã¢ã¯ãã£ããã£ãèµ·åãã¾ã:
-
-
-@Override
-public void onHeadlineSelected(int index) {
- mArtIndex = index;
- if (mIsDualPane) {
- /* display article on the right pane */
- mArticleFragment.displayArticle(mCurrentCat.getArticle(index));
- } else {
- /* start a separate activity */
- Intent intent = new Intent(this, ArticleActivity.class);
- intent.putExtra("catIndex", mCatIndex);
- intent.putExtra("artIndex", index);
- startActivity(intent);
- }
-}
-
-
-åæ§ã«ãã¢ããªããã¥ã¢ã«ãã¤ã³ ã¢ã¼ãã®å ´åã¯ãããç¨ã¿ãã§ã¢ã¯ã·ã§ã³ ãã¼ãè¨å®ããä¸æ¹ãã·ã³ã°ã«ãã¤ã³ ã¢ã¼ãã®å ´åã¯ãã¹ããã¼ ã¦ã£ã¸ã§ããã§ãããè¨å®ãããã¨ã«ãªãã¾ãããããã£ã¦ãã³ã¼ãã§ã¯ä»¥ä¸ã®ããã«ã©ã¡ãã®ã±ã¼ã¹ãé©åãã調ã¹ããã¨ãå¿
è¦ã§ã:
-
-
-final String CATEGORIES[] = { "ããã ãã¥ã¼ã¹ æ¿æ²»", "æ¿æ²»", "çµæ¸", "Technology" };
-
-public void onCreate(Bundle savedInstanceState) {
- ....
- if (mIsDualPane) {
- /* use tabs for navigation */
- actionBar.setNavigationMode(android.app.ActionBar.NAVIGATION_MODE_TABS);
- int i;
- for (i = 0; i < CATEGORIES.length; i++) {
- actionBar.addTab(actionBar.newTab().setText(
- CATEGORIES[i]).setTabListener(handler));
- }
- actionBar.setSelectedNavigationItem(selTab);
- }
- else {
- /* use list navigation (spinner) */
- actionBar.setNavigationMode(android.app.ActionBar.NAVIGATION_MODE_LIST);
- SpinnerAdapter adap = new ArrayAdapter(this,
- R.layout.headline_item, CATEGORIES);
- actionBar.setListNavigationCallbacks(adap, handler);
- }
-}
-
-
-
-ä»ã®ã¢ã¯ãã£ããã£ã®ãã©ã°ã¡ã³ããåå©ç¨ãã
-
-è¤æ°ã®ç»é¢ã«å¯¾å¿ããããã«è¨è¨ããå ´åããããã¿ã¼ã³ãç¹°ãè¿ããã¾ããããããããã¿ã¼ã³ã¯ãããç»é¢è¨å®ã§ã¯ãã¤ã³ã¨ãã¦ãå¥ã®ç»é¢è¨å®ã§ã¯å¥ã®ã¢ã¯ãã£ããã£ã¨ãã¦å®è£
ãããã¤ã³ã¿ã¼ãã§ã¼ã¹ã®ä¸é¨ã«åå¨ãã¾ãããã¨ãã°ãNews Reader ãµã³ãã«ã§ã¯ãã©ã¼ã¸ç»é¢ã®å ´åã¯ãã¥ã¼ã¹è¨äºã®ããã¹ããå³ãã¤ã³ã«è¡¨ç¤ºããã¾ããããããããå°ããç»é¢ã®å ´åã¯å¥ã®ã¢ã¯ãã£ããã£ã«ãªãã¾ãã
-
-ãã®ãããªå ´åãé常ãè¤æ°ã®ã¢ã¯ãã£ããã£ã§åã {@link android.app.Fragment} ãµãã¯ã©ã¹ãåå©ç¨ãããã¨ã§ã³ã¼ãã®éè¤ãåé¿ã§ãã¾ãããã¨ãã°ãArticleFragment
ã¯ä»¥ä¸ã®ããã«ãã¥ã¢ã«ãã¤ã³ ã¬ã¤ã¢ã¦ãã§ä½¿ç¨ããã¾ã:
-
-{@sample development/samples/training/multiscreen/newsreader/res/layout/twopanes.xml all}
-
-ã¾ããããå°ããªç»é¢åãã®ã¢ã¯ãã£ãã㣠ã¬ã¤ã¢ã¦ãå
ã§ã¯ï¼ã¬ã¤ã¢ã¦ãã使ç¨ããã«ï¼åå©ç¨ããã¾ãï¼ArticleActivity
ï¼:
-
-
-ArticleFragment frag = new ArticleFragment();
-getSupportFragmentManager().beginTransaction().add(android.R.id.content, frag).commit();
-
-
-å½ç¶ããã㯠XML ã¬ã¤ã¢ã¦ãã§ãã©ã°ã¡ã³ãã宣è¨ããã®ã¨åãå¹æãããã¾ããããã®å ´åã¯ãXML ã¬ã¤ã¢ã¦ãã¯å¿
è¦ããã¾ããããã®ã¢ã¯ãã£ããã£ã®ã³ã³ãã¼ãã³ãã¯è¨äºãã©ã°ã¡ã³ããããªãããã§ãã
-
-ãã©ã°ã¡ã³ããè¨è¨ããéã«æ³¨æãã¹ãé常ã«éè¦ãªãã¤ã³ãã® 1 ã¤ã¨ãã¦ãç¹å®ã®ã¢ã¯ãã£ããã£ã«å¯¾ãã¦å¼·ãçµåãä½æããªããã¨ãããã¾ããé常ãããã¯ããã©ã°ã¡ã³ããèªåã®ãã¹ã ã¢ã¯ãã£ããã£ã¨ããåãããã®ã«å¿
è¦ãªããããæ段ãæ½è±¡åããã¤ã³ã¿ã¼ãã§ã¼ã¹ãå®ç¾©ããããã«ããã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ããã¹ã ã¢ã¯ãã£ããã£ã«å®è£
ãããã¨ã§å¯è½ã«ãªãã¾ã:
-
-ãã¨ãã°ãNews Reader ã¢ããªã® HeadlinesFragment
ã¯ãã¾ãã«ãã®ããã«ãªã£ã¦ãã¾ã:
-
-
-public class HeadlinesFragment extends ListFragment {
- ...
- OnHeadlineSelectedListener mHeadlineSelectedListener = null;
-
- /* Must be implemented by host activity */
- public interface OnHeadlineSelectedListener {
- public void onHeadlineSelected(int index);
- }
- ...
-
- public void setOnHeadlineSelectedListener(OnHeadlineSelectedListener listener) {
- mHeadlineSelectedListener = listener;
- }
-}
-
-
-ããã«ãããã¦ã¼ã¶ã¼ãè¦åºããé¸æããã¨ããã©ã°ã¡ã³ãã¯ä»¥ä¸ã®ããã«ï¼ç¹å®ã®ãã¼ãã³ã¼ãã£ã³ã°ãããã¢ã¯ãã£ããã£ã«éç¥ããã®ã§ã¯ãªãï¼ãã¹ã ã¢ã¯ãã£ããã£ãæå®ãããªã¹ãã¼ã«éç¥ãã¾ã:
-
-
-public class HeadlinesFragment extends ListFragment {
- ...
- @Override
- public void onItemClick(AdapterView<?> parent,
- View view, int position, long id) {
- if (null != mHeadlineSelectedListener) {
- mHeadlineSelectedListener.onHeadlineSelected(position);
- }
- }
- ...
-}
-
-
-ãã®ãã¯ããã¯ã«ã¤ãã¦ã¯ãã¿ãã¬ããã¨æºå¸¯ç«¯æ«ã®ãµãã¼ãã§è©³ãã説æããã¦ãã¾ãã
-
-
-ç»é¢è¨å®ã®å¤æ´ãå¦çãã
-
-ã¤ã³ã¿ã¼ãã§ã¼ã¹ã®åãã¼ããå®è£
ããã®ã«åå¥ã®ã¢ã¯ãã£ããã£ã使ç¨ãã¦ããå ´åãã¤ã³ã¿ã¼ãã§ã¼ã¹ã®ä¸è²«æ§ãç¶æããããã«ãï¼åãã®å¤æ´ãªã©ã®ï¼ç¹å®ã®è¨å®å¤æ´ã«å¯¾å¿ã§ããããã«æ³¨æããå¿
è¦ãããã¾ãã
-
-ãã¨ãã°ãAndroid 3.0 以ä¸ãåä½ããä¸è¬ç㪠7 ã¤ã³ã ã¿ãã¬ããã§ã¯ãNews Reader ãµã³ãã«ããã¥ã¼ã¹è¨äºã表示ããå ´åã縦表示ã§ã¯åå¥ã®ã¢ã¯ãã£ããã£ã使ç¨ãã¾ããã横表示ã§ã¯ 2 ãã¤ã³ ã¬ã¤ã¢ã¦ãã使ç¨ãã¾ãã
-
-ã¤ã¾ãã縦表示ã®ã¨ãã«è¨äºé²è¦§ç¨ã¢ã¯ãã£ããã£ãç»é¢ä¸ã«ããå ´åãç»é¢ã®åãã横æ¹åã«å¤ãã£ããã¨ãæ¤åºããããã³ã³ãã³ãã 2 ãã¤ã³ ã¬ã¤ã¢ã¦ãã§è¡¨ç¤ºããããã«ããã®ã¢ã¯ãã£ããã£ãçµäºãã¦ã¡ã¤ã³ã®ã¢ã¯ãã£ããã£ã«æ»ããé©åã«å¿çããªããã°ãªãã¾ãã:
-
-
-public class ArticleActivity extends FragmentActivity {
- int mCatIndex, mArtIndex;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- mCatIndex = getIntent().getExtras().getInt("catIndex", 0);
- mArtIndex = getIntent().getExtras().getInt("artIndex", 0);
-
- // If should be in two-pane mode, finish to return to main activity
- if (getResources().getBoolean(R.bool.has_two_panes)) {
- finish();
- return;
- }
- ...
-}
-
-
-
diff --git a/docs/html/intl/ja/training/multiscreen/index.jd b/docs/html/intl/ja/training/multiscreen/index.jd
deleted file mode 100644
index ff84f8a718e6..000000000000
--- a/docs/html/intl/ja/training/multiscreen/index.jd
+++ /dev/null
@@ -1,64 +0,0 @@
-page.title=è¤æ°ç»é¢ã®ãã¶ã¤ã³
-
-trainingnavtop=true
-startpage=true
-next.title=ãã¾ãã¾ãªç»é¢ãµã¤ãºã®ãµãã¼ã
-next.link=screensizes.html
-
-@jd:body
-
-
-
-
-
å¿
è¦ãªç¥èã¨åææ¡ä»¶
-
-
-
-
é¢é£ããã¥ã¡ã³ã
-
-
-
-
試ãã¦ã¿ã
-
-
-
-
-
-
-Android ã¯ãå°ããªæºå¸¯é»è©±ãã大ããªãã¬ãã¾ã§ãç»é¢ãµã¤ãºã種é¡ããã¾ãã¾ãªããã¤ã¹ã«æè¼ã§ãã¾ãããã®ãããã§ããéãå¤ãã®ã¦ã¼ã¶ã¼ã使ç¨ã§ããããã«ããã¹ã¦ã®ç»é¢ãµã¤ãºã«å¯¾å¿ã§ããããã¢ããªãè¨è¨ãããã¨ãéè¦ã«ãªãã¾ãã
-
-ãããããã¾ãã¾ãªç¨®é¡ã®ããã¤ã¹ã«å¯¾å¿ã§ããã ãã§ã¯ååã§ã¯ããã¾ãããç»é¢ãµã¤ãºã«ãã£ã¦ãã¦ã¼ã¶ã¼ãæä½ã§ãããã¨ã決ã¾ã£ã¦ãããããæ¬å½ã«ã¦ã¼ã¶ã¼ãæºè¶³ããã¦ããå°è±¡ãæã£ã¦ãããããã«ã¯ãã¢ããªãåã«è¤æ°ã®ç»é¢ããµãã¼ãããã ãã§ã¯ä¸ååã§ã: ç»é¢è¨å®ãã¨ã«ã¦ã¼ã¶ã¼ ã¨ã¯ã¹ããªã¨ã³ã¹ãæé©åããå¿
è¦ãããã¾ãã
-
-ãã®ã¯ã©ã¹ã¯ãããã¤ãã®ç»é¢è¨å®ã«åããã¦æé©åãããã¦ã¼ã¶ã¼ ã¤ã³ã¿ã¼ãã§ã¼ã¹ãå®è£
ããæ¹æ³ãæä¾ãã¾ãã
-
-åã¬ãã¹ã³ã§ç´¹ä»ããã¦ããã³ã¼ãã¯ãè¤æ°ã®ç»é¢ã«åããã¦æé©åããéããã¹ã ãã©ã¯ãã£ã¹ã¨ãªããµã³ãã« ã¢ããªããæç²ãããã®ã§ãããã®ãµã³ãã«ãï¼å³å´ããï¼ãã¦ã³ãã¼ããã¦ãåå©ç¨å¯è½ãªã³ã¼ãã®ã½ã¼ã¹ã¨ãã¦ãèªåã®ã¢ããªã«ä½¿ç¨ãããã¨ãã§ãã¾ãã
-
-注: ãã®ã¯ã©ã¹ã¨é¢é£ãµã³ãã«ã§ã¯ããµãã¼ã ã©ã¤ãã©ãªã使ç¨ãã¾ããçç±ã¯ãAndroid 3.0 æªæºã®ãã¼ã¸ã§ã³ã§ {@link android.app.Fragment} API ã使ç¨ããããã§ãããã®ã¯ã©ã¹ã®ãã¹ã¦ã® API ã使ç¨ããã«ã¯ãã©ã¤ãã©ãªããã¦ã³ãã¼ããã¦ãã¢ããªã«è¿½å ããå¿
è¦ãããã¾ãã
-
-
-ã¬ãã¹ã³
-
-
- - ãã¾ãã¾ãªç»é¢ãµã¤ãºã®ãµãã¼ã
- - ãã®ã¬ãã¹ã³ã§ã¯ããã¾ãã¾ãªç»é¢ãµã¤ãºã«é©ããã¬ã¤ã¢ã¦ããï¼æè»ãªãã¥ã¼ ãµã¤ãºã {@link android.widget.RelativeLayout}ãç»é¢ãµã¤ãºã¨ç»é¢ã®åãã®ä¿®é£¾åãã¨ã¤ãªã¢ã¹ ãã£ã«ã¿ããã¤ã³ããã ããããããã使ç¨ãã¦ï¼è¨è¨ããæ¹æ³ã«ã¤ãã¦å¦ç¿ãã¾ãã
-
- - ãã¾ãã¾ãªç»é¢å¯åº¦ã®ãµãã¼ã
- - ãã®ã¬ãã¹ã³ã§ã¯ãï¼å¯åº¦éä¾åãã¯ã»ã«ã使ç¨ããåå¯åº¦ã«é©ãããããããããæä¾ãã¦ï¼ãã¯ã»ã«å¯åº¦ãç°ãªãç»é¢ããµãã¼ãããæ¹æ³ã«ã¤ãã¦å¦ç¿ãã¾ãã
-
- - é å¿æ§ã®ãã UI ããã¼ã®å®è£
- - ãã®ã¬ãã¹ã³ã§ã¯ãããã¤ãã®ç»é¢ãµã¤ãº/å¯åº¦ã®çµã¿åããã«é©ããæ¹æ³ï¼å®è¡æã«ã¢ã¯ãã£ããªã¬ã¤ã¢ã¦ããæ¤åºããæ¹æ³ãç¾å¨ã®ã¬ã¤ã¢ã¦ãã«åããã¦å¿çããæ¹æ³ãç»é¢è¨å®ã®å¤æ´ãå¦çããæ¹æ³ï¼ã§ UI ãå®è£
ããæ¹æ³ã«ã¤ãã¦å¦ç¿ãã¾ãã
-
diff --git a/docs/html/intl/ja/training/multiscreen/screendensities.jd b/docs/html/intl/ja/training/multiscreen/screendensities.jd
deleted file mode 100644
index 3482d5c5117e..000000000000
--- a/docs/html/intl/ja/training/multiscreen/screendensities.jd
+++ /dev/null
@@ -1,100 +0,0 @@
-page.title=ãã¾ãã¾ãªç»é¢å¯åº¦ã®ãµãã¼ã
-parent.title=è¤æ°ç»é¢ã®ãã¶ã¤ã³
-parent.link=index.html
-
-trainingnavtop=true
-previous.title=ãã¾ãã¾ãªç»é¢ãµã¤ãºã®ãµãã¼ã
-previous.link=screensizes.html
-next.title=é å¿æ§ã®ãã UI ããã¼ã®å®è£
-next.link=adaptui.html
-
-@jd:body
-
-
-
-
-
-ãã®ã¬ãã¹ã³ã§ã¯ãç°ãªããªã½ã¼ã¹ãçæãããã¤è§£å度éä¾ååä½ã使ç¨ãã¦ãç°ãªãç»é¢å¯åº¦ããµãã¼ãããæ¹æ³ã«ã¤ãã¦å¦ç¿ãã¾ãã
-
-å¯åº¦éä¾åãã¯ã»ã«ã使ç¨ãã
-
-ã¬ã¤ã¢ã¦ããè¨è¨ããéã«åé¿ãã¹ãããããè½ã¨ãç©´ã® 1 ã¤ã¨ãã¦ã絶対ãã¯ã»ã«ã使ç¨ãã¦è·é¢ããµã¤ãºãå®ç¾©ãããã¨ãããã¾ãããã¯ã»ã«ã使ç¨ãã¦ã¬ã¤ã¢ã¦ãã®ãµã¤ãºãå®ç¾©ããã¨ãç»é¢ã«ãã£ã¦ãã¯ã»ã«å¯åº¦ãç°ãªããããåé¡ãèµ·ããã¾ãããããã£ã¦ãåããã¯ã»ã«æ°ã§ã¯ãããã¤ã¹ãç°ãªãå ´åã«ç©çãµã¤ãºãç°ãªãå¯è½æ§ãããã¾ãããã®ããããµã¤ãºãæå®ããå ´åã¯ã常㫠dp
åä½ã sp
åä½ã使ç¨ãã¾ããdp
ã¨ã¯ã1 ãã¯ã»ã«ã®ç©çãµã¤ãºã 160 dpi ã«ç¸å½ããå¯åº¦éä¾åãã¯ã»ã«ã§ããsp
ãåºæ¬åä½ã¯åãã§ãããã¦ã¼ã¶ã¼ã®åªå
ããã¹ã ãµã¤ãºã«ãã£ã¦ãµã¤ãºã決ã¾ãã®ã§ï¼ã¹ã±ã¼ã«éä¾åãã¯ã»ã«ï¼ãããã¹ã ãµã¤ãºãå®ç¾©ããéã«ã¯ãã®åä½ã使ç¨ããå¿
è¦ãããã¾ãï¼ãã ããã¬ã¤ã¢ã¦ã ãµã¤ãºã«ã¯çµ¶å¯¾ã«ä½¿ç¨ããªããã¨ï¼ã
-
-ãã¨ãã°ã2 ã¤ã®ãã¥ã¼ã®éã«ã¹ãã¼ã¹ãæ¿å
¥ããå ´åã¯ãpx
ã§ã¯ãªã㦠dp
ã使ç¨ãã¾ã:
-
-
-<Button android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/clickme"
- android:layout_marginTop="20dp" />
-
-
-ããã¹ã ãµã¤ãºãæå®ããå ´åã¯ã常㫠sp
ã使ç¨ãã¾ã:
-
-
-<TextView android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:textSize="20sp" />
-
-
-
-代æ¿ãããããããçæãã
-
-Android ã¯ãç»é¢å¯åº¦ããã¾ãã¾ãªããã¤ã¹ã§åä½ãããããããããã®æ±ç¨å¯åº¦ãã±ããï¼ä½å¯åº¦ãä¸å¯åº¦ãé«å¯åº¦ãè¶
é«å¯åº¦ï¼ã«åããã¦ãããããã ãªã½ã¼ã¹ãçæããå¿
è¦ãããã¾ãããããããã¨ã§ããã¹ã¦ã®ç»é¢å¯åº¦ã§ç»è³ªã¨ããã©ã¼ãã³ã¹ãåä¸ãã¾ãã
-
-ãããã®ç»åãçæããã«ã¯ããã¯ã¿ã¼å½¢å¼ã®æªå å·¥ãªã½ã¼ã¹ããã次ã®ãµã¤ãº ã¹ã±ã¼ã«ã使ç¨ãã¦å¯åº¦å¥ã«ç»åãçæããå¿
è¦ãããã¾ã:
-
-
- xhdpi
: 2.0
- hdpi
: 1.5
- mdpi
: 1.0ï¼åºæºï¼
- ldpi
: 0.75
-
-
-ã¤ã¾ãã200×200 ç»åï¼xhdpi
ããã¤ã¹ç¨ï¼ãçæããå ´åãåããªã½ã¼ã¹ã 150×150 ç»åï¼hdpi
ããã¤ã¹ç¨ï¼ã100×100 ç»åï¼mdpi
ããã¤ã¹ç¨ï¼ã75×75ï¼ldpi
ããã¤ã¹ç¨ï¼ã§ãçæããå¿
è¦ãããã¾ãã
-
-ããã«ãçæããç»åã res/
ä¸ã®é©åãªãµããã£ã¬ã¯ããªã«é
ç½®ãããã¨ã§ãã¢ããªãåä½ããããã¤ã¹ã®ç»é¢å¯åº¦ã«åºã¥ãã¦ãèªåçã«é©åãªç»åã表示ããã¾ã:
-
-
-MyProject/
- res/
- drawable-xhdpi/
- awesomeimage.png
- drawable-hdpi/
- awesomeimage.png
- drawable-mdpi/
- awesomeimage.png
- drawable-ldpi/
- awesomeimage.png
-
-
-ã¾ãã@drawable/awesomeimage
ãåç
§ããå ´åã¯å¸¸ã«ç»é¢ã® dpi ã«åºã¥ãã¦ãé©åãªãããããããé¸æããã¾ãã
-
-ã¢ããªç¨ã®ã¢ã¤ã³ã³ ã¢ã»ãããä½æããããã®ãã³ãã¨ã¬ã¤ãã©ã¤ã³ã«ã¤ãã¦ã¯ãã¢ã¤ã³ã³è¨è¨ã®ã¬ã¤ãã©ã¤ã³ãã覧ãã ããã
-
diff --git a/docs/html/intl/ja/training/multiscreen/screensizes.jd b/docs/html/intl/ja/training/multiscreen/screensizes.jd
deleted file mode 100644
index 3655a33be2b9..000000000000
--- a/docs/html/intl/ja/training/multiscreen/screensizes.jd
+++ /dev/null
@@ -1,279 +0,0 @@
-page.title=ãã¾ãã¾ãªç»é¢ãµã¤ãºã®ãµãã¼ã
-parent.title=è¤æ°ç»é¢ã®ãã¶ã¤ã³
-parent.link=index.html
-
-trainingnavtop=true
-next.title=ãã¾ãã¾ãªç»é¢å¯åº¦ã®ãµãã¼ã
-next.link=screendensities.html
-
-@jd:body
-
-
-
-
-
-ãã®ã¬ãã¹ã³ã§ã¯ãç°ãªãç»é¢ãµã¤ãºã以ä¸ã®ãããªæ¹æ³ã§ãµãã¼ãããæ¹æ³ã«ã¤ãã¦å¦ç¿ãã¾ã:
-
- - ç»é¢ã«åã¾ãããã«ã¬ã¤ã¢ã¦ã ãµã¤ãºãé©åã«å¤æ´ãã
- - ç»é¢è¨å®ã«åºã¥ãã¦é©å㪠UI ã¬ã¤ã¢ã¦ãã表示ãã
- - é©åãªç»é¢ã«é©åãªã¬ã¤ã¢ã¦ããé©ç¨ãã
- - é©åã«ãµã¤ãºèª¿æ´ããããããããã表示ãã
-
-
-
-ãwrap_contentãã¨ãmatch_parentãã使ç¨ãã
-
-ã¬ã¤ã¢ã¦ãããã¾ãã¾ãªç»é¢ãµã¤ãºã«æè»ã«å¯¾å¿ãããã«ã¯ãä¸é¨ã®ãã¥ã¼ ã³ã³ãã¼ãã³ãã®å¹
ã¨é«ãã« "wrap_content"
㨠"match_parent"
ã使ç¨ããå¿
è¦ãããã¾ãã"wrap_content"
ã使ç¨ããã¨ããã¥ã¼ã®å¹
ãé«ãããã®ãã¥ã¼å
ã«ã³ã³ãã³ããåã¾ãã®ã«å¿
è¦ãªæå°ãµã¤ãºã«è¨å®ããã¾ããä¸æ¹ã"match_parent"
ï¼API ã¬ãã« 8 ããåã®å称㯠"fill_parent"
ï¼ã使ç¨ããã¨ãã³ã³ãã¼ãã³ãããã®è¦ªãã¥ã¼ã®ãµã¤ãºã«ä¸è´ããã¾ã§æ¡å¤§ããã¾ãã
-
-ãã¼ãã³ã¼ãã£ã³ã°ããããµã¤ãºã®ä»£ããã« "wrap_content"
㨠"match_parent"
ã使ç¨ãããã¨ã§ããã¥ã¼ã¯ããããããã®ãã¥ã¼ã«å¿
è¦ãªã¹ãã¼ã¹ã ãã使ç¨ãããã空ãã¹ãã¼ã¹ãåããã¾ã§æ¡å¤§ããããã¾ãã次ã«ä¾ã示ãã¾ã:
-
-{@sample development/samples/training/multiscreen/newsreader/res/layout/onepane_with_bar.xml all}
-
-ãã®ãµã³ãã«ã§ã¯ãç¹å®ã®ãµã¤ãºã§ã¯ãªã "wrap_content"
㨠"match_parent"
ãã³ã³ãã¼ãã³ã ãµã¤ãºã«ã©ã®ããã«ä½¿ç¨ãã¦ãããã«æ³¨ç®ãã¦ãã ããããããããã¨ã§ãç°ãªãç»é¢ã®ãµã¤ãºã¨åãã«ã¬ã¤ã¢ã¦ããæ£ãã対å¿ããããã¨ãã§ãã¾ãã
-
-ãã¨ãã°ããã®ã¬ã¤ã¢ã¦ãã縦表示ã¨æ¨ªè¡¨ç¤ºã§è¡¨ç¤ºããã¨ãã®è¦ãæ¹ã以ä¸ã«ç¤ºãã¾ããã³ã³ãã¼ãã³ãã®ãµã¤ãºãå¹
ã¨é«ãã«èªåçã«é©åãã¦ããç¹ã«æ³¨ç®ãã¦ãã ãã:
-
-
-å³ 1. News Reader ãµã³ãã« ã¢ããªã®ç¸¦è¡¨ç¤ºï¼å·¦ï¼ã¨æ¨ªè¡¨ç¤ºï¼å³ï¼
-
-
-RelativeLayout ã使ç¨ãã
-
-ãã¹ãããã {@link android.widget.LinearLayout} ã¤ã³ã¹ã¿ã³ã¹ãã "wrap_content"
㨠"match_parent"
ã®ãµã¤ãºã®çµã¿åããã使ç¨ããã¨ãããªãè¤éãªã¬ã¤ã¢ã¦ããä½æã§ãã¾ãããããã {@link android.widget.LinearLayout} ã§ã¯ãåãã¥ã¼ã®ç©ºéçãªä½ç½®é¢ä¿ãæ£ç¢ºã«å¶å¾¡ãããã¨ã¯ã§ãã¾ããã {@link android.widget.LinearLayout} ã®ãã¥ã¼ã¯ã åã«ä¸åã«ä¸¦ã¶ã ãã§ããåãã¥ã¼ã«å¯¾ãã¦ç´ç·ä»¥å¤ã®ãã¾ãã¾ãªé
ç½®ãå®ç¾ããå¿
è¦ãããå ´åã¯ã {@link android.widget.RelativeLayout}ã使ç¨ãããã¨ã§ãã¾ããããã¨ãããããã¾ãããã¨ãã°ã1 ã¤ã®åãã¥ã¼ãç»é¢ã®å·¦å´ã«é
ç½®ãããã 1 ã¤ã®åãã¥ã¼ãå³å´ã«é
ç½®ã§ãã¾ãã
-
-次ã«ä¾ã示ãã¾ã:
-
-
-<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
- <TextView
- android:id="@+id/label"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="Type here:"/>
- <EditText
- android:id="@+id/entry"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_below="@id/label"/>
- <Button
- android:id="@+id/ok"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_below="@id/entry"
- android:layout_alignParentRight="true"
- android:layout_marginLeft="10dp"
- android:text="OK" />
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_toLeftOf="@id/ok"
- android:layout_alignTop="@id/ok"
- android:text="Cancel" />
-</RelativeLayout>
-
-
-å³ 2 ã¯ããã®ã¬ã¤ã¢ã¦ãã® QVGA ç»é¢ã§ã®è¦ãæ¹ã示ãã¦ãã¾ãã
-
-
-å³ 2. QVGA ç»é¢ï¼ã¹ã¢ã¼ã«ç»é¢ï¼ã®ã¹ã¯ãªã¼ã³ã·ã§ãã
-
-å³ 3 ã¯ããã®ã¬ã¤ã¢ã¦ãã®ã©ã¼ã¸ç»é¢ã§ã®è¦ãæ¹ã示ãã¦ãã¾ãã
-
-
-å³ 3. WSVGA ç»é¢ï¼ã©ã¼ã¸ç»é¢ï¼ã®ã¹ã¯ãªã¼ã³ã·ã§ãã
-
-ã³ã³ãã¼ãã³ãã®ãµã¤ãºãå¤æ´ããã¦ãã {@link android.widget.RelativeLayout.LayoutParams}ã§æå®ãããã¨ããã«ç©ºéçãªä½ç½®é¢ä¿ãç¶æããã¦ãããã¨ããããã¾ãã
-
-
-ãµã¤ãºä¿®é£¾åã使ç¨ãã
-
-æè»ãªã¬ã¤ã¢ã¦ããç¸å¯¾çãªã¬ã¤ã¢ã¦ãããå¾ãããæ©æµã¯ãåã®ã»ã¯ã·ã§ã³ã§èª¬æãããã¨ãããã§ãããããã®ã¬ã¤ã¢ã¦ãã¯ã³ã³ãã¼ãã³ãã®å
é¨ãå¨å²ã®ã¹ãã¼ã¹ãå¼ã延ã°ããã¨ã§ãã¾ãã¾ãªç»é¢ã«å¯¾å¿ãã¾ãããããããã®ç»é¢ãµã¤ãºã«åã£ãæé«ã®ã¦ã¼ã¶ã¼ ã¨ã¯ã¹ããªã¨ã³ã¹ãå®ç¾ãã¦ããªãå¯è½æ§ãããã¾ãããããã£ã¦ãã¢ããªã§ã¯ãæè»ãªã¬ã¤ã¢ã¦ãã®å®è£
ã ãã§ã¯ãªãããã¾ãã¾ãªç»é¢è¨å®ã«åãããè¤æ°ã®ä»£æ¿ã¬ã¤ã¢ã¦ããå¿
è¦ã«ãªãã¾ããããã¯ãè¨å®ä¿®é£¾åã使ç¨ãããã¨ã§å®ç¾å¯è½ã§ããè¨å®ä¿®é£¾åã«ãããã©ã³ã¿ã¤ã ãç¾å¨ã®ããã¤ã¹ã®è¨å®ã«åºã¥ãã¦é©åãªãªã½ã¼ã¹ï¼ç»é¢ãµã¤ãºå¥ã®ã¬ã¤ã¢ã¦ã ãã¶ã¤ã³ãªã©ï¼ãèªåçã«é¸æã§ãã¾ãã
-
-ãã¨ãã°ãå¤ãã®ã¢ããªã§ã¯ãã©ã¼ã¸ç»é¢ç¨ã«ã2 ãã¤ã³ããã¿ã¼ã³ãå®è£
ãã¦ãã¾ãï¼ä¸æ¹ã®ãã¤ã³ã«é
ç®ãªã¹ããããä¸æ¹ã®ãã¤ã³ã«ãã®ã³ã³ãã³ãã表示ãããã¨ãå¯è½ã§ãï¼ãã¿ãã¬ããããã¬ãã¯ä¸¡æ¹ã®ãã¤ã³ãåæã«è¡¨ç¤ºã§ããã»ã©ååã«å¤§ããç»é¢ã§ãããæºå¸¯ç«¯æ«ã®ç»é¢ã§ã¯ 2 ã¤ã®ãã¤ã³ãå¥ã
ã«è¡¨ç¤ºããå¿
è¦ãããã¾ãããã®ãããªã¬ã¤ã¢ã¦ããå®è£
ããã«ã¯ã次ã®ãããªãã¡ã¤ã«ãå¿
è¦ã«ãªãã¾ã:
-
-
- res/layout/main.xml
ãã·ã³ã°ã«ãã¤ã³ï¼ããã©ã«ãï¼ã¬ã¤ã¢ã¦ã:
-
-{@sample development/samples/training/multiscreen/newsreader/res/layout/onepane.xml all}
-
- res/layout-large/main.xml
ã2 ãã¤ã³ ã¬ã¤ã¢ã¦ã:
-
-{@sample development/samples/training/multiscreen/newsreader/res/layout/twopanes.xml all}
-
-
-
-2 çªç®ã®ã¬ã¤ã¢ã¦ãã®ãã£ã¬ã¯ããªåã® large
修飾åã«æ³¨ç®ãã¦ãã ããããã®ã¬ã¤ã¢ã¦ãã¯ãã©ã¼ã¸ï¼7 ã¤ã³ã以ä¸ã®ã¿ãã¬ãããªã©ï¼ã¨åé¡ãããç»é¢ã®ããã¤ã¹ã§é¸æããã¾ãããããããå°ããããã¤ã¹ã§ã¯ããã®ä»ã®ã¬ã¤ã¢ã¦ãï¼ä¿®é£¾åãªãï¼ãé¸æããã¾ãã
-
-
-æå°å¹
修飾åã使ç¨ãã
-
-Android 3.2 æªæºã®ããã¤ã¹ã§ãããããã¼ãæ±ãã¦ããåé¡ã® 1 ã¤ã«ãDell Streakãå代 Galaxy Tabã7 ã¤ã³ã ã¿ãã¬ããå
¨è¬ãå«ãããã©ã¼ã¸ãç»é¢ãµã¤ãºã®åé¡ãããã¾ããããããå¤ãã®ã¢ããªã§ã¯ããã¹ã¦ãã©ã¼ã¸ãç»é¢ã¨è¦ãªãããã¨ãã¦ãããã®ã«ãã´ãªå
ã®ããã¤ã¹ã®ãµã¤ãºã«åããã¦ç°ãªãã¬ã¤ã¢ã¦ãï¼5 ã¤ã³ã㨠7 ã¤ã³ãã®ããã¤ã¹ç¨ãªã©ï¼ã表示ãããå ´åãããã¾ããããã§ãAndroid 3.2 ã§ã¯ãæå°å¹
ã修飾åãªã©ãå°å
¥ããã¾ããã
-
-æå°å¹
修飾åã使ç¨ããã¨ãdp ã§æå®ããç¹å®ã®æå°å¹
ã®ç»é¢ã対象ã¨ãããã¨ãã§ãã¾ãããã¨ãã°ãä¸è¬ç㪠7 ã¤ã³ã ã¿ãã¬ããã¯æå°å¹
ã 600 dp ãªã®ã§ããããã®ç»é¢ã® UI 㧠2 ã¤ã®ãã¤ã³ï¼ãã ãããããããå°ããç»é¢ã§ã¯ã·ã³ã°ã« ãªã¹ãï¼ã表示ãããå ´åã¯ãåã®ã»ã¯ã·ã§ã³ã§èª¬æãã 2 ã¤ã®ã¬ã¤ã¢ã¦ããã·ã³ã°ã«ãã¤ã³ ã¬ã¤ã¢ã¦ãç¨ã¨ 2 ãã¤ã³ ã¬ã¤ã¢ã¦ãç¨ã¨ãã¦ãã®ã¾ã¾å©ç¨ã§ãã¾ãããã ããlarge
ãµã¤ãºä¿®é£¾åã®ä»£ããã«ãsw600dp
ã使ç¨ãã¦ãæå°å¹
ã 600 dp ã®ç»é¢ã§ã¯ 2 ãã¤ã³ ã¬ã¤ã¢ã¦ãã«ãªãããæå®ãã¾ã:
-
-
- res/layout/main.xml
ãã·ã³ã°ã«ãã¤ã³ï¼ããã©ã«ãï¼ã¬ã¤ã¢ã¦ã:
-
-{@sample development/samples/training/multiscreen/newsreader/res/layout/onepane.xml all}
-
- res/layout-sw600dp/main.xml
ã2 ãã¤ã³ ã¬ã¤ã¢ã¦ã:
-
-{@sample development/samples/training/multiscreen/newsreader/res/layout/twopanes.xml all}
-
-
-
-ã¤ã¾ããæå°å¹
ã 600dp 以ä¸ã®ããã¤ã¹ã§ã¯ layout-sw600dp/main.xml
ï¼2 ãã¤ã³ï¼ã¬ã¤ã¢ã¦ããé¸æããããããããå°ããç»é¢ã§ã¯ layout/main.xml
ï¼ã·ã³ã°ã«ãã¤ã³ï¼ã¬ã¤ã¢ã¦ããé¸æãããã¨ãããã¨ã§ãã
-
-ãã ããAndroid 3.2 æªæºã®ããã¤ã¹ã§ã¯ãã®ä¿®é£¾åã¯æ©è½ãã¾ããããã㯠sw600dp
ããµã¤ãºä¿®é£¾åã¨ãã¦èªèã§ããªãããã§ãããããã£ã¦ãå¼ãç¶ã large
修飾åã使ç¨ããå¿
è¦ãããã¾ããããã§ãres/layout-sw600dp/main.xml
ã¨åãå
容㮠res/layout-large/main.xml
ã¨ããååã®ãã¡ã¤ã«ãå¿
è¦ã«ãªãã¾ãã次ã®ã»ã¯ã·ã§ã³ã§ã¯ããã®ããã«ã¬ã¤ã¢ã¦ã ãã¡ã¤ã«ã®éè¤ãé¿ããããã®ãã¯ããã¯ã«ã¤ãã¦å¦ç¿ãã¾ãã
-
-
-ã¬ã¤ã¢ã¦ã ã¨ã¤ãªã¢ã¹ã使ç¨ãã
-
-æå°å¹
修飾åã¯ãAndroid 3.2 以ä¸ã§ããå©ç¨ã§ãã¾ããããããã£ã¦ãæ§ãã¼ã¸ã§ã³ã¨ã®äºææ§ãç¶æããããã«ãããã¾ããªãµã¤ãºåé¡ï¼smallãnormalãlargeãxlargeï¼ãä½µç¨ãããã¨ãå¿
è¦ã§ãããã¨ãã°ãæºå¸¯ç«¯æ«ã§ã¯ã·ã³ã°ã«ãã¤ã³ UIã7 ã¤ã³ã ã¿ãã¬ããããã¬ããªã©ã®å¤§ããªããã¤ã¹ã§ã¯ãã«ããã¤ã³ UI ã表示ãããã UI ãè¨è¨ããå ´åã以ä¸ã®ãããªãã¡ã¤ã«ãå¿
è¦ã«ãªãã¾ã:
-
-
-res/layout/main.xml:
ã·ã³ã°ã«ãã¤ã³ ã¬ã¤ã¢ã¦ã
-res/layout-large:
ãã«ããã¤ã³ ã¬ã¤ã¢ã¦ã
-res/layout-sw600dp:
ãã«ããã¤ã³ ã¬ã¤ã¢ã¦ã
-
-
-æå¾ã® 2 ã¤ã®ãã¡ã¤ã«ã¯åããã®ã§ããä¸æ¹ã¯ Android 3.2 ããã¤ã¹ç¨ã§ãããä¸æ¹ã¯æ§ãã¼ã¸ã§ã³ã® Android ãæè¼ããã¿ãã¬ããã¨ãã¬ãç¨ã§ãã
-
-ãã®ããã«ã¿ãã¬ãã/ãã¬ãç¨ã¨ãã¦åããã¡ã¤ã«ã使ç¨ãããã¨ã§èµ·ããéè¤ï¼ããã«ããã®çµæã¡ã³ããã³ã¹ãå°é£ã«ãªãç¶æ³ï¼ãé¿ããããã«ãã¨ã¤ãªã¢ã¹ ãã¡ã¤ã«ã使ç¨ã§ãã¾ãããã¨ãã°ã次ã®ãããªã¬ã¤ã¢ã¦ããå®ç¾©ã§ãã¾ã:
-
-
-res/layout/main.xml
ãã·ã³ã°ã«ãã¤ã³ ã¬ã¤ã¢ã¦ã
-res/layout/main_twopanes.xml
ã2 ãã¤ã³ ã¬ã¤ã¢ã¦ã
-
-
-ããã«ã次㮠2 ã¤ã®ãã¡ã¤ã«ã追å ãã¾ã:
-
-
-
-æå¾ã® 2 ã¤ã®ãã¡ã¤ã«ã®å
容ã¯åãã§ãããå®éã®ã¬ã¤ã¢ã¦ãã¯å®ç¾©ãã¦ãã¾ããããããã®ãã¡ã¤ã«ã¯ãåã« {@code main} ã {@code main_twopanes}ã¸ã®ã¨ã¤ãªã¢ã¹ã«ãªãããã«è¨å®ããã ãã§ãããããã®ãã¡ã¤ã«ã«ã¯ large
㨠sw600dp
ã»ã¬ã¯ã¿ãå«ã¾ãã¦ããã®ã§ãAndroid ã®ãã¼ã¸ã§ã³ã«é¢ä¿ãªãï¼
-Android 3.2 æªæºã®ã¿ãã¬ãã/ãã¬ã㯠{@code large} ã«ä¸è´ããAndroid 3.2 以ä¸ã®ã¿ãã¬ãã/ãã¬ã㯠sw600dp
ã«ä¸è´ãã¾ãï¼ã¿ãã¬ãã/ãã¬ãã«é©ç¨ããã¾ãã
-
-
-ç»é¢ã®åãã®ä¿®é£¾åã使ç¨ãã
-
-横表示ã¨ç¸¦è¡¨ç¤ºã両æ¹ã¨ãæ£ãã表示ãããã¬ã¤ã¢ã¦ããããã¾ãããã»ã¨ãã©ã®ã¬ã¤ã¢ã¦ãã¯èª¿æ´ãå¿
è¦ã«ãªãã¾ãã以ä¸ã«ãNews Reader ãµã³ãã« ã¢ããªã®åç»é¢ã®ãµã¤ãºã¨åãã§ã¬ã¤ã¢ã¦ããã©ã®ããã«è¡¨ç¤ºããããã示ãã¾ã:
-
-
-- ã¹ã¢ã¼ã«ç»é¢ã縦表示: ã·ã³ã°ã« ãã¤ã³ããã´ä»ã
-- ã¹ã¢ã¼ã«ç»é¢ã横表示: ã·ã³ã°ã« ãã¤ã³ããã´ä»ã
-- 7 ã¤ã³ã ã¿ãã¬ããã縦表示: ã·ã³ã°ã« ãã¤ã³ãã¢ã¯ã·ã§ã³ ãã¼ä»ã
-- 7 ã¤ã³ã ã¿ãã¬ããã横表示: ãã¥ã¢ã« ãã¤ã³ãã¯ã¤ããã¢ã¯ã·ã§ã³ ãã¼ä»ã
-- 10 ã¤ã³ã ã¿ãã¬ããã縦表示: ãã¥ã¢ã« ãã¤ã³ãããã¼ãã¢ã¯ã·ã§ã³ ãã¼ä»ã
-- 10 ã¤ã³ã ã¿ãã¬ããã横表示: ãã¥ã¢ã« ãã¤ã³ãã¯ã¤ããã¢ã¯ã·ã§ã³ ãã¼ä»ã
-- ãã¬ãã横表示: ãã¥ã¢ã« ãã¤ã³ãã¯ã¤ããã¢ã¯ã·ã§ã³ ãã¼ä»ã
-
-
-ãããã®åã¬ã¤ã¢ã¦ãã¯ãres/layout/
ãã£ã¬ã¯ããªå
ã® XML ãã¡ã¤ã«ã«å®ç¾©ããã¦ãã¾ããåã¬ã¤ã¢ã¦ãããã¾ãã¾ãªç»é¢è¨å®ã«å²ãå½ã¦ãã«ã¯ãã¢ããªã§ã¬ã¤ã¢ã¦ã ã¨ã¤ãªã¢ã¹ã使ç¨ãã¦ãåè¨å®ã«å¯¾å¿ä»ãã¾ã:
-
-res/layout/onepane.xml:
-{@sample development/samples/training/multiscreen/newsreader/res/layout/onepane.xml all}
-
-res/layout/onepane_with_bar.xml:
-{@sample development/samples/training/multiscreen/newsreader/res/layout/onepane_with_bar.xml all}
-
-res/layout/twopanes.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/layout/twopanes.xml all}
-
-res/layout/twopanes_narrow.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/layout/twopanes_narrow.xml all}
-
-ããã§ãèãããããã¹ã¦ã®ã¬ã¤ã¢ã¦ããå®ç¾©ããã¾ããããã¨ã¯ãè¨å®ä¿®é£¾åã使ç¨ãã¦ãé©åãªã¬ã¤ã¢ã¦ããåè¨å®ã«ãããã³ã°ããã ãã§ãããã®ããã«ã¯ã以ä¸ã®ãããªã¬ã¤ã¢ã¦ã ã¨ã¤ãªã¢ã¹ ãã¯ããã¯ã使ç¨ãããã¨ãã§ãã¾ã:
-
-res/values/layouts.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/values/layouts.xml all}
-
-res/values-sw600dp-land/layouts.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/values-sw600dp-land/layouts.xml
-all}
-
-res/values-sw600dp-port/layouts.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/values-sw600dp-port/layouts.xml
-all}
-
-res/values-large-land/layouts.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/values-large-land/layouts.xml all}
-
-res/values-large-port/layouts.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/values-large-port/layouts.xml all}
-
-
-
-ãã¤ã³ããã ããããããã使ç¨ãã
-
-ç°ãªãç»é¢ãµã¤ãºããµãã¼ãããã«ã¯ãç»åãªã½ã¼ã¹ãç°ãªããµã¤ãºã«å¯¾å¿ã§ããªãã¨ããã¾ããããã¨ãã°ããã¿ã³ã®èæ¯ã¯ãé©ç¨ããããã¿ã³ã®å½¢ç¶ãç°ãªã£ã¦ããµã¤ãºãåããªããã°ããã¾ããã
-
-ãµã¤ãºå¤æ´å¯è½ãªã³ã³ãã¼ãã³ãã§ã·ã³ãã«ãªç»åã使ç¨ããã¨ãã©ã³ã¿ã¤ã ã«ãã£ã¦ç»åãä¸æ§ã«æ¡å¤§ç¸®å°ãããã®ã§ãããã¶ãæå¾
ã¯ããã®çµæã«ãªããã¨ãããã«ãããã¾ããããã¯ããã¤ã³ããã ããããããã使ç¨ãããã¨ã§è§£æ±ºãã¾ãããã¤ã³ããã ããããããã¨ã¯ãæ¡å¤§å¯è½ãªé åã¨æ¡å¤§ä¸å¯è½ãªé åãæå®ãããç¹æ®ãªãã©ã¼ãããã® PNG ãã¡ã¤ã«ã§ãã
-
-ãã®ããããµã¤ãºãå¤åããã³ã³ãã¼ãã³ãã§ä½¿ç¨ããããããããããã¶ã¤ã³ããå ´åã¯ã常ã«ãã¤ã³ãããã使ç¨ãã¦ãã ãããããããããããã¤ã³ãããã«å¤æããã«ã¯ãã¾ããé常ã®ç»åãç¨æãã¾ãï¼å³ 4: ãããããã 4 åã«æ¡å¤§ãã¦ãã¾ãï¼ã
-
-
-å³ 4. button.png
-
-次ã«ã SDK ã® draw9patch
ã¦ã¼ãã£ãªãã£ï¼tools/
ãã£ã¬ã¯ããªã«ããã¾ãï¼ãããã¤ã³ããããå®è¡ãã¦ãå·¦å¢çç·ã¨ä¸å¢çç·ä¸ã«ãã¯ã»ã«ï¼ãããï¼ãæããã¨ã§æ¡å¤§ããé åã«ãã¼ã¯ãä»ãã¾ããã¾ããå³å¢çç·ã¨ä¸å¢çç·ä¸ã«ãã¯ã»ã«ãæããã¨ã§ãã³ã³ãã³ããå
¥ããé åããã¼ã¯ã§ãã¾ãï¼å³ 5ï¼ã
-
-
-å³ 5. button.9.png
-
-å¢çç·ä¸ã«é»ããã¯ã»ã«ããããã¨ã«æ³¨ç®ãã¦ãã ãããå·¦å¢çç·ã¨ä¸å¢çç·ä¸ã®ãã®ã¯ç»åãæ¡å¤§ã§ããé åã§ãå³å¢çç·ã¨ä¸å¢çç·ä¸ã®ãã®ã¯ã³ã³ãã³ããé
ç½®ããé åã示ãã¦ãã¾ãã
-
-ããã«ã.9.png
ã¨ããæ¡å¼µåã«ã注ç®ãã¦ãã ããããã®æ¡å¼µåã¯å¿
ã使ç¨ãã¦ãã ããããããããã¨ã§ãé常㮠PNG ç»åã§ã¯ãªãããã¤ã³ãããç»åã§ãããã¨ããã¬ã¼ã ã¯ã¼ã¯ã«ãã£ã¦æ¤åºããã¾ãã
-
-ãã®èæ¯ãï¼android:background="@drawable/button"
ãè¨å®ãã¦ï¼ã³ã³ãã¼ãã³ãã«é©ç¨ããã¨ããã¿ã³ã®ãµã¤ãºã«åããã¦é©åã«ç»åãæ¡å¤§ãã¾ãï¼å³ 6 ã®ãã¾ãã¾ãªãµã¤ãºãåç
§ï¼ã
-
-
-å³ 6button.9.png
ãã¤ã³ãããã使ç¨ãããã¾ãã¾ãªãµã¤ãºã®ãã¿ã³
-
diff --git a/docs/html/intl/ko/training/monitoring-device-state/battery-monitoring.jd b/docs/html/intl/ko/training/monitoring-device-state/battery-monitoring.jd
deleted file mode 100644
index 2eacccf64106..000000000000
--- a/docs/html/intl/ko/training/monitoring-device-state/battery-monitoring.jd
+++ /dev/null
@@ -1,120 +0,0 @@
-page.title=ë°°í°ë¦¬ ìì¤ ë° ì¶©ì ìí 모ëí°ë§
-parent.title=ë°°í°ë¦¬ ìëª
ìµì í
-parent.link=index.html
-
-trainingnavtop=true
-next.title=ëí¹ ìíì ì í íì¸ ë° ëª¨ëí°ë§
-next.link=docking-monitoring.html
-
-@jd:body
-
-
-
-백그ë¼ì´ë ì
ë°ì´í¸ê° ë°°í°ë¦¬ ìëª
ì 미ì¹ë ìí¥ì ì¤ì´ê¸° ìíì¬ ë°±ê·¸ë¼ì´ë ì
ë°ì´í¸ ë¹ëì를 ë³ê²½íë ê²½ì°, íì¬ ë°°í°ë¦¬ ìì¤ê³¼ 충ì ìíë¶í° íì¸íë ê²ì´ ì¢ìµëë¤.
-
-ì í리ì¼ì´ì
ì
ë°ì´í¸ ìíì´ ë°°í°ë¦¬ ìëª
ì 미ì¹ë ìí¥ì ë°°í°ë¦¬ ìì¤ ë° ê¸°ê¸°ì 충ì ìíì ë°ë¼ ë¤ë¦
ëë¤. 기기를 AC 충ì ê¸°ë¡ ì¶©ì íë ëì ì
ë°ì´í¸ ìíì´ ë¯¸ì¹ë ìí¥ì 무ìí´ë ì¢ìµëë¤. ë°ë¼ì ê¸°ê¸°ê° ë²ì© 충ì 기ì ì°ê²°ëì´ ìì ëë ëë¶ë¶ ìë¡ê³ 침 ë¹ë를 ìµëíí ì ììµëë¤. ë°ëë¡ ê¸°ê¸°ê° ì¶©ì ì¤ì´ ìëë¼ë©´, ì
ë°ì´í¸ ë¹ë를 ì¤ì´ë ê²ì´ ë°°í°ë¦¬ ìëª
ì°ì¥ì ëìì´ ë©ëë¤.
-
-ë§ì°¬ê°ì§ë¡ ë°°í°ë¦¬ê° ê±°ì ë°©ì ë ê²½ì°, ì
ë°ì´í¸ ë¹ë를 ì¤ì´ê±°ë ì¤ë¨í ì ììµëë¤.
-
-
-íì¬ ì¶©ì ìí íì¸
-
-먼ì íì¬ ì¶©ì ìí를 íì¸íë ê²ë¶í° ììí©ëë¤. {@link android.os.BatteryManager}ë ë°°í°ë¦¬ 충ì ìí ë± ì¶©ì ì 보를 ì¤í°í¤ {@link android.content.Intent}를 íµí´ ë¸ë¡ëìºì¤í¸í©ëë¤.
-
-ì¤í°í¤ ì¸í
í¸ì´ë¯ë¡ {@link android.content.BroadcastReceiver}를 ë±ë¡í íìê° ìì¼ë©° ìë ì½ë ìì 리ìë²ì ê°ì´ ê°ë¨í {@code registerReceiver}ì(를) í¸ì¶íì¬ {@code null}ì ì ì¶íë©´ íì¬ ë°°í°ë¦¬ ìíê° ë´ê¸´ ì¸í
í¸ê° ë°íë©ëë¤. ì¬ê¸°ì ì¤ì {@link android.content.BroadcastReceiver} ê°ì²´ ì¬ì©í ì ìì¼ë, ì´í ì¹ì
ìì ì
ë°ì´í¸ë¥¼ ë¤ë£¨ê² ëë¯ë¡ ê·¸ë´ íìë ììµëë¤.
-
-IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
-Intent batteryStatus = context.registerReceiver(null, ifilter);
-
-íì¬ ì¶©ì ìíì ì´ë¤ 충ì 기(USB ëë AC ì ì)ë¡ ì¶©ì íëì§ ì¶ì¶í ì ììµëë¤.
-
-
// Are we charging / charged?
-int status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
-boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
- status == BatteryManager.BATTERY_STATUS_FULL;
-
-// How are we charging?
-int chargePlug = battery.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
-boolean usbCharge = chargePlug == BATTERY_PLUGGED_USB;
-boolean acCharge = chargePlug == BATTERY_PLUGGED_AC;
-
-ì¼ë°ì ì¼ë¡ ê¸°ê¸°ê° AC 충ì 기ì ì°ê²°ë ê²½ì° ë°±ê·¸ë¼ì´ë ì
ë°ì´í¸ ë¹ë를 ìµëíí©ëë¤. USB를 íµí´ 충ì íë ê²½ì° ì
ë°ì´í¸ ë¹ë를 ë®ì¶¥ëë¤. ë°°í°ë¦¬ê° ë°©ì ì¤ì´ë¼ë©´ ë¹ë를 ë ë§ì´ ë®ì¶ëë¡ í©ëë¤.
-
-
-충ì ìí ë³ê²½ì¬í 모ëí°ë§
-
-충ì ìíë ììë¡ ë³íë¯ë¡ 충ì ìíì ë³ê²½ì¬íì íì¸íê³ ì´ì ë°ë¼ ì
ë°ì´í¸ 주기를 ë³ê²½íë ê²ì´ ì¤ìí©ëë¤.
-
-{@link android.os.BatteryManager}ë ê¸°ê¸°ê° ì ìì ì°ê²°ëì´ ìëì§ ì¬ë¶ì ê´ê³ìì´ ì¸ì ë ì¡ì
ì ë¸ë¡ëìºì¤í¸í©ëë¤. ì±ì´ ì¤íëì§ ìë ëììë ì´ë²¤í¸ë¥¼ ìì íë ê²ì´ ì¤ìí©ëë¤. í¹í 백그ë¼ì´ë ì
ë°ì´í¸ë¥¼ ì¤íí기 ìí´ ì±ì ììíë ë¹ëìì ì´ë²¤í¸ê° ìí¥ì 주기 ë문ì
ëë¤. ë°ë¼ì ë ì´ë²¤í¸ë¥¼ ìì íë ¤ë©´ 매ëíì¤í¸ìì {@link android.content.BroadcastReceiver}를 ë±ë¡íì¬ ì¸í
í¸ íí° ë´ì {@link android.content.Intent#ACTION_POWER_CONNECTED}ì {@link android.content.Intent#ACTION_POWER_DISCONNECTED}를 ì ìí´ì¼ í©ëë¤.
-
-<receiver android:name=".PowerConnectionReceiver">
- <intent-filter>
- <action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>
- <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/>
- </intent-filter>
-</receiver>
-
-ë¤ìì {@link android.content.BroadcastReceiver} 구íìì ì´ì ë¨ê³ìì ì¤ëª
í ëë¡ íì¬ ì¶©ì ìíì ë°©ë²ì ììë¼ ì ììµëë¤.
-
-public class PowerConnectionReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
- boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
- status == BatteryManager.BATTERY_STATUS_FULL;
-
- int chargePlug = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
- boolean usbCharge = chargePlug == BATTERY_PLUGGED_USB;
- boolean acCharge = chargePlug == BATTERY_PLUGGED_AC;
- }
-}
-
-
-íì¬ ë°°í°ë¦¬ ìì¤ íì¸
-
-íì¬ ë°°í°ë¦¬ ìì¤ì íì¸íë ê²ì´ ì ì©í ê²½ì°ë ììµëë¤. ë°°í°ë¦¬ 충ì ì´ ìì¤ ì´íì¸ ê²½ì° ë°±ê·¸ë¼ì´ë ì
ë°ì´í¸ ë¹ë를 ì¤ì¼ ì ììµëë¤.
-
-ë¤ìì ë°°í°ë¦¬ ìí ì ë³´ê° ë´ê¸´ ì¸í
í¸ìì íì¬ ë°°í°ë¦¬ ìì¤ ë° ì¶©ì ìí를 ì¶ì¶íë ë°©ë²ì
ëë¤.
-
-int level = battery.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
-int scale = battery.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
-
-float batteryPct = level / (float)scale;
-
-
-ë°°í°ë¦¬ ìì¤ ì¤ì ë³ê²½ì¬í 모ëí°ë§
-
-ë°°í°ë¦¬ ìí를 ì§ìì ì¼ë¡ íì¸íë ê²ì ì½ì§ ìì§ë§, ê¼ ê·¸ë´ íìë ììµëë¤.
-
-ë°°í°ë¦¬ ìì¤ì ì§ìì ì¼ë¡ 모ëí°ë§íë ê²ì ì±ì ë¤ë¥¸ ìì
ë³´ë¤ ë°°í°ë¦¬ì ë í° ìí¥ì 미칩ëë¤. ë°ë¼ì ê¸°ê¸°ê° ë°°í°ë¦¬ ì ì ë¶ì¡± ìíê° ëê±°ë ì´ë¥¼ ë²ì´ë ë ë± ì¤ìí ë³ê²½ì¬íë§ íì¸íë ê²ì´ ì¢ìµëë¤.
-
-ë¤ì ì½ëë 매ëíì¤í¸ì ë¸ë¡ëìºì¤í¸ 리ìë² ë´ì ì¸í
í¸ íí°ë¥¼ ë³´ì¬ì¤ëë¤. ë°°í°ë¦¬ê° ì¼ë§ ë¨ì§ ìê±°ë{@link android.content.Intent#ACTION_BATTERY_LOW} ë°°í°ë¦¬ ìíê° íë³µëìì ë{@link android.content.Intent#ACTION_BATTERY_OKAY} ì ë¬ëë ë©ìì§ë¥¼ ìì í ì ììµëë¤.
-
-<receiver android:name=".BatteryLevelReceiver">
-<intent-filter>
- <action android:name="android.intent.action.ACTION_BATTERY_LOW"/>
- <action android:name="android.intent.action.ACTION_BATTERY_OKAY"/>
- </intent-filter>
-</receiver>
-
-ë°°í°ë¦¬ 충ì ìíê° ë§¤ì° ë®ì ê²½ì° ë°±ê·¸ë¼ì´ë ì
ë°ì´í¸ë¥¼ ì¬ì©íì§ ìë ê²ì´ ì¢ìµëë¤. ì íê¸°ê° êº¼ì ¸ë²ë¦¬ë©´ ìµì ë°ì´í°ë¥¼ ì ê³µíë ê²ì´ ìë¯¸ê° ì기 ë문ì
ëë¤.
-
-기기를 충ì íë ê²ì 곧 기기를 ëí¬ì ì§ì´ë£ë ê²ê³¼ ê°ì ê²½ì°ê° ë§ìµëë¤. ë¤ì ê°ìë íì¬ ëí¬ ìí를 íì¸íê³ ê¸°ê¸° ëí¹ì ë³ê²½ì¬íì 모ëí°ë§íë ë°©ë²ì ë³´ì¬ì¤ëë¤.
-
diff --git a/docs/html/intl/ko/training/monitoring-device-state/connectivity-monitoring.jd b/docs/html/intl/ko/training/monitoring-device-state/connectivity-monitoring.jd
deleted file mode 100644
index 5666b98c9045..000000000000
--- a/docs/html/intl/ko/training/monitoring-device-state/connectivity-monitoring.jd
+++ /dev/null
@@ -1,70 +0,0 @@
-page.title=ì°ê²° ìí íì¸ ë° ëª¨ëí°ë§
-parent.title=ë°°í°ë¦¬ ìëª
ìµì í
-parent.link=index.html
-
-trainingnavtop=true
-
-previous.title=ëí¹ ìíì ì í íì¸ ë° ëª¨ëí°ë§
-previous.link=docking-monitoring.html
-next.title=ì¨ë맨ëë¡ ë¸ë¡ëìºì¤í¸ ìì 기 ì¡°ì
-next.link=manifest-receivers.html
-
-@jd:body
-
-
-
-ë°ë³µ ìëê³¼ 백그ë¼ì´ë ìë¹ì¤ë ì¼ë°ì ì¼ë¡ ì¸í°ë· 리ìì¤ ë° ìºì ë°ì´í°ë¡ë¶í° ì í리ì¼ì´ì
ì ì
ë°ì´í¸ë¥¼ ìì½íê±°ë 긴 ìê°ì´ íìí ë¤ì´ë¡ë를 ì¤ííë ë° ì¬ì©ë©ëë¤. íì§ë§ ì¸í°ë·ì ì°ê²°ëì´ ìì§ ìê±°ë ì°ê²°ì´ ë§¤ì° ëë ¤ ë¤ì´ë¡ë를 ìë£íì§ ëª»íë¤ë©´ ì
ë°ì´í¸ ìì½ì í´ë ìì©ì´ ìê² ì£ ?
-
-ì¸í°ë·ì ì°ê²°ëìëì§, ì´ë¤ ì°ê²° ë°©ìì¸ì§ë¥¼ íì¸í기 ìíì¬ {@link android.net.ConnectivityManager}를 ì¬ì©í ì ììµëë¤.
-
-
-ì¸í°ë·ì ì°ê²°ëì´ ìëì§ íì¸
-
-ì¸í°ë·ì ì°ê²°ëì´ ìì§ ìë ê²½ì° ì¸í°ë· 리ìì¤ë¥¼ 기ë°ì¼ë¡ í ì
ë°ì´í¸ ìì½ì í íìê° ììµëë¤. ë¤ìì íì± ë¤í¸ìí¬ë¥¼ 쿼리íê³ ì¸í°ë·ì´ ì°ê²°ëì´ ìëì§ íì¸í기 ìí {@link android.net.ConnectivityManager} ì¬ì©ë²ì ë³´ì¬ì¤ëë¤.
-
-ConnectivityManager cm =
- (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
-
-NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
-boolean isConnected = activeNetwork.isConnectedOrConnecting();
-
-
-ì¸í°ë· ì°ê²° ì í íì¸
-
-íì¬ ì¬ì©í ì ìë ì¸í°ë· ì°ê²° ì íì íì¸í ìë ììµëë¤.
-
-ì°ê²°ì 모ë°ì¼ ë°ì´í°, WiMAZ, Wi-Fi ë° ì´ëë· ì°ê²°ì íµí´ ì ê³µë ì ììµëë¤. ìëì ê°ì´ íì± ë¤í¸ìí¬ì ì íì 쿼리íë©´, ì¬ì© ê°ë¥í ëìíì ë°ë¼ ì
ë°ì´í¸ ë¹ë를 ë³ê²½í ì ììµëë¤.
-
-boolean isWiFi = activeNetwork.getType() == ConnectivityManager.TYPE_WIFI;
-
-모ë°ì¼ ë°ì´í° ë¹ì©ì Wi-Fië³´ë¤ ëì ê²½í¥ì´ ìì¼ë¯ë¡, 모ë°ì¼ ì°ê²°ì¸ ê²½ì° ì±ì ì
ë°ì´í¸ ë¹ë를 ì¤ì¬ì¼ í©ëë¤. ë§ì°¬ê°ì§ë¡ Wi-Fië¡ ì°ê²°ë기ê¹ì§ í° ì©ëì ë¤ì´ë¡ëë ì¼ì ì¤ì§í´ì¼ í©ëë¤.
-
-ì
ë°ì´í¸ë¥¼ ë¹íì±íí ê²½ì°, ì¸í°ë· ì°ê²°ì´ ì¬ê°ëë©´ ì
ë°ì´í¸ë¥¼ ë¤ì ììí기 ìí´ ì°ê²° ë³ê²½ì¬íì ìê³ ìë ê²ì´ ì¤ìí©ëë¤.
-
-
-ì°ê²° ë³ê²½ì¬í 모ëí°ë§
-
-ì°ê²° ì ë³´ê° ë³ê²½ë ëë§ë¤ {@link android.net.ConnectivityManager}ë {@link android.net.ConnectivityManager#CONNECTIVITY_ACTION}({@code "android.net.conn.CONNECTIVITY_CHANGE"}) ì¡ì
ì ë¸ë¡ëìºì¤í¸í©ëë¤. ë³ê²½ì¬íì ìì íê±°ë ì ì í 백그ë¼ì´ë ì
ë°ì´í¸ë¥¼ ë¤ì ìì ëë ì¼ì ì¤ì§í기 ìí´ ë§¤ëíì¤í¸ìì ë¸ë¡ëìºì¤í¸ 리ìë²ë¥¼ ë±ë¡í ì ììµëë¤.
-
-<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
-
-ì°ê²° ì ë³´ë ììë¡ ë³ê²½ë ì ììµëë¤. 모ë°ì¼ê³¼ Wi-Fi ê°ì ì´ëí ëë§ë¤ ë¸ë¡ëìºì¤í¸ê° ì¤íë©ëë¤. ë°ë¼ì ì
ë°ì´í¸ë ë¤ì´ë¡ë를 ì¼ì ì¤ì§í ê²½ì°ìë§ ë¸ë¡ëìºì¤í¸ë¥¼ íì¸íë ê²ì´ ì¢ìµëë¤. ì
ë°ì´í¸ë¥¼ ììí기 ì ì´ë ì´ì ì ì
ë°ì´í¸ë¥¼ ì¼ì ì¤ì§íë ê²½ì°ìë§ íì¸íë ê²ì¼ë¡ 충ë¶í©ëë¤.
-
-ì´ ê¸°ì ì ë¤ì ê°ììì ì¤ëª
íë 매ëíì¤í¸ìì ì ì¸í ë¸ë¡ëìºì¤í¸ 리ìë²ì ì íì´ íìí©ëë¤.
diff --git a/docs/html/intl/ko/training/monitoring-device-state/docking-monitoring.jd b/docs/html/intl/ko/training/monitoring-device-state/docking-monitoring.jd
deleted file mode 100644
index 0cd61a067d93..000000000000
--- a/docs/html/intl/ko/training/monitoring-device-state/docking-monitoring.jd
+++ /dev/null
@@ -1,74 +0,0 @@
-page.title=ëí¹ ìíì ì í íì¸ ë° ëª¨ëí°ë§
-parent.title=ë°°í°ë¦¬ ìëª
ìµì í
-parent.link=index.html
-
-trainingnavtop=true
-previous.title= ë°°í°ë¦¬ ìì¤ ë° ì¶©ì ìí 모ëí°ë§
-previous.link=battery-monitoring.html
-next.title= ì°ê²° ìí íì¸ ë° ëª¨ëí°ë§
-next.link=connectivity-monitoring.html
-
-@jd:body
-
-
-
-Android 기기ë ì¬ë¬ ì¢
ë¥ì ëí¬ë¡ ëí¹ë ì ììµëë¤. ì¬ê¸°ìë ì¹´í° ëë í ëí¬ì ëì§í¸ ë° ìë ë¡ê·¸ ëí¬ê° í¬í¨ë©ëë¤. ë§ì ëí¬ê° ëí¹ë 기기ì ì 기를 ê³µê¸íë¯ë¡ ì¼ë°ì ì¼ë¡ 충ì ìíì ëí¬ ìíë ë°ì í ê´ë ¨ì´ ììµëë¤.
-
-ì íì ëí¬ ìíê° ì
ë°ì´í¸ ë¹ëì ì´ë»ê² ìí¥ì 미ì¹ëì§ë ì±ì ë°ë¼ ë¤ë¦
ëë¤. ì¤í¬ì¸ ì¼í° ì±ì´ë¼ë©´ ë°ì¤í¬í± ëí¬ìì ì
ë°ì´í¸ ë¹ë를 ëì´ê³ ì¹´í° ëí¬ì ì°ê²°ë ê²½ì° ì
ë°ì´í¸ë¥¼ ìì í ì¬ì© ì¤ì§í´ë ì¢ìµëë¤. ë°ëë¡ êµíµ ìí©ì ì ê³µíë ì±ì´ë¼ë©´ ì¹´í° ëí¬ìì ì
ë°ì´í¸ë¥¼ ìµëíí´ë ì¢ìµëë¤.
-
-ëí¬ ìíë ì¤í°í¤ {@link android.content.Intent}ë¡ ë¸ë¡ëìºì¤í¸ëì´ ê¸°ê¸°ê° ëí¹ëìëì§ ì¬ë¶ì ëí¹ëìë¤ë©´ ì´ë¤ ì¢
ë¥ì ëí¬ì¸ì§ ììë¼ ì ììµëë¤.
-
-
-íì¬ ëí¹ ìí íì¸
-
-ëí¬ ìíì ì¸ë¶ì¬íì {@link android.content.Intent#ACTION_DOCK_EVENT} ì¡ì
ì ì¤í°í¤ ë¸ë¡ëìºì¤í¸ ë´ì ì¶ê°ë¡ í¬í¨ë©ëë¤. ì¤í°í¤ ë¸ë¡ëìºì¤í¸ì´ë¯ë¡ {@link android.content.BroadcastReceiver}를 ë±ë¡í íìê° ììµëë¤. ë¤ì ì¤ëí«ì íìë ë¸ë¡ëìºì¤í¸ ìì 기ì ê°ì´ ê°ë¨í {@link android.content.Context#registerReceiver registerReceiver()}를 í¸ì¶íì¬ {@code null}ì ì ì¶í ì ììµëë¤.
-
-IntentFilter ifilter = new IntentFilter(Intent.ACTION_DOCK_EVENT);
-Intent dockStatus = context.registerReceiver(null, ifilter);
-
-{@code EXTRA_DOCK_STATE} ì¶ê°ë¡ë¶í° íì¬ ëí¹ ìí를 ì¶ì¶í ì ììµëë¤.
-
-
int dockState = battery.getIntExtra(EXTRA_DOCK_STATE, -1);
-boolean isDocked = dockState != Intent.EXTRA_DOCK_STATE_UNDOCKED;
-
-
-íì¬ ëí¬ ì í íì¸
-
-4ê°ì§ ì íì ëí¬ê° ììµëë¤.
-
- ì¹´í°
-- ë°ì¤í¬
-- ì ê°í(ìë ë¡ê·¸) ë°ì¤í¬
-- ê³ ê°í(ëì§í¸) ë°ì¤í¬
-
-ë§ì§ë§ ë ê°ì§ ìµì
ì API ìì¤ 11ì Androidìë§ ì ê³µëì´ ìì¼ë¯ë¡, ëì§í¸ ëë ìë ë¡ê·¸ì ìê´íì§ ìê³ ê´ì¬ ìë ì¸ ê°ì§ ëí¬ ì íì ëí´ íì¸íë ê²ì´ ì¢ìµëë¤.
-
-boolean isCar = dockState == EXTRA_DOCK_STATE_CAR;
-boolean isDesk = dockState == EXTRA_DOCK_STATE_DESK ||
- dockState == EXTRA_DOCK_STATE_LE_DESK ||
- dockState == EXTRA_DOCK_STATE_HE_DESK;
-
-
-ëí¬ ìí ëë ì í ë³ê²½ì¬í 모ëí°ë§
-
-ëí¹ ìíê° ë°ëë©´ {@link android.content.Intent#ACTION_DOCK_EVENT} ì¡ì
ì´ ë¸ë¡ëìºì¤í¸ë©ëë¤. 기기ì ëí¬ ìí ë³ê²½ì¬íì 모ëí°ë§íë ¤ë©´ ìëì íìë ëë¡ ì í리ì¼ì´ì
매ëíì¤í¸ìì ë¸ë¡ëìºì¤í¸ 리ìë²ë¥¼ ë±ë¡íì¸ì.
-
-<action android:name="android.intent.action.ACTION_DOCK_EVENT"/>
-
-ì´ì ë¨ê³ìì ì¤ëª
í 기ì ì ì¬ì©íì¬ ë¦¬ìë² êµ¬íìì ëí¬ ì í ë° ìí를 ì¶ì¶í ì ììµëë¤.
diff --git a/docs/html/intl/ko/training/monitoring-device-state/index.jd b/docs/html/intl/ko/training/monitoring-device-state/index.jd
deleted file mode 100644
index f96e2e16dc57..000000000000
--- a/docs/html/intl/ko/training/monitoring-device-state/index.jd
+++ /dev/null
@@ -1,49 +0,0 @@
-page.title=ë°°í°ë¦¬ ìëª
ìµì í
-
-trainingnavtop=true
-startpage=true
-next.title=ë°°í°ë¦¬ ìì¤ ë° ì¶©ì ìí 모ëí°ë§
-next.link=battery-monitoring.html
-
-@jd:body
-
-
-
-
-
ì구ì¬íê³¼ ì íì¡°ê±´
-
-
-
ì°¸ê³ ìë£
-
-
-
-
-
-ì¢ì ì±ì í¸ì¤í¸ 기기ì ë°°í°ë¦¬ ìëª
ì 미ì¹ë ìí¥ì´ 미미í´ì¼ í©ëë¤. ê°ì를 íµí´ í¸ì¤í¸ 기기ì ìíì ë°ë¼ 기ë¥ê³¼ ëìì ìì íë ê²ì 모ëí°ë§íë ì±ì 구ì¶í ì ìê² ë©ëë¤.
-
-ì°ê²°ì´ ëê²¼ì ë 백그ë¼ì´ë ìë¹ì¤ ì
ë°ì´í¸ë¥¼ ì¬ì© ì¤ì§íê±°ë, ë°°í°ë¦¬ ìì¤ì´ ë®ì ë ì
ë°ì´í¸ ë¹ë를 ì¤ì´ë ì¡°ì¹ë¥¼ ì·¨íì¬, ì¬ì©ì íê²½ì ìììí¤ì§ ìê³ ë°°í°ë¦¬ ìëª
ì 미ì¹ë ìí¥ì ìµìíí ì ììµëë¤.
-
-ê°ì
-
-
-
-
- - ë°°í°ë¦¬ ìì¤ ë° ì¶©ì ìí 모ëí°ë§
- - 충ì ìíìì íì¬ ë°°í°ë¦¬ ìì¤ ë° ë³ê²½ì¬íì íì¸ ë° ëª¨ëí°ë§íì¬ ì±ì ì
ë°ì´í¸ ë¹ë를 ë³ê²½íë ë²ì ììë³´ì¸ì.
-
- - ëí¹ ìíì ì í íì¸ ë° ëª¨ëí°ë§
- - ìµì ì ìë¡ê³ 침 ë¹ëë í¸ì¤í¸ 기기ì ì¬ì© ë°©ë²ì ë°ë¼ ë¬ë¼ì§ ì ììµëë¤. ì±ì ëìì ìí¥ì 미ì¹ë ëí¹ ìíì ëí¬ ì íì íì¸ ë° ëª¨ëí°ë§íë ë°©ë²ì ììë³´ì¸ì.
-
- - ì°ê²° ìí íì¸ ë° ëª¨ëí°ë§
- - ì¸í°ë· ì°ê²° ìì´ ì¨ë¼ì¸ ìì¤ë¥¼ íµí´ ì±ì ì
ë°ì´í¸í ì ììµëë¤. ì°ê²° ìí를 íì¸íì¬ ë°±ê·¸ë¼ì´ë ì
ë°ì´í¸ ë¹ë를 ë³ê²½íë ë°©ë²ì ììë³´ì¸ì. ê³ ëìí ìì
ì ììí기 ì ì Wi-Fi ëë 모ë°ì¼ ì°ê²°ì íì¸íë ë°©ë²ë ì ì ììµëë¤.
-
- - ì¨ë맨ëë¡ ë¸ë¡ëìºì¤í¸ ìì 기 ì¡°ì
- - 매ëíì¤í¸ ë´ì ì ì¸íë ë¸ë¡ëìºì¤í¸ 리ìë²ë íì¬ ê¸°ê¸° ìíìì íì ìë ê²ì ì¬ì© ì¤ì§íëë¡ ë°íì ë ì íë ì ììµëë¤. ê¸°ê¸°ê° í¹ì ìíì ëë¬í ëê¹ì§ ìí ë³í 리ìë² ë° ì§ì° ì¡ì
ì ì í ë° ë¨ê³ì ì¼ë¡ ì°ê²°íì¬ í¨ì¨ì±ì í¥ìíë ë²ì ììë³´ì¸ì.
-
\ No newline at end of file
diff --git a/docs/html/intl/ko/training/monitoring-device-state/manifest-receivers.jd b/docs/html/intl/ko/training/monitoring-device-state/manifest-receivers.jd
deleted file mode 100644
index c5c311b75f6b..000000000000
--- a/docs/html/intl/ko/training/monitoring-device-state/manifest-receivers.jd
+++ /dev/null
@@ -1,50 +0,0 @@
-page.title=ì¨ë맨ëë¡ ë¸ë¡ëìºì¤í¸ ìì 기 ì¡°ì
-parent.title=ë°°í°ë¦¬ ìëª
ìµì í
-parent.link=index.html
-
-trainingnavtop=true
-
-previous.title=ì°ê²° ìí íì¸ ë° ëª¨ëí°ë§
-previous.link=connectivity-monitoring.html
-
-@jd:body
-
-
-
-기기 ìí ë³ê²½ì 모ëí°ë§íë ê°ì¥ ê°ë¨í ë°©ë²ì 모ëí°ë§íë ê° ìíì ëí´ {@link android.content.BroadcastReceiver}를 ë§ë¤ì´ ê°ê°ì ì í리ì¼ì´ì
매ëíì¤í¸ì ë±ë¡íë ê²ì
ëë¤. ê·¸ë¬ë©´ ê° ë¦¬ìë² ë´ìì íì¬ ê¸°ê¸° ìí를 기ë°ì¼ë¡ ë°ë³µ ìëì ì¼ì ì ê°ë¨í ë³ê²½í ì ììµëë¤.
-
-ì´ ë°©ë²ì ë¶ìì©ì 리ìë² ì¤ íëë¼ë ì¤íëë©´ ë§¤ë² ì±ì´ 기기ì ì ì 모ë를 í´ì ìí¨ë¤ë ê²ì
ëë¤.
-
-ë ëì ë°©ë²ì ë°íì ë ë¸ë¡ëìºì¤í¸ 리ìë²ë¥¼ ì¬ì© ì¤ì§ ëë ì¬ì©íëë¡ ì¤ì íë ê²ì
ëë¤. ì´ë ê² íë©´ 매ëíì¤í¸ì ì ì¸í 리ìë²ë¥¼ íìí ëë§ ìì¤í
ì´ë²¤í¸ì ìí´ ì¤íëë ìëì ì¸ ìëì¼ë¡ ì¬ì©í ì ììµëë¤.
-
-
-í¨ì¨ì± í¥ìì ìí ìí ë³í ìì 기ì ì í ë° ë¨ê³ì ì°ê²°
-
-{@link android.content.pm.PackageManager}를 ì¬ì©íì¬ ìëìì íìë ëë¡ ëª¨ë ì¬ì© ëë ì¬ì© ì¤ì§í기 ìíë ë¸ë¡ëìºì¤í¸ 리ìë²ë¥¼ í¬í¨íì¬ ë§¤ëíì¤í¸ ë´ì ì ìë 모ë ììì ì¬ì© ê°ë¥ ìí를 ì íí ì ììµëë¤.
-
-ComponentName receiver = new ComponentName(context, myReceiver.class);
-
-PackageManager pm = context.getPackageManager();
-
-pm.setComponentEnabledSetting(receiver,
- PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
- PackageManager.DONT_KILL_APP)
-
-ì´ ë°©ë²ì ì¬ì©íë©´ ì°ê²°ì´ ììì íì¸í ê²½ì° ì°ê²° ë³ê²½ 리ìë²ë¥¼ ì ì¸í 모ë 리ìë²ë¥¼ ì¬ì© ì¤ì§í ì ììµëë¤. ë°ëë¡ í ë² ì°ê²°ëë©´ ì°ê²° ë³ê²½ì¬íì ìì ì ì¤ì§í ì ìì¼ë©°, ì
ë°ì´í¸ë¥¼ ìííê³ ë°ë³µ ì
ë°ì´í¸ ìëì ì¼ì ì ë³ê²½í기 ì ì ì¨ë¼ì¸ ìíì¸ì§ë§ ê°ë¨í íì¸í ì ììµëë¤.
-
-ëì ëìíì ì구íë ë¤ì´ë¡ë를 ì¤ì§ìí¤ë ë° ëì¼í 기ì ì ì¬ì©í ì ììµëë¤. ì°ê²° ë³ê²½ì ìì íë ë¸ë¡ëìºì¤í¸ 리ìë²ë¥¼ ì¬ì©íëë¡ ì¤ì íê³ ë°ëì Wi-Fiì ì°ê²°í íì ë¤ì´ë¡ë를 ììíëë¡ í©ëë¤.
diff --git a/docs/html/intl/ko/training/multiscreen/adaptui.jd b/docs/html/intl/ko/training/multiscreen/adaptui.jd
deleted file mode 100644
index cb7b66c90238..000000000000
--- a/docs/html/intl/ko/training/multiscreen/adaptui.jd
+++ /dev/null
@@ -1,212 +0,0 @@
-page.title=ì¡°ì í UI íë¡ì° 구í
-parent.title=ë¤ìí íë©´ ì§ì
-parent.link=index.html
-
-trainingnavtop=true
-previous.title=ë¤ìí íë©´ ë°ë ì§ì
-previous.link=screendensities.html
-
-@jd:body
-
-
-
-
-
-íì¬ ì í리ì¼ì´ì
ì´ íìíë ë ì´ììì ë°ë¼ UI íë¡ê° ë¬ë¼ì§ ì ììµëë¤. ì를 ë¤ì´ ì í리ì¼ì´ì
ì´ ì´ì¤ ì°½ 모ëë¡ ëì´ ìë ê²½ì°ìë ì¼ìª½ ì°½ì ìë í목ì í´ë¦íë©´ ì¤ë¥¸ìª½ ì°½ì ì½í
ì¸ ê° íìëê³ , ë¨ì¼ ì°½ 모ëë¡ ëì´ ìë ê²½ì°ìë ì½í
ì¸ ê° í´ë¹ ì°½ì íìë©ëë¤(ë¤ë¥¸ ì¡í°ë¹í°ìì).
-
-
-íì¬ ë ì´ìì íì¸
-
-ê° ë ì´ììì 구ííë ë°©ìì´ ì½ê°ì© ë¤ë¥´ë¯ë¡ ê°ì¥ 먼ì í´ì¼ í ì¼ì íì¬ ì¬ì©ììê² ì´ë¤ ë ì´ììì´ íìëëì§ íì¸íë ê²ì
ëë¤. ì를 ë¤ì´, ì¬ì©ìê° 'ë¨ì¼ ì°½' 모ëì ìëì§ í¹ì 'ì´ì¤ ì°½' 모ëì ìëì§ íì
í ì ììµëë¤. ì´ë í¹ì ë·°ê° ì¡´ì¬íê³ ê·¸ ë·°ê° íìëëì§ ì¡°ííë©´ ë©ëë¤.
-
-
-public class NewsReaderActivity extends FragmentActivity {
- boolean mIsDualPane;
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main_layout);
-
- View articleView = findViewById(R.id.article);
- mIsDualPane = articleView != null &&
- articleView.getVisibility() == View.VISIBLE;
- }
-}
-
-
-ì´ ì½ëë 'article' ì°½ì ì¬ì©í ì ìëì§ ì¬ë¶ë¥¼ ì¡°ííë©° ì´ë¬í ë°©ìì´ í¹ì ë ì´ììì ëí ì¡°í를 íëì½ë©íë ê²ë³´ë¤ í¨ì¬ ì ì°í ë°©ìì
ëë¤.
-
-ë¤ë¥¸ 구ì±ììì ì¡´ì¬ ì¬ë¶ì ë§ê² ì±ì ì¡°ì íë ë ë¤ë¥¸ ë°©ë²ì 구ì±ììì ëí ìì
ì ìíí기 ì ì í´ë¹ 구ì±ìì를 ì¬ì©í ì ìëì§ íì¸íë ê²ì
ëë¤. ì를 ë¤ì´ ë´ì¤ 리ë ìí ì±ì ê²½ì°, ë©ë´ë¥¼ ì¬ë ë²í¼ì´ ì긴 íì§ë§ ì´ ë²í¼ì Android 3.0 ì´ì ë²ì ìì ì¤íëë ê²½ì°ìë§ ì¡´ì¬í©ëë¤(API ìì¤ 11 ì´ììì {@link android.app.ActionBar} ê° ê·¸ 기ë¥ì ëì í기 ë문). ë°ë¼ì ì´ ë²í¼ì ëí ì´ë²¤í¸ 리ì¤ë를 ì¶ê°í기 ìí´ ë¤ìê³¼ ê°ì´ í ì ììµëë¤.
-
-
-Button catButton = (Button) findViewById(R.id.categorybutton);
-OnClickListener listener = /* create your listener here */;
-if (catButton != null) {
- catButton.setOnClickListener(listener);
-}
-
-
-
-íì¬ ë ì´ììì ëí ëì
-
-íì¬ ë ì´ììì ë°ë¼ ì¼ë¶ ì¡ì
ì ê²°ê³¼ê° ë¬ë¼ì§ ì ììµëë¤. ì를 ë¤ì´ ë´ì¤ 리ë ìíì í¤ëë¼ì¸ 목ë¡ìì í¤ëë¼ì¸ì í´ë¦íë©´ UIê° ì´ì¤ ì°½ 모ëì¸ ê²½ì°ìë 기ì¬ê° ì¤ë¥¸ìª½ ì°½ìì ì´ë¦¬ì§ë§, UIê° ë¨ì¼ ì°½ 모ëì¸ ê²½ì°ìë ë³ëì ì¡í°ë¹í°ê° ì¤íë©ëë¤.
-
-
-@Override
-public void onHeadlineSelected(int index) {
- mArtIndex = index;
- if (mIsDualPane) {
- /* display article on the right pane */
- mArticleFragment.displayArticle(mCurrentCat.getArticle(index));
- } else {
- /* start a separate activity */
- Intent intent = new Intent(this, ArticleActivity.class);
- intent.putExtra("catIndex", mCatIndex);
- intent.putExtra("artIndex", index);
- startActivity(intent);
- }
-}
-
-
-ë§ì°¬ê°ì§ë¡, ì±ì´ ì´ì¤ ì°½ 모ëì¸ ê²½ì°ìë íìì© íì´ í¬í¨ë ìì
íìì¤ì´ ì¤ì ëì§ë§, ì±ì´ ë¨ì¼ ì°½ 모ëì¸ ê²½ì°ìë ì¤í¼ë ìì ¯ì´ í¬í¨ë íì ë©ë´ê° ì¤ì ë©ëë¤. ë°ë¼ì ì´ë¤ ê²½ì°ê° ì í©íì§ë ì½ëìì íì¸í´ì¼ í©ëë¤.
-
-
-final String CATEGORIES[] = { "Top Stories", "Politics", "Economy", "Technology" };
-
-public void onCreate(Bundle savedInstanceState) {
- ....
- if (mIsDualPane) {
- /* use tabs for navigation */
- actionBar.setNavigationMode(android.app.ActionBar.NAVIGATION_MODE_TABS);
- int i;
- for (i = 0; i < CATEGORIES.length; i++) {
- actionBar.addTab(actionBar.newTab().setText(
- CATEGORIES[i]).setTabListener(handler));
- }
- actionBar.setSelectedNavigationItem(selTab);
- }
- else {
- /* use list navigation (spinner) */
- actionBar.setNavigationMode(android.app.ActionBar.NAVIGATION_MODE_LIST);
- SpinnerAdapter adap = new ArrayAdapter(this,
- R.layout.headline_item, CATEGORIES);
- actionBar.setListNavigationCallbacks(adap, handler);
- }
-}
-
-
-
-ë¤ë¥¸ ì¡í°ë¹í°ì íëê·¸ë¨¼í¸ ì¬ì¬ì©
-
-ë¤ìí íë©´ì ëìì¸ì ë°ë³µëë í¨í´ìë ì¼ë¶ íë©´ 구ì±ììë ì°½ì¼ë¡ 구íëê³ ë¤ë¥¸ íë©´ 구ì±ììë ë³ëì ì¡í°ë¹í°ë¡ 구íëë ì¸í°íì´ì¤ê° ì¼ë¶ ììµëë¤. ì를 ë¤ì´ ë´ì¤ 리ë ìíìì ë´ì¤ ê¸°ì¬ í
ì¤í¸ê° í° íë©´ììë ì¤ë¥¸ìª½ ì°½ì íìëì§ë§ ìì íë©´ììë ë³ëì ì¡í°ë¹í°ì
ëë¤.
-
-ì´ë¬í ê²½ì° ì¼ë°ì ì¼ë¡ ëì¼í {@link android.app.Fragment} íì í´ëì¤ë¥¼ ì¬ë¬ ì¡í°ë¹í°ì ì¬ì¬ì©íì¬ ì½ë ì¤ë³µì í¼í ì ììµëë¤. ì를 ë¤ì´ ArticleFragment
ë ì´ì¤ ì°½ ë ì´ìììì ì¬ì©ëë©°
-
-{@sample development/samples/training/multiscreen/newsreader/res/layout/twopanes.xml all}
-
-ìì íë©´ì ì¡í°ë¹í° ë ì´ììì ë ì´ìì ìì´ ì¬ì¬ì©ë©ëë¤(ArticleActivity
).
-
-
-ArticleFragment frag = new ArticleFragment();
-getSupportFragmentManager().beginTransaction().add(android.R.id.content, frag).commit();
-
-
-ë¹ì°í ì´ë XML ë ì´ìììì íë그먼í¸(fragment)를 ëª
ìíë ê²ê³¼ ê°ì í¨ê³¼ê° ìì§ë§ ì´ ê²½ì°ìë ìí°í´ íë그먼í¸ê° ì´ ì¡í°ë¹í°ì ì ì¼í 구ì±ììì´ê¸° ë문ì XML ë ì´ììì ë¶íìí ìì
ì´ ë©ëë¤.
-
-íë그먼í¸ë¥¼ ëìì¸í ë ì¼ëì ëì´ì¼ í ë§¤ì° ì¤ìí ì í ê°ì§ë í¹ì ì¡í°ë¹í°ì ëí ê°í 커íë§ì ë§ë¤ì§ ë§ìì¼ íë¤ë ì ì
ëë¤. ì´ë ê² íë ¤ë©´ ì¼ë°ì ì¼ë¡ íë그먼í¸ê° í¸ì¤í¸ ì¡í°ë¹í°ì ìí¸ìì©í´ì¼ íë 모ë ë°©ìì ì¶ìííë ì¸í°íì´ì¤ë¥¼ ì ìíë©´ ë©ëë¤. ê·¸ë¬ë©´ í¸ì¤í¸ ì¡í°ë¹í°ê° í´ë¹ ì¸í°íì´ì¤ë¥¼ 구íí©ëë¤.
-
-ì를 ë¤ì´ ë´ì¤ 리ë ì±ì HeadlinesFragment
ê° ì ííê² ê·¸ ì¼ì í´ ì¤ëë¤.
-
-
-public class HeadlinesFragment extends ListFragment {
- ...
- OnHeadlineSelectedListener mHeadlineSelectedListener = null;
-
- /* Must be implemented by host activity */
- public interface OnHeadlineSelectedListener {
- public void onHeadlineSelected(int index);
- }
- ...
-
- public void setOnHeadlineSelectedListener(OnHeadlineSelectedListener listener) {
- mHeadlineSelectedListener = listener;
- }
-}
-
-
-ê·¸ë° ë¤ì ì¬ì©ìê° í¤ëë¼ì¸ì ì ííë©´ íë그먼í¸ê° íëì½ë©ë í¹ì ì¡í°ë¹í°ë¥¼ ìë¦¬ì§ ìê³ í¸ì¤í¸ ì¡í°ë¹í°ê° ì§ì í 리ì¤ë를 ì립ëë¤.
-
-
-public class HeadlinesFragment extends ListFragment {
- ...
- @Override
- public void onItemClick(AdapterView<?> parent,
- View view, int position, long id) {
- if (null != mHeadlineSelectedListener) {
- mHeadlineSelectedListener.onHeadlineSelected(position);
- }
- }
- ...
-}
-
-
-ì´ ê¸°ì ì íë¸ë¦¿ ë° í´ëì í ì§ì ê°ì´ëìì ìì¸í ì¤ëª
ëì´ ììµëë¤.
-
-
-íë©´ êµ¬ì± ë³ê²½ ì²ë¦¬
-
-ì¸í°íì´ì¤ ì¤ ì¼ë¶ë¥¼ 구ííëë° ë³ëì ì¡í°ë¹í°ë¥¼ ì¬ì© ì¤ì¸ ê²½ì° ì¸í°íì´ì¤ì ì¼ê´ì±ì ì ì§í기 ìí´ í¹ì 구ì±ì ë³ê²½(ì: íë©´ ì í)ì ëìí´ì¼ í©ëë¤.
-
-ì를 ë¤ì´ Android 3.0 ì´ìì ì¤ííë ì¼ë°ì ì¸ 7ì¸ì¹ íë¸ë¦¿ìì ë´ì¤ 리ë ìíì ì¸ë¡ 모ëìì ì¤íë ëìë ë´ì¤ 기ì¬ë¥¼ íìíë ë° ë³ëì ì¡í°ë¹í°ë¥¼ ì¬ì©íì§ë§ ê°ë¡ëª¨ëììë ì´ì¤ ì°½(two-pane) ë ì´ììì ì¬ì©í©ëë¤.
-
-ì¦ ì¬ì©ìê° ì¸ë¡ 모ëì ìê³ ê¸°ì¬ë¥¼ 보기 ìí ì¡í°ë¹í°ê° íë©´ì ìë ê²½ì°, ë°©í¥ì´ ê°ë¡ë¡ ë°ëììì ê°ì§íê³ , ì¡í°ë¹í°ë¥¼ ì¢
ë£í ë¤ì 주ì ì¡í°ë¹í°ë¡ ëìê°ì¼ë¡ì¨ ì½í
ì¸ ê° ì´ì¤ ì°½ ë ì´ìììì íìëëë¡ ì ì íê² ëìí´ì¼ í©ëë¤.
-
-
-public class ArticleActivity extends FragmentActivity {
- int mCatIndex, mArtIndex;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- mCatIndex = getIntent().getExtras().getInt("catIndex", 0);
- mArtIndex = getIntent().getExtras().getInt("artIndex", 0);
-
- // If should be in two-pane mode, finish to return to main activity
- if (getResources().getBoolean(R.bool.has_two_panes)) {
- finish();
- return;
- }
- ...
-}
-
-
-
diff --git a/docs/html/intl/ko/training/multiscreen/index.jd b/docs/html/intl/ko/training/multiscreen/index.jd
deleted file mode 100644
index d9e09b08ae48..000000000000
--- a/docs/html/intl/ko/training/multiscreen/index.jd
+++ /dev/null
@@ -1,64 +0,0 @@
-page.title=ë¤ìí íë©´ ì§ì
-
-trainingnavtop=true
-startpage=true
-next.title=ë¤ìí íë©´ í¬ê¸° ì§ì
-next.link=screensizes.html
-
-@jd:body
-
-
-
-
-
ì구ì¬íê³¼ ì íì¡°ê±´
-
-
-
-
ì°¸ê³ ìë£
-
-
-
-
ë¤ì´ë¡ë
-
-
-
-
-
-
-Androidë ìí í´ëì íììë¶í° ëí TVì ì´ë¥´ê¸°ê¹ì§ ë¤ìí íë©´ í¬ê¸°ì ìë§ì 기기 ì íì ì§ìí©ëë¤. ë°ë¼ì ì í리ì¼ì´ì
ì´ ëª¨ë íë©´ í¬ê¸°ì í¸íëì´ ìµëí ë§ì ì¬ì©ìê° ì¬ì©í ì ìëë¡ ëìì¸íë ê²ì´ ì¤ìí©ëë¤.
-
-íì§ë§ ë¤ìí 기기 ì íê³¼ í¸íëë ê²ë§ì¼ë¡ë 충ë¶íì§ ììµëë¤. ê° íë©´ í¬ê¸°ì ë°ë¼ ì¬ì©ì ìí¸ìì©ì ì 리í ì ê³¼ ë¶ë¦¬í ì ì´ ë¤ë¦
ëë¤. ë°ë¼ì ì¬ì©ììê² ë§ì¡±ì ì£¼ê³ ê¹ì ì¸ìì ì¬ì´ì£¼ë ¤ë©´ ì í리ì¼ì´ì
ì´ ë¨ì§ ì¬ë¬ íë©´ì ì§ìíë ë° ê·¸ì¹ì§ ìê³ íë©´ 구ì±ë³ë¡ ì¬ì©ì íê²½ì ìµì íí´ì¼ í©ëë¤.
-
-ì´ë² ê°ìììë ì¬ë¬ íë©´ 구ì±ì ìµì íë ì¬ì©ì ì¸í°íì´ì¤ë¥¼ 구ííë ë°©ë²ì ì¤ëª
í©ëë¤.
-
-ê° ê°ììì ì¬ì©ëë ì½ëë ì¬ë¬ íë©´ì ëí ìµì íì ëª¨ë² ì¬ë¡ë¥¼ ë³´ì¬ì£¼ë ìí ì í리ì¼ì´ì
ìì ê°ì ¸ì¨ ê²ì
ëë¤. ìí(ì¤ë¥¸ìª½)ì ë¤ì´ë¡ëíì¬ ë³¸ì¸ì ì í리ì¼ì´ì
ì ì½ëë¡ ì¬ì¬ì©í ì ììµëë¤.
-
-ì°¸ê³ : ì´ ê°ì ë° ê°ìì ê´ë ¨ë ìíì í¸íì± ë¼ì´ë¸ë¬ë¦¬ë¥¼ ì¬ì©íë©° ì´ë Android 3.0 ì´í ë²ì ìì {@link android.app.Fragment} API를 ì¬ì©í기 ìí´ìì
ëë¤. ì´ ê°ììì API를 모ë ì¬ì©íë ¤ë©´ ë¼ì´ë¸ë¬ë¦¬ë¥¼ ë¤ì´ë¡ëíì¬ ì í리ì¼ì´ì
ì ì¶ê°í´ì¼ í©ëë¤.
-
-
-ê°ì
-
-
- - ë¤ìí íë©´ í¬ê¸° ì§ì
- - ì´ ê°ìììë ì¬ë¬ ë¤ìí íë©´ í¬ê¸°ì ì¡°ì ëë ë ì´ììì ëìì¸íë ë°©ë²(ì ì°í 보기 í¬ê¸°, {@link android.widget.RelativeLayout}, íë©´ í¬ê¸° ë° ë°©í¥ íì ì, ë³ì¹ íí° ë° ëì¸-í¨ì¹ ë¹í¸ë§µ ì¬ì©í기)ì ìë´í©ëë¤.
-
- - ë¤ìí íë©´ ë°ë ì§ì
- - ì´ ê°ìììë ë¤ìí í½ì
ë°ë를 ê°ì§ íë©´ì ì§ìíë ë°©ë²(ë°ë ë
립í í½ì
(density-independent pixel) ì¬ì©í기 ë° ë°ëë³ë¡ ì í©í ë¹í¸ë§µ ì ê³µí기)ì ì¤ëª
í©ëë¤.
-
- - ì¡°ì í UI íë¡ì° 구í
- - ì´ ê°ìììë ì¬ë¬ íë©´ í¬ê¸°/ë°ë ì¡°í©ì ì¡°ì ëëë¡ UI íë¡ì°ë¥¼ 구ííë ë°©ë²(íì± ë ì´ììì ë°íì ê°ì§, íì¬ ë ì´ììì ë°ë¥¸ ëì, íë©´ êµ¬ì± ë³ê²½ ì²ë¦¬)ì ì¤ëª
í©ëë¤.
-
diff --git a/docs/html/intl/ko/training/multiscreen/screendensities.jd b/docs/html/intl/ko/training/multiscreen/screendensities.jd
deleted file mode 100644
index 5d6e2f3c59b7..000000000000
--- a/docs/html/intl/ko/training/multiscreen/screendensities.jd
+++ /dev/null
@@ -1,100 +0,0 @@
-page.title=ë¤ìí íë©´ ë°ë ì§ì
-parent.title=ë¤ìí íë©´ ì§ì
-parent.link=index.html
-
-trainingnavtop=true
-previous.title=ë¤ìí íë©´ í¬ê¸° ì§ì
-previous.link=screensizes.html
-next.title=ì¡°ì í UI íë¡ì° 구í
-next.link=adaptui.html
-
-@jd:body
-
-
-
-
-
-ì´ ê°ìììë ë¤ìí 리ìì¤ë¥¼ ì ê³µíê³ í´ìë ë
립í(resolution-independent) 측ì ë¨ì를 ì¬ì©í¨ì¼ë¡ì¨ ë¤ìí íë©´ ë°ë를 ì§ìíë ë°©ë²ì ì¤ëª
í©ëë¤.
-
-DIP(Density Independent Pixel) ì¬ì©
-
-ë ì´ììì ëìì¸í ë ë²í기 ì¬ì´ ì¤ì ì¤ íëë ì ë í½ì
(absolute pixel)ì ì¬ì©íì¬ ê±°ë¦¬ë í¬ê¸°ë¥¼ ì ìíë ê²ì
ëë¤. ê° íë©´ì í½ì
ë°ëê° ìë¡ ë¤ë¥¸ë° ë ì´ìì í¬ê¸°ë¥¼ í½ì
ë¡ ì ìíë©´ ëì¼í í½ì
ìì¹ê° ë¤ë¥¸ 기기ìì ë¤ë¥¸ 물리ì í¬ê¸°ì ëìí ì ìì´ ë¬¸ì ê° ë©ëë¤. ë°ë¼ì í¬ê¸°ë¥¼ ì§ì í ëìë íì dp
ëë sp
ë¨ì를 ì¬ì©íì기 ë°ëëë¤. dp
ë 160dpiìì í½ì
ì 물리ì í¬ê¸°ì ëìíë ë°ë ë
립í í½ì
(Density Independent Pixel)ì
ëë¤. sp
ë ëì¼í 기본 ë¨ìì´ì§ë§ ì¬ì©ìì 기본 í
ì¤í¸ í¬ê¸°ì ë°ë¼ íë/ì¶ìë ì ìì¼ë¯ë¡(ë°°ì¨ ë
립í í½ì
(Scale Independent Pixel)ì) í
ì¤í¸ í¬ê¸°ë¥¼ ì ìí ë ì´ ì¸¡ì ë¨ì를 ì¬ì©í´ì¼ í©ëë¤(ë ì´ìì í¬ê¸°ì ì¬ì©í´ìë ìë¨).
-
-ì를 ë¤ì´ ë ê°ì 보기 ì¬ì´ì ì¬ë°±ì ì§ì í ë px
ê° ìë dp
를 ì¬ì©í©ëë¤.
-
-
-<Button android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/clickme"
- android:layout_marginTop="20dp" />
-
-
-í
ì¤í¸ í¬ê¸°ë¥¼ ì§ì í ëìë íì sp
를 ì¬ì©í©ëë¤.
-
-
-<TextView android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:textSize="20sp" />
-
-
-
-ëì²´ ë¹í¸ë§µ ì ê³µ
-
-Androidë íë©´ ë°ëê° ë¤ìí 기기ìì ì¤íëë¯ë¡ ê°ê°ì ì¼ë°íë ë°ë ì¢
ë¥(ì , ì¤, ê³ ë° ì´ê³ ë°ë)ì ë§ì¶¤íë ë¹í¸ë§µ 리ìì¤ë¥¼ ì ê³µí´ì¼ í©ëë¤. ì´ë ê² íë©´ 모ë íë©´ ë°ëìì ì¢ì ê·¸ëí½ íì§ ë° ì±ë¥ì ì»ëë° ëìì´ ë©ëë¤.
-
-ì´ë¬í ì´ë¯¸ì§ë¥¼ ìì±íë ¤ë©´ ë²¡í° íìì ì본 리ìì¤ë¶í° ììí´ì¼ íë©° ë¤ì í¬ê¸° ë°°ì¨ì ì¬ì©íì¬ ê° ë°ëì ì¬ì©í ì´ë¯¸ì§ë¥¼ ìì±í´ì¼ í©ëë¤.
-
-
- xhdpi
: 2.0
- hdpi
: 1.5
- mdpi
: 1.0 (기ì )
- ldpi
: 0.75
-
-
-ì¦ xhdpi
기기ì ëí´ 200x200 ì´ë¯¸ì§ë¥¼ ìì±íë ê²½ì° hdpi
기기ì ëí´ ëì¼í 리ìì¤ë¥¼ 150x150ì¼ë¡ ìì±í´ì¼ íë©° mdpi
기기ì ëí´ìë 100x100, ldpi
기기ì ëí´ìë 75x75ì¼ë¡ ëì¼í 리ìì¤ë¥¼ ìì±í´ì¼ í©ëë¤.
-
-ê·¸ë° ë¤ì ìì±ë ì´ë¯¸ì§ íì¼ì res/
ìëì ì ì í íì ëë í 리ì ë°°ì¹íë©´ ìì¤í
ìì ì í리ì¼ì´ì
ì´ ì¤íëë 기기ì íë©´ ë°ëì ë°ë¼ ì íí ì´ë¯¸ì§ íì¼ì ìëì¼ë¡ ì íí©ëë¤.
-
-
-MyProject/
- res/
- drawable-xhdpi/
- awesomeimage.png
- drawable-hdpi/
- awesomeimage.png
- drawable-mdpi/
- awesomeimage.png
- drawable-ldpi/
- awesomeimage.png
-
-
-ê·¸ë° ë¤ì ì¸ì ë ì§ @drawable/awesomeimage
를 참조íë©´ ìì¤í
ì´ íë©´ì dpiì ë°ë¼ ì í©í ë¹í¸ë§µì ì íí©ëë¤.
-
-ì í리ì¼ì´ì
ì ì¬ì©í ìì´ì½ ì ì물 ì ìì ëí ìì¸í ëìë§ ë° ê°ì´ëë¼ì¸ì ìì´ì½ ëìì¸ ê°ì´ëë¼ì¸ì 참조íì¸ì.
-
diff --git a/docs/html/intl/ko/training/multiscreen/screensizes.jd b/docs/html/intl/ko/training/multiscreen/screensizes.jd
deleted file mode 100644
index f2e77a6e2b04..000000000000
--- a/docs/html/intl/ko/training/multiscreen/screensizes.jd
+++ /dev/null
@@ -1,279 +0,0 @@
-page.title=ë¤ìí íë©´ í¬ê¸° ì§ì
-parent.title=ë¤ìí íë©´ ì§ì
-parent.link=index.html
-
-trainingnavtop=true
-next.title=ë¤ìí íë©´ ë°ë ì§ì
-next.link=screendensities.html
-
-@jd:body
-
-
-
-
-
-ì´ ê°ìììë ë¤ìí íë©´ í¬ê¸°ë¥¼ ì§ìíë ë°©ë²ì ì¤ëª
í©ëë¤.
-
- - íë©´ì ë§ê² ë ì´ìì í¬ê¸° ì¡°ì
- - íë©´ 구ì±ì ë°ë¼ ì í©í UI ë ì´ìì ì ê³µ
- - ì¬ë°ë¥¸ íë©´ì ì¬ë°ë¥¸ ë ì´ìì ì ì©
- - ì ííê² íëëë ë¹í¸ë§µ ì ê³µ
-
-
-
-'wrap_content' ë° 'match_parent' ì¬ì©
-
-ë ì´ììì´ ë¤ìí íë©´ í¬ê¸°ì ë°ë¼ ì ì°íê² ì¡°ì ëëë¡ íë ¤ë©´ ì¼ë¶ ë·° 구ì±ììì ëë¹ì ëì´ì "wrap_content"
ë° "match_parent"
를 ì¬ì©í´ì¼ í©ëë¤. "wrap_content"
를 ì¬ì©íë©´ ë·°ì ëë¹ì ëì´ê° í´ë¹ ë·° ë´ì ì½í
ì¸ ê° ë¤ì´ê°ëë° íìí ìµì í¬ê¸°ë¡ ì¤ì ëë ë°ë©´, "match_parent"
(API ìì¤ 8 ì´ì ìë "fill_parent"
ë¼ê³ ë í¨)를 ì¬ì©íë©´ 구ì±ììê° íì¥ëì´ ë¶ëª¨ë·°ì í¬ê¸°ì ì¼ì¹íê² ë©ëë¤.
-
-íëì½ë©ë í¬ê¸° ëì "wrap_content"
í¬ê¸° ê°ì ì¬ì©íë©´ ë·°ê° í´ë¹ ë·°ì íìí ì¬ë°±ë§ì ì¬ì©íë©° "match_parent"
í¬ê¸° ê°ì ì¬ì©íë©´ ë·°ê° íëëì´ ì¬ì© ê°ë¥í ì¬ë°±ì ì±ìëë¤. ì를 ë¤ë©´ ë¤ìê³¼ ê°ìµëë¤.
-
-{@sample development/samples/training/multiscreen/newsreader/res/layout/onepane_with_bar.xml all}
-
-ìíìì 구ì±ìì í¬ê¸°ì í¹ì í¬ê¸°ê° ìë "wrap_content"
ë° "match_parent"
ê° ì¬ì©ë ê²ì ëì¬ê²¨ ë³´ì기 ë°ëëë¤. ì´ë ê² íë©´ ë ì´ììì´ ë¤ìí íë©´ í¬ê¸° ë° ë°©í¥ì ë§ê² ì¡°ì ë©ëë¤.
-
-ì를 ë¤ì´ ì¸ë¡ ë° ê°ë¡ 모ëìì ë ì´ììì ë¤ìê³¼ ê°ì´ íìë©ëë¤. 구ì±ììì í¬ê¸°ê° ëë¹ì ëì´ì ë§ê² ìëì¼ë¡ ì¡°ì ë©ëë¤.
-
-
-그림 1. ì¸ë¡ 모ë(ì¼ìª½) ë° ê°ë¡ 모ë(ì¤ë¥¸ìª½)ììì ë´ì¤ 리ë ìí ì±
-
-
-RelativeLayout ì¬ì©
-
-ë¹êµì ë³µì¡í ë ì´ììì ë§ë¤ë ¤ë©´ {@link android.widget.LinearLayout}ì ì¤ì²© ì¸ì¤í´ì¤ì "wrap_content"
ë° "match_parent"
í¬ê¸°ì ì¡°í©ì ì¬ì©í©ëë¤. íì§ë§ {@link android.widget.LinearLayout} ì ì¬ì©íë©´ ììë·°ì ì¬ë°± ê´ê³ë¥¼ ì ííê² ì ì´í ì ìì¼ë©° {@link android.widget.LinearLayout} ë¨ìí ëëíê² íìë©ëë¤. ìì뷰를 ì¼ì§ì ì´ ìë ë¤ìí ë°©í¥ì¼ë¡ íìí´ì¼ íë ê²½ì° êµ¬ì±ìì ì¬ì´ì ì¬ë°± ê´ê³ë¥¼ ì¤ì¬ì¼ë¡ ë ì´ììì ì§ì í ì ìë {@link android.widget.RelativeLayout}ì ì¬ì©íë ê²ì´ ë ì¢ì ë°©ë²ì¼ ì ììµëë¤. ì를 ë¤ì´ íë©´ ì¼ìª½ì íëì ìì뷰를, ì¤ë¥¸ìª½ì ë¤ë¥¸ ìì뷰를 ì ë ¬í ì ììµëë¤.
-
-ì를 ë¤ë©´ ë¤ìê³¼ ê°ìµëë¤.
-
-
-<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
- <TextView
- android:id="@+id/label"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="Type here:"/>
- <EditText
- android:id="@+id/entry"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_below="@id/label"/>
- <Button
- android:id="@+id/ok"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_below="@id/entry"
- android:layout_alignParentRight="true"
- android:layout_marginLeft="10dp"
- android:text="OK" />
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_toLeftOf="@id/ok"
- android:layout_alignTop="@id/ok"
- android:text="Cancel" />
-</RelativeLayout>
-
-
-그림 2ë ì´ ë ì´ììì´ QVGA íë©´ì ì´ë»ê² íìëëì§ ë³´ì¬ì¤ëë¤.
-
-
-그림 2. QVGA íë©´(ìì íë©´)ì ì¤í¬ë¦°ì·
-
-그림 3ì ì´ ë ì´ììì´ í° íë©´ìì ì´ë»ê² íìëëì§ ë³´ì¬ì¤ëë¤.
-
-
-그림 3. WSVGA íë©´(í° íë©´)ì ì¤í¬ë¦°ì·
-
-구ì±ììì í¬ê¸°ê° ë³íëë¼ë ì¬ë°± ê´ê³ê° {@link android.widget.RelativeLayout.LayoutParams}.
-
-
-í¬ê¸° íì ì ì¬ì©
-
-ì´ì ì¹ì
ìì ë¤ë£¬ ì ì°í ë ì´ììì´ë ìëì ë ì´ììì¼ë¡ë íê³ê° ììµëë¤. ì´ë¬í ë ì´ììì´ êµ¬ì±ìì ë´ë¶ ë° ì£¼ìì ì¬ë°±ì íì¥íì¬ ë¤ìí íë©´ì ë§ê² ì¡°ì ë긴 íì§ë§ íë©´ í¬ê¸°ë³ë¡ ìµì ì ì¬ì©ì íê²½ì ì ê³µíì§ë 못í ì ììµëë¤. ë°ë¼ì ì í리ì¼ì´ì
ì ì ì°í ë ì´ììì 구íí ë¿ ìëë¼ ë¤ìí íë©´ 구ì±ì íê²í
í ì ìëë¡ ë¤ìí ëì²´ ë ì´ììì ì ê³µí´ì¼ í©ëë¤. ê·¸ ë°©ë²ì ë°íìì´ íì¬ ê¸°ê¸°ì 구ì±ì ë°ë¼ ì í©í 리ìì¤(ì: íë©´ í¬ê¸°ë³ë¡ ë¤ë¥¸ ë ì´ìì ëìì¸)를 ìëì¼ë¡ ì ííëë¡ í´ ì£¼ë êµ¬ì± íì ì를 ì¬ì©íë ê²ì
ëë¤.
-
-ì를 ë¤ì´ ë§ì ì í리ì¼ì´ì
ì´ í° íë©´ì 'ì´ì¤ ì°½(two pane)' í¨í´ì 구íí©ëë¤(í 쪽 ì°½ìë ìì´í
ì 목ë¡ì íìíê³ ë¤ë¥¸ ì°½ìë ì½í
ì¸ ë¥¼ íì). íë¸ë¦¿ ë° TVë ë ê°ì ì°½ 모ëê° íë©´ì ëìì ë¤ì´ê° ì ëë¡ í¬ì§ë§ í´ëì í íë©´ì ë ì°½ì ë°ë¡ íìí´ì¼ í©ëë¤. ë°ë¼ì ì´ë¬í ë ì´ììì 구ííë ¤ë©´ ë¤ì íì¼ì´ ìì´ì¼ í©ëë¤.
-
-
- res/layout/main.xml
, ë¨ì¼ ì°½(기본ê°) ë ì´ìì:
-
-{@sample development/samples/training/multiscreen/newsreader/res/layout/onepane.xml all}
-
- res/layout-large/main.xml
, ì´ì¤ ì°½ ë ì´ìì:
-
-{@sample development/samples/training/multiscreen/newsreader/res/layout/twopanes.xml all}
-
-
-
-ë ë²ì§¸ ë ì´ììì ëë í 리 ì´ë¦ìì large
íì ì를 ëì¬ê²¨ ë³´ì기 ë°ëëë¤. ì´ ë ì´ììì ëí(ì: 7ì¸ì¹ íë¸ë¦¿ ì´ì)ì¼ë¡ ë¶ë¥ë íë©´ì ê°ì§ 기기ìì ì íë©ëë¤. íì ìê° ìë ë¤ë¥¸ ë ì´ììì ìí 기기ìì ì íë©ëë¤.
-
-
-ìµì ëë¹ íì ì ì¬ì©
-
-Android 3.2 ì´ì 기기ìì ê°ë°ìê° ì´ë ¤ìì ëê¼ë 문ì ì¤ì íëë Dell Streak, ìµì´ì Galaxy í ë° 7ì¸ì¹ íë¸ë¦¿ì ë루 ì¬ì©ëë 'í°' íë©´ í¬ê¸° ë¹ì´ììµëë¤. íì§ë§ ë§ì ì í리ì¼ì´ì
ì íë©´ì´ 'í°' ê¸°ê¸°ë¼ íëë¼ë ì´ ì¹´í
ê³ ë¦¬(ì: 5ì¸ì¹ ë° 7ì¸ì¹ 기기)ì ìíë ë¤ìí 기기ì ë¤ìí ë ì´ììì íìíê³ ì¶ì´ í©ëë¤. ì´ê²ì´ Androidìì Android 3.2ì 'ìµì ëë¹' íì ì를 ëì
í ì´ì ì
ëë¤.
-
-ìµì ëë¹ íì ì를 ì¬ì©íë©´ dp ë¨ìì í¹ì ìµì ëë¹ë¥¼ ê°ì§ íë©´ì íê²í
í ì ììµëë¤. ì를 ë¤ì´ ì¼ë°ì ì¸ 7ì¸ì¹ íë¸ë¦¿ìë 600dpë¼ë ìµì ëë¹ê° ìì¼ë¯ë¡ ì´ë¬í íë©´ìì ë ê°ì ì°½ì UI를 ì¬ì©(ìì íë©´ììë ë¨ì¼ ëª©ë¡ ì¬ì©) íê³ ì¶ì ê²½ì° ë¨ì¼ ë° ì´ì¤ ì°½ ë ì´ììì ì´ì ì¹ì
ê³¼ ëì¼í ë ì´ììì ì¬ì©íë©´ ëì§ë§, ì´ì¤ ì°½ ë ì´ììì ìµì ëë¹ê° 600dpì¸ íë©´ì ì¬ì©íë¤ë ê²ì ëíë´ê¸° ìí´ì large
í¬ê¸° íì ì ëì sw600dp
를 ì¬ì©í´ì¼ í©ëë¤.
-
-
- res/layout/main.xml
, ë¨ì¼ ì°½(기본ê°) ë ì´ìì:
-
-{@sample development/samples/training/multiscreen/newsreader/res/layout/onepane.xml all}
-
- res/layout-sw600dp/main.xml
, ì´ì¤ ì°½ ë ì´ìì:
-
-{@sample development/samples/training/multiscreen/newsreader/res/layout/twopanes.xml all}
-
-
-
-ì´ë ìµì ëë¹ê° 600dp ì´ìì¸ ê¸°ê¸°ë layout-sw600dp/main.xml
(ì´ì¤ ì°½) ë ì´ììì ì ííë ë°ë©´ ìí íë©´ì layout/main.xml
(ë¨ì¼ ì°½) ë ì´ììì ì ííë¤ë ê²ì ì미í©ëë¤.
-
-íì§ë§ Android 3.2 ì´ì 기기ë sw600dp
를 í¬ê¸° íì ìë¡ ì¸ìíì§ ì기 ë문ì ìµì ëë¹ íì ìê° ì ëë¡ ìëíì§ ìì¼ë©° ë°ë¼ì large
íì ìë ê³ì ì¬ì©í´ì¼ í©ëë¤. ë°ë¼ì res/layout-large/main.xml
ë¼ë ì´ë¦ì íì¼ì´ ìì´ì¼ íë©° ì´ íì¼ì res/layout-sw600dp/main.xml
ê³¼ ëì¼í íì¼ì
ëë¤. ë¤ì ì¹ì
ììë ì´ë° ìì¼ë¡ ë ì´ìì íì¼ì´ ì¤ë³µëì§ ìê² íë 기ì ì ì´í´ë³´ê² ìµëë¤.
-
-
-ë ì´ìì ë³ì¹ ì¬ì©
-
-ìµì ëë¹ íì ìë Android 3.2 ì´ì ë²ì ììë§ ì¬ì©í ì ììµëë¤. ë°ë¼ì ì´ì ë²ì ê³¼ í¸íëëë¡ íë ¤ë©´ ì¶ìí í¬ê¸° ë¹(ìí, ë³´íµ, ëí ë° ì´ëí)ì ê³ì ì¬ì©í´ì¼ í©ëë¤. ì를 ë¤ì´ í´ëì íììë ë¨ì¼ ì°½ UIê° íìëê³ 7ì¸ì¹ íë¸ë¦¿, TV ë° ê¸°í ëí 기기ììë ë¤ì¤ ì°½ UIê° íìëëë¡ UI를 ëìì¸íë ¤ë©´ ë¤ì íì¼ì ì ê³µí´ì¼ í©ëë¤.
-
-
-res/layout/main.xml:
ë¨ì¼ ì°½ ë ì´ìì
-res/layout-large:
ë¤ì¤ ì°½ ë ì´ìì
-res/layout-sw600dp:
ë¤ì¤ ì°½ ë ì´ìì
-
-
-ë§ì§ë§ ë ê°ì íì¼ì íëë Android 3.2 기기ì ì¼ì¹íê³ ë¤ë¥¸ íëë ì´ì ë²ì ì Androidê° íì¬ë íë¸ë¦¿ ë° TV를 ìí ê²ì¼ë¡ ìë¡ ëì¼í íì¼ì
ëë¤.
-
-ì´ ê²½ì° ë³ì¹ íì¼ì ì¬ì©íë©´ íë¸ë¦¿ ë° TVì©ì¼ë¡ ëì¼í íì¼ì´ ì¤ë³µëì§ ìëë¡ íê³ ì´ë¥¼ ê´ë¦¬í´ì¼ íë ë²ê±°ë¡ìì ìì¨ ì ììµëë¤. ì를 ë¤ì´ ë¤ì ë ì´ììì ì§ì í ì ììµëë¤.
-
-
-res/layout/main.xml
, ë¨ì¼ ì°½ ë ì´ìì
-res/layout/main_twopanes.xml
, ì´ì¤ ì°½ ë ì´ìì
-
-
-ëí ë¤ì ë ê°ì íì¼ì ì¶ê°í©ëë¤.
-
-
-
-ë¤ì ìë ë ê°ì íì¼ì ì½í
ì¸ ë ëì¼íì§ë§ ì¤ì ë¡ ë ì´ììì ì§ì íì§ë ìì¼ë©° ë¨ì§ {@code main} ì´ {@code main_twopanes}ì ëí ë³ì¹ì´ ëëë¡ ì¤ì í©ëë¤. ì´ íì¼ìë large
ë° sw600dp
ì íê¸°ê° ìì¼ë¯ë¡ Android ë²ì ì ê´ê³ìì´ íë¸ë¦¿ ë° TVì ì ì©ë©ëë¤(3.2 ë²ì ì´ì ì íë¸ë¦¿ ë° TVë
-{@code large},3.2 ì´í ë²ì ì sw600dp
ì ì¼ì¹).
-
-
-ë°©í¥ íì ì ì¬ì©
-
-ì¼ë¶ ë ì´ììì ê°ë¡ ë° ì¸ë¡ ë°©í¥ ëª¨ëìì ì ìëíì§ë§ ëë¶ë¶ì ë ì´ììì ì¡°ì ì íµí´ ë§ì ì´ì ì ë릴 ì ììµëë¤. ë¤ìì ë´ì¤ 리ë ìí ì±ìì íë©´ í¬ê¸°ì ë°©í¥ë³ë¡ ë ì´ììì´ ì´ë»ê² ìëíëì§ ë³´ì¬ì¤ëë¤.
-
-
-- ìí íë©´, ì¸ë¡: ë¨ì¼ ì°½, ë¡ê³ íì
-- ìí íë©´, ê°ë¡: ë¨ì¼ ì°½, ë¡ê³ íì
-- 7ì¸ì¹ íë¸ë¦¿, ì¸ë¡: ë¨ì¼ ì°½, ìì
íìì¤ íì
-- 7ì¸ì¹ íë¸ë¦¿, ê°ë¡: ì´ì¤ ì°½, ìì´ë, ìì
íìì¤ íì
-- 10ì¸ì¹ íë¸ë¦¿, ì¸ë¡: ì´ì¤ ì°½, ë´ë¡ì°, ìì
íìì¤ íì
-- 10ì¸ì¹ íë¸ë¦¿, ê°ë¡: ì´ì¤ ì°½, ìì´ë, ìì
íìì¤ íì
-- TV, ê°ë¡: ì´ì¤ ì°½, ìì´ë, ìì
íìì¤ íì
-
-
-ë°ë¼ì ì´ë¬í ê° ë ì´ììì res/layout/
ëë í 리ì XML íì¼ìì ì§ì ë©ëë¤. ê·¸ë¬ë©´ ì±ì ê° ë ì´ììì ë¤ìí íë©´ 구ì±ì ì§ì í기 ìí´ ë ì´ìì ë³ì¹ì ì¬ì©í´ ë ì´ììì ê° êµ¬ì±ê³¼ ì¼ì¹ìíµëë¤.
-
-res/layout/onepane.xml:
-{@sample development/samples/training/multiscreen/newsreader/res/layout/onepane.xml all}
-
-res/layout/onepane_with_bar.xml:
-{@sample development/samples/training/multiscreen/newsreader/res/layout/onepane_with_bar.xml all}
-
-res/layout/twopanes.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/layout/twopanes.xml all}
-
-res/layout/twopanes_narrow.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/layout/twopanes_narrow.xml all}
-
-ê°ë¥í ë ì´ììì 모ë ì§ì íì¼ë¯ë¡ êµ¬ì± íì ì를 ì¬ì©íì¬ ì¬ë°ë¥¸ ë ì´ììì ê° êµ¬ì±ì 매ííê¸°ë§ íë©´ ëë©° ì´ë ë ì´ìì ë³ì¹ 기ì ì ì¬ì©íë©´ ë©ëë¤.
-
-res/values/layouts.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/values/layouts.xml all}
-
-res/values-sw600dp-land/layouts.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/values-sw600dp-land/layouts.xml
-all}
-
-res/values-sw600dp-port/layouts.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/values-sw600dp-port/layouts.xml
-all}
-
-res/values-large-land/layouts.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/values-large-land/layouts.xml all}
-
-res/values-large-port/layouts.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/values-large-port/layouts.xml all}
-
-
-
-ëì¸-í¨ì¹ ë¹í¸ë§µ ì¬ì©
-
-ì¼ë°ì ì¼ë¡ ë¤ìí íë©´ í¬ê¸°ë¥¼ ì§ìíë ¤ë©´ ì´ë¯¸ì§ 리ìì¤ë ë¤ìí í¬ê¸°ì ë§ê² ì¡°ì ë ì ìì´ì¼ í©ëë¤. ì를 ë¤ì´ ë²í¼ ë°°ê²½ì ë²í¼ ë°°ê²½ì´ ì ì©ëë 모ë ë²í¼ 모ìê³¼ ë§ìì¼ í©ëë¤.
-
-구ì±ììì í¬ê¸°ê° ë°ë ì ìë ë¨ìí ì´ë¯¸ì§ë¥¼ ì¬ì©íë ê²½ì° ë°íìì´ ì´ë¯¸ì§ë¥¼ ê· ë±íê² íëíê±°ë ì¶ìí기 ë문ì 기ëì 미ì¹ì§ 못íë ê²°ê³¼ê° ëìµëë¤. ì´ì ëí í´ê²° ë°©ë²ì íëë ì ìë ììê³¼ íëë ì ìë ììì ëíë´ë í¹ë³í íìì PNG íì¼ì¸ ëì¸-í¨ì¹ ë¹í¸ë§µì ì¬ì©íë ê²ì
ëë¤.
-
-ë°ë¼ì ë¤ìí í¬ê¸°ë¥¼ ê°ì§ 구ì±ììì ì¬ì©í ë¹í¸ë§µì ëìì¸í ëìë íì ëì¸-í¨ì¹ë¥¼ ì¬ì©íì기 ë°ëëë¤. ë¹í¸ë§µì ëì¸-í¨ì¹ë¡ ë³ííë ¤ë©´ ì¼ë°ì ì¸ ì´ë¯¸ì§ë¶í° ììí©ëë¤(그림 4, ëª
ííê² ë³´ì´ëë¡ 4ë°° ì¤ì¼ë¡ íì).
-
-
-그림 4. button.png
-
-ê·¸ ë¤ì ì´ ì´ë¯¸ì§ì SDKì draw9patch
ì í¸ë¦¬í°(tools/
ëë í 리ì ìì)를 ì¤íí©ëë¤. ì´ ë ì¼ìª½ ë° ìë¨ í
ë리를 ë°ë¼ í½ì
ì ê·¸ë ¤ íëëì´ì¼ í ììì íìí ì ììµëë¤. ëí ì¤ë¥¸ìª½ ë° íë¨ í
ë리를 ë°ë¼ í½ì
ì ê·¸ë ¤ ì½í
ì¸ ê° ë¤ì´ê°ì¼ í ììì íìí ì ìì¼ë©° ê·¸ ê²°ê³¼ë 그림 5ì ê°ìµëë¤.
-
-
-그림 5. button.9.png
-
-í
ë리를 ë°ë¼ ìë ê²ìì í½ì
ì ëì¬ê²¨ ë³´ì기 ë°ëëë¤. ìë¨ ë° ì¼ìª½ í
ë리ì í½ì
ì ì´ë¯¸ì§ê° íëë ì ìë ììì ëíë´ë©° ì¤ë¥¸ìª½ ë° íë¨ í
ë리ë ì½í
ì¸ ê° ìì¹í´ì¼ íë ììì ëíë
ëë¤.
-
-ëí .9.png
íì¥ì를 íì¸íì기 ë°ëëë¤. íë ììí¬ë ì´ íì¥ì를 íµí´ ì´ë¯¸ì§ê° ì¼ë°ì ì¸ PNG ì´ë¯¸ì§ê° ìë ëì¸-í¨ì¹ ì´ë¯¸ì§ìì ê°ì§í ì ìì¼ë¯ë¡ ì´ íì¥ì를 ì¬ì©í´ì¼ í©ëë¤.
-
-android:background="@drawable/button"
ì ì¤ì íì¬ ì´ ë°°ê²½ì 구ì±ììì ì ì©íë©´ 그림 6ì ë¤ìí í¬ê¸°ë¡ íìë ê²ì²ë¼ íë ììí¬ê° ë²í¼ì í¬ê¸°ë¥¼ ìì©í ì ìëë¡ ì´ë¯¸ì§ë¥¼ ì¬ë°ë¥´ê² íëí©ëë¤.
-
-
-그림 6. ë¤ìí í¬ê¸°ì button.9.png
ëì¸-í¨ì¹ë¥¼ ì¬ì©íë ë²í¼
-
diff --git a/docs/html/intl/ru/training/monitoring-device-state/battery-monitoring.jd b/docs/html/intl/ru/training/monitoring-device-state/battery-monitoring.jd
deleted file mode 100644
index 26daf04bd1ce..000000000000
--- a/docs/html/intl/ru/training/monitoring-device-state/battery-monitoring.jd
+++ /dev/null
@@ -1,120 +0,0 @@
-page.title=Monitoring the Battery Level and Charging State
-parent.title=Optimizing Battery Life
-parent.link=index.html
-
-trainingnavtop=true
-next.title=Determining and Monitoring the Docking State and Type
-next.link=docking-monitoring.html
-
-@jd:body
-
-
-
-ÐÑли Ð²Ñ Ñ
оÑиÑе измениÑÑ ÑаÑÑоÑÑ ÑоновÑÑ
обновлений, ÑÑÐ¾Ð±Ñ Ð¿ÑодлиÑÑ Ð²ÑÐµÐ¼Ñ ÑабоÑÑ ÑÑÑÑойÑÑва Ð¾Ñ Ð±Ð°ÑаÑеи, ÑнаÑала ÑекомендÑеÑÑÑ Ð¿ÑовеÑиÑÑ ÑекÑÑий ÑÑÐ¾Ð²ÐµÐ½Ñ Ð·Ð°ÑÑда и ÑоÑÑоÑние заÑÑдки.
-
-Ðменно Ð¾Ñ ÑÑиÑ
двÑÑ
ÑакÑоÑов завиÑиÑ, как Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð²Ð»Ð¸ÑÑÑ Ð½Ð° вÑÐµÐ¼Ñ ÑабоÑÑ ÑÑÑÑойÑÑва Ð¾Ñ Ð±Ð°ÑаÑеи. Ðогда ÑÑÑÑойÑÑво подклÑÑено к ÑеÑи пеÑеменного Ñока, пÑиложение можно обновлÑÑÑ Ð¼Ð°ÐºÑималÑно ÑаÑÑо, поÑколÑÐºÑ Ð¿ÑоÑеÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ðµ бÑÐ´ÐµÑ ÑказÑваÑÑÑÑ Ð½Ð° ÑÑовне заÑÑда баÑаÑеи. ÐÑли ÑÑÑÑойÑÑво не подклÑÑено к ÑеÑи, ÑледÑÐµÑ Ð²Ð¾Ð·Ð´ÐµÑжаÑÑÑÑ Ð¾Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ð¹, ÑÑÐ¾Ð±Ñ Ð¿ÑодлиÑÑ Ð²ÑÐµÐ¼Ñ ÐµÐ³Ð¾ ÑабоÑÑ Ð¾Ñ Ð±Ð°ÑаÑеи.
-
-ÐÑли заÑÑд баÑаÑеи пÑакÑиÑеÑки иÑÑеÑпан, можно ÑнизиÑÑ ÑаÑÑоÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ð¹ (вплоÑÑ Ð´Ð¾ иÑ
полного пÑекÑаÑениÑ).
-
-
-ÐпÑеделение ÑекÑÑего ÑоÑÑоÑÐ½Ð¸Ñ Ð·Ð°ÑÑдки
-
-ÐаÑниÑе Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÑекÑÑего ÑоÑÑоÑÐ½Ð¸Ñ Ð·Ð°ÑÑдки. {@link android.os.BatteryManager} пеÑÐµÐ´Ð°ÐµÑ Ð²Ñе ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ баÑаÑее и заÑÑдке в закÑепленном намеÑении {@link android.content.Intent}, коÑоÑое ÑодеÑÐ¶Ð¸Ñ Ñакже инÑоÑмаÑÐ¸Ñ Ð¾ ÑоÑÑоÑнии заÑÑдки.
-
-ÐоÑколÑÐºÑ ÑÑо намеÑение ÑвлÑеÑÑÑ Ð·Ð°ÐºÑепленнÑм, ÑегиÑÑÑиÑоваÑÑ {@link android.content.BroadcastReceiver} не нÑжно. ЧÑÐ¾Ð±Ñ Ð¿Ð¾Ð»ÑÑиÑÑ ÑекÑÑее ÑоÑÑоÑние баÑаÑеи в виде намеÑениÑ, нÑжно вÑзваÑÑ {@code registerReceiver}, пеÑедав {@code null} в каÑеÑÑве пÑиемника, как показано в коде ниже. Ðожно Ñакже пеÑедаÑÑ ÑакÑиÑеÑкий обÑÐµÐºÑ {@link android.content.BroadcastReceiver}, но ÑÑо необÑзаÑелÑно, поÑколÑÐºÑ Ð¾Ð±ÑабоÑка обновлений бÑÐ´ÐµÑ Ð²ÑполнÑÑÑÑÑ Ð¿Ð¾Ð·Ð´Ð½ÐµÐµ.
-
-IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
-Intent batteryStatus = context.registerReceiver(null, ifilter);
-
-Ðожно извлеÑÑ Ð´Ð°Ð½Ð½Ñе как о ÑекÑÑем ÑоÑÑоÑнии, Ñак и об иÑÑоÑнике заÑÑдки (USB или ÑеÑÑ Ð¿ÐµÑеменного Ñока), еÑли ÑÑÑÑойÑÑво заÑÑжаеÑÑÑ:
-
-
// Are we charging / charged?
-int status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
-boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
- status == BatteryManager.BATTERY_STATUS_FULL;
-
-// How are we charging?
-int chargePlug = battery.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
-boolean usbCharge = chargePlug == BATTERY_PLUGGED_USB;
-boolean acCharge = chargePlug == BATTERY_PLUGGED_AC;
-
-Ðак пÑавило, еÑли ÑÑÑÑойÑÑво подклÑÑено к ÑеÑи пеÑеменного Ñока, ÑоновÑе Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ вÑполнÑÑÑ Ñ Ð¼Ð°ÐºÑималÑной ÑаÑÑоÑой. ÐÑли ÑÑÑÑойÑÑво заÑÑжаеÑÑÑ ÑеÑез USB, ÑаÑÑоÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ неÑколÑко ÑокÑаÑиÑÑ, а еÑли ÑÑÑÑойÑÑво не подклÑÑено к ÑеÑи â ÑокÑаÑиÑÑ ÐµÑе болÑÑе.
-
-
-ÐÑÑлеживание изменений ÑоÑÑоÑÐ½Ð¸Ñ Ð·Ð°ÑÑдки
-
-СоÑÑоÑние заÑÑдки изменÑеÑÑÑ Ð²ÑÑкий Ñаз, когда полÑзоваÑÐµÐ»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐ°ÐµÑ ÑÑÑÑойÑÑво к иÑÑоÑÐ½Ð¸ÐºÑ Ð¿Ð¸ÑаниÑ. ÐоÑколÑÐºÑ ÑÑо ÑлÑÑаеÑÑÑ Ð´Ð¾Ð²Ð¾Ð»Ñно ÑаÑÑо, важно оÑÑлеживаÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑÑого ÑоÑÑоÑÐ½Ð¸Ñ Ð¸ ÑооÑвеÑÑÑвÑÑÑим обÑазом коÑÑекÑиÑоваÑÑ ÑаÑÑоÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿ÑиложениÑ.
-
-{@link android.os.BatteryManager} пеÑÐµÐ´Ð°ÐµÑ Ð´ÐµÐ¹ÑÑвие каждÑй Ñаз, когда ÑÑÑÑойÑÑво подклÑÑаеÑÑÑ Ðº иÑÑоÑÐ½Ð¸ÐºÑ Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ð¸Ð»Ð¸ оÑклÑÑаеÑÑÑ Ð¾Ñ Ð½ÐµÐ³Ð¾. Ðажно полÑÑаÑÑ ÑÑи ÑобÑÑиÑ, даже еÑли пÑиложение не ÑабоÑаеÑ. Ðни помогÑÑ, в ÑаÑÑноÑÑи, опÑеделиÑÑ, как ÑаÑÑо бÑÐ´ÐµÑ Ð·Ð°Ð¿ÑÑкаÑÑÑÑ Ð¿Ñиложение Ð´Ð»Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑоновÑÑ
обновлений. ЧÑÐ¾Ð±Ñ Ð¾ÑÑлеживаÑÑ Ð¸Ñ
, заÑегиÑÑÑиÑÑйÑе {@link android.content.BroadcastReceiver} в маниÑеÑÑе, задав {@link android.content.Intent#ACTION_POWER_CONNECTED} и {@link android.content.Intent#ACTION_POWER_DISCONNECTED} в ÑилÑÑÑе намеÑений.
-
-<receiver android:name=".PowerConnectionReceiver">
- <intent-filter>
- <action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>
- <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/>
- </intent-filter>
-</receiver>
-
-СооÑвеÑÑÑвÑÑÑÐ°Ñ ÑеализаÑÐ¸Ñ {@link android.content.BroadcastReceiver} позволÑÐµÑ Ð¸Ð·Ð²Ð»ÐµÑÑ Ð´Ð°Ð½Ð½Ñе о ÑекÑÑем ÑоÑÑоÑнии и ÑпоÑобе заÑÑдки, как опиÑано в пÑедÑдÑÑем Ñаге.
-
-public class PowerConnectionReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
- boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
- status == BatteryManager.BATTERY_STATUS_FULL;
-
- int chargePlug = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
- boolean usbCharge = chargePlug == BATTERY_PLUGGED_USB;
- boolean acCharge = chargePlug == BATTERY_PLUGGED_AC;
- }
-}
-
-
-ÐпÑеделение ÑекÑÑего ÑÑÐ¾Ð²Ð½Ñ Ð·Ð°ÑÑда баÑаÑеи
-
-РнекоÑоÑÑÑ
ÑлÑÑаÑÑ
ÑелеÑообÑазно опÑеделÑÑÑ ÑекÑÑий ÑÑÐ¾Ð²ÐµÐ½Ñ Ð·Ð°ÑÑда баÑаÑеи. ÐÑли он ниже опÑеделенного знаÑениÑ, ÑаÑÑоÑÑ ÑоновÑÑ
обновлений ÑледÑÐµÑ ÑменÑÑиÑÑ.
-
-УзнаÑÑ, каков в наÑÑоÑÑий Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð·Ð°ÑÑд баÑаÑеи, можно пÑÑем извлеÑÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ
о ÑекÑÑем и макÑималÑном ÑÑовне заÑÑда из намеÑÐµÐ½Ð¸Ñ ÑоÑÑоÑÐ½Ð¸Ñ Ð±Ð°ÑаÑеи, как показано в ÑÑом коде:
-
-int level = battery.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
-int scale = battery.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
-
-float batteryPct = level / (float)scale;
-
-
-ÐÑÑлеживание ÑÑÑеÑÑвеннÑÑ
изменений ÑÑÐ¾Ð²Ð½Ñ Ð·Ð°ÑÑда баÑаÑеи
-
-ÐÑÑлеживаÑÑ ÑоÑÑоÑние баÑаÑеи непÑеÑÑвно не ÑледÑеÑ,
-
-поÑколÑÐºÑ Ð¿Ñи ÑÑом нагÑÑзка на баÑаÑÐµÑ Ð±ÑÐ´ÐµÑ Ð·Ð½Ð°ÑиÑелÑно вÑÑе, Ñем пÑи обÑÑной ÑабоÑе пÑиложениÑ. РекомендÑеÑÑÑ Ð¾ÑÑлеживаÑÑ ÑолÑко ÑÑÑеÑÑвеннÑе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑÑÐ¾Ð²Ð½Ñ Ð·Ð°ÑÑда, в ÑаÑÑноÑÑи, пеÑеÑ
од ÑÑÑÑойÑÑва в ÑоÑÑоÑние низкого заÑÑда и обÑаÑно.
-
-ФÑÐ°Ð³Ð¼ÐµÐ½Ñ Ð¼Ð°Ð½Ð¸ÑеÑÑа, пÑиведеннÑй ниже, оÑноÑиÑÑÑ Ðº ÑилÑÑÑÑ Ð½Ð°Ð¼ÐµÑений в пÑиемнике ÑиÑоковеÑаÑелÑнÑÑ
намеÑений. ÐÑиемник ÑÑабаÑÑваеÑ, когда баÑаÑÐµÑ ÑÑÑÑойÑÑва пеÑеÑ
Ð¾Ð´Ð¸Ñ Ð² ÑоÑÑоÑние низкого заÑÑда или вÑÑ
Ð¾Ð´Ð¸Ñ Ð¸Ð· него. ÐÐ»Ñ ÑÑого пÑоÑлÑÑиваÑÑÑÑ ÑобÑÑÐ¸Ñ {@link android.content.Intent#ACTION_BATTERY_LOW} и {@link android.content.Intent#ACTION_BATTERY_OKAY}.
-
-<receiver android:name=".BatteryLevelReceiver">
-<intent-filter>
- <action android:name="android.intent.action.ACTION_BATTERY_LOW"/>
- <action android:name="android.intent.action.ACTION_BATTERY_OKAY"/>
- </intent-filter>
-</receiver>
-
-ÐбÑепÑинÑÑой пÑакÑикой ÑвлÑеÑÑÑ Ð¾ÑклÑÑение вÑеÑ
ÑоновÑÑ
обновлений, когда заÑÑд баÑаÑеи доÑÑÐ¸Ð³Ð°ÐµÑ ÐºÑиÑиÑеÑки низкого ÑÑовнÑ. ÐÑÐ´ÐµÑ Ñже неважно, наÑколÑко акÑÑалÑÐ½Ñ Ð´Ð°Ð½Ð½Ñе в ваÑем пÑиложении, еÑли ÑелеÑон ÑамопÑоизволÑно вÑклÑÑиÑÑÑ, пÑежде Ñем полÑзоваÑÐµÐ»Ñ ÑÑÐ¿ÐµÐµÑ Ð¸Ñ
пÑоÑмоÑÑеÑÑ.
-
-Ðо многиÑ
ÑлÑÑаÑÑ
наÑало заÑÑдки ÑÑÑÑойÑÑва ÑÐ¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñом его ÑÑÑановки в док-ÑÑанÑиÑ. Ð ÑледÑÑÑем ÑÑоке опиÑÐ°Ð½Ñ ÑпоÑÐ¾Ð±Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÑекÑÑего ÑоÑÑоÑÐ½Ð¸Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ ÑÑÑÑойÑÑва к док-ÑÑанÑии и оÑÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ ÑÑого ÑоÑÑоÑниÑ.
-
diff --git a/docs/html/intl/ru/training/monitoring-device-state/connectivity-monitoring.jd b/docs/html/intl/ru/training/monitoring-device-state/connectivity-monitoring.jd
deleted file mode 100644
index ca1a9423692f..000000000000
--- a/docs/html/intl/ru/training/monitoring-device-state/connectivity-monitoring.jd
+++ /dev/null
@@ -1,70 +0,0 @@
-page.title=Determining and Monitoring the Connectivity Status
-parent.title=Optimizing Battery Life
-parent.link=index.html
-
-trainingnavtop=true
-
-previous.title=Determining and Monitoring the Docking State and Type
-previous.link=docking-monitoring.html
-next.title=Manipulating Broadcast Receivers On Demand
-next.link=manifest-receivers.html
-
-@jd:body
-
-
-
-ЧаÑе вÑего повÑоÑÑÑÑиеÑÑ Ð¾Ð¿Ð¾Ð²ÐµÑÐµÐ½Ð¸Ñ Ð¸ ÑоновÑе ÑлÑÐ¶Ð±Ñ Ð¸ÑполÑзÑÑÑÑÑ Ð´Ð»Ñ Ð¿Ð»Ð°Ð½Ð¾Ð²Ð¾Ð³Ð¾ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¸Ð· ÐнÑеÑнеÑа, кÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ загÑÑзки болÑÑиÑ
обÑемов даннÑÑ
. Ðднако еÑли подклÑÑение к ÐнÑеÑнеÑÑ Ð½Ðµ ÑÑÑановлено или ÑкоÑоÑÑÑ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÑлиÑком низкаÑ, вÑполнÑÑÑ Ð·Ð°Ð³ÑÑÐ·ÐºÑ Ð½Ðµ Ð¸Ð¼ÐµÐµÑ ÑмÑÑла.
-
-ÐÑовеÑиÑÑ Ð½Ð°Ð»Ð¸Ñие подклÑÑÐµÐ½Ð¸Ñ Ðº ÐнÑеÑнеÑÑ Ð¸ его Ñип можно Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ {@link android.net.ConnectivityManager}.
-
-
-ÐпÑеделение налиÑÐ¸Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ðº ÐнÑеÑнеÑÑ
-
-ÐÑли подклÑÑение оÑÑÑÑÑÑвÑеÑ, Ð½ÐµÑ ÑмÑÑла планиÑоваÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ðµ из ÐнÑеÑнеÑа. РпÑиведенном ниже коде показано, как иÑполÑзоваÑÑ {@link android.net.ConnectivityManager} Ð´Ð»Ñ Ð¾ÑпÑавки запÑоÑов об акÑивной ÑеÑи и опÑеделÑÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи подклÑÑениÑ.
-
-ConnectivityManager cm =
- (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
-
-NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
-boolean isConnected = activeNetwork.isConnectedOrConnecting();
-
-
-ÐпÑеделение Ñипа подклÑÑÐµÐ½Ð¸Ñ Ðº ÐнÑеÑнеÑÑ
-
-Также можно опÑеделиÑÑ Ñип доÑÑÑпного в наÑÑоÑÑий Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ðº ÐнÑеÑнеÑÑ.
-
-УÑÑÑойÑÑво Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑаÑÑÑÑ Ð¿Ð¾ ÑеÑи мобилÑной ÑвÑзи, WiMAX, Wi-Fi и Ethernet. ÐолÑÑив оÑÐ²ÐµÑ Ð½Ð° запÑÐ¾Ñ Ð¾ Ñипе акÑивной ÑеÑи, как показано ниже, можно измениÑÑ ÑаÑÑоÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ð¹ на оÑнове ее пÑопÑÑкной ÑпоÑобноÑÑи.
-
-boolean isWiFi = activeNetwork.getType() == ConnectivityManager.TYPE_WIFI;
-
-СÑоимоÑÑÑ Ð¿ÐµÑедаÑи даннÑÑ
по мобилÑной ÑеÑи, как пÑавило, знаÑиÑелÑно вÑÑе, Ñем по ÑеÑи Wi-Fi, поÑÑÐ¾Ð¼Ñ ÑаÑÑоÑа обновлений в пеÑвом ÑлÑÑае должна бÑÑÑ Ð½Ð¸Ð¶Ðµ. То же каÑаеÑÑÑ Ð·Ð°Ð³ÑÑзки болÑÑого колиÑеÑÑва даннÑÑ
: ее ÑледÑÐµÑ Ð¾ÑложиÑÑ, пока не бÑÐ´ÐµÑ ÑÑÑановлено подклÑÑение к ÑеÑи Wi-Fi.
-
-Ðогда Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾ÑклÑÑенÑ, необÑ
одимо оÑÑлеживаÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð´Ð¾ÑÑÑпнÑÑ
Ñоединений, ÑÑÐ¾Ð±Ñ Ð²Ð¾Ð·Ð¾Ð±Ð½Ð¾Ð²Ð¸ÑÑ Ð¸Ñ
ÑÑÐ°Ð·Ñ Ð¿Ð¾Ñле подклÑÑÐµÐ½Ð¸Ñ ÑÑÑÑойÑÑва к ÐнÑеÑнеÑÑ.
-
-
-ÐÑÑлеживание Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑей подклÑÑениÑ
-
-{@link android.net.ConnectivityManager} пеÑÐµÐ´Ð°ÐµÑ Ð´ÐµÐ¹ÑÑвие {@link android.net.ConnectivityManager#CONNECTIVITY_ACTION} ({@code "android.net.conn.CONNECTIVITY_CHANGE"}) пÑи каждом изменении Ñведений о подклÑÑении. ÐаÑегиÑÑÑиÑÑйÑе в маниÑеÑÑе пÑиемник ÑиÑоковеÑаÑелÑнÑÑ
намеÑений, ÑÑÐ¾Ð±Ñ Ð¾ÑÑлеживаÑÑ ÑÑи Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸ запÑÑкаÑÑ (или пÑиоÑÑанавливаÑÑ) ÑоновÑе Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑооÑвеÑÑÑвÑÑÑим обÑазом.
-
-<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
-
-ÐоÑÑÑпнÑе ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑÑ Ð¼ÐµÐ½ÑÑÑÑÑ Ð¾ÑÐµÐ½Ñ ÑаÑÑо â ÑÑа пеÑедаÑа иниÑииÑÑеÑÑÑ Ð¿Ñи каждом пеÑеклÑÑении Ð¼ÐµÐ¶Ð´Ñ ÑеÑÑÑ Ð¼Ð¾Ð±Ð¸Ð»Ñной ÑвÑзи и Wi-Fi. Ðе ÑекомендÑеÑÑÑ Ð¾ÑÑлеживаÑÑ, ÑолÑко когда необÑ
одимо запÑÑкаÑÑ Ñанее пÑиоÑÑановленнÑе Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ загÑÑзки. Ðак пÑавило, доÑÑаÑоÑно пÑовеÑиÑÑ Ð½Ð°Ð»Ð¸Ñие подклÑÑÐµÐ½Ð¸Ñ Ðº ÐнÑеÑнеÑÑ Ð¿ÐµÑед запÑÑком Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸, еÑли оно оÑÑÑÑÑÑвÑеÑ, пÑиоÑÑановиÑÑ Ð´Ð°Ð»ÑнейÑие Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð¾ воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑоединениÑ.
-
-ÐÐ»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑÑого меÑода необÑ
одимо вклÑÑаÑÑ Ð¸ оÑклÑÑаÑÑ Ð¿Ñиемники ÑиÑоковеÑаÑелÑнÑÑ
намеÑений, обÑÑвленнÑе в маниÑеÑÑе. Ð ÑледÑÑÑем ÑÑоке опиÑано, как ÑÑо делаÑÑ.
diff --git a/docs/html/intl/ru/training/monitoring-device-state/docking-monitoring.jd b/docs/html/intl/ru/training/monitoring-device-state/docking-monitoring.jd
deleted file mode 100644
index d94f3570458c..000000000000
--- a/docs/html/intl/ru/training/monitoring-device-state/docking-monitoring.jd
+++ /dev/null
@@ -1,74 +0,0 @@
-page.title=Determining and Monitoring the Docking State and Type
-parent.title=Optimizing Battery Life
-parent.link=index.html
-
-trainingnavtop=true
-previous.title= Monitoring the Battery Level and Charging State
-previous.link=battery-monitoring.html
-next.title= Determining and Monitoring the Connectivity Status
-next.link=connectivity-monitoring.html
-
-@jd:body
-
-
-
-УÑÑÑойÑÑва под ÑпÑавлением ÐС Android можно подклÑÑаÑÑ Ðº неÑколÑким Ñипам док-ÑÑанÑий: наÑÑолÑнÑм, коÑоÑÑе делÑÑÑÑ Ð½Ð° ÑиÑÑовÑе и аналоговÑе, и авÑомобилÑнÑм. РболÑÑинÑÑве ÑлÑÑаев ÑÑÑÑойÑÑва заÑÑжаÑÑÑÑ Ð¿Ñи подклÑÑении к док-ÑÑанÑии, поÑÑÐ¾Ð¼Ñ ÑоÑÑоÑние подклÑÑÐµÐ½Ð¸Ñ Ðº док-ÑÑанÑии ÑаÑÑо ÑвÑзано Ñ ÑоÑÑоÑнием заÑÑдки.
-
-ÐаÑколÑко ÑоÑÑоÑние подклÑÑÐµÐ½Ð¸Ñ Ðº док-ÑÑанÑии влиÑÐµÑ Ð½Ð° ÑаÑÑоÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ, завиÑÐ¸Ñ Ð¾Ñ ÐºÐ¾Ð½ÐºÑеÑного пÑиложениÑ. ÐапÑимеÑ, можно ÑвелиÑиÑÑ ÑаÑÑоÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ð¹ пÑиложениÑ, показÑваÑÑего ÑпоÑÑивнÑе новоÑÑи, когда ÑÑÑÑойÑÑво подклÑÑено к наÑÑолÑной док-ÑÑанÑии, и полноÑÑÑÑ Ð¾ÑклÑÑиÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ñи подклÑÑении к авÑомобилÑной. РнаобоÑоÑ, еÑли иÑполÑзÑеÑÑÑ Ð¿Ñиложение, коÑоÑое в Ñоновом Ñежиме загÑÑÐ¶Ð°ÐµÑ Ð´Ð°Ð½Ð½Ñе о доÑожной обÑÑановке, Ñо пÑи подклÑÑении ÑÑÑÑойÑÑва к авÑомобилÑной док-ÑÑанÑии ÑледÑÐµÑ Ð²ÑполнÑÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¼Ð°ÐºÑималÑно ÑаÑÑо.
-
-СоÑÑоÑние подклÑÑÐµÐ½Ð¸Ñ Ðº док-ÑÑанÑии Ñакже пеÑедаеÑÑÑ Ð² виде закÑепленного намеÑÐµÐ½Ð¸Ñ {@link android.content.Intent}, ÑÑо позволÑÐµÑ Ð·Ð°Ð¿ÑаÑиваÑÑ ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ налиÑии подклÑÑÐµÐ½Ð¸Ñ Ðº док-ÑÑанÑии и ее Ñипе.
-
-
-ÐпÑеделение ÑекÑÑего ÑоÑÑоÑÐ½Ð¸Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ðº док-ÑÑанÑии
-
-Ð¡Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ ÑоÑÑоÑнии подклÑÑÐµÐ½Ð¸Ñ Ðº док-ÑÑанÑии пеÑедаÑÑÑÑ Ð² каÑеÑÑве дополниÑелÑнÑÑ
даннÑÑ
в закÑепленном оповеÑении дейÑÑÐ²Ð¸Ñ {@link android.content.Intent#ACTION_DOCK_EVENT}. ÐоÑколÑÐºÑ ÑÑо закÑепленное намеÑение, ÑегиÑÑÑиÑоваÑÑ {@link android.content.BroadcastReceiver} не ÑÑебÑеÑÑÑ. ÐоÑÑаÑоÑно вÑзваÑÑ {@link android.content.Context#registerReceiver registerReceiver()}, пеÑедав {@code null} в каÑеÑÑве пÑиемника ÑиÑоковеÑаÑелÑнÑÑ
намеÑений, как показано в коде ниже.
-
-IntentFilter ifilter = new IntentFilter(Intent.ACTION_DOCK_EVENT);
-Intent dockStatus = context.registerReceiver(null, ifilter);
-
-Ð¡Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ ÑекÑÑем ÑоÑÑоÑнии подклÑÑÐµÐ½Ð¸Ñ Ðº док-ÑÑанÑии можно извлеÑÑ Ð¸Ð· дополниÑелÑнÑÑ
даннÑÑ
{@code EXTRA_DOCK_STATE}:
-
-
int dockState = battery.getIntExtra(EXTRA_DOCK_STATE, -1);
-boolean isDocked = dockState != Intent.EXTRA_DOCK_STATE_UNDOCKED;
-
-
-ÐпÑеделение Ñипа док-ÑÑанÑии
-
-Ðок-ÑÑанÑиÑ, к коÑоÑой подклÑÑено ÑÑÑÑойÑÑво, Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾Ð´Ð½Ð¾Ð³Ð¾ из ÑеÑÑÑеÑ
Ñипов:
-
- авÑомобилÑнаÑ;
-- наÑÑолÑнаÑ;
-- наÑÑолÑÐ½Ð°Ñ Ñ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑнÑм набоÑом ÑÑнкÑий (аналоговаÑ);
-- наÑÑолÑÐ½Ð°Ñ Ñ ÑиÑоким набоÑом ÑÑнкÑий (ÑиÑÑоваÑ).
-
-ÐбÑаÑиÑе внимание, ÑÑо поÑледние два Ñипа поддеÑживаÑÑÑÑ ÑолÑко на ÑÑовне API 11, поÑÑомÑ, даже еÑли Ð²Ð°Ñ Ð½Ðµ инÑеÑеÑÑеÑ, ÑвлÑеÑÑÑ Ð»Ð¸ док-ÑÑанÑÐ¸Ñ ÑиÑÑовой или аналоговой, а инÑеÑеÑÑÐµÑ ÑолÑко ее Ñип, ÑекомендÑеÑÑÑ Ð²ÑполнÑÑÑ Ð¿ÑовеÑÐºÑ Ð¿Ð¾ вÑем ÑÑем Ñипам:
-
-boolean isCar = dockState == EXTRA_DOCK_STATE_CAR;
-boolean isDesk = dockState == EXTRA_DOCK_STATE_DESK ||
- dockState == EXTRA_DOCK_STATE_LE_DESK ||
- dockState == EXTRA_DOCK_STATE_HE_DESK;
-
-
-ÐÑÑлеживание изменений ÑоÑÑоÑÐ½Ð¸Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ðº док-ÑÑанÑии и ее Ñипа
-
-ÐÑи каждом подклÑÑении ÑÑÑÑойÑÑва к док-ÑÑанÑии или оÑклÑÑении Ð¾Ñ Ð½ÐµÐµ пеÑедаеÑÑÑ Ð´ÐµÐ¹ÑÑвие {@link android.content.Intent#ACTION_DOCK_EVENT}. ЧÑÐ¾Ð±Ñ Ð¾ÑÑлеживаÑÑ ÑоÑÑоÑние подклÑÑÐµÐ½Ð¸Ñ Ðº док-ÑÑанÑии, доÑÑаÑоÑно заÑегиÑÑÑиÑоваÑÑ Ð² маниÑеÑÑе пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¿Ñиемник ÑиÑоковеÑаÑелÑнÑÑ
намеÑений, как показано ниже.
-
-<action android:name="android.intent.action.ACTION_DOCK_EVENT"/>
-
-ÐаннÑе о Ñипе док-ÑÑанÑии и о ÑоÑÑоÑнии подклÑÑÐµÐ½Ð¸Ñ Ðº ней можно извлеÑÑ Ð²Ð½ÑÑÑи ÑеализаÑии пÑиемника Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¼ÐµÑодов, опиÑаннÑÑ
в пÑедÑдÑÑем Ñаге.
diff --git a/docs/html/intl/ru/training/monitoring-device-state/index.jd b/docs/html/intl/ru/training/monitoring-device-state/index.jd
deleted file mode 100644
index c87d9af5da4d..000000000000
--- a/docs/html/intl/ru/training/monitoring-device-state/index.jd
+++ /dev/null
@@ -1,49 +0,0 @@
-page.title=Optimizing Battery Life
-
-trainingnavtop=true
-startpage=true
-next.title=Monitoring the Battery Level and Charging State
-next.link=battery-monitoring.html
-
-@jd:body
-
-
-
-
-
ТÑебованиÑ
-
-
-
ÐополниÑелÑнÑе маÑеÑиалÑ
-
-
-
-
-
-ÐаÑеÑÑвенное пÑиложение должно оказÑваÑÑ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»Ñное влиÑние на вÑÐµÐ¼Ñ ÑабоÑÑ ÑÑÑÑойÑÑва Ð¾Ñ Ð±Ð°ÑаÑеи. Ð ÑÑом ÑÑоке Ð²Ñ Ð½Ð°ÑÑиÑеÑÑ ÑоздаваÑÑ Ð¿ÑиложениÑ, ÑпоÑобнÑе изменÑÑÑ ÑÑнкÑионал и Ñежим ÑабоÑÑ Ð² завиÑимоÑÑи Ð¾Ñ ÑоÑÑоÑÐ½Ð¸Ñ ÑÑÑÑойÑÑва.
-
-ÐÑклÑÑение Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ
ÑоновÑÑ
ÑлÑжб пÑи поÑеÑе подклÑÑÐµÐ½Ð¸Ñ Ð¸ Ñнижение ÑаÑÑоÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ñи низком заÑÑде баÑаÑеи позволÑÐµÑ ÑнизиÑÑ ÑаÑÑ
од ÑнеÑгии и пÑодлиÑÑ ÑабоÑÑ ÑÑÑÑойÑÑва без подзаÑÑдки.
-
-УÑоки
-
-
-
-
- - ÐÑÑлеживание ÑÑÐ¾Ð²Ð½Ñ Ð·Ð°ÑÑда баÑаÑеи и ÑоÑÑоÑÐ½Ð¸Ñ Ð·Ð°ÑÑдки
- - ÐÑ ÑзнаеÑе, как изменÑÑÑ ÑаÑÑоÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿ÑиложениÑ, опÑеделÑÑ Ð¸ оÑÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ñ ÑекÑÑий ÑÑÐ¾Ð²ÐµÐ½Ñ Ð·Ð°ÑÑда баÑаÑеи и изменение ÑоÑÑоÑÐ½Ð¸Ñ Ð·Ð°ÑÑдки.
-
- - ÐÑÑлеживание ÑоÑÑоÑÐ½Ð¸Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ðº док-ÑÑанÑии и опÑеделение ее Ñипа
- - ÐпÑималÑÐ½Ð°Ñ ÑаÑÑоÑа Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð·Ð°Ð²Ð¸ÑÐ¸Ñ Ð¾Ñ ÑпоÑоба иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑÑÑÑойÑÑва. ÐÑ ÑзнаеÑе, как опÑеделÑÑÑ Ð¸ оÑÑлеживаÑÑ ÑоÑÑоÑние подклÑÑÐµÐ½Ð¸Ñ Ðº док-ÑÑанÑии и ее Ñип, ÑÑÐ¾Ð±Ñ ÑооÑвеÑÑÑвÑÑÑим обÑазом коÑÑекÑиÑоваÑÑ ÑабоÑÑ Ð¿ÑиложениÑ.
-
- - ÐпÑеделение и оÑÑлеживание ÑоÑÑоÑÐ½Ð¸Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑениÑ
- - ÐÑиложение невозможно обновиÑÑ ÑеÑез ÐнÑеÑнеÑ, еÑли оÑÑÑÑÑÑвÑÐµÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑение. ÐÑ ÑзнаеÑе, как пÑовеÑиÑÑ ÑоÑÑоÑние подклÑÑениÑ, ÑÑÐ¾Ð±Ñ Ð¿Ñи необÑ
одимоÑÑи измениÑÑ ÑаÑÑоÑÑ ÑоновÑÑ
обновлений. Также Ð²Ñ Ð½Ð°ÑÑиÑеÑÑ Ð¿ÑовеÑÑÑÑ Ð½Ð°Ð»Ð¸Ñие мобилÑного подклÑÑÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ подклÑÑÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑеÑи Wi-Fi пеÑед наÑалом опеÑаÑий, ÑÑебÑÑÑиÑ
пеÑедаÑи болÑÑиÑ
обÑемов даннÑÑ
.
-
- - ÐпеÑаÑии Ñ Ð¿Ñиемниками ÑиÑоковеÑаÑелÑнÑÑ
намеÑений по запÑоÑÑ
- - ÐÑиемники ÑиÑоковеÑаÑелÑнÑÑ
намеÑений, обÑÑвленнÑе в маниÑеÑÑе, можно вклÑÑаÑÑ Ð¸ оÑклÑÑаÑÑ Ð²Ð¾ вÑÐµÐ¼Ñ ÑабоÑÑ Ð¿ÑиложениÑ. ÐÑо позволÑÐµÑ Ð¾ÑклÑÑаÑÑ Ð½ÐµÐ½ÑжнÑе пÑиемники в завиÑимоÑÑи Ð¾Ñ ÑоÑÑоÑÐ½Ð¸Ñ ÑÑÑÑойÑÑва. ÐÑ ÑзнаеÑе, как повÑÑиÑÑ ÑÑÑекÑивноÑÑÑ Ð¿ÑÑем вклÑÑениÑ, оÑклÑÑÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ каÑкадиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñиемников Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑоÑÑоÑÐ½Ð¸Ñ Ð¸ как оÑложиÑÑ Ð´ÐµÐ¹ÑÑвие до моменÑа пеÑеÑ
ода ÑÑÑÑойÑÑва в заданное ÑоÑÑоÑние.
-
\ No newline at end of file
diff --git a/docs/html/intl/ru/training/monitoring-device-state/manifest-receivers.jd b/docs/html/intl/ru/training/monitoring-device-state/manifest-receivers.jd
deleted file mode 100644
index 724ee93e2822..000000000000
--- a/docs/html/intl/ru/training/monitoring-device-state/manifest-receivers.jd
+++ /dev/null
@@ -1,50 +0,0 @@
-page.title=Manipulating Broadcast Receivers On Demand
-parent.title=Optimizing Battery Life
-parent.link=index.html
-
-trainingnavtop=true
-
-previous.title=Determining and Monitoring the Connectivity Status
-previous.link=connectivity-monitoring.html
-
-@jd:body
-
-
-
-СамÑй пÑоÑÑой ÑпоÑоб оÑÑлеживаÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑоÑÑоÑÐ½Ð¸Ñ ÑÑÑÑойÑÑва â ÑоздаÑÑ Ð¿Ñиемники {@link android.content.BroadcastReceiver} Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ оÑÑлеживаемого ÑоÑÑоÑÐ½Ð¸Ñ Ð¸ заÑегиÑÑÑиÑоваÑÑ Ð¸Ñ
в маниÑеÑÑе пÑиложениÑ. ÐаÑем в каждом из ÑÑиÑ
пÑиемников можно пеÑеопÑеделÑÑÑ Ð³ÑаÑик повÑоÑÑÑÑиÑ
ÑÑ Ð¾Ð¿Ð¾Ð²ÐµÑений в завиÑимоÑÑи Ð¾Ñ ÑекÑÑего ÑоÑÑоÑÐ½Ð¸Ñ ÑÑÑÑойÑÑва.
-
-ÐÑÐ¾Ñ ÑпоÑоб Ð¸Ð¼ÐµÐµÑ Ð½ÐµÐ´Ð¾ÑÑаÑки: пÑиложение акÑивиÑÑÐµÑ ÑÑÑÑойÑÑво пÑи каждом запÑÑке лÑбого из ÑÑиÑ
пÑиемников, ÑÑо далеко не вÑегда опÑавданно.
-
-ÐпÑималÑнÑй ваÑÐ¸Ð°Ð½Ñ â вклÑÑаÑÑ Ð¸ вÑклÑÑаÑÑ Ð¿Ñиемники ÑиÑоковеÑаÑелÑнÑÑ
намеÑений во вÑÐµÐ¼Ñ ÑабоÑÑ Ð¿ÑиложениÑ. ÐÑо позволÑÐµÑ Ð¸ÑполÑзоваÑÑ Ð¿Ñиемники, обÑÑвленнÑе в маниÑеÑÑе, как паÑÑивнÑе оповеÑениÑ, коÑоÑÑе иниÑииÑÑÑÑÑÑ ÑиÑÑемнÑми ÑобÑÑиÑми ÑолÑко в ÑлÑÑае необÑ
одимоÑÑи.
-
-
-ÐклÑÑение, оÑклÑÑение и каÑкадиÑование пÑиемников Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑоÑÑоÑÐ½Ð¸Ñ Ð´Ð»Ñ Ð¿Ð¾Ð²ÑÑÐµÐ½Ð¸Ñ ÑÑÑекÑивноÑÑи
-
-{@link android.content.pm.PackageManager} позволÑÐµÑ Ð²ÐºÐ»ÑÑаÑÑ Ð¸ вÑклÑÑаÑÑ Ð»ÑбÑе компоненÑÑ, опÑеделеннÑе в маниÑеÑÑе, в Ñом ÑиÑле вÑе пÑиемники ÑиÑоковеÑаÑелÑнÑÑ
намеÑений:
-
-ComponentName receiver = new ComponentName(context, myReceiver.class);
-
-PackageManager pm = context.getPackageManager();
-
-pm.setComponentEnabledSetting(receiver,
- PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
- PackageManager.DONT_KILL_APP)
-
-ÐÑи ÑазÑÑве ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÑÑÐ¾Ñ Ð¼ÐµÑод позволÑÐµÑ Ð²ÑклÑÑиÑÑ Ð²Ñе пÑиемники, кÑоме пÑиемника Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑоÑÑоÑÐ½Ð¸Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑениÑ. РнаобоÑоÑ, когда подклÑÑение Ñже ÑÑÑановлено, оÑÑлеживаÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐµÐ³Ð¾ ÑоÑÑоÑÐ½Ð¸Ñ Ð½Ðµ ÑÑебÑеÑÑÑ. ÐоÑÑаÑоÑно пÑовеÑиÑÑ Ð½Ð°Ð»Ð¸Ñие подклÑÑÐµÐ½Ð¸Ñ Ðº ÐнÑеÑнеÑÑ Ð½ÐµÐ¿Ð¾ÑÑедÑÑвенно пеÑед обновлением или изменением гÑаÑика оповеÑений о ÑегÑлÑÑном обновлении.
-
-ТоÑно Ñак же можно оÑложиÑÑ Ð·Ð°Ð³ÑÑзкÑ, Ð´Ð»Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾ÑоÑой ÑÑебÑеÑÑÑ Ð±Ð¾Ð»ÐµÐµ вÑÑÐ¾ÐºÐ°Ñ Ð¿ÑопÑÑÐºÐ½Ð°Ñ ÑпоÑобноÑÑÑ. ÐÑоÑÑо вклÑÑиÑе пÑиемник ÑиÑоковеÑаÑелÑнÑÑ
намеÑений, коÑоÑÑй бÑÐ´ÐµÑ Ð¾ÑÑлеживаÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи подклÑÑÐµÐ½Ð¸Ñ Ð¸ иниÑииÑоваÑÑ Ð·Ð°Ð³ÑÑÐ·ÐºÑ ÑолÑко поÑле подклÑÑÐµÐ½Ð¸Ñ Ðº ÑеÑи Wi-Fi.
diff --git a/docs/html/intl/ru/training/multiscreen/adaptui.jd b/docs/html/intl/ru/training/multiscreen/adaptui.jd
deleted file mode 100644
index 490a64ad2de6..000000000000
--- a/docs/html/intl/ru/training/multiscreen/adaptui.jd
+++ /dev/null
@@ -1,212 +0,0 @@
-page.title=Implementing Adaptative UI Flows
-parent.title=Designing for Multiple Screens
-parent.link=index.html
-
-trainingnavtop=true
-previous.title=Supporting Different Screen Densities
-previous.link=screendensities.html
-
-@jd:body
-
-
-
-
-
-ÐлгоÑиÑм полÑзоваÑелÑÑкого инÑеÑÑейÑа завиÑÐ¸Ñ Ð¾Ñ Ð¼Ð°ÐºÐµÑа, коÑоÑÑй в даннÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð¾ÑобÑажаеÑÑÑ. ÐапÑимеÑ, еÑли пÑиложение ÑабоÑÐ°ÐµÑ Ð² двÑÑ
панелÑном Ñежиме, Ñо пÑи нажаÑии на ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð² левой панели ÑодеÑжание оÑобÑазиÑÑÑ Ð² пÑавой. РоднопанелÑном Ñежиме ÑодеÑжание оÑкÑоеÑÑÑ Ð¾ÑделÑно (в дÑÑгой акÑивноÑÑи).
-
-
-ÐпÑеделение ÑекÑÑего макеÑа
-
-Так как в ÑеализаÑии макеÑов ÑÑÑеÑÑвÑÑÑ Ð¾ÑлиÑиÑ, пеÑвое, ÑÑо необÑ
одимо ÑделаÑÑ, â опÑеделиÑÑ, какой Ð¼Ð°ÐºÐµÑ Ð¾ÑобÑажаеÑÑÑ Ð² даннÑй моменÑ. ÐапÑимеÑ, ÑабоÑÐ°ÐµÑ Ð»Ð¸ пÑиложение в однопанелÑном или двÑÑ
панелÑном Ñежиме. ÐÐ»Ñ ÑÑого Ñоздадим запÑÐ¾Ñ Ð¾ Ñом, ÑÑÑеÑÑвÑÐµÑ Ð»Ð¸ данное пÑедÑÑавление и оÑобÑажаеÑÑÑ Ð»Ð¸ оно в наÑÑоÑÑий моменÑ:
-
-
-public class NewsReaderActivity extends FragmentActivity {
- boolean mIsDualPane;
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main_layout);
-
- View articleView = findViewById(R.id.article);
- mIsDualPane = articleView != null &&
- articleView.getVisibility() == View.VISIBLE;
- }
-}
-
-
-ÐбÑаÑиÑе внимание: пÑедÑÑавленнÑй вÑÑе код ÑодеÑÐ¶Ð¸Ñ Ð·Ð°Ð¿ÑÐ¾Ñ Ð¾ Ñом, доÑÑÑпна ли Ð¿Ð°Ð½ÐµÐ»Ñ article, поÑколÑÐºÑ ÑÑо Ñдобнее, Ñем пиÑаÑÑ Ð¾ÑделÑнÑе запÑоÑÑ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ макеÑа.
-
-ÐÑоме Ñого, Ð´Ð»Ñ ÑабоÑÑ Ñ ÑÑеÑом ÑÑÑеÑÑвÑÑÑиÑ
компоненÑов можно Ñакже пÑовеÑÑÑÑ Ð¸Ñ
доÑÑÑпноÑÑÑ, пÑежде Ñем вÑполнÑÑÑ Ñ Ð½Ð¸Ð¼Ð¸ какие-либо опеÑаÑии. ÐапÑимеÑ, в ÑÑебном пÑиложении News Reader еÑÑÑ ÐºÐ½Ð¾Ð¿ÐºÐ°, коÑоÑÐ°Ñ ÑлÑÐ¶Ð¸Ñ Ð´Ð»Ñ Ð´Ð¾ÑÑÑпа в менÑ, однако она оÑобÑажаеÑÑÑ ÑолÑко в опеÑаÑионнÑÑ
ÑиÑÑемаÑ
Android веÑÑии ниже, Ñем 3.0, поÑÐ¾Ð¼Ñ ÑÑо в поÑледÑÑÑиÑ
веÑÑиÑÑ
ее ÑÑнкÑÐ¸Ñ Ð²ÑполнÑÐµÑ ÑÐ»ÐµÐ¼ÐµÐ½Ñ {@link android.app.ActionBar} на ÑÑовне API 11 и вÑÑе. ЧÑÐ¾Ð±Ñ Ð¿ÑовеÑиÑÑ Ð½Ð°Ð»Ð¸Ñие ÑÑой кнопки, добавим пÑоÑлÑÑиваÑÐµÐ»Ñ ÑобÑÑий Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑледÑÑÑего кода:
-
-
-Button catButton = (Button) findViewById(R.id.categorybutton);
-OnClickListener listener = /* create your listener here */;
-if (catButton != null) {
- catButton.setOnClickListener(listener);
-}
-
-
-
-ÐалÑнейÑие дейÑÑÐ²Ð¸Ñ Ð² завиÑимоÑÑи Ð¾Ñ ÑекÑÑего макеÑа
-
-РезÑлÑÑаÑÑ Ð½ÐµÐºÐ¾ÑоÑÑÑ
опеÑаÑий завиÑÑÑ Ð¾Ñ ÑекÑÑего макеÑа. ÐапÑимеÑ, еÑли в пÑиложении News Reader в двÑÑ
панелÑном Ñежиме нажаÑÑ Ð½Ð° заголовок в ÑпиÑке, Ñо ÑÑаÑÑÑ Ð¾ÑкÑоеÑÑÑ Ð² пÑавой панели. ÐÑли же инÑеÑÑÐµÐ¹Ñ ÑабоÑÐ°ÐµÑ Ð² однопанелÑном Ñежиме, бÑÐ´ÐµÑ Ð·Ð°Ð¿ÑÑена оÑделÑÐ½Ð°Ñ Ð°ÐºÑивноÑÑÑ:
-
-
-@Override
-public void onHeadlineSelected(int index) {
- mArtIndex = index;
- if (mIsDualPane) {
- /* display article on the right pane */
- mArticleFragment.displayArticle(mCurrentCat.getArticle(index));
- } else {
- /* start a separate activity */
- Intent intent = new Intent(this, ArticleActivity.class);
- intent.putExtra("catIndex", mCatIndex);
- intent.putExtra("artIndex", index);
- startActivity(intent);
- }
-}
-
-
-ÐналогиÑно, в двÑÑ
панелÑном Ñежиме должна оÑобÑажаÑÑÑÑ Ð¿Ð°Ð½ÐµÐ»Ñ Ð´ÐµÐ¹ÑÑвий Ñ Ð½Ð°Ð²Ð¸Ð³Ð°ÑионнÑми вкладками, а в однопанелÑном навигаÑÐ¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° бÑÑÑ Ñеализована Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑаÑкÑÑваÑÑегоÑÑ ÑпиÑка. ÐÑиложение должно пÑовеÑÑÑÑ, какой из ÑÑиÑ
ваÑианÑов ÑледÑÐµÑ Ð¸ÑполÑзоваÑÑ:
-
-
-final String CATEGORIES[] = { "ÐÑÑÑие ÑÑаÑÑи", "ÐолиÑика", "Ðкономика", "ÐовоÑÑи ÑеÑ
нологий" };
-
-public void onCreate(Bundle savedInstanceState) {
- ....
- if (mIsDualPane) {
- /* use tabs for navigation */
- actionBar.setNavigationMode(android.app.ActionBar.NAVIGATION_MODE_TABS);
- int i;
- for (i = 0; i < CATEGORIES.length; i++) {
- actionBar.addTab(actionBar.newTab().setText(
- CATEGORIES[i]).setTabListener(handler));
- }
- actionBar.setSelectedNavigationItem(selTab);
- }
- else {
- /* use list navigation (spinner) */
- actionBar.setNavigationMode(android.app.ActionBar.NAVIGATION_MODE_LIST);
- SpinnerAdapter adap = new ArrayAdapter(this,
- R.layout.headline_item, CATEGORIES);
- actionBar.setListNavigationCallbacks(adap, handler);
- }
-}
-
-
-
-ÐовÑоÑное иÑполÑзование ÑÑагменÑов в дÑÑгиÑ
акÑивноÑÑÑÑ
-
-Ðдним из пÑимеÑов повÑоÑÑÑÑегоÑÑ ÑÑагменÑа ÑвлÑеÑÑÑ ÑеализаÑÐ¸Ñ ÑаÑÑи инÑеÑÑейÑа как панели в одниÑ
конÑигÑÑаÑиÑÑ
и как оÑделÑной акÑивноÑÑи в дÑÑгиÑ
. ÐапÑимеÑ, еÑли пÑиложение News Reader ÑабоÑÐ°ÐµÑ Ð½Ð° доÑÑаÑоÑно болÑÑом ÑкÑане, ÑекÑÑ Ð½Ð¾Ð²Ð¾ÑÑной ÑÑаÑÑи оÑобÑажаеÑÑÑ Ð² пÑавой панели, а еÑли на маленÑком, Ñо он оÑкÑÑваеÑÑÑ Ð² оÑделÑной акÑивноÑÑи.
-
-Ð ÑакиÑ
ÑлÑÑаÑÑ
ÑледÑÐµÑ Ð¿Ð¾Ð²ÑоÑно иÑполÑзоваÑÑ Ð¿Ð¾Ð´ÐºÐ»Ð°ÑÑ {@link android.app.Fragment} в неÑколÑкиÑ
акÑивноÑÑÑÑ
. ÐапÑимеÑ, в двÑÑ
панелÑном макеÑе иÑполÑзÑеÑÑÑ Ð¿Ð¾Ð´ÐºÐ»Ð°ÑÑ ArticleFragment
:
-
-{@sample development/samples/training/multiscreen/newsreader/res/layout/twopanes.xml all}
-
-Ðн же (без макеÑа) иÑполÑзÑеÑÑÑ Ð¿Ñи ÑабоÑе на маленÑком ÑкÑане (акÑивноÑÑÑ ArticleActivity
):
-
-
-ArticleFragment frag = new ArticleFragment();
-getSupportFragmentManager().beginTransaction().add(android.R.id.content, frag).commit();
-
-
-РезÑлÑÑÐ°Ñ Ð±ÑÐ´ÐµÑ Ñаким же, как еÑли Ð±Ñ Ð¼Ñ Ð¾Ð±ÑÑвили ÑÑÐ°Ð³Ð¼ÐµÐ½Ñ Ð² макеÑе XML, однако в ÑÑом ÑлÑÑае Ð¼Ð°ÐºÐµÑ XML не ÑÑебÑеÑÑÑ, Ñак как ÑÑÐ°Ð³Ð¼ÐµÐ½Ñ article ÑвлÑеÑÑÑ ÐµÐ´Ð¸Ð½ÑÑвеннÑм компоненÑом ÑÑой акÑивноÑÑи.
-
-ÐÑи Ñоздании ÑÑагменÑов важно не пÑивÑзÑваÑÑ Ð¸Ñ
ÑÑÑого к конкÑеÑной акÑивноÑÑи. ÐÐ»Ñ ÑÑого можно опÑеделиÑÑ Ð¸Ð½ÑеÑÑÐµÐ¹Ñ Ñ Ð°Ð±ÑÑÑакÑнÑм опиÑанием вÑеÑ
необÑ
одимÑÑ
ÑпоÑобов взаимодейÑÑÐ²Ð¸Ñ ÑÑагменÑа Ñ Ð°ÐºÑивноÑÑÑÑ, в коÑоÑой он ÑодеÑжиÑÑÑ. ÐаÑем ÑÑÐ¾Ñ Ð¸Ð½ÑеÑÑÐµÐ¹Ñ Ð½Ñжно ÑеализоваÑÑ Ð² Ñамой акÑивноÑÑи.
-
-ÐапÑимеÑ, именно Ñак ÑабоÑÐ°ÐµÑ ÑÑÐ°Ð³Ð¼ÐµÐ½Ñ HeadlinesFragment
в пÑиложении News Reader:
-
-
-public class HeadlinesFragment extends ListFragment {
- ...
- OnHeadlineSelectedListener mHeadlineSelectedListener = null;
-
- /* Must be implemented by host activity */
- public interface OnHeadlineSelectedListener {
- public void onHeadlineSelected(int index);
- }
- ...
-
- public void setOnHeadlineSelectedListener(OnHeadlineSelectedListener listener) {
- mHeadlineSelectedListener = listener;
- }
-}
-
-
-ÐаÑем, когда полÑзоваÑÐµÐ»Ñ Ð²ÑбиÑÐ°ÐµÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº, ÑÑÐ°Ð³Ð¼ÐµÐ½Ñ Ð¾Ð¿Ð¾Ð²ÐµÑÐ°ÐµÑ Ð¾Ð± ÑÑом не ÑказаннÑÑ Ð² коде акÑивноÑÑÑ, а заданнÑй ÐµÑ Ð¿ÑоÑлÑÑиваÑелÑ:
-
-
-public class HeadlinesFragment extends ListFragment {
- ...
- @Override
- public void onItemClick(AdapterView<?> parent,
- View view, int position, long id) {
- if (null != mHeadlineSelectedListener) {
- mHeadlineSelectedListener.onHeadlineSelected(position);
- }
- }
- ...
-}
-
-
-ÐÑÐ¾Ñ Ð¼ÐµÑод ÑаÑÑмаÑÑиваеÑÑÑ Ð¿Ð¾Ð´Ñобнее в Ñазделе ÐоддеÑжка планÑеÑнÑÑ
ÐРи мобилÑнÑÑ
ÑелеÑонов.
-
-
-ÐбÑабоÑка изменений конÑигÑÑаÑии ÑкÑана
-
-ÐÑи ÑеализаÑии оÑделÑнÑÑ
ÑаÑÑей инÑеÑÑейÑа Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑазнÑÑ
акÑивноÑÑей нÑжно ÑÑиÑÑваÑÑ, ÑÑо инÑеÑÑÐµÐ¹Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ ÑмеÑÑ ÑеагиÑоваÑÑ Ð½Ð° опÑеделеннÑе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½ÑигÑÑаÑии, Ñакие как повоÑÐ¾Ñ ÑкÑана.
-
-ÐапÑимеÑ, на ÑипиÑном планÑеÑном ÐÐ Ñ ÑазмеÑом ÑкÑана 7 дÑймов под ÑпÑавлением ÐС Android 3.0 или более поздней веÑÑии пÑи веÑÑикалÑной оÑиенÑаÑии ÑÑаÑÑÑ Ð² пÑиложении News Reader оÑкÑÑваеÑÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¾ÑделÑной акÑивноÑÑи, а пÑи гоÑизонÑалÑной иÑполÑзÑеÑÑÑ Ð´Ð²ÑÑ
панелÑнÑй макеÑ.
-
-ÐÑо ознаÑаеÑ, ÑÑо еÑли полÑзоваÑÐµÐ»Ñ Ð´ÐµÑÐ¶Ð¸Ñ Ð¿Ð»Ð°Ð½ÑеÑнÑй ÐРвеÑÑикалÑно и на ÑкÑане запÑÑена акÑивноÑÑÑ Ð´Ð»Ñ Ð¿ÑоÑмоÑÑа ÑÑаÑÑи, пÑиложение должно ÑмеÑÑ Ð¾Ð¿ÑеделиÑÑ, ÑÑо оÑиенÑаÑÐ¸Ñ Ð±Ñла изменена на гоÑизонÑалÑнÑÑ. ÐаÑем оно должно ÑооÑвеÑÑÑвÑÑÑим обÑазом оÑÑеагиÑоваÑÑ Ð½Ð° изменение, Ñо еÑÑÑ Ð·Ð°Ð²ÐµÑÑиÑÑ ÑÑÑ Ð°ÐºÑивноÑÑÑ Ð¸ веÑнÑÑÑÑÑ Ðº оÑновной акÑивноÑÑи, ÑÑÐ¾Ð±Ñ ÑодеÑжание оÑобÑазилоÑÑ Ð² двÑÑ
панелÑном макеÑе:
-
-
-public class ArticleActivity extends FragmentActivity {
- int mCatIndex, mArtIndex;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- mCatIndex = getIntent().getExtras().getInt("catIndex", 0);
- mArtIndex = getIntent().getExtras().getInt("artIndex", 0);
-
- // If should be in two-pane mode, finish to return to main activity
- if (getResources().getBoolean(R.bool.has_two_panes)) {
- finish();
- return;
- }
- ...
-}
-
-
-
diff --git a/docs/html/intl/ru/training/multiscreen/index.jd b/docs/html/intl/ru/training/multiscreen/index.jd
deleted file mode 100644
index 023eaecff494..000000000000
--- a/docs/html/intl/ru/training/multiscreen/index.jd
+++ /dev/null
@@ -1,64 +0,0 @@
-page.title=Designing for Multiple Screens
-
-trainingnavtop=true
-startpage=true
-next.title=Supporting Different Screen Sizes
-next.link=screensizes.html
-
-@jd:body
-
-
-
-
-
ТÑебованиÑ
-
-
-
-
ÐополниÑелÑнÑе маÑеÑиалÑ
-
-
-
-
УпÑажнение
-
-
-
-
-
-
-Ðа плаÑÑоÑме Android ÑабоÑаÑÑ ÑÑÑÑойÑÑва Ñ ÑамÑми ÑазнÑми ÑазмеÑами ÑкÑана: Ð¾Ñ ÑелеÑонов до ÑелевизоÑов. ЧÑÐ¾Ð±Ñ Ñ Ð²Ð°Ñим пÑиложением могли ÑабоÑаÑÑ ÐºÐ°Ðº можно болÑÑе полÑзоваÑелей, оно должно коÑÑекÑно оÑобÑажаÑÑÑÑ Ð½Ð° вÑеÑ
ÑÑиÑ
ÑÑÑÑойÑÑваÑ
.
-
-Ðднако ÑовмеÑÑимоÑÑÑ Ñ ÑазнÑми Ñипами ÑÑÑÑойÑÑв â ÑÑо еÑе не вÑе. ÐÑ ÑазмеÑа ÑкÑана завиÑиÑ, какие возможноÑÑи бÑÐ´ÐµÑ Ð¸Ð¼ÐµÑÑ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð¿Ñи ÑабоÑе Ñ Ð¿Ñиложением. ЧÑÐ¾Ð±Ñ Ð¿Ð¾Ð»ÑзоваÑели дейÑÑвиÑелÑно оÑÑалиÑÑ Ð´Ð¾Ð²Ð¾Ð»ÑÐ½Ñ Ð²Ð°Ñим пÑиложением, оно должно не пÑоÑÑо поддеÑживаÑÑ ÑазнÑе ÑкÑанÑ, но и бÑÑÑ Ð¾Ð¿ÑимизиÑовано Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ из ниÑ
.
-
-ÐÑÐ¾Ñ Ð¼Ð¾Ð´ÑÐ»Ñ Ð¿Ð¾ÑвÑÑен ÑеализаÑии полÑзоваÑелÑÑкого инÑеÑÑейÑа, опÑимизиÑованного Ð´Ð»Ñ ÑазнÑÑ
конÑигÑÑаÑий ÑкÑана.
-
-Ðод, пÑиведеннÑй в каждом ÑÑоке, взÑÑ Ð¸Ð· ÑÑебного пÑиложениÑ, в коÑоÑом демонÑÑÑиÑÑÑÑÑÑ ÑпоÑÐ¾Ð±Ñ Ð¾Ð¿ÑимизаÑии Ð´Ð»Ñ ÑазнÑÑ
ÑкÑанов. ÐÑ Ð¼Ð¾Ð¶ÐµÑе загÑÑзиÑÑ ÐµÐ³Ð¾ (в пÑавой ÑаÑÑи ÑкÑана) и иÑполÑзоваÑÑ ÑаÑÑи кода в ÑобÑÑвенном пÑиложении.
-
-ÐÑимеÑание. Ð ÑÑом модÑле и в ÑÑебном пÑиложении иÑполÑзÑеÑÑÑ Ð²ÑпомогаÑелÑÐ½Ð°Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñека, позволÑÑÑÐ°Ñ ÑабоÑаÑÑ Ñ API {@link android.app.Fragment} в веÑÑиÑÑ
до Android 3.0. ЧÑÐ¾Ð±Ñ Ð¸Ð¼ÐµÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð¸ÑполÑзоваÑÑ Ð²Ñе необÑ
одимÑе API, загÑÑзиÑе библиоÑÐµÐºÑ Ð¸ добавÑÑе ее в Ñвое пÑиложение.
-
-
-УÑоки
-
-
- - ÐоддеÑжка ÑазнÑÑ
ÑазмеÑов ÑкÑана
- - Ð ÑÑом ÑÑоке ÑаÑÑказÑваеÑÑÑ, как ÑоздаÑÑ Ð¼Ð°ÐºÐµÑ, коÑоÑÑй адапÑиÑÑеÑÑÑ Ðº ÑазнÑм ÑазмеÑам ÑкÑана, иÑполÑзÑÑ Ð¼Ð°ÑÑÑабиÑÑемÑе пÑедÑÑавлениÑ, обÑекÑÑ {@link android.widget.RelativeLayout}, квалиÑикаÑоÑÑ ÑазмеÑа и оÑиенÑаÑии, ÑилÑÑÑÑ Ð¿Ñевдонимов и ÑаÑÑÑовÑе изобÑажений ÑоÑмаÑа nine-patch.
-
- - ÐоддеÑжка ÑазнÑÑ
ÑазÑеÑений ÑкÑана
- - Ð ÑÑом ÑÑоке ÑаÑÑказÑваеÑÑÑ, как ÑабоÑаÑÑ Ñ ÑкÑанами Ñазного ÑазÑеÑÐµÐ½Ð¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð½Ðµ завиÑÑÑиÑ
Ð¾Ñ ÑазÑеÑÐµÐ½Ð¸Ñ Ð¿Ð¸ÐºÑелей и как подгоÑовиÑÑ ÑаÑÑÑовÑе изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ из ниÑ
.
-
- - РеализаÑÐ¸Ñ Ð°Ð´Ð°Ð¿ÑиÑÑемÑÑ
алгоÑиÑмов ÑабоÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑÑкого инÑеÑÑейÑа
- - Ð ÑÑом ÑÑоке ÑаÑÑказÑваеÑÑÑ, как ÑеализоваÑÑ Ð°Ð»Ð³Ð¾ÑиÑм ÑабоÑÑ Ð¸Ð½ÑеÑÑейÑа, адапÑиÑÑÑÑийÑÑ Ðº ÑазмеÑÑ Ð¸ ÑазÑеÑÐµÐ½Ð¸Ñ ÑкÑана, Ñо еÑÑÑ ÑпоÑобнÑй опÑеделÑÑÑ Ð°ÐºÑивнÑй Ð¼Ð°ÐºÐµÑ Ð²Ð¾ вÑÐµÐ¼Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿ÑиложениÑ, вÑбиÑаÑÑ Ð´Ð°Ð»ÑнейÑие дейÑÑÐ²Ð¸Ñ Ð½Ð° оÑнове ÑекÑÑего макеÑа и обÑабаÑÑваÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½ÑигÑÑаÑии ÑкÑана.
-
diff --git a/docs/html/intl/ru/training/multiscreen/screendensities.jd b/docs/html/intl/ru/training/multiscreen/screendensities.jd
deleted file mode 100644
index cfd472462824..000000000000
--- a/docs/html/intl/ru/training/multiscreen/screendensities.jd
+++ /dev/null
@@ -1,100 +0,0 @@
-page.title=Supporting Different Densities
-parent.title=Designing for Multiple Screens
-parent.link=index.html
-
-trainingnavtop=true
-previous.title=Supporting Different Screen Sizes
-previous.link=screensizes.html
-next.title=Implementing Adaptative UI Flows
-next.link=adaptui.html
-
-@jd:body
-
-
-
-
-
-Ð ÑÑом ÑÑоке ÑаÑÑказÑваеÑÑÑ, как ÑоздаÑÑ Ð¸Ð½ÑеÑÑейÑ, поддеÑживаÑÑий ÑазнÑе ÑазÑеÑÐµÐ½Ð¸Ñ ÑкÑана, за ÑÑÐµÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑазнÑÑ
ÑеÑÑÑÑов и не завиÑÑÑиÑ
Ð¾Ñ ÑазÑеÑÐµÐ½Ð¸Ñ ÐµÐ´Ð¸Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÑениÑ.
-
-ÐÑполÑзование пикÑелей, не завиÑÑÑиÑ
Ð¾Ñ ÑазÑеÑениÑ
-
-РазÑабоÑÑики ÑаÑÑо допÑÑкаÑÑ Ð¾Ð´Ð½Ñ Ð¸ ÑÑ Ð¶Ðµ оÑÐ¸Ð±ÐºÑ Ð¿Ñи Ñоздании макеÑов â ÑказÑваÑÑ ÑазмеÑÑ Ð¸ ÑаÑÑÑоÑÐ½Ð¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð°Ð±ÑолÑÑнÑÑ
знаÑений в пикÑелÑÑ
. ÐадаваÑÑ ÑазмеÑÑ Ð² пикÑелÑÑ
не ÑекомендÑеÑÑÑ, поÑколÑÐºÑ Ð¸Ð·-за ÑазлиÑной плоÑноÑÑи пикÑелей на ÑкÑанаÑ
ÑазнÑÑ
ÑÑÑÑойÑÑв ÑакÑиÑеÑкий ÑÐ°Ð·Ð¼ÐµÑ Ð¼Ð°ÐºÐµÑа бÑÐ´ÐµÑ Ð½ÐµÐ¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð². ÐÑегда задавайÑе ÑазмеÑÑ Ð² единиÑаÑ
dp
или sp
. dp
â ÑÑо не завиÑÑÑий Ð¾Ñ ÑазÑеÑÐµÐ½Ð¸Ñ Ð¿Ð¸ÐºÑелÑ, ÑавнÑй ÑизиÑеÑÐºÐ¾Ð¼Ñ Ð¿Ð¸ÐºÑÐµÐ»Ñ Ð½Ð° ÑкÑане Ñ Ð¿Ð»Ð¾ÑноÑÑÑÑ 160 ÑоÑек/дÑйм. sp
ÑвлÑеÑÑÑ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¸Ñной единиÑей измеÑениÑ, но маÑÑÑабиÑÑеÑÑÑ Ð½Ð° оÑнове вÑбÑанного полÑзоваÑелем ÑазмеÑа ÑекÑÑа, поÑÑÐ¾Ð¼Ñ ÐµÐµ ÑледÑÐµÑ Ð¿ÑименÑÑÑ Ð´Ð»Ñ ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð²ÐµÐ»Ð¸ÑÐ¸Ð½Ñ ÑÑиÑÑа, но не ÑазмеÑа макеÑа.
-
-ÐапÑимеÑ, еÑли Ð²Ñ Ð·Ð°Ð´Ð°ÐµÑе ÑаÑÑÑоÑние Ð¼ÐµÐ¶Ð´Ñ Ð´Ð²ÑÐ¼Ñ Ð¿ÑедÑÑавлениÑми, ÑекомендÑеÑÑÑ Ð¸ÑполÑзоваÑÑ dp
, а не px
:
-
-
-<Button android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/clickme"
- android:layout_marginTop="20dp" />
-
-
-ÐÐ»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÑазмеÑа ÑÑиÑÑа вÑегда иÑполÑзÑйÑе sp
:
-
-
-<TextView android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:textSize="20sp" />
-
-
-
-ÐÑедоÑÑавление алÑÑеÑнаÑивнÑÑ
ÑаÑÑÑовÑÑ
изобÑажений
-
-Так как плаÑÑоÑма Android пÑедназнаÑена Ð´Ð»Ñ ÑÑÑÑойÑÑв Ñ ÑазнÑми ÑазÑеÑениÑми ÑкÑана, необÑ
одимо позабоÑиÑÑÑÑ Ð¾ налиÑии ÑаÑÑÑовÑÑ
изобÑажений Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ из ÑеÑÑÑеÑ
обобÑеннÑÑ
Ñипов ÑазÑеÑениÑ: низкого, ÑÑеднего, вÑÑокого и оÑÐµÐ½Ñ Ð²ÑÑокого. ÐÑо обеÑпеÑÐ¸Ñ Ð¾Ð¿ÑималÑное ÑоÑеÑание каÑеÑÑва гÑаÑики и пÑоизводиÑелÑноÑÑи на вÑеÑ
ÑÑÑÑойÑÑваÑ
.
-
-Ðа оÑнове иÑÑ
одного векÑоÑного ÑиÑÑнка ÑоздайÑе ÑаÑÑÑовÑе изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ из ÑказаннÑÑ
ÑазÑеÑений ÑоглаÑно ÑледÑÑÑей Ñкале ÑазмеÑов:
-
-
- xhdpi
: 2,0
- hdpi
: 1,5
- mdpi
: 1,0 (ÑÑандаÑÑнÑй ÑазмеÑ)
- ldpi
: 0,75
-
-
-ÐÑо ознаÑаеÑ, ÑÑо изобÑажение, коÑоÑое на ÑÑÑÑойÑÑваÑ
Ñ ÑазÑеÑением ÑкÑана xhdpi
Ð¸Ð¼ÐµÐµÑ ÑÐ°Ð·Ð¼ÐµÑ 200 x 200, на ÑÑÑÑойÑÑваÑ
hdpi
должно имеÑÑ ÑÐ°Ð·Ð¼ÐµÑ 150 x 150, на ÑÑÑÑойÑÑваÑ
mdpi
â 100 x 100, а на ÑÑÑÑойÑÑваÑ
ldpi
â 75 x 75.
-
-ÐомеÑÑиÑе ÑÐ°Ð¹Ð»Ñ Ð¸Ð·Ð¾Ð±Ñажений в ÑооÑвеÑÑÑвÑÑÑие подкаÑалоги в папке res/
, и ÑиÑÑема авÑомаÑиÑеÑки вÑбеÑÐµÑ Ð¿Ð¾Ð´Ñ
одÑÑий в завиÑимоÑÑи Ð¾Ñ ÑазÑеÑÐµÐ½Ð¸Ñ ÑкÑана ÑÑÑÑойÑÑва, на коÑоÑом вÑполнÑеÑÑÑ Ð¿Ñиложение:
-
-
-MyProject/
- res/
- drawable-xhdpi/
- awesomeimage.png
- drawable-hdpi/
- awesomeimage.png
- drawable-mdpi/
- awesomeimage.png
- drawable-ldpi/
- awesomeimage.png
-
-
-ÐÑи каждом обÑаÑении к ÑÐ°Ð¹Ð»Ñ @drawable/awesomeimage
ÑиÑÑема бÑÐ´ÐµÑ Ð²ÑбиÑаÑÑ Ð¸Ð·Ð¾Ð±Ñажение, оÑвеÑаÑÑее ÑазÑеÑÐµÐ½Ð¸Ñ ÑкÑана.
-
-ÐополниÑелÑнÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¸ ÑовеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ найÑи в Ñазделе РекомендаÑии по ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð·Ð½Ð°Ñков.
-
diff --git a/docs/html/intl/ru/training/multiscreen/screensizes.jd b/docs/html/intl/ru/training/multiscreen/screensizes.jd
deleted file mode 100644
index 9684d77486dd..000000000000
--- a/docs/html/intl/ru/training/multiscreen/screensizes.jd
+++ /dev/null
@@ -1,279 +0,0 @@
-page.title=Supporting Different Screen Sizes
-parent.title=Designing for Multiple Screens
-parent.link=index.html
-
-trainingnavtop=true
-next.title=Supporting Different Screen Densities
-next.link=screendensities.html
-
-@jd:body
-
-
-
-
-
-Ð ÑÑом ÑÑоке опиÑÐ°Ð½Ñ ÑледÑÑÑие аÑпекÑÑ Ð¾Ð±ÐµÑпеÑÐµÐ½Ð¸Ñ ÑовмеÑÑимоÑÑи инÑеÑÑейÑа Ñ ÑазнÑми ÑкÑанами:
-
- - обеÑпеÑение ÑпоÑобноÑÑи макеÑа адапÑиÑоваÑÑÑÑ Ðº ÑазмеÑÑ ÑкÑана;
- - вÑÐ±Ð¾Ñ Ð¼Ð°ÐºÐµÑа инÑеÑÑейÑа, оÑвеÑаÑÑего конÑигÑÑаÑии ÑкÑана;
- - конÑÑÐ¾Ð»Ñ Ð¿ÑавилÑноÑÑи пÑименÑемого макеÑа;
- - иÑполÑзование маÑÑÑабиÑÑемÑÑ
ÑаÑÑÑовÑÑ
изобÑажений.
-
-
-
-ÐÑполÑзование паÑамеÑÑов wrap_content и match_parent
-
-ЧÑÐ¾Ð±Ñ ÑоздаÑÑ Ð¼Ð°ÑÑÑабиÑÑемÑй макеÑ, ÑпоÑобнÑй адапÑиÑоваÑÑÑÑ Ðº ÑазнÑм ÑкÑанам, иÑполÑзÑйÑе в каÑеÑÑве знаÑений ÑиÑÐ¸Ð½Ñ Ð¸ вÑÑоÑÑ Ð¾ÑделÑнÑÑ
компоненÑов пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð°ÑамеÑÑÑ "wrap_content"
и "match_parent"
. ÐÑли иÑполÑзÑеÑÑÑ "wrap_content"
, Ð´Ð»Ñ ÑиÑÐ¸Ð½Ñ Ð¸Ð»Ð¸ вÑÑоÑÑ Ð¿ÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑÑÑанавливаеÑÑÑ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»Ñное знаÑение, позволÑÑÑее ÑмеÑÑиÑÑ ÑодеÑжание на ÑкÑан, а паÑамеÑÑ "match_parent"
(извеÑÑнÑй как "fill_parent"
в API до 8 ÑÑовнÑ) ÑлÑÐ¶Ð¸Ñ Ð´Ð»Ñ ÑаÑÑÑÐ³Ð¸Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñа по ÑазмеÑÑ ÑодиÑелÑÑкого пÑедÑÑавлениÑ.
-
-ÐÑли ÑказаÑÑ Ð¿Ð°ÑамеÑÑÑ "wrap_content"
и "match_parent"
вмеÑÑо ÑÑÑого заданнÑÑ
ÑазмеÑов, в пÑедÑÑавлениÑÑ
бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»Ñно необÑ
одимое меÑÑо или они бÑдÑÑ ÑаÑÑÑгиваÑÑÑÑ Ð½Ð° вÑÑ Ð´Ð¾ÑÑÑпнÑÑ Ð´Ð»Ð¸Ð½Ñ Ð¸ ÑиÑÐ¸Ð½Ñ ÑооÑвеÑÑÑвенно. ÐапÑимеÑ:
-
-{@sample development/samples/training/multiscreen/newsreader/res/layout/onepane_with_bar.xml all}
-
-ÐбÑаÑиÑе внимание на Ñо, ÑÑо в коде ÑÑебного пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ÑазмеÑÑ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñов Ð·Ð°Ð´Ð°Ð½Ñ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¿Ð°ÑамеÑÑов "wrap_content"
и "match_parent"
. Ð ÑезÑлÑÑаÑе Ð¼Ð°ÐºÐµÑ Ð¿ÑавилÑно оÑобÑажаеÑÑÑ Ð½Ð° ÑкÑанаÑ
ÑазнÑÑ
ÑазмеÑов пÑи ÑазнÑÑ
оÑиенÑаÑиÑÑ
.
-
-ÐапÑимеÑ, Ð²Ð¾Ñ Ñак он вÑглÑÐ´Ð¸Ñ Ð² веÑÑикалÑной и гоÑизонÑалÑной оÑиенÑаÑиÑÑ
. ÐбÑаÑиÑе внимание на Ñо, как ÑазмеÑÑ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñов авÑомаÑиÑеÑки адапÑиÑÑÑÑÑÑ Ðº длине и ÑиÑине:
-
-
-РиÑÑнок 1. ÐÑиложение News Reader пÑи веÑÑикалÑной (Ñлева) и гоÑизонÑалÑной (ÑпÑава) оÑиенÑаÑии.
-
-
-ÐÑполÑзование обÑекÑа RelativeLayout
-
-С помоÑÑÑ Ð²Ð»Ð¾Ð¶ÐµÐ½Ð½ÑÑ
ÑкземплÑÑов обÑекÑа {@link android.widget.LinearLayout} и паÑамеÑÑов "wrap_content"
и "match_parent"
можно ÑоздаваÑÑ Ð´Ð¾ÑÑаÑоÑно ÑложнÑе макеÑÑ. Ðднако {@link android.widget.LinearLayout} не Ð´Ð°ÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи ÑоÑно ÑпÑавлÑÑÑ Ð²Ð·Ð°Ð¸Ð¼Ð½Ñм ÑаÑположением доÑеÑниÑ
пÑедÑÑавлений: в {@link android.widget.LinearLayout} они пÑоÑÑо помеÑаÑÑÑÑ Ð² ÑÑд дÑÑг за дÑÑгом. ÐÑли необÑ
одимо ÑаÑположиÑÑ Ð´Ð¾ÑеÑние пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð½Ñм обÑазом, иÑполÑзÑйÑе обÑÐµÐºÑ {@link android.widget.RelativeLayout}, позволÑÑÑий задаÑÑ Ð¾ÑноÑиÑелÑнÑе позиÑии компоненÑов. ÐапÑимеÑ, одно доÑеÑнее пÑедÑÑавление можно вÑÑовнÑÑÑ Ð¿Ð¾ Ð»ÐµÐ²Ð¾Ð¼Ñ ÐºÑÐ°Ñ ÑкÑана, а дÑÑгое â по пÑавомÑ.
-
-ÐапÑимеÑ:
-
-
-<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
- <TextView
- android:id="@+id/label"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="Type here:"/>
- <EditText
- android:id="@+id/entry"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_below="@id/label"/>
- <Button
- android:id="@+id/ok"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_below="@id/entry"
- android:layout_alignParentRight="true"
- android:layout_marginLeft="10dp"
- android:text="OK" />
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_toLeftOf="@id/ok"
- android:layout_alignTop="@id/ok"
- android:text="Cancel" />
-</RelativeLayout>
-
-
-Ðа ÑиÑ. 2 показано, как ÑÑÐ¾Ñ Ð¼Ð°ÐºÐµÑ Ð²ÑглÑÐ´Ð¸Ñ Ð½Ð° ÑкÑане QVGA.
-
-
-РиÑÑнок 2. СкÑинÑÐ¾Ñ ÑкÑана QVGA (маленÑкого ÑазмеÑа).
-
-Ðа ÑиÑ. 3 показано, как он вÑглÑÐ´Ð¸Ñ Ð½Ð° ÑкÑане Ñ Ð±Ð¾Ð»ÑÑей диагоналÑÑ.
-
-
-РиÑÑнок 3. СкÑинÑÐ¾Ñ ÑкÑана WSVGA (болÑÑего ÑазмеÑа).
-
-ÐбÑаÑиÑе внимание: неÑмоÑÑÑ Ð½Ð° изменение ÑазмеÑа компоненÑов иÑ
взаимное ÑаÑположение оÑÑаеÑÑÑ Ð¿Ñежним, Ñак как оно задано обÑекÑом {@link android.widget.RelativeLayout.LayoutParams}.
-
-
-ÐÑполÑзование квалиÑикаÑоÑов ÑазмеÑа
-
-ÐаÑÑÑабиÑÑемÑе или оÑноÑиÑелÑнÑе макеÑÑ, один из коÑоÑÑÑ
пÑодемонÑÑÑиÑован вÑÑе, имеÑÑ Ñвои огÑаниÑениÑ. ХоÑÑ Ð¾Ð½Ð¸ позволÑÑÑ ÑоздаÑÑ Ð¸Ð½ÑеÑÑейÑ, ÑпоÑобнÑй адапÑиÑоваÑÑÑÑ Ðº ÑазнÑм ÑкÑанам за ÑÑÐµÑ ÑаÑÑÑÐ³Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¿ÑоÑÑÑанÑÑва внÑÑÑи и вокÑÑг компоненÑов, полÑзоваÑÐµÐ»Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¾ÐºÐ°Ð·Ð°ÑÑÑÑ Ð½Ðµ ÑлиÑком Ñдобно ÑабоÑаÑÑ Ñ Ñаким инÑеÑÑейÑом. ÐоÑÑÐ¾Ð¼Ñ Ð² пÑиложении должен иÑполÑзоваÑÑÑÑ Ð½Ðµ один маÑÑÑабиÑÑемÑй макеÑ, а неÑколÑко алÑÑеÑнаÑивнÑÑ
ваÑианÑов Ð´Ð»Ñ ÑазнÑÑ
конÑигÑÑаÑий ÑкÑана. ÐÑ
можно ÑоздаÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÐºÐ²Ð°Ð»Ð¸ÑикаÑоÑов конÑигÑÑаÑий, коÑоÑÑе позволÑÑÑ Ð¾Ð¿ÐµÑаÑивно вÑбиÑаÑÑ ÑеÑÑÑÑÑ, оÑвеÑаÑÑие ÑекÑÑим паÑамеÑÑам ÑкÑана (напÑимеÑ, ÑазнÑе ваÑианÑÑ Ð¼Ð°ÐºÐµÑов Ð´Ð»Ñ ÑкÑанов ÑазнÑÑ
ÑазмеÑов).
-
-Ðногие пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¾ÑобÑажаÑÑÑÑ Ð½Ð° болÑÑиÑ
ÑкÑанаÑ
в двÑÑ
панелÑном Ñежиме, пÑи коÑоÑом ÑпиÑок ÑлеменÑов ÑаÑположен в одной панели, а иÑ
ÑодеÑжание оÑкÑÑваеÑÑÑ Ð² дÑÑгой. Такой Ñежим пÑоÑмоÑÑа Ñдобен на доÑÑаÑоÑно болÑÑиÑ
ÑкÑанаÑ
планÑеÑнÑÑ
ÐРи ÑелевизоÑов, однако на ÑкÑане ÑелеÑона ÑÑи панели ÑледÑÐµÑ Ð¾ÑобÑажаÑÑ Ð¿Ð¾ оÑделÑноÑÑи. ÐÐ»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ Ñежима пÑоÑмоÑÑа нÑжно ÑоздаÑÑ Ð¾ÑделÑнÑй Ñайл.
-
-
- res/layout/main.xml
, однопанелÑнÑй Ð¼Ð°ÐºÐµÑ (по ÑмолÑаниÑ):
-
-{@sample development/samples/training/multiscreen/newsreader/res/layout/onepane.xml all}
-
- res/layout-large/main.xml
, двÑÑ
панелÑнÑй макеÑ:
-
-{@sample development/samples/training/multiscreen/newsreader/res/layout/twopanes.xml all}
-
-
-
-ÐбÑаÑиÑе внимание, ÑÑо во вÑоÑом ÑлÑÑае в названии каÑалога иÑполÑзован квалиÑикаÑÐ¾Ñ large
. ÐÑÐ¾Ñ Ð¼Ð°ÐºÐµÑ Ð±ÑÐ´ÐµÑ Ð²ÑбÑан на ÑÑÑÑойÑÑваÑ
, ÑкÑÐ°Ð½Ñ ÐºÐ¾ÑоÑÑÑ
ÑÑиÑаÑÑÑÑ Ð±Ð¾Ð»ÑÑими (напÑимеÑ, 7 дÑймов и более). ÐеÑвÑй Ð¼Ð°ÐºÐµÑ (без квалиÑикаÑоÑов) бÑÐ´ÐµÑ Ð²ÑбÑан Ð´Ð»Ñ ÑÑÑÑойÑÑв Ñ Ð¼Ð°Ð»ÐµÐ½Ñким ÑкÑаном.
-
-
-ÐÑполÑзование квалиÑикаÑоÑа Smallest-width
-
-Ðдной из пÑоблем, Ñ ÐºÐ¾ÑоÑой ÑÑалкивалиÑÑ ÑазÑабоÑÑики пÑиложений Ð´Ð»Ñ ÑÑÑÑойÑÑв Android веÑÑий до 3.2, бÑло ÑлиÑком обÑее опÑеделение "болÑÑого" ÑкÑана. ÐÑо каÑалоÑÑ ÑÑÑÑойÑÑв Dell Streak, пеÑвой модели Galaxy Tab и планÑеÑнÑÑ
ÐÐ Ñ ÑкÑаном ÑазмеÑом 7 дÑймов. Ðногие пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ÑÑебовалоÑÑ Ð¿Ð¾-ÑÐ°Ð·Ð½Ð¾Ð¼Ñ Ð¾ÑобÑажаÑÑ Ð½Ð° ÑазнÑÑ
ÑÑÑÑойÑÑваÑ
(напÑимеÑ, Ñ 5- и 7-дÑймовÑми ÑкÑанами), Ñ
оÑÑ Ð¾Ð½Ð¸ и оÑноÑилиÑÑ Ðº одной каÑегоÑии "болÑÑиÑ
" ÑкÑанов. Ð Android веÑÑии 3.2 и более поздниÑ
доÑÑÑпен квалиÑикаÑÐ¾Ñ Smallest-width.
-
-Ðн позволÑÐµÑ Ð¾Ð¿ÑеделÑÑÑ ÑкÑÐ°Ð½Ñ Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð¹ минималÑной ÑиÑиной в dp. ÐапÑимеÑ, ÑипиÑнÑй планÑеÑнÑй ÐÐ Ñ ÑкÑаном 7 дÑймов Ð¸Ð¼ÐµÐµÑ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑнÑÑ ÑиÑÐ¸Ð½Ñ 600 dp, и еÑли Ð²Ñ Ñ
оÑиÑе, ÑÑÐ¾Ð±Ñ Ð¿Ñиложение ÑабоÑало на нем в двÑÑ
панелÑном Ñежиме (а на менÑÑиÑ
ÑкÑанаÑ
в однопанелÑном), иÑполÑзÑйÑе два макеÑа из пÑедÑдÑÑего Ñаздела, но вмеÑÑо квалиÑикаÑоÑа ÑазмеÑа large
ÑкажиÑе sw600dp
. Ð Ñаком ÑлÑÑае на ÑкÑанаÑ
, минималÑÐ½Ð°Ñ ÑиÑина коÑоÑÑÑ
ÑоÑÑавлÑÐµÑ 600 dp, бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð´Ð²ÑÑ
панелÑнÑй макеÑ.
-
-
- res/layout/main.xml
, однопанелÑнÑй Ð¼Ð°ÐºÐµÑ (по ÑмолÑаниÑ):
-
-{@sample development/samples/training/multiscreen/newsreader/res/layout/onepane.xml all}
-
- res/layout-sw600dp/main.xml
, двÑÑ
панелÑнÑй макеÑ:
-
-{@sample development/samples/training/multiscreen/newsreader/res/layout/twopanes.xml all}
-
-
-
-ÐÑо ознаÑаеÑ, ÑÑо на ÑÑÑÑойÑÑваÑ
, минималÑÐ½Ð°Ñ ÑиÑина ÑкÑана коÑоÑÑÑ
не менÑÑе 600 dp, бÑÐ´ÐµÑ Ð²ÑбÑан layout-sw600dp/main.xml
(двÑÑ
панелÑнÑй макеÑ), а на ÑкÑанаÑ
менÑÑего ÑазмеÑа â layout/main.xml
(однопанелÑнÑй макеÑ).
-
-СледÑÐµÑ ÑÑеÑÑÑ, ÑÑо на Android-ÑÑÑÑойÑÑваÑ
до веÑÑии 3.2 квалиÑикаÑÐ¾Ñ sw600dp
не бÑÐ´ÐµÑ ÑабоÑаÑÑ, поÑÑÐ¾Ð¼Ñ Ð´Ð»Ñ Ð½Ð¸Ñ
по-пÑÐµÐ¶Ð½ÐµÐ¼Ñ Ð½Ñжно иÑполÑзоваÑÑ large
. Таким обÑазом, вам поÑÑебÑеÑÑÑ ÐµÑе один Ñайл Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸ÐµÐ¼ res/layout-large/main.xml
, иденÑиÑнÑй ÑÐ°Ð¹Ð»Ñ res/layout-sw600dp/main.xml
. Ð ÑледÑÑÑем Ñазделе Ð²Ñ Ð¿Ð¾Ð·Ð½Ð°ÐºÐ¾Ð¼Ð¸ÑеÑÑ Ñ Ð¼ÐµÑодом, коÑоÑÑй позволÑÐµÑ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ Ð´ÑблиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑакиÑ
Ñайлов макеÑа.
-
-
-ÐÑполÑзование пÑевдонимов макеÑов
-
-ÐвалиÑикаÑÐ¾Ñ Smallest-width ÑабоÑÐ°ÐµÑ ÑолÑко на ÑÑÑÑойÑÑваÑ
Android 3.2 или более поздниÑ
веÑÑий. ÐÐ»Ñ ÑовмеÑÑимоÑÑи Ñ Ð±Ð¾Ð»ÐµÐµ Ñанними ÑÑÑÑойÑÑвами по-пÑÐµÐ¶Ð½ÐµÐ¼Ñ ÑледÑÐµÑ Ð¸ÑполÑзоваÑÑ Ð°Ð±ÑÑÑакÑнÑе ÑазмеÑÑ (small, normal, large и xlarge). ÐапÑимеÑ, ÑÑÐ¾Ð±Ñ Ð¸Ð½ÑеÑÑÐµÐ¹Ñ Ð¾ÑкÑÑвалÑÑ Ð² однопанелÑном Ñежиме на ÑелеÑонаÑ
и в многопанелÑном на планÑеÑнÑÑ
ÐÐ Ñ 7-дÑймовÑм ÑкÑаном, ÑелевизоÑаÑ
и дÑÑгиÑ
кÑÑпнÑÑ
ÑÑÑÑойÑÑваÑ
, подгоÑовÑÑе ÑледÑÑÑие ÑайлÑ:
-
-
-res/layout/main.xml:
однопанелÑнÑй макеÑ;
-res/layout-large:
многопанелÑнÑй макеÑ;
-res/layout-sw600dp:
многопанелÑнÑй макеÑ.
-
-
-ÐоÑледние два Ñайла иденÑиÑнÑ: один из ниÑ
пÑедназнаÑен Ð´Ð»Ñ ÑÑÑÑойÑÑв Android 3.2 и новее, а вÑоÑой Ð´Ð»Ñ Ð±Ð¾Ð»ÐµÐµ ÑÑаÑÑÑ
планÑеÑнÑÑ
ÐРи ÑелевизоÑов на плаÑÑоÑме Android.
-
-ЧÑÐ¾Ð±Ñ Ð½Ðµ ÑоздаваÑÑ Ð´ÑбликаÑÑ Ñайлов и ÑпÑоÑÑиÑÑ Ð¿ÑоÑеÑÑ Ð¿Ð¾Ð´Ð´ÐµÑжки пÑиложениÑ, иÑполÑзÑйÑе пÑевдонимÑ. ÐапÑимеÑ, можно опÑеделиÑÑ ÑледÑÑÑие макеÑÑ:
-
-
-res/layout/main.xml
(однопанелÑнÑй макеÑ);
-res/layout/main_twopanes.xml
(двÑÑ
панелÑнÑй макеÑ).
-
-
-ÐаÑем добавÑÑе ÑледÑÑÑие два Ñайла:
-
-
-
-СодеÑжание поÑледниÑ
двÑÑ
Ñайлов одинаково, но Ñами по Ñебе они не опÑеделÑÑÑ Ð¼Ð°ÐºÐµÑ. Ðни ÑлÑÐ¶Ð°Ñ Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ Ð½Ð°Ð·Ð½Ð°ÑиÑÑ Ñайл {@code main} в каÑеÑÑве пÑевдонима {@code main_twopanes}. Так как в ниÑ
иÑполÑзÑÑÑÑÑ ÑелекÑоÑÑ large
и sw600dp
, они пÑименÑÑÑÑÑ Ðº планÑеÑнÑм ÐРи ÑелевизоÑам на плаÑÑоÑме Android незавиÑимо Ð¾Ñ Ð²ÐµÑÑии (Ð´Ð»Ñ Ð²ÐµÑÑий до 3.2 иÑполÑзÑеÑÑÑ
-{@code large}, а Ð´Ð»Ñ Ð±Ð¾Ð»ÐµÐµ новÑÑ
â sw600dp
).
-
-
-ÐÑполÑзование квалиÑикаÑоÑов оÑиенÑаÑии
-
-ХоÑÑ Ð½ÐµÐºÐ¾ÑоÑÑе макеÑÑ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ð¾ Ñ
оÑоÑо ÑмоÑÑÑÑÑÑ Ð² веÑÑикалÑной и гоÑизонÑалÑной оÑиенÑаÑиÑÑ
, в болÑÑинÑÑве ÑлÑÑаев инÑеÑÑÐµÐ¹Ñ Ð²Ñе же пÑиÑ
одиÑÑÑ Ð°Ð´Ð°Ð¿ÑиÑоваÑÑ. Ðиже показано, как изменÑеÑÑÑ Ð¼Ð°ÐºÐµÑ Ð² пÑиложении News Reader в завиÑимоÑÑи Ð¾Ñ ÑазмеÑа и оÑиенÑаÑии ÑкÑана.
-
-
-- ÐаленÑкий ÑкÑан, веÑÑикалÑÐ½Ð°Ñ Ð¾ÑиенÑаÑиÑ: однопанелÑнÑй вид Ñ Ð»Ð¾Ð³Ð¾Ñипом.
-- ÐаленÑкий ÑкÑан, гоÑизонÑалÑÐ½Ð°Ñ Ð¾ÑиенÑаÑиÑ: однопанелÑнÑй вид Ñ Ð»Ð¾Ð³Ð¾Ñипом.
-- ÐланÑеÑнÑй ÐÐ Ñ 7-дÑймовÑм ÑкÑаном, веÑÑикалÑÐ½Ð°Ñ Ð¾ÑиенÑаÑиÑ: однопанелÑнÑй вид Ñ Ð¿Ð°Ð½ÐµÐ»ÑÑ Ð´ÐµÐ¹ÑÑвий.
-- ÐланÑеÑнÑй ÐÐ Ñ 7-дÑймовÑм ÑкÑаном, гоÑизонÑалÑÐ½Ð°Ñ Ð¾ÑиенÑаÑиÑ: двÑÑ
панелÑнÑй вид Ñ Ð¿Ð°Ð½ÐµÐ»ÑÑ Ð´ÐµÐ¹ÑÑвий.
-- ÐланÑеÑнÑй ÐÐ Ñ 10-дÑймовÑм ÑкÑаном, веÑÑикалÑÐ½Ð°Ñ Ð¾ÑиенÑаÑиÑ: двÑÑ
панелÑнÑй вид (Ñзкий ваÑианÑ) Ñ Ð¿Ð°Ð½ÐµÐ»ÑÑ Ð´ÐµÐ¹ÑÑвий.
-- ÐланÑеÑнÑй ÐÐ Ñ 10-дÑймовÑм ÑкÑаном, гоÑизонÑалÑÐ½Ð°Ñ Ð¾ÑиенÑаÑиÑ: двÑÑ
панелÑнÑй вид (ÑиÑокий ваÑианÑ) Ñ Ð¿Ð°Ð½ÐµÐ»ÑÑ Ð´ÐµÐ¹ÑÑвий.
-- ТелевизоÑ, гоÑизонÑалÑÐ½Ð°Ñ Ð¾ÑиенÑаÑиÑ: двÑÑ
панелÑнÑй вид Ñ Ð¿Ð°Ð½ÐµÐ»ÑÑ Ð´ÐµÐ¹ÑÑвий.
-
-
-ÐаждÑй из ÑÑиÑ
макеÑов опÑеделен в XML-Ñайле в каÑалоге res/layout/
. ЧÑÐ¾Ð±Ñ ÑопоÑÑавиÑÑ Ð¸Ñ
Ñ Ð¾Ð¿ÑеделеннÑми конÑигÑÑаÑиÑми ÑкÑана, в пÑиложении иÑполÑзÑÑÑÑÑ Ð¿ÑевдонимÑ:
-
-res/layout/onepane.xml:
-{@sample development/samples/training/multiscreen/newsreader/res/layout/onepane.xml all}
-
-res/layout/onepane_with_bar.xml:
-{@sample development/samples/training/multiscreen/newsreader/res/layout/onepane_with_bar.xml all}
-
-res/layout/twopanes.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/layout/twopanes.xml all}
-
-res/layout/twopanes_narrow.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/layout/twopanes_narrow.xml all}
-
-ÐоÑле Ñого как вÑе возможнÑе макеÑÑ Ð¾Ð¿ÑеделенÑ, оÑÑаеÑÑÑ ÑопоÑÑавиÑÑ ÐºÐ°Ð¶Ð´Ñй из ниÑ
Ñ Ð¿Ð¾Ð´Ñ
одÑÑей конÑигÑÑаÑией, иÑполÑзÑÑ ÐºÐ²Ð°Ð»Ð¸ÑикаÑоÑÑ ÐºÐ¾Ð½ÑигÑÑаÑий. ÐоÑполÑзÑемÑÑ Ð¿Ñевдонимами макеÑов:
-
-res/values/layouts.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/values/layouts.xml all}
-
-res/values-sw600dp-land/layouts.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/values-sw600dp-land/layouts.xml
-all}
-
-res/values-sw600dp-port/layouts.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/values-sw600dp-port/layouts.xml
-all}
-
-res/values-large-land/layouts.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/values-large-land/layouts.xml all}
-
-res/values-large-port/layouts.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/values-large-port/layouts.xml all}
-
-
-
-ÐÑполÑзование ÑаÑÑÑовÑÑ
изобÑажений nine-patch
-
-ЧÑÐ¾Ð±Ñ Ð¸Ð½ÑеÑÑÐµÐ¹Ñ Ð±Ñл ÑовмеÑÑим Ñ ÑкÑанами ÑазнÑÑ
ÑазмеÑов, иÑполÑзÑемÑе в нем гÑаÑиÑеÑкие ÑлеменÑÑ Ñакже Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð°Ð´Ð°Ð¿ÑиÑÐ¾Ð²Ð°Ð½Ñ ÑооÑвеÑÑÑвÑÑÑим обÑазом. ÐапÑимеÑ, Ñон кнопки должен одинаково Ñ
оÑоÑо вÑглÑдеÑÑ Ð½ÐµÐ·Ð°Ð²Ð¸Ñимо Ð¾Ñ ÐµÐµ ÑоÑмÑ.
-
-ÐÑли иÑполÑзоваÑÑ Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñов, ÑазмеÑÑ ÐºÐ¾ÑоÑÑÑ
менÑÑÑÑÑ, обÑÑнÑе изобÑажениÑ, Ñо они бÑдÑÑ ÑавномеÑно ÑжимаÑÑÑÑ Ð¸ ÑаÑÑÑгиваÑÑÑÑ, и ÑезÑлÑÑÐ°Ñ Ð±ÑÐ´ÐµÑ Ð´Ð°Ð»ÐµÐº Ð¾Ñ Ð¸Ð´ÐµÐ°Ð»Ñного. РеÑением ÑвлÑÑÑÑÑ ÑаÑÑÑовÑе изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ ÑоÑмаÑа nine-patch â ÑпеÑиалÑнÑе PNG-ÑайлÑ, ÑодеÑжаÑие инÑоÑмаÑÐ¸Ñ Ð¾ Ñом, какие облаÑÑи можно ÑаÑÑÑгиваÑÑ, а какие неÑ.
-
-Ð¡Ð¾Ð·Ð´Ð°Ð²Ð°Ñ ÑаÑÑÑовÑе изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¼Ð°ÑÑÑабиÑÑемÑÑ
компоненÑов, обÑзаÑелÑно иÑполÑзÑйÑе ÑоÑÐ¼Ð°Ñ nine-patch. Ðа ÑиÑ. 4 показано обÑÑное ÑаÑÑÑовое изобÑажение (ÑвелиÑенное в 4 Ñаза Ð´Ð»Ñ Ð½Ð°Ð³Ð»ÑдноÑÑи), коÑоÑое Ð¼Ñ Ð¿ÐµÑеведем в ÑоÑÐ¼Ð°Ñ nine-patch.
-
-
-РиÑÑнок 4. button.png
-
-ÐÑкÑойÑе его Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑÑилиÑÑ draw9patch
, вÑ
одÑÑей в ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑ ÑазÑабоÑÑика (в каÑалоге tools/
). УÑÑановиÑе меÑки на левом и веÑÑ
нем кÑаÑÑ
, ÑÑÐ¾Ð±Ñ Ð¾Ð³ÑаниÑиÑÑ Ð¾Ð±Ð»Ð°ÑÑи, коÑоÑÑе можно ÑаÑÑÑгиваÑÑ. Ðожно Ñакже пÑовеÑÑи Ð»Ð¸Ð½Ð¸Ñ Ð²Ð´Ð¾Ð»Ñ Ð¿Ñавого и нижнего кÑаев, как показано на ÑиÑ. 5, ÑÑÐ¾Ð±Ñ Ð¾ÑмеÑиÑÑ Ð¾Ð±Ð»Ð°ÑÑи, в коÑоÑÑÑ
ÑодеÑжание должно бÑÑÑ Ð·Ð°ÑикÑиÑовано.
-
-
-РиÑÑнок 5. button.9.png
-
-ÐбÑаÑиÑе внимание на ÑеÑнÑе пикÑели по кÑаÑм. ÐеÑки Ñ Ð²ÐµÑÑ
ней и левой гÑÐ°Ð½Ð¸Ñ Ð¾Ð±Ð¾Ð·Ð½Ð°ÑаÑÑ Ñе облаÑÑи, коÑоÑÑе можно ÑаÑÑÑгиваÑÑ, а меÑки Ñ Ð¿Ñавой и нижней гÑÐ°Ð½Ð¸Ñ â Ñе, кÑда должно бÑÑÑ Ð¿Ð¾Ð¼ÐµÑено ÑодеÑжание.
-
-Также обÑаÑиÑе внимание на ÑаÑÑиÑение .9.png
. Ðно должно бÑÑÑ Ð·Ð°Ð´Ð°Ð½Ð¾ именно в Ñаком виде, ÑÑÐ¾Ð±Ñ ÑиÑÑема могла опÑеделиÑÑ, ÑÑо ÑÑо ÑоÑÐ¼Ð°Ñ nine-patch, а не обÑÑнÑй PNG-Ñайл.
-
-ÐÑи пÑименении ÑÑого Ñона к компоненÑÑ (Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ android:background="@drawable/button"
) изобÑажение бÑÐ´ÐµÑ ÑаÑÑÑнÑÑо по ÑазмеÑÑ ÐºÐ½Ð¾Ð¿ÐºÐ¸, как показано на ÑиÑ. 6.
-
-
-РиÑÑнок 6. Ðнопки ÑазнÑÑ
ÑазмеÑов Ñ Ñайлом Ñона button.9.png
в ÑоÑмаÑе nine-patch.
-
diff --git a/docs/html/intl/zh-CN/training/monitoring-device-state/battery-monitoring.jd b/docs/html/intl/zh-CN/training/monitoring-device-state/battery-monitoring.jd
deleted file mode 100644
index 0e1ccb739168..000000000000
--- a/docs/html/intl/zh-CN/training/monitoring-device-state/battery-monitoring.jd
+++ /dev/null
@@ -1,120 +0,0 @@
-page.title=çæ§çµæ± çµéåå
çµç¶æ
-parent.title=ä¼åçµæ± 使ç¨æ¶é´
-parent.link=index.html
-
-trainingnavtop=true
-next.title=ç¡®å®åçæ§åºåº§å¯¹æ¥ç¶æåç±»å
-next.link=docking-monitoring.html
-
-@jd:body
-
-
-
-å¦ææ¨è¦æ´æ¹åå°æ´æ°é¢çï¼ä»èåå°æ´æ°å¯¹çµæ± 使ç¨æ¶é´çå½±åï¼æ好å
æ¥çå½åççµæ± çµéåå
çµç¶æã
-
-对åºç¨è¿è¡æ´æ°ä¼å½±åçµæ± 使ç¨æ¶é´ï¼å
·ä½åå³äºè®¾å¤ççµæ± çµéåå
çµç¶æãå¦æç¨æ·æ£å¨éè¿äº¤æµçµæºä¸ºè®¾å¤å
çµï¼æ´æ°åºç¨çå½±åå°±å¯ä»¥å¿½ç¥ä¸è®¡ãå æ¤ï¼å¨å¤§å¤æ°æ
åµä¸ï¼åªè¦è®¾å¤è¿æ¥äºå
çµå¨ï¼æ¨å°±å¯ä»¥æ大ç¨åº¦å°æé«å·æ°é¢çãç¸åï¼å¦æ设å¤å¨æ¶èçµæ± çµéï¼é£ä¹éä½æ´æ°é¢çå°±å¯ä»¥å»¶é¿çµæ± 使ç¨æ¶é´ã
-
-åæ ·ï¼æ¨ä¹å¯ä»¥æ¥ççµæ± çµéï¼å¦æçµéå³å°èå°½ï¼æ¨å°±å¯ä»¥éä½æ´æ°é¢çï¼çè³åæ¢æ´æ°ã
-
-
-ç¡®å®å½åçå
çµç¶æ
-
-请å
ç¡®å®å½åçå
çµç¶æã{@link android.os.BatteryManager} ä¼éè¿ä¸ä¸ªå
å«å
çµç¶æçæç» {@link android.content.Intent} 广æææççµæ± 详æ
åå
çµè¯¦æ
ã
-
-ç±äºè¿æ¯ä¸ªæç» intentï¼å æ¤æ¨æ ééè¿å°ä¼ å
¥ {@code null} ç {@code registerReceiver} ä½ä¸ºæ¥æ¶å¨ç´æ¥è°ç¨ï¼å¦ä¸ä¸ä»£ç 段æ示ï¼æ¥æ³¨å {@link android.content.BroadcastReceiver}ï¼ç³»ç»ä¼è¿åå½åçµæ± ç¶æ intentãæ¨å¯ä»¥å¨æ¤å¤ä¼ å
¥å®é
ç {@link android.content.BroadcastReceiver} 对象ï¼ä¸è¿æ们ä¼å¨ä¸æä¸ä»ç»å¦ä½å¤çæ´æ°ï¼å æ¤æ¨ä¸ä¸å®è¦æ§è¡æ¤æä½ã
-
-IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
-Intent batteryStatus = context.registerReceiver(null, ifilter);
-
-å¦æ设å¤æ£å¨å
çµï¼åæ¨å¯ä»¥æåå½åçå
çµç¶æåå
çµæ¹å¼ï¼æ 论æ¯éè¿ USB è¿æ¯äº¤æµå
çµå¨ï¼ï¼å¦ä¸æ示ï¼
-
-
// Are we charging / charged?
-int status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
-boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
- status == BatteryManager.BATTERY_STATUS_FULL;
-
-// How are we charging?
-int chargePlug = battery.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
-boolean usbCharge = chargePlug == BATTERY_PLUGGED_USB;
-boolean acCharge = chargePlug == BATTERY_PLUGGED_AC;
-
-é常ï¼å¦æ设å¤è¿æ¥äºäº¤æµå
çµå¨ï¼æ¨å°±åºæ大ç¨åº¦å°æé«åå°æ´æ°é¢çï¼å¦æ设å¤éè¿ USB å
çµï¼è¯·éä½æ´æ°é¢çï¼å¦æçµæ± å¨èçµï¼è¯·è¿ä¸æ¥éä½æ´æ°é¢çã
-
-
-çæ§å
çµç¶æçåå
-
-å
çµç¶æçæ¹åå°±å设å¤è¿æ¥çµæºé£æ ·å®¹æï¼å æ¤çæ§å
çµç¶æçåå并ç¸åºå°è°æ´å·æ°é¢çå°±å¾éè¦äºã
-
-åªè¦è®¾å¤è¿æ¥ææå¼çµæºï¼{@link android.os.BatteryManager} å°±ä¼å¹¿æç¸åºçæä½ãå³ä½¿æ¨çåºç¨æ²¡æè¿è¡ï¼ä¹è¯·å¡å¿
æ¥æ¶è¿äºäºä»¶ï¼å°¤å
¶æ¯å½è¿äºäºä»¶ä¼å½±åæ¨å¯å¨åºç¨ä»¥æ§è¡åå°æ´æ°çé¢çæ¶ãå æ¤ï¼æ¨åºè¯¥éè¿å¨ intent è¿æ»¤å¨ä¸å®ä¹ {@link android.content.Intent#ACTION_POWER_CONNECTED} å {@link android.content.Intent#ACTION_POWER_DISCONNECTED}ï¼å¨æ¸
åä¸æ³¨å {@link android.content.BroadcastReceiver} æ¥ä¾¦å¬è¿ä¸¤ä¸ªäºä»¶ã
-
-<receiver android:name=".PowerConnectionReceiver">
- <intent-filter>
- <action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>
- <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/>
- </intent-filter>
-</receiver>
-
-å¨å®æ½ç¸å
³ç {@link android.content.BroadcastReceiver} æ¶ï¼æ¨å¯ä»¥æä¸ä¸æ¥éª¤æè¿°æåå½åçå
çµç¶æåå
çµæ¹å¼ã
-
-public class PowerConnectionReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
- boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
- status == BatteryManager.BATTERY_STATUS_FULL;
-
- int chargePlug = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
- boolean usbCharge = chargePlug == BATTERY_PLUGGED_USB;
- boolean acCharge = chargePlug == BATTERY_PLUGGED_AC;
- }
-}
-
-
-ç¡®å®å½åççµæ± çµé
-
-å¨æäºæ
åµä¸ï¼ç¡®å®å½åççµæ± çµéä¼å¯¹æ¨ææ帮å©ãå¦æçµæ± çµéä½äºä¸å®æ°´å¹³ï¼æ¨å¯ä»¥éä½åå°æ´æ°é¢çã
-
-æ¨å¯ä»¥ä»çµæ± ç¶æ intent ä¸æåè¦äºè§£çå½åçµæ± çµé以åçµæ± 容éï¼å
·ä½å¦ä¸æ示ï¼
-
-int level = battery.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
-int scale = battery.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
-
-float batteryPct = level / (float)scale;
-
-
-çæ§çµæ± çµéçæ¾èåå
-
-æ¨æ æ³è½»æ¾å°å¯¹çµæ± ç¶æè¿è¡æç»çæ§ï¼ä¸è¿ä¹æ éè¿ä¹åã
-
-ä¸è¬æ¥è¯´ï¼ä¸åºç¨çæ£å¸¸è¡ä¸ºç¸æ¯ï¼æç»çæ§çµæ± çµéä¼æ¶èæ´å¤çµéãå æ¤ï¼æ¯è¾åéçåæ³æ¯åªçæ§çµæ± çµéçæ¾èååï¼å°¤å
¶æ¯å¨è®¾å¤è¿å
¥æç»æä½çµéç¶æçæ
åµä¸ï¼ã
-
-以ä¸æ¸
å代ç 段æåèªå¹¿ææ¥æ¶å¨ä¸ç intent è¿æ»¤å¨å
ç´ ãéè¿ä¾¦å¬ {@link android.content.Intent#ACTION_BATTERY_LOW} å {@link android.content.Intent#ACTION_BATTERY_OKAY}ï¼åªè¦è®¾å¤ççµæ± è¿å
¥æç»æä½çµéç¶æï¼ç³»ç»å°±ä¼è§¦åæ¥æ¶å¨ã
-
-<receiver android:name=".BatteryLevelReceiver">
-<intent-filter>
- <action android:name="android.intent.action.ACTION_BATTERY_LOW"/>
- <action android:name="android.intent.action.ACTION_BATTERY_OKAY"/>
- </intent-filter>
-</receiver>
-
-å¦æçµæ± çµéæä½ï¼é常æ¯è¾åéçåæ³æ¯åç¨ææåå°æ´æ°ãå¦ææ¨è¿æ²¡ç¨ä¸æ´æ°çæ°æ®ï¼ææºå°±èªå¨å
³æºäºï¼é£è¿äºæ°æ®åæ°ä¹æ²¡ææä¹ã
-
-å¨å¾å¤æ
åµä¸ï¼å°è®¾å¤æå
¥åºåº§å°±å¯ä»¥ä¸ºå
¶å
çµãä¸ä¸æç¨å°åæ¨ä»ç»å¦ä½ç¡®å®å½ååºåº§ç¶æåå¦ä½çæ§è®¾å¤å¯¹æ¥çååã
-
diff --git a/docs/html/intl/zh-CN/training/monitoring-device-state/connectivity-monitoring.jd b/docs/html/intl/zh-CN/training/monitoring-device-state/connectivity-monitoring.jd
deleted file mode 100644
index 8313e089b908..000000000000
--- a/docs/html/intl/zh-CN/training/monitoring-device-state/connectivity-monitoring.jd
+++ /dev/null
@@ -1,70 +0,0 @@
-page.title=ç¡®å®åçæ§ç½ç»è¿æ¥ç¶æ
-parent.title=ä¼åçµæ± 使ç¨æ¶é´
-parent.link=index.html
-
-trainingnavtop=true
-
-previous.title=ç¡®å®åçæ§åºåº§å¯¹æ¥ç¶æåç±»å
-previous.link=docking-monitoring.html
-next.title=æ ¹æ®éè¦æä½å¹¿ææ¥æ¶å¨
-next.link=manifest-receivers.html
-
-@jd:body
-
-
-
-éå¤æéååå°æå¡æ常è§çç¨éä¹ä¸ï¼å°±æ¯ä¸ºæ¥èªäºèç½èµæºçåºç¨æ°æ®ãç¼åæ°æ®å®æå®ææ´æ°ææ§è¡é¿æ¶é´è¿è¡çä¸è½½ä»»å¡ãä½æ¯ï¼å¦ææ¨æ²¡æè¿æ¥äºèç½ï¼æå è¿æ¥è¿æ
¢èæ æ³å®æä¸è½½ï¼é£å°±æ ¹æ¬æ²¡å¿
è¦å¤é设å¤å¹¶å®ææ´æ°äºã
-
-æ¨å¯ä»¥ä½¿ç¨ {@link android.net.ConnectivityManager} æ¥çæ¯å¦ç¡®å®å·²è¿æ¥äºèç½ï¼å¦æå·²è¿æ¥ï¼æ¨è¿å¯ä»¥äºè§£å½åçè¿æ¥ç±»åã
-
-
-ç¡®å®æ¯å¦å·²è¿æ¥äºèç½
-
-å¦æ设å¤æªè¿æ¥äºèç½ï¼å°±æ²¡æå¿
è¦æ ¹æ®äºèç½èµæºå®ææ´æ°äºã以ä¸ä»£ç 段说æå¦ä½ä½¿ç¨ {@link android.net.ConnectivityManager} æ¥è¯¢ææç½ç»å¹¶ç¡®å®è¯¥ç½ç»æ¯å¦å·²è¿æ¥äºèç½ã
-
-ConnectivityManager cm =
- (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
-
-NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
-boolean isConnected = activeNetwork.isConnectedOrConnecting();
-
-
-ç¡®å®äºèç½è¿æ¥çç±»å
-
-æ¨ä¹å¯ä»¥ç¡®å®å½åå¯ç¨çäºèç½è¿æ¥çç±»åã
-
-éè¿ç§»å¨æ°æ®ãWiMAXãWi-Fi å以太ç½è¿æ¥å¯æä¾è®¾å¤è¿æ¥ãæ¨å¯ä»¥æ¥è¯¢ææç½ç»çç±»åï¼å
·ä½å¦ä¸æ示ï¼ï¼ä»¥ä¾¿æ ¹æ®å¯ç¨å¸¦å®½è°æ´å·æ°é¢çã
-
-boolean isWiFi = activeNetwork.getType() == ConnectivityManager.TYPE_WIFI;
-
-移å¨æ°æ®çè´¹ç¨å¾å¾æ¯ Wi-Fi é«å¾å¤ï¼å æ¤å¨å¤§å¤æ°æ
åµä¸ï¼å¦ææ¨ä½¿ç¨çæ¯ç§»å¨è¿æ¥ï¼å°±åºéä½åºç¨æ´æ°é¢çãåæ ·ï¼å¨æ²¡æ Wi-Fi è¿æ¥çæ
åµä¸ï¼æ¨å°±åºæåè¾å¤§çä¸è½½ä»»å¡ã
-
-åç¨æ´æ°åï¼è¯·å¡å¿
侦å¬è¿æ¥æ
åµçååï¼ä»¥ä¾¿å¨å»ºç«äºèç½è¿æ¥åæ¢å¤æ´æ°ã
-
-
-çæ§è¿æ¥æ
åµçåå
-
-åªè¦è¿æ¥çå
·ä½æ
åµåçååï¼{@link android.net.ConnectivityManager} å°±ä¼å¹¿æ {@link android.net.ConnectivityManager#CONNECTIVITY_ACTION} ({@code "android.net.conn.CONNECTIVITY_CHANGE"}) æä½ãæ¨å¯ä»¥å¨æ¸
åä¸æ³¨å广ææ¥æ¶å¨ï¼ä»¥ä¾¿ä¾¦å¬è¿äºåå并ç¸åºå°æ¢å¤ï¼ææåï¼åå°æ´æ°ã
-
-<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
-
-设å¤è¿æ¥æ
åµçååå¯è½ä¼é常é¢ç¹ï¼åªè¦æ¨å¨ç§»å¨æ°æ®å Wi-Fi ä¹é´ç¸äºåæ¢ï¼ç³»ç»å°±ä¼è§¦åæ¤å¹¿æãå æ¤æ¯è¾åéçåæ³æ¯ï¼ä»
å½ä¹åæåäºæ´æ°æä¸è½½æ¶æçæ§æ¤å¹¿æï¼ä»¥ä¾¿æ¢å¤æ´æ°æä¸è½½ãé常ï¼æ¨åªéå¨å¼å§æ´æ°åæ£æ¥äºèç½è¿æ¥æ
åµå³å¯ï¼å¦ææªè¿æ¥äºèç½ï¼è¯·æååç»æ´æ°ï¼ç´å°è¿æ¥æ¢å¤ã
-
-æ¤æå·§éè¦åæ¢æ¨å¨æ¸
åä¸å£°æç广ææ¥æ¶å¨ï¼å
·ä½è¯´æ请è§ä¸ä¸æç¨ã
diff --git a/docs/html/intl/zh-CN/training/monitoring-device-state/docking-monitoring.jd b/docs/html/intl/zh-CN/training/monitoring-device-state/docking-monitoring.jd
deleted file mode 100644
index 53b951dd584e..000000000000
--- a/docs/html/intl/zh-CN/training/monitoring-device-state/docking-monitoring.jd
+++ /dev/null
@@ -1,74 +0,0 @@
-page.title=ç¡®å®åçæ§åºåº§å¯¹æ¥ç¶æåç±»å
-parent.title=ä¼åçµæ± 使ç¨æ¶é´
-parent.link=index.html
-
-trainingnavtop=true
-previous.title= çæ§çµæ± çµéåå
çµç¶æ
-previous.link=battery-monitoring.html
-next.title= ç¡®å®åçæ§ç½ç»è¿æ¥ç¶æ
-next.link=connectivity-monitoring.html
-
-@jd:body
-
-
-
-Android 设å¤æ¯æå ç§ä¸åç±»åçåºåº§ãè¿äºç±»åå
æ¬è½¦è½½æ家ç¨åºåº§ä»¥åæ°åå模æåºåº§ã许å¤åºåº§å¯ç¨äºä¸ºæå
¥ç设å¤å
çµï¼å æ¤åºåº§ç¶æé常ä¸å
çµç¶æç´§å¯ç¸å
³ã
-
-æ¨å¯ä»¥æ ¹æ®ææºçåºåº§ç¶æè°æ´æ´æ°é¢çï¼å
·ä½åå³äºç¸å
³åºç¨ãå¦æ设å¤æå
¥çæ¯æ¡é¢åºåº§ï¼æ¨å°±å¯ä»¥æé«ä½è²ä¸å¿ç±»åºç¨çæ´æ°é¢çï¼å¦æ设å¤æå
¥çæ¯è½¦è½½åºåº§ï¼æ¨å°±å¯ä»¥å®å
¨åç¨æ¤ç±»æ´æ°ãç¸åï¼å¦æ设å¤æå
¥çæ¯è½¦è½½åºåº§ä¸åå°æå¡æ£å¨æ´æ°è·¯åµï¼æ¨å°±å¯ä»¥æ大ç¨åº¦å°æé«æ´æ°é¢çã
-
-ç³»ç»æ¯ä»¥æç» {@link android.content.Intent} çå½¢å¼å¹¿æåºåº§ç¶æçï¼è¿æ ·æ¨å°±å¯ä»¥æ¥è¯¢è®¾å¤æ¯å¦æå
¥äºåºåº§ï¼å¦æå·²æå
¥ï¼æ¨è¿å¯ä»¥æ¥è¯¢åºåº§ç±»åã
-
-
-ç¡®å®å½åçåºåº§ç¶æ
-
-åºåº§ç¶æ详æ
æ¯ä»¥éå ä¿¡æ¯çå½¢å¼å
å«å¨ {@link android.content.Intent#ACTION_DOCK_EVENT} æä½çæç»å¹¿æä¸çãç±äºè¿å±äºæç»å¹¿æï¼å æ¤æ¨æ é注å {@link android.content.BroadcastReceiver}ãæ¨å¯ä»¥å°ä¼ å
¥ {@code null} ç {@link android.content.Context#registerReceiver registerReceiver()} ä½ä¸ºå¹¿ææ¥æ¶å¨ç´æ¥è°ç¨ï¼å
·ä½å¦ä¸ä¸ä»£ç 段æ示ã
-
-IntentFilter ifilter = new IntentFilter(Intent.ACTION_DOCK_EVENT);
-Intent dockStatus = context.registerReceiver(null, ifilter);
-
-æ¨å¯ä»¥ä» {@code EXTRA_DOCK_STATE} éå ä¿¡æ¯ä¸æåå½åçåºåº§å¯¹æ¥ç¶æï¼
-
-
int dockState = battery.getIntExtra(EXTRA_DOCK_STATE, -1);
-boolean isDocked = dockState != Intent.EXTRA_DOCK_STATE_UNDOCKED;
-
-
-ç¡®å®å½åçåºåº§ç±»å
-
-ç¨æ·å¯ä»¥å°è®¾å¤æå
¥ä»¥ä¸åç§ç±»åçåºåº§ï¼
-
- 车载åºåº§
-- æ¡é¢åºåº§
-- ä½ç«¯ï¼æ¨¡æï¼æ¡é¢åºåº§
-- é«ç«¯ï¼æ°åï¼æ¡é¢åºåº§
-
-请注æï¼å两ç§ç±»åä»
éç¨äº API 级å«ä¸º 11 å以ä¸ç Androidï¼å æ¤å¦ææ¨åªå
³æ³¨åºåº§ç±»åï¼èä¸å¨æåºåº§ç©¶ç«æ¯æ°åçè¿æ¯æ¨¡æçï¼é£ä¹æ¯è¾åéçåæ³å°±æ¯æ¥çå
¨é¨ä¸ç§ç±»åï¼
-
-boolean isCar = dockState == EXTRA_DOCK_STATE_CAR;
-boolean isDesk = dockState == EXTRA_DOCK_STATE_DESK ||
- dockState == EXTRA_DOCK_STATE_LE_DESK ||
- dockState == EXTRA_DOCK_STATE_HE_DESK;
-
-
-çæ§åºåº§ç¶ææç±»åçåå
-
-æ 论设å¤æ¯å¦æå
¥äºåºåº§ï¼ç³»ç»é½ä¼å¹¿æ {@link android.content.Intent#ACTION_DOCK_EVENT} æä½ãè¦çæ§è®¾å¤åºåº§ç¶æçååï¼æ¨åªéå¨åºç¨æ¸
åä¸æ³¨å广ææ¥æ¶å¨å³å¯ï¼å
·ä½å¦ä»¥ä¸ä»£ç 段æ示ï¼
-
-<action android:name="android.intent.action.ACTION_DOCK_EVENT"/>
-
-æ¨å¯ä»¥ä½¿ç¨ä¸ä¸æ¥éª¤ä¸æè¿°çææ¯å¨æ¥æ¶å¨å®æ½è¿ç¨ä¸æååºåº§çç±»ååç¶æã
diff --git a/docs/html/intl/zh-CN/training/monitoring-device-state/index.jd b/docs/html/intl/zh-CN/training/monitoring-device-state/index.jd
deleted file mode 100644
index aa107539eeca..000000000000
--- a/docs/html/intl/zh-CN/training/monitoring-device-state/index.jd
+++ /dev/null
@@ -1,49 +0,0 @@
-page.title=ä¼åçµæ± 使ç¨æ¶é´
-
-trainingnavtop=true
-startpage=true
-next.title=çæ§çµæ± çµéåå
çµç¶æ
-next.link=battery-monitoring.html
-
-@jd:body
-
-
-
-
-
ä¾åå
³ç³»ååææ¡ä»¶
-
-
-
æ¨è¿åºåé
-
-
-
-
-
-为äºæé ä¸ä¸ªä¼ç§çåºç¨ï¼æ¨åºè®¾æ³éä½åºç¨å¯¹çµæ± 使ç¨æ¶é´çå½±åãé
读å®æ¬æç¨åï¼æ¨å°±å¯ä»¥è®©èªå·±æ建çåºç¨æ ¹æ®å
¶æå¨è®¾å¤çç¶ææ¥çæ§åè°æ´èªèº«çåè½åè¡ä¸ºã
-
-è¦ç¡®ä¿å¨ä¸å½±åç¨æ·ä½éªçæ
åµä¸æ大ç¨åº¦å°éä½åºç¨å¯¹çµæ± 使ç¨æ¶é´çå½±åï¼æ¨å¯ä»¥éåä¸äºæªæ½ï¼ä¾å¦å¨ç½ç»è¿æ¥æå¼æ¶åç¨åå°æå¡æ´æ°ï¼æå¨çµæ± çµéè¾ä½æ¶éä½æ¤ç±»æ´æ°çé¢çã
-
-æç¨
-
-
-
-
- - çæ§çµæ± çµéåå
çµç¶æ
- - äºè§£å¦ä½éè¿ç¡®å®åçæ§å½åççµæ± çµéåå
çµç¶æçååæ¥ç¸åºå°è°æ´åºç¨çæ´æ°é¢çã
-
- - ç¡®å®åçæ§åºåº§å¯¹æ¥ç¶æåç±»å
- - æä½³å·æ°é¢çå¯è½åæä¸åï¼å
·ä½åå³äºå®è£
äºç¸å
³åºç¨ç设å¤ç使ç¨æ¹å¼ãäºè§£å¦ä½ç¡®å®åçæ§æç¨åºåº§ç对æ¥ç¶æåç±»åï¼ä»¥ä¾¿ç¸åºå°è°æ´åºç¨çè¡ä¸ºã
-
- - ç¡®å®åçæ§ç½ç»è¿æ¥ç¶æ
- - å¦æ没æäºèç½è¿æ¥ï¼æ¨å°±æ æ³éè¿å¨çº¿æ¥æºæ´æ°åºç¨ãäºè§£å¦ä½æ¥çè¿æ¥ç¶æï¼ä»¥ä¾¿ç¸åºå°è°æ´åå°æ´æ°é¢çãæ¨è¿å¯ä»¥äºè§£å¦ä½å¨æ§è¡é«å¸¦å®½æä½åæ¥ç Wi-Fi æ移å¨è¿æ¥çç¶æã
-
- - æ ¹æ®éè¦æä½å¹¿ææ¥æ¶å¨
- - æ¨å¯ä»¥å¨è¿è¡æ¶åæ¢èªå·±å¨æ¸
åä¸å£°æç广ææ¥æ¶å¨ï¼ä»¥ä¾¿æ ¹æ®å½å设å¤ç¶æåç¨ä¸éè¦çæ¥æ¶å¨ãäºè§£å¦ä½å¨è®¾å¤æªå¤äºç¹å®ç¶æçæ
åµä¸åæ¢åå±å ç¶æååæ¥æ¶å¨å延è¿æä½ï¼ä»¥ä¾¿æé«æçã
-
\ No newline at end of file
diff --git a/docs/html/intl/zh-CN/training/monitoring-device-state/manifest-receivers.jd b/docs/html/intl/zh-CN/training/monitoring-device-state/manifest-receivers.jd
deleted file mode 100644
index 07c014f10a31..000000000000
--- a/docs/html/intl/zh-CN/training/monitoring-device-state/manifest-receivers.jd
+++ /dev/null
@@ -1,50 +0,0 @@
-page.title=æ ¹æ®éè¦æä½å¹¿ææ¥æ¶å¨
-parent.title=ä¼åçµæ± 使ç¨æ¶é´
-parent.link=index.html
-
-trainingnavtop=true
-
-previous.title=ç¡®å®åçæ§ç½ç»è¿æ¥ç¶æ
-previous.link=connectivity-monitoring.html
-
-@jd:body
-
-
-
-çæ§è®¾å¤ç¶æååçæç®åæ¹æ³å°±æ¯ï¼ä¸ºæ¨çæ§çæ¯ç§ç¶æå建 {@link android.content.BroadcastReceiver} 并å¨åºç¨æ¸
åä¸éä¸è¿è¡æ³¨åãç¶åï¼æ¨åªéæ ¹æ®å½å设å¤ç¶æå¨æ¯ä¸ªæ¥æ¶å¨ä¸éæ°å®æéå¤æéå³å¯ã
-
-æ¤æ¹æ³çè´é¢å½±åå¨äºï¼åªè¦ç³»ç»è§¦åäºè¿äºæ¥æ¶å¨ä¸çä»»ä½ä¸ä¸ªï¼ç¸å
³åºç¨å°±ä¼å¤é设å¤ï¼å
¶é¢çå¯è½ä¼è¿è¿è¶
è¿æéçæ°´å¹³ã
-
-æ´å¥½çæ¹æ³æ¯å¨è¿è¡æ¶åç¨æå¯ç¨å¹¿ææ¥æ¶å¨ãè¿æ ·çè¯ï¼æ¨å°±å¯ä»¥å°èªå·±å¨æ¸
åä¸å£°æçæ¥æ¶å¨ç¨ä½è¢«å¨æéï¼åªæå¨éè¦æ¶æä¼ç±ç³»ç»äºä»¶è§¦åã
-
-
-åæ¢åå±å ç¶æååæ¥æ¶å¨ä»¥æé«æç
-
-æ¨å¯ä»¥ä½¿ç¨ {@link android.content.pm.PackageManager} åæ¢æ¸
åä¸å®ä¹çä»»æç»ä»¶çå¯ç¨ç¶æï¼å
æ¬æ¨è¦å¯ç¨æåç¨çä»»æ广ææ¥æ¶å¨ï¼ï¼å
·ä½å¦ä»¥ä¸ç段æ示ï¼
-
-ComponentName receiver = new ComponentName(context, myReceiver.class);
-
-PackageManager pm = context.getPackageManager();
-
-pm.setComponentEnabledSetting(receiver,
- PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
- PackageManager.DONT_KILL_APP)
-
-å¨ä½¿ç¨æ¤æå·§æ¶ï¼å¦ææ¨ç¡®å®è¿æ¥å·²æå¼ï¼å°±å¯ä»¥åç¨é¤è¿æ¥ååæ¥æ¶å¨å¤çæææ¥æ¶å¨ãç¸åï¼æåè¿æ¥åï¼æ¨å°±å¯ä»¥åæ¢ä¾¦å¬è¿æ¥ååï¼åæ¶åªéå¨æ§è¡æ´æ°åéæ°å®æéå¤æ´æ°æéåæ¥çæ¯å¦å¨çº¿å³å¯ã
-
-æ¨å¯ä»¥ä½¿ç¨åæ ·çæ¹æ³æ¥å»¶è¿éè¦è¾é«å¸¦å®½çä¸è½½ä»»å¡ãåªæå¨è¿æ¥ Wi-Fi åï¼æ¨æè½ç´æ¥å¯ç¨ç¨äºä¾¦å¬è¿æ¥åååå¯å¨ä¸è½½ä»»å¡ç广ææ¥æ¶å¨ã
diff --git a/docs/html/intl/zh-CN/training/multiscreen/adaptui.jd b/docs/html/intl/zh-CN/training/multiscreen/adaptui.jd
deleted file mode 100644
index 89908fe46ef9..000000000000
--- a/docs/html/intl/zh-CN/training/multiscreen/adaptui.jd
+++ /dev/null
@@ -1,212 +0,0 @@
-page.title=å®æ½èªéåºç¨æ·çé¢æµç¨
-parent.title=é对å¤ç§å±å¹è¿è¡è®¾è®¡
-parent.link=index.html
-
-trainingnavtop=true
-previous.title=æ¯æåç§å±å¹å¯åº¦
-previous.link=screendensities.html
-
-@jd:body
-
-
-
-
-
-æ ¹æ®æ¨çåºç¨å½åæ¾ç¤ºçå¸å±ï¼ç¨æ·çé¢æµç¨å¯è½ä¼ææä¸åãä¾å¦ï¼å¦ææ¨çåºç¨å¤äºåé¢æ¿æ¨¡å¼ä¸ï¼ç¹å»å·¦ä¾§é¢æ¿ä¸ç项å³å¯ç´æ¥å¨å³ä¾§é¢æ¿ä¸æ¾ç¤ºç¸å
³å
容ï¼å¦æ该åºç¨å¤äºåé¢æ¿æ¨¡å¼ä¸ï¼ç¸å
³å
容就åºä»¥å
¶ä»æ´»å¨çå½¢å¼å¨åä¸é¢æ¿ä¸æ¾ç¤ºã
-
-
-ç¡®å®å½åå¸å±
-
-ç±äºæ¯ç§å¸å±çå®æ½é½ä¼ç¨æä¸åï¼å æ¤æ¨å¯è½éè¦å
ç¡®å®å½ååç¨æ·æ¾ç¤ºçå¸å±ãä¾å¦ï¼æ¨å¯ä»¥äºè§£ç¨æ·æå¤çæ¯âåé¢æ¿â模å¼è¿æ¯âåé¢æ¿â模å¼ãè¦åå°è¿ä¸ç¹ï¼æ¨å¯ä»¥æ¥è¯¢æå®è§å¾æ¯å¦åå¨ä»¥åæ¯å¦å·²æ¾ç¤ºåºæ¥ã
-
-
-public class NewsReaderActivity extends FragmentActivity {
- boolean mIsDualPane;
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main_layout);
-
- View articleView = findViewById(R.id.article);
- mIsDualPane = articleView != null &&
- articleView.getVisibility() == View.VISIBLE;
- }
-}
-
-
-请注æï¼è¿æ®µä»£ç ç¨äºæ¥è¯¢âæ¥éâé¢æ¿æ¯å¦å¯ç¨ï¼ä¸é对å
·ä½å¸å±ç硬ç¼ç æ¥è¯¢ç¸æ¯ï¼è¿æ®µä»£ç ççµæ´»æ§è¦å¤§å¾å¤ã
-
-å举ä¸ä¸ªéåºåç§ç»ä»¶çåå¨æ
åµçæ¹æ³ç¤ºä¾ï¼å¨å¯¹è¿äºç»ä»¶æ§è¡æä½åå
æ¥çå®ä»¬æ¯å¦å¯ç¨ãä¾å¦ï¼æ°é»é
读å¨ç¤ºä¾åºç¨ä¸æä¸ä¸ªç¨äºæå¼èåçæé®ï¼ä½åªæå¨çæ¬ä½äº 3.0 ç Android ä¸è¿è¡è¯¥åºç¨æ¶ï¼è¿ä¸ªæé®æä¼åå¨ï¼å 为 API çº§å« 11 ææ´é«çº§å«ä¸ç {@link android.app.ActionBar} å·²å代äºè¯¥æé®çåè½ãå æ¤ï¼æ¨å¯ä»¥ä½¿ç¨ä»¥ä¸ä»£ç 为æ¤æé®æ·»å äºä»¶ä¾¦å¬å¨ï¼
-
-
-Button catButton = (Button) findViewById(R.id.categorybutton);
-OnClickListener listener = /* create your listener here */;
-if (catButton != null) {
- catButton.setOnClickListener(listener);
-}
-
-
-
-æ ¹æ®å½åå¸å±ååºååº
-
-æäºæä½å¯è½ä¼å å½åçå
·ä½å¸å±è产çä¸åçç»æãä¾å¦ï¼å¨æ°é»é
读å¨ç¤ºä¾ä¸ï¼å¦æç¨æ·çé¢å¤äºåé¢æ¿æ¨¡å¼ä¸ï¼é£ä¹ç¹å»æ é¢å表ä¸çæ é¢å°±ä¼å¨å³ä¾§é¢æ¿ä¸æå¼ç¸åºæ¥éï¼ä½å¦æç¨æ·çé¢å¤äºåé¢æ¿æ¨¡å¼ä¸ï¼é£ä¹ä¸è¿°æä½å°±ä¼å¯å¨ä¸ä¸ªç¬ç«æ´»å¨ï¼
-
-
-@Override
-public void onHeadlineSelected(int index) {
- mArtIndex = index;
- if (mIsDualPane) {
- /* display article on the right pane */
- mArticleFragment.displayArticle(mCurrentCat.getArticle(index));
- } else {
- /* start a separate activity */
- Intent intent = new Intent(this, ArticleActivity.class);
- intent.putExtra("catIndex", mCatIndex);
- intent.putExtra("artIndex", index);
- startActivity(intent);
- }
-}
-
-
-åæ ·ï¼å¦æ该åºç¨å¤äºåé¢æ¿æ¨¡å¼ä¸ï¼å°±åºè®¾ç½®å¸¦å¯¼èªæ ç¾çæä½æ ï¼ä½å¦æ该åºç¨å¤äºåé¢æ¿æ¨¡å¼ä¸ï¼å°±åºä½¿ç¨æ转çªå£å°é¨ä»¶è®¾ç½®å¯¼èªæ ãå æ¤æ¨ç代ç è¿åºç¡®å®åªç§æ
åµæ¯è¾åéï¼
-
-
-final String CATEGORIES[] = { "çé¨æ¥é", "æ¿æ²»", "ç»æµ", "Technology" };
-
-public void onCreate(Bundle savedInstanceState) {
- ....
- if (mIsDualPane) {
- /* use tabs for navigation */
- actionBar.setNavigationMode(android.app.ActionBar.NAVIGATION_MODE_TABS);
- int i;
- for (i = 0; i < CATEGORIES.length; i++) {
- actionBar.addTab(actionBar.newTab().setText(
- CATEGORIES[i]).setTabListener(handler));
- }
- actionBar.setSelectedNavigationItem(selTab);
- }
- else {
- /* use list navigation (spinner) */
- actionBar.setNavigationMode(android.app.ActionBar.NAVIGATION_MODE_LIST);
- SpinnerAdapter adap = new ArrayAdapter(this,
- R.layout.headline_item, CATEGORIES);
- actionBar.setListNavigationCallbacks(adap, handler);
- }
-}
-
-
-
-éå¤ä½¿ç¨å
¶ä»æ´»å¨ä¸çç段
-
-å¤å±å¹è®¾è®¡ä¸çéå¤æ¨¡å¼æ¯æï¼å¯¹äºæäºå±å¹é
ç½®ï¼å·²å®æ½çé¢çä¸é¨åä¼ç¨ä½é¢æ¿ï¼ä½å¯¹äºå
¶ä»é
ç½®ï¼è¿é¨åå°±ä¼ä»¥ç¬ç«æ´»å¨çå½¢å¼åå¨ãä¾å¦ï¼å¨æ°é»é
读å¨ç¤ºä¾ä¸ï¼å¯¹äºè¾å¤§çå±å¹ï¼æ°é»æ¥éææ¬ä¼æ¾ç¤ºå¨å³ä¾§é¢æ¿ä¸ï¼ä½å¯¹äºè¾å°çå±å¹ï¼è¿äºææ¬å°±ä¼ä»¥ç¬ç«æ´»å¨çå½¢å¼åå¨ã
-
-å¨ç±»ä¼¼æ
åµä¸ï¼æ¨é常å¯ä»¥å¨å¤ä¸ªæ´»å¨ä¸éå¤ä½¿ç¨ç¸åç {@link android.app.Fragment} å类以é¿å
代ç éå¤ãä¾å¦ï¼æ¨å¨åé¢æ¿å¸å±ä¸ä½¿ç¨äº ArticleFragment
ï¼
-
-{@sample development/samples/training/multiscreen/newsreader/res/layout/twopanes.xml all}
-
-ç¶ååå¨å°å±å¹çæ´»å¨å¸å±ä¸éå¤ä½¿ç¨ï¼æ å¸å±ï¼äºå® (ArticleActivity
)ï¼
-
-
-ArticleFragment frag = new ArticleFragment();
-getSupportFragmentManager().beginTransaction().add(android.R.id.content, frag).commit();
-
-
-å½ç¶ï¼è¿ä¸å¨ XML å¸å±ä¸å£°æç段çæææ¯ä¸æ ·çï¼ä½å¨è¿ç§æ
åµä¸å´æ²¡å¿
è¦ä½¿ç¨ XML å¸å±ï¼å 为æ¥éç段æ¯æ¤æ´»å¨ä¸çå¯ä¸ç»ä»¶ã
-
-请å¡å¿
å¨è®¾è®¡ç段æ¶æ³¨æï¼ä¸è¦é对å
·ä½æ´»å¨å建强è¦åãè¦åå°è¿ä¸ç¹ï¼æ¨é常å¯ä»¥å®ä¹ä¸ä¸ªçé¢ï¼è¯¥çé¢æ¦æ¬äºç¸å
³ç段ä¸å
¶ä¸»æ´»å¨äº¤äºæéçå
¨é¨æ¹å¼ï¼ç¶å让主活å¨å®æ½è¯¥çé¢ï¼
-
-ä¾å¦ï¼æ°é»é
读å¨åºç¨ç HeadlinesFragment
ä¼ç²¾ç¡®æ§è¡ä»¥ä¸ä»£ç ï¼
-
-
-public class HeadlinesFragment extends ListFragment {
- ...
- OnHeadlineSelectedListener mHeadlineSelectedListener = null;
-
- /* Must be implemented by host activity */
- public interface OnHeadlineSelectedListener {
- public void onHeadlineSelected(int index);
- }
- ...
-
- public void setOnHeadlineSelectedListener(OnHeadlineSelectedListener listener) {
- mHeadlineSelectedListener = listener;
- }
-}
-
-
-ç¶åï¼å¦æç¨æ·éæ©æ个æ é¢ï¼ç¸å
³ç段就ä¼éç¥ç±ä¸»æ´»å¨æå®ç侦å¬å¨ï¼èä¸æ¯éç¥æ个硬ç¼ç çå
·ä½æ´»å¨ï¼ï¼
-
-
-public class HeadlinesFragment extends ListFragment {
- ...
- @Override
- public void onItemClick(AdapterView<?> parent,
- View view, int position, long id) {
- if (null != mHeadlineSelectedListener) {
- mHeadlineSelectedListener.onHeadlineSelected(position);
- }
- }
- ...
-}
-
-
-æ¯æå¹³æ¿çµèåææ设å¤çæåä¸è¿ä¸æ¥ä»ç»äºæ¤ææ¯ã
-
-
-å¤çå±å¹é
ç½®åå
-
-å¦ææ¨ä½¿ç¨ç¬ç«æ´»å¨å®æ½çé¢çç¬ç«é¨åï¼é£ä¹è¯·æ³¨æï¼æ¨å¯è½éè¦å¯¹ç¹å®é
ç½®ååï¼ä¾å¦å±å¹æ¹åçååï¼ååºååºï¼ä»¥ä¾¿ä¿æçé¢çä¸è´æ§ã
-
-ä¾å¦ï¼å¨è¿è¡ Android 3.0 ææ´é«çæ¬çæ å 7 è±å¯¸å¹³æ¿çµèä¸ï¼å¦ææ°é»é
读å¨ç¤ºä¾åºç¨è¿è¡å¨çºµå模å¼ä¸ï¼å°±ä¼å¨ä½¿ç¨ç¬ç«æ´»å¨æ¾ç¤ºæ°é»æ¥éï¼ä½å¦æ该åºç¨è¿è¡å¨æ¨ªå模å¼ä¸ï¼å°±ä¼ä½¿ç¨åé¢æ¿å¸å±ã
-
-ä¹å°±æ¯è¯´ï¼å¦æç¨æ·å¤äºçºµå模å¼ä¸ä¸å±å¹ä¸æ¾ç¤ºçæ¯ç¨äºé
读æ¥éçæ´»å¨ï¼é£ä¹æ¨å°±éè¦å¨æ£æµå°å±å¹æ¹åååï¼åæ横å模å¼ï¼åæ§è¡ç¸åºæä½ï¼å³åæ¢ä¸è¿°æ´»å¨å¹¶è¿å主活å¨ï¼ä»¥ä¾¿å¨åé¢æ¿å¸å±ä¸æ¾ç¤ºç¸å
³å
容ï¼
-
-
-public class ArticleActivity extends FragmentActivity {
- int mCatIndex, mArtIndex;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- mCatIndex = getIntent().getExtras().getInt("catIndex", 0);
- mArtIndex = getIntent().getExtras().getInt("artIndex", 0);
-
- // If should be in two-pane mode, finish to return to main activity
- if (getResources().getBoolean(R.bool.has_two_panes)) {
- finish();
- return;
- }
- ...
-}
-
-
-
diff --git a/docs/html/intl/zh-CN/training/multiscreen/index.jd b/docs/html/intl/zh-CN/training/multiscreen/index.jd
deleted file mode 100644
index 35c48e066c24..000000000000
--- a/docs/html/intl/zh-CN/training/multiscreen/index.jd
+++ /dev/null
@@ -1,64 +0,0 @@
-page.title=é对å¤ç§å±å¹è¿è¡è®¾è®¡
-
-trainingnavtop=true
-startpage=true
-next.title=æ¯æåç§å±å¹å°ºå¯¸
-next.link=screensizes.html
-
-@jd:body
-
-
-
-
-
ä¾åå
³ç³»ååææ¡ä»¶
-
-
- - Android 1.6 ææ´é«çæ¬ï¼ç¤ºä¾åºç¨åéè¦ 2.1 ææ´é«çæ¬ï¼
- - æ´»å¨åç段çåºæ¬ç¥è¯
- - æ建 Android ç¨æ·çé¢çç»éª
- - å¤ä¸ªåè½éè¦ç¨å°æ¯æåº
-
-
-
æ¨è¿åºåé
-
-
-
-
è¯è¯ç
-
-
-
-
-
-
-Android æ¯ææ°ç¾ç§å±å¹å°ºå¯¸ä¸åç设å¤ï¼å
æ¬å°åææºå大åçµè§æºãå æ¤ï¼è¯·å¡å¿
å°æ¨çåºç¨è®¾è®¡ä¸ºä¸ææçå±å¹å°ºå¯¸å
¼å®¹ï¼ä»¥ä¾¿è®©å°½å¯è½å¤çç¨æ·ä½¿ç¨è¯¥åºç¨ã
-
-ä¸è¿ï¼ä¸åç§ç±»åç设å¤å
¼å®¹è¿è¿è¿ä¸å¤ãç±äºåç§å±å¹å°ºå¯¸å¯¹ç¨æ·äºå¨äº§ççå©å¼ææä¸åï¼å æ¤è¦çæ£æ»¡è¶³ç¨æ·éæ±å¹¶å¹¿è·å¥½è¯ï¼æ¨çåºç¨ä¸ä»
éè¦æ¯æå¤ç§å±å¹ï¼è¿åºé对åç±»å±å¹é
ç½®çç¨æ·ä½éªè¿è¡ä¼åã
-
-æ¬æç¨å°åæ¨ä»ç»å¦ä½é对å¤ç§å±å¹é
ç½®ä¼ååå®æ½ç¸åºçç¨æ·çé¢ã
-
-åæç¨ä¸é½æåäºä¸ç§æ¥èªä¸ä¸ªç¤ºä¾åºç¨ç代ç ï¼è¯¥åºç¨å±ç¤ºäºå
³äºé对å¤ç§å辨çè¿è¡ä¼åçæä½³å®è·µãæ¨å¯ä»¥å¨å³ä¾§ä¸è½½è¯¥ç¤ºä¾ï¼å¹¶å¨èªå·±çåºç¨å
éå¤ä½¿ç¨å
¶ä¸ç代ç ã
-
-请注æï¼æ¬æç¨åç¸å
³ç示ä¾ä½¿ç¨äºæ¯æåºï¼ä»¥ä¾¿å¨ 3.0 ç以ä¸ç Android ä¸ä½¿ç¨ {@link android.app.Fragment} APIãå æ¤ï¼æ¨éè¦ä¸è½½è¯¥åºå¹¶å°å
¶æ·»å å°æ¨çåºç¨ï¼æè½ä½¿ç¨æ¬æç¨ä¸æ¶åçææ APIã
-
-
-æç¨
-
-
- - æ¯æåç§å±å¹å°ºå¯¸
- - æ¬æç¨å°åæ¨ä»ç»å¦ä½è®¾è®¡å¯éåºå¤ç§å±å¹å°ºå¯¸çå¸å±ï¼ä½¿ç¨çµæ´»çè§å¾å°ºå¯¸ã {@link android.widget.RelativeLayout}ãå±å¹å°ºå¯¸åå±å¹æ¹åéå®ç¬¦ãå«åè¿æ»¤å¨ä»¥åèªå¨æ伸ä½å¾ï¼ã
-
- - æ¯æåç§å±å¹å¯åº¦
- - æ¬æç¨å°åæ¨ä»ç»å¦ä½æ¯æå
·æä¸ååç´ å¯åº¦çå±å¹ï¼ä½¿ç¨éå¯åº¦å¶çº¦åç´ å¹¶æä¾åç§å¯åº¦çç¸åºä½å¾ï¼ã
-
- - å®æ½èªéåºç¨æ·çé¢æµç¨
- - æ¬æç¨å°åæ¨ä»ç»å¦ä½ä»¥å¯éåºå¤ç§å±å¹å°ºå¯¸/å±å¹å¯åº¦ç»åçæ¹å¼å®æ½ç¨æ·çé¢æµç¨ï¼è¿è¡æ¶å¯¹å½åå¸å±çæ£æµï¼æ ¹æ®å½åå¸å±ååºååºï¼å¤çå±å¹é
ç½®ååï¼ã
-
diff --git a/docs/html/intl/zh-CN/training/multiscreen/screendensities.jd b/docs/html/intl/zh-CN/training/multiscreen/screendensities.jd
deleted file mode 100644
index cdb9b7fe54c6..000000000000
--- a/docs/html/intl/zh-CN/training/multiscreen/screendensities.jd
+++ /dev/null
@@ -1,100 +0,0 @@
-page.title=æ¯æåç§å±å¹å¯åº¦
-parent.title=é对å¤ç§å±å¹è¿è¡è®¾è®¡
-parent.link=index.html
-
-trainingnavtop=true
-previous.title=æ¯æåç§å±å¹å°ºå¯¸
-previous.link=screensizes.html
-next.title=å®æ½èªéåºç¨æ·çé¢æµç¨
-next.link=adaptui.html
-
-@jd:body
-
-
-
-
-
-æ¬æç¨å°åæ¨ä»ç»å¦ä½éè¿æä¾ä¸åèµæºå使ç¨ç¬ç«äºå辨ççæµéåä½æ¥æ¯æä¸åå±å¹å¯åº¦ã
-
-使ç¨éå¯åº¦å¶çº¦åç´
-
-å¨è®¾è®¡å¸å±æ¶ï¼å¤§å®¶ç»å¸¸ä¼è¯¯ä½¿ç¨ç»å¯¹åç´ æ¥å®ä¹è·ç¦»æ尺寸ï¼æ¨ä¸å®è¦é¿å
ç¯è¿ç§é误ãç±äºåç§å±å¹çåç´ å¯åº¦é½ææä¸åï¼å æ¤ç¸åæ°éçåç´ å¨ä¸å设å¤ä¸çå®é
大å°ä¹ææå·®å¼ï¼è¿æ ·ä½¿ç¨åç´ å®ä¹å¸å±å°ºå¯¸å°±ä¼äº§çé®é¢ãå æ¤ï¼è¯·å¡å¿
ä½¿ç¨ dp
æ sp
åä½æå®å°ºå¯¸ãdp
æ¯ä¸ç§éå¯åº¦å¶çº¦åç´ ï¼å
¶å°ºå¯¸ä¸ 160 dpi åç´ çå®é
尺寸ç¸åãsp
ä¹æ¯ä¸ç§åºæ¬åä½ï¼ä½å®å¯æ ¹æ®ç¨æ·çå好æå大å°è¿è¡è°æ´ï¼å³å°ºåº¦ç¬ç«æ§åç´ ï¼ï¼å æ¤æ¨åºå°è¯¥æµéåä½ç¨äºå®ä¹æå大å°ï¼è¯·å¿ç¨å
¶å®ä¹å¸å±å°ºå¯¸ï¼ã
-
-ä¾å¦ï¼è¯·ä½¿ç¨ dp
ï¼èé px
ï¼æå®ä¸¤ä¸ªè§å¾é´çé´è·ï¼
-
-
-<Button android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/clickme"
- android:layout_marginTop="20dp" />
-
-
-请å¡å¿
ä½¿ç¨ sp
æå®æå大å°ï¼
-
-
-<TextView android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:textSize="20sp" />
-
-
-
-æä¾å¤ç¨ä½å¾
-
-ç±äº Android å¯å¨å
·æåç§å±å¹å¯åº¦ç设å¤ä¸è¿è¡ï¼å æ¤æ¨æä¾çä½å¾èµæºåºå§ç»å¯ä»¥æ»¡è¶³åç±»æ®éå¯åº¦èå´çè¦æ±ï¼ä½å¯åº¦ãä¸çå¯åº¦ãé«å¯åº¦ä»¥åè¶
é«å¯åº¦ãè¿å°æå©äºæ¨çå¾å½¢å¨ææå±å¹å¯åº¦ä¸é½è½å¾å°åºè²çè´¨éåææã
-
-è¦çæè¿äºå¾çï¼æ¨åºå
æåç¢éæ ¼å¼çåå§èµæºï¼ç¶åæ ¹æ®ä»¥ä¸å°ºå¯¸èå´é对åå¯åº¦çæç¸åºçå¾çã
-
-
- xhdpi
ï¼2.0
- hdpi
ï¼1.5
- mdpi
ï¼1.0ï¼æä½è¦æ±ï¼
- ldpi
ï¼0.75
-
-
-ä¹å°±æ¯è¯´ï¼å¦ææ¨ä¸º xhdpi
设å¤çæäº 200x200 尺寸çå¾çï¼å°±åºè¯¥ä½¿ç¨åä¸èµæºä¸º hdpi
ãmdpi
å ldpi
设å¤åå«çæ 150x150ã100x100 å 75x75 尺寸çå¾çã
-
-ç¶åï¼å°çæçå¾çæ件æ¾å¨ res/
ä¸çç¸åºåç®å½ä¸ï¼å¦ä¸æ示ï¼ï¼ç³»ç»å°±ä¼æ ¹æ®è¿è¡æ¨åºç¨ç设å¤çå±å¹å¯åº¦èªå¨éæ©åéçå¾çï¼
-
-
-MyProject/
- res/
- drawable-xhdpi/
- awesomeimage.png
- drawable-hdpi/
- awesomeimage.png
- drawable-mdpi/
- awesomeimage.png
- drawable-ldpi/
- awesomeimage.png
-
-
-è¿æ ·ä¸æ¥ï¼æ 论æ¨ä½æ¶å¼ç¨ @drawable/awesomeimage
ï¼ç³»ç»é½è½æ ¹æ®ç¸åºå±å¹ç dpi éååéçä½å¾ã
-
-æå
³ä¸ºæ¨çåºç¨å建å¾æ èµäº§çæ´å¤æ示åæåï¼è¯·åé
å¾æ 设计æåã
-
diff --git a/docs/html/intl/zh-CN/training/multiscreen/screensizes.jd b/docs/html/intl/zh-CN/training/multiscreen/screensizes.jd
deleted file mode 100644
index 904d09790a21..000000000000
--- a/docs/html/intl/zh-CN/training/multiscreen/screensizes.jd
+++ /dev/null
@@ -1,279 +0,0 @@
-page.title=æ¯æåç§å±å¹å°ºå¯¸
-parent.title=é对å¤ç§å±å¹è¿è¡è®¾è®¡
-parent.link=index.html
-
-trainingnavtop=true
-next.title=æ¯æåç§å±å¹å¯åº¦
-next.link=screendensities.html
-
-@jd:body
-
-
-
-
-
-æ¤æç¨å°åæ¨ä»ç»å¦ä½éè¿ä»¥ä¸æ¹æ³æ¯æåç§å°ºå¯¸çå±å¹ï¼
-
- - ç¡®ä¿ç³»ç»å¯ä»¥éå½å°è°æ´æ¨å¸å±ç尺寸以便éåºå±å¹
- - æ ¹æ®å±å¹é
ç½®æä¾åéçç¨æ·çé¢å¸å±
- - ç¡®ä¿æ£ç¡®çå¸å±åºç¨å°äºæ£ç¡®çå±å¹ä¸
- - æä¾å¯æ£ç¡®ç¼©æ¾çä½å¾
-
-
-
-使ç¨âwrap_contentâåâmatch_parentâ
-
-è¦ç¡®ä¿å¸å±ççµæ´»æ§å¹¶éåºåç§å°ºå¯¸çå±å¹ï¼æ¨åºä½¿ç¨ "wrap_content"
å "match_parent"
æ§å¶æäºè§å¾ç»ä»¶ç宽度åé«åº¦ãå¦ææ¨ä½¿ç¨ "wrap_content"
ï¼ç³»ç»å°±ä¼å°è§å¾ç宽度æé«åº¦è®¾ç½®ææéçæå°å°ºå¯¸ä»¥éåºè§å¾ä¸çå
容ï¼è "match_parent"
ï¼å¨ä½äº API çº§å« 8 ç级å«ä¸ç§°ä¸º "fill_parent"
ï¼åä¼å±å¼ç»ä»¶ä»¥å¹é
å
¶ç¶è§å¾ç尺寸ã
-
-å¦æä½¿ç¨ "wrap_content"
å "match_parent"
尺寸å¼èä¸æ¯ç¡¬ç¼ç ç尺寸ï¼æ¨çè§å¾å°±ä¼ç¸åºå°ä»
使ç¨èªèº«æéç空é´æå±å¼ä»¥å¡«æ»¡å¯ç¨ç©ºé´ãä¾å¦ï¼
-
-{@sample development/samples/training/multiscreen/newsreader/res/layout/onepane_with_bar.xml all}
-
-请注æ示ä¾ä¸ä½¿ç¨ "wrap_content"
å "match_parent"
æ§å¶ç»ä»¶å°ºå¯¸çæ¹æ³ï¼èä¸æ¯å
³æ³¨å
·ä½ç尺寸ãæ¤æ¹æ³å¯è®©å¸å±æ£ç¡®éåºåç§å±å¹å°ºå¯¸åå±å¹æ¹åã
-
-æ¤è§å¾å¨çºµå模å¼å横å模å¼ä¸çæ¾ç¤ºææå¦ä¸æ示ã请注æï¼ç»ä»¶ç尺寸ä¼èªå¨éåºå±å¹çé«åº¦å宽度ï¼
-
-
-å¾ 1ã纵å模å¼ï¼å·¦ï¼å横å模å¼ï¼å³ï¼ä¸çæ°é»é
读å¨ç¤ºä¾åºç¨ã
-
-
-使ç¨ç¸å¯¹å¸å±
-
-æ¨å¯ä»¥ä½¿ç¨ {@link android.widget.LinearLayout} çåµå¥å®ä¾å¹¶ç»å "wrap_content"
å "match_parent"
尺寸ï¼ä»¥ä¾¿æ建ç¸å½å¤æçå¸å±ãä¸è¿ï¼æ¨æ æ³éè¿ {@link android.widget.LinearLayout} 精确æ§å¶åè§å¾çç¹æ®å
³ç³»ï¼ç³»ç»ä¼å° {@link android.widget.LinearLayout} ä¸çè§å¾ç´æ¥å¹¶æååºãå¦ææ¨éè¦å°åè§å¾æååºåç§ææèä¸æ¯ä¸æ¡ç´çº¿ï¼é常æ´åéç解å³æ¹æ³æ¯ä½¿ç¨ {@link android.widget.RelativeLayout}ï¼è¿æ ·æ¨å°±å¯ä»¥æ ¹æ®åç»ä»¶ä¹é´çç¹æ®å
³ç³»æå®å¸å±äºãä¾å¦ï¼æ¨å¯ä»¥å°æ个åè§å¾å¯¹é½å°å±å¹å·¦ä¾§ï¼åæ¶å°å¦ä¸ä¸ªè§å¾å¯¹é½å°å±å¹å³ä¾§ã
-
-ä¾å¦ï¼
-
-
-<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
- <TextView
- android:id="@+id/label"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="Type here:"/>
- <EditText
- android:id="@+id/entry"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_below="@id/label"/>
- <Button
- android:id="@+id/ok"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_below="@id/entry"
- android:layout_alignParentRight="true"
- android:layout_marginLeft="10dp"
- android:text="OK" />
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_toLeftOf="@id/ok"
- android:layout_alignTop="@id/ok"
- android:text="Cancel" />
-</RelativeLayout>
-
-
-å¾ 2 å±ç¤ºçæ¯æ¤å¸å±å¨ QVGA å±å¹ä¸çæ¾ç¤ºææã
-
-
-å¾ 2ãQVGA å±å¹ï¼å°å±å¹ï¼ä¸çæªå¾ã
-
-å¾ 3 å±ç¤ºçæ¯æ¤å¸å±å¨è¾å¤§å±å¹ä¸çæ¾ç¤ºææã
-
-
-å¾ 3ãWSVGA å±å¹ï¼å¤§å±å¹ï¼ä¸çæªå¾ã
-
-请注æï¼è½ç¶ç»ä»¶ç尺寸ææååï¼ä½å®ä»¬ç空é´å
³ç³»ä»ä¼ä¿çï¼å
·ä½ç± {@link android.widget.RelativeLayout.LayoutParams} æå®ã
-
-
-使ç¨å°ºå¯¸éå®ç¬¦
-
-ä¸ææè¿°ççµæ´»å¸å±æç¸å¯¹å¸å±å¯ä»¥ä¸ºæ¨å¸¦æ¥çä¼å¿å°±åªæè¿ä¹å¤äºãè½ç¶è¿äºå¸å±å¯ä»¥æ伸ç»ä»¶å
å¤ç空é´ä»¥éåºåç§å±å¹ï¼ä½å®ä»¬ä¸ä¸å®è½ä¸ºæ¯ç§å±å¹é½æä¾æä½³çç¨æ·ä½éªãå æ¤ï¼æ¨çåºç¨ä¸ä»
åºå®æ½çµæ´»å¸å±ï¼è¿åºé对åç§å±å¹é
ç½®æä¾ä¸äºå¤ç¨å¸å±ãè¦åå°è¿ä¸ç¹ï¼æ¨å¯ä»¥ä½¿ç¨é
ç½®éå®ç¬¦ï¼è¿æ ·å°±å¯ä»¥å¨è¿è¡æ¶æ ¹æ®å½åç设å¤é
ç½®èªå¨éæ©åéçèµæºäºï¼ä¾å¦æ ¹æ®åç§å±å¹å°ºå¯¸éæ©ä¸åçå¸å±ï¼ã
-
-ä¾å¦ï¼å¾å¤åºç¨ä¼å¨è¾å¤§çå±å¹ä¸å®æ½âåé¢æ¿â模å¼ï¼ç¸å
³åºç¨å¯è½ä¼å¨ä¸ä¸ªé¢æ¿ä¸æ¾ç¤ºé¡¹ç®å表ï¼å¹¶å¨å¦ä¸é¢æ¿ä¸æ¾ç¤ºå¯¹åºå
容ï¼ãå¹³æ¿çµèåçµè§çå±å¹å·²ç»å¤§å°å¯ä»¥åæ¶å®¹çº³è¿ä¸¤ä¸ªé¢æ¿äºï¼ä½ææºå±å¹å°±éè¦åå«æ¾ç¤ºãå æ¤ï¼æ¨å¯ä»¥ä½¿ç¨ä»¥ä¸æ件以便å®æ½è¿äºå¸å±ï¼
-
-
- res/layout/main.xml
ï¼åé¢æ¿ï¼é»è®¤ï¼å¸å±ï¼
-
-{@sample development/samples/training/multiscreen/newsreader/res/layout/onepane.xml all}
-
- res/layout-large/main.xml
ï¼åé¢æ¿å¸å±ï¼
-
-{@sample development/samples/training/multiscreen/newsreader/res/layout/twopanes.xml all}
-
-
-
-请注æ第äºç§å¸å±å称ç®å½ä¸ç large
éå®ç¬¦ãç³»ç»ä¼å¨å±äºè¾å¤§å±å¹ï¼ä¾å¦ 7 è±å¯¸ææ´å¤§çå¹³æ¿çµèï¼ç设å¤ä¸éæ©æ¤å¸å±ãç³»ç»ä¼å¨è¾å°çå±å¹ä¸éæ©å
¶ä»å¸å±ï¼æ éå®ç¬¦ï¼ã
-
-
-使ç¨æå°å®½åº¦éå®ç¬¦
-
-å¨çæ¬ä½äº 3.2 ç Android 设å¤ä¸ï¼å¼å人åéå°çé®é¢ä¹ä¸æ¯âè¾å¤§âå±å¹ç尺寸èå´ï¼è¯¥é®é¢ä¼å½±åæ´å° Streakãæ©æç Galaxy Tab 以å大é¨å 7 è±å¯¸å¹³æ¿çµèãå³ä½¿è¿äºè®¾å¤çå±å¹å±äºâè¾å¤§âç尺寸ï¼ä½å¾å¤åºç¨å¯è½ä¼é对æ¤ç±»å«ä¸çåç§è®¾å¤ï¼ä¾å¦ 5 è±å¯¸å 7 è±å¯¸ç设å¤ï¼æ¾ç¤ºä¸åçå¸å±ãè¿å°±æ¯ Android 3.2 çå¨å¼å
¥å
¶ä»éå®ç¬¦çåæ¶å¼å
¥âæå°å®½åº¦âéå®ç¬¦çåå ã
-
-æå°å®½åº¦éå®ç¬¦å¯è®©æ¨éè¿æå®æ个æå°å®½åº¦ï¼ä»¥ dp 为åä½ï¼æ¥å®ä½å±å¹ãä¾å¦ï¼æ å 7 è±å¯¸å¹³æ¿çµèçæå°å®½åº¦ä¸º 600 dpï¼å æ¤å¦ææ¨è¦å¨æ¤ç±»å±å¹ä¸çç¨æ·çé¢ä¸ä½¿ç¨åé¢æ¿ï¼ä½å¨è¾å°çå±å¹ä¸åªæ¾ç¤ºå表ï¼ï¼æ¨å¯ä»¥ä½¿ç¨ä¸æä¸æè¿°çåé¢æ¿ååé¢æ¿è¿ä¸¤ç§å¸å±ï¼ä½æ¨åºä½¿ç¨ sw600dp
ææåé¢æ¿å¸å±ä»
éç¨äºæå°å®½åº¦ä¸º 600 dp çå±å¹ï¼èä¸æ¯ä½¿ç¨ large
尺寸éå®ç¬¦ï¼
-
-
- res/layout/main.xml
ï¼åé¢æ¿ï¼é»è®¤ï¼å¸å±ï¼
-
-{@sample development/samples/training/multiscreen/newsreader/res/layout/onepane.xml all}
-
- res/layout-sw600dp/main.xml
ï¼åé¢æ¿å¸å±ï¼
-
-{@sample development/samples/training/multiscreen/newsreader/res/layout/twopanes.xml all}
-
-
-
-ä¹å°±æ¯è¯´ï¼å¯¹äºæå°å®½åº¦å¤§äºçäº 600 dp ç设å¤ï¼ç³»ç»ä¼éæ© layout-sw600dp/main.xml
ï¼åé¢æ¿ï¼å¸å±ï¼å¦åç³»ç»å°±ä¼éæ© layout/main.xml
ï¼åé¢æ¿ï¼å¸å±ã
-
-ä½ Android çæ¬ä½äº 3.2 ç设å¤ä¸æ¯ææ¤ææ¯ï¼åå æ¯è¿äºè®¾å¤æ æ³å° sw600dp
è¯å«ä¸ºå°ºå¯¸éå®ç¬¦ï¼å æ¤æ¨ä»éä½¿ç¨ large
éå®ç¬¦ãè¿æ ·ä¸æ¥ï¼å°±ä¼æä¸ä¸ªå称为 res/layout-large/main.xml
çæ件ï¼ä¸ res/layout-sw600dp/main.xml
ä¸æ ·ï¼ãæ¨å°å¨ä¸ä¸æç¨ä¸äºè§£å°é¿å
æ¤ç±»å¸å±æ件åºç°éå¤çææ¯ã
-
-
-使ç¨å¸å±å«å
-
-æå°å®½åº¦éå®ç¬¦ä»
éç¨äº Android 3.2 åæ´é«çæ¬ãå æ¤ï¼æ¨ä»é使ç¨ä¸è¾ä½çæ¬å
¼å®¹çæ¦æ¬å°ºå¯¸èå´ï¼å°ãæ£å¸¸ã大åç¹å¤§ï¼ãä¾å¦ï¼å¦ææ¨è¦å°ç¨æ·çé¢è®¾è®¡æå¨ææºä¸æ¾ç¤ºåé¢æ¿ï¼ä½å¨ 7 è±å¯¸å¹³æ¿çµèãçµè§åå
¶ä»è¾å¤§ç设å¤ä¸æ¾ç¤ºå¤é¢æ¿ï¼è¯·æä¾ä»¥ä¸æ件ï¼
-
-
-res/layout/main.xml:
åé¢æ¿å¸å±
-res/layout-large:
å¤é¢æ¿å¸å±
-res/layout-sw600dp:
å¤é¢æ¿å¸å±
-
-
-å两个æ件æ¯ç¸åçï¼å 为å
¶ä¸ä¸ä¸ªç¨äºå Android 3.2 设å¤å¹é
ï¼èå¦ä¸ä¸ªåæ¯ä¸ºä½¿ç¨è¾ä½çæ¬ Android çå¹³æ¿çµèåçµè§åå¤çã
-
-è¦é¿å
å¹³æ¿çµèåçµè§çæ件åºç°éå¤ï¼ä»¥åç±æ¤å¸¦æ¥çç»´æ¤é®é¢ï¼ï¼æ¨å¯ä»¥ä½¿ç¨å«åæ件ãä¾å¦ï¼æ¨å¯ä»¥å®ä¹ä»¥ä¸å¸å±ï¼
-
-
-res/layout/main.xml
ï¼åé¢æ¿å¸å±
-res/layout/main_twopanes.xml
ï¼åé¢æ¿å¸å±
-
-
-ç¶åæ·»å è¿ä¸¤ä¸ªæ件ï¼
-
-
-
-å两个æ件çå
容ç¸åï¼ä½å®ä»¬å¹¶æªå®é
å®ä¹å¸å±ãå®ä»¬åªæ¯å° {@code main} 设置æäº {@code main_twopanes} çå«åãç±äºè¿äºæ件å
å« large
å sw600dp
éæ©å¨ï¼å æ¤æ 论 Android çæ¬å¦ä½ï¼ç³»ç»é½ä¼å°è¿äºæ件åºç¨å°å¹³æ¿çµèåçµè§ä¸ï¼çæ¬ä½äº 3.2 çå¹³æ¿çµèåçµè§ä¼å¹é
-{@code large}ï¼çæ¬ä½äº 3.2 çå¹³æ¿çµèåçµè§åä¼å¹é
sw600dp
ï¼ã
-
-
-使ç¨å±å¹æ¹åéå®ç¬¦
-
-æäºå¸å±ä¼åæ¶æ¯æ横å模å¼å纵å模å¼ï¼ä½æ¨å¯ä»¥éè¿è°æ´ä¼åå
¶ä¸å¤§é¨åå¸å±çææãå¨æ°é»é
读å¨ç¤ºä¾åºç¨ä¸ï¼æ¯ç§å±å¹å°ºå¯¸åå±å¹æ¹åä¸çå¸å±è¡ä¸ºæ¹å¼å¦ä¸æ示ï¼
-
-
-- å°å±å¹ï¼çºµåï¼åé¢æ¿ï¼å¸¦å¾½æ
-- å°å±å¹ï¼æ¨ªåï¼åé¢æ¿ï¼å¸¦å¾½æ
-- 7 è±å¯¸å¹³æ¿çµèï¼çºµåï¼åé¢æ¿ï¼å¸¦æä½æ
-- 7 è±å¯¸å¹³æ¿çµèï¼æ¨ªåï¼åé¢æ¿ï¼å®½ï¼å¸¦æä½æ
-- 10 è±å¯¸å¹³æ¿çµèï¼çºµåï¼åé¢æ¿ï¼çªï¼å¸¦æä½æ
-- 10 è±å¯¸å¹³æ¿çµèï¼æ¨ªåï¼åé¢æ¿ï¼å®½ï¼å¸¦æä½æ
-- çµè§ï¼æ¨ªåï¼åé¢æ¿ï¼å®½ï¼å¸¦æä½æ
-
-
-å æ¤ï¼è¿äºå¸å±ä¸çæ¯ä¸ç§é½å®ä¹å¨äº res/layout/
ç®å½ä¸çæ个 XML æ件ä¸ã为äºç»§ç»å°æ¯ä¸ªå¸å±åé
ç»åç§å±å¹é
ç½®ï¼è¯¥åºç¨ä¼ä½¿ç¨å¸å±å«åå°ä¸¤è
ç¸å¹é
ï¼
-
-res/layout/onepane.xml:
-{@sample development/samples/training/multiscreen/newsreader/res/layout/onepane.xml all}
-
-res/layout/onepane_with_bar.xml:
-{@sample development/samples/training/multiscreen/newsreader/res/layout/onepane_with_bar.xml all}
-
-res/layout/twopanes.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/layout/twopanes.xml all}
-
-res/layout/twopanes_narrow.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/layout/twopanes_narrow.xml all}
-
-æ¢ç¶æ¨å·²å®ä¹äºææå¯è½çå¸å±ï¼é£å°±åªé使ç¨é
ç½®éå®ç¬¦å°æ£ç¡®çå¸å±æ å°å°åç§é
ç½®å³å¯ãæ¨ç°å¨åªé使ç¨å¸å±å«åææ¯å³å¯åå°è¿ä¸ç¹ï¼
-
-res/values/layouts.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/values/layouts.xml all}
-
-res/values-sw600dp-land/layouts.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/values-sw600dp-land/layouts.xml
-all}
-
-res/values-sw600dp-port/layouts.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/values-sw600dp-port/layouts.xml
-all}
-
-res/values-large-land/layouts.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/values-large-land/layouts.xml all}
-
-res/values-large-port/layouts.xml
:
-{@sample development/samples/training/multiscreen/newsreader/res/values-large-port/layouts.xml all}
-
-
-
-使ç¨èªå¨æ伸ä½å¾
-
-æ¯æåç§å±å¹å°ºå¯¸é常æå³çæ¨çå¾çèµæºè¿å¿
é¡»è½éåºåç§å°ºå¯¸ãä¾å¦ï¼æ 论è¦åºç¨å°ä»ä¹å½¢ç¶çæé®ä¸ï¼æé®èæ¯é½å¿
é¡»è½éåºã
-
-å¦æå¨å¯ä»¥æ´æ¹å°ºå¯¸çç»ä»¶ä¸ä½¿ç¨äºç®åçå¾çï¼æ¨å¾å¿«å°±ä¼åç°æ¾ç¤ºææå¤å°æäºä¸å¤ªçæ³ï¼å 为系ç»ä¼å¨è¿è¡æ¶å¹³åå°æ伸ææ¶ç¼©æ¨çå¾çã解å³æ¹æ³ä¸ºä½¿ç¨èªå¨æ伸ä½å¾ï¼è¿æ¯ä¸ç§æ ¼å¼ç¹æ®ç PNG æ件ï¼å
¶ä¸ä¼ææå¯ä»¥æ伸以åä¸å¯ä»¥æ伸çåºåã
-
-å æ¤ï¼å¦æ设计çæ¯ç¨äºå°ºå¯¸å¯åçç»ä»¶ä¸çä½å¾ï¼è¯·å¡å¿
使ç¨èªå¨æ伸ææ¯ãè¦å°æ个ä½å¾è½¬æ¢æèªå¨æ伸ä½å¾ï¼æ¨å¯ä»¥å
åå¤å¥½æ®éå¾çï¼å¾ 4ï¼æ¾å¤§äº 4 å以便æ¸
æ¥æ¾ç¤ºï¼ã
-
-
-å¾ 4ãbutton.png
-
-ç¶åéè¿ SDK ç draw9patch
å®ç¨å·¥å
·ï¼ä½äº tools/
ç®å½ä¸ï¼è¿è¡è¯¥å¾çï¼æ¨å¯ä»¥å¨è¯¥å·¥å
·ä¸ç»å¶åç´ ä»¥æ åºè¦æ伸çåºå以å左侧å顶é¨çè¾¹çãæ¨è¿å¯ä»¥æ²¿å³ä¾§ååºé¨è¾¹çç»å¶åç´ ä»¥æ åºç¨äºæ¾ç½®å
容çåºåï¼å
·ä½å¦å¾ 5 æ示ã
-
-
-å¾ 5ãbutton.9.png
-
-请注æ沿边çæ¾ç¤ºçé»è²åç´ ã顶é¨å左侧边çä¸çåç´ ç¨äºæå®å¯ä»¥æ伸çå¾çåºåï¼å³ä¾§ååºé¨è¾¹çä¸çåç´ åç¨äºæå®æ¾ç½®å
容çåºåã
-
-å¦è¯·æ³¨æ .9.png
çæ©å±åãæ¨å¿
须使ç¨æ¤æ©å±åï¼å 为系ç»æ¡æ¶éè¦éè¿æ¤æ©å±åç¡®å®ç¸å
³å¾çæ¯èªå¨æ伸ä½å¾ï¼èä¸æ¯æ®é PNG å¾çã
-
-å¦ææ¨å°æ¤èæ¯åºç¨å°æ个ç»ä»¶ï¼éè¿è®¾ç½® android:background="@drawable/button"
ï¼ï¼ç³»ç»æ¡æ¶å°±ä¼æ£ç¡®æ伸å¾ç以éåºæé®ç尺寸ï¼å
·ä½å¦å¾ 6 ä¸çåç§å°ºå¯¸æ示ã
-
-
-å¾ 6ãå¨åç§å°ºå¯¸ä¸ä½¿ç¨ button.9.png
èªå¨æ伸ä½å¾çæé®ã
-
diff --git a/docs/html/training/training_toc.cs b/docs/html/training/training_toc.cs
index 7a3f2ca1162f..f0d33595e776 100644
--- a/docs/html/training/training_toc.cs
+++ b/docs/html/training/training_toc.cs
@@ -701,7 +701,7 @@