diff --git a/docs/html-intl/intl/es/preview/download_mp2.jd b/docs/html-intl/intl/es/preview/download_mp2.jd deleted file mode 100644 index d71d8fdd0b7ea..0000000000000 --- a/docs/html-intl/intl/es/preview/download_mp2.jd +++ /dev/null @@ -1,360 +0,0 @@ -page.title=Descargas -page.image=images/cards/card-download_16-9_2x.png - -@jd:body - -
- - - - -
- - - - -

- El SDK de la versión preliminar de Android M incluye herramientas de desarrollo, archivos de sistema de Android y archivos de biblioteca que lo ayudarán a probar su aplicación y las nuevas API que se incluirán en la próxima versión de la plataforma. - En este documento, se describe la manera de obtener los componentes que se pueden descargar de la versión preliminar para probar su aplicación. - -

- - -

SDK de la versión preliminar

- -

- El SDK de la versión preliminar se encuentra disponible para descargarlo a través del Administrador de SDK de Android. Para obtener más información sobre cómo descargar y configurar el SDK de la versión preliminar, consulte la sección Configurar el SDK de la versión preliminar. - -

- - -

Documentación para desarrolladores

- -

- El paquete de descarga de documentación para desarrolladores brinda información detallada de referencia sobre las API y un informe de diferencias de las API para la versión preliminar. -

- - - - - - - - - - -
DescriptionDownload / Checksums
Android M Preview 2
Developer Docs
m-preview-2-developer-docs.zip
- MD5: 1db6fff9c722b0339757e1cdf43663a8
- SHA-1: 5a4ae88d644e63824d21b0e18f8e3977a7665157 -
- - -

Imágenes del sistema de hardware

- -

- Estas imágenes del sistema le permiten instalar una versión preliminar de la plataforma en un dispositivo físico para realizar pruebas. - Al configurar un dispositivo con una de estas imágenes, puede instalar y probar su aplicación para ver cómo funciona en la próxima versión de la plataforma. - El proceso de instalación de una imagen del sistema en un dispositivo elimina todos los datos del dispositivo, por lo que debe hacer una copia de seguridad de los datos antes de instalar una imagen del sistema. - - -

- -

- Advertencia: Las siguientes imágenes del sistema de Android son versiones preliminares y están sujetas a cambios. El uso que haga de estas imágenes del sistema se rige por el Contrato de licencia de la versión preliminar del SDK de Android. - Las imágenes del sistema de la versión preliminar de Android no son versiones estables y pueden contener errores y defectos que pueden generar daños en sus sistemas informáticos, dispositivos y datos. - - Las imágenes del sistema de la versión preliminar de Android no se someten a las mismas pruebas que el OS de fábrica y podrían hacer que el teléfono, y las aplicaciones y los servicios instalados dejen de funcionar. - - -

- - - - - - - - - - - - - - - - - - - - - - - - -
DeviceDownload / Checksums
Nexus 5 (GSM/LTE)
"hammerhead"
hammerhead-MPZ79M-preview-b1f4bde4.tgz
- MD5: 2ca9f18bf47a061b339bab52647ceb0d
- SHA-1: b1f4bde447eccbf8ce5d9b8b8ba954e3eac8e939 -
Nexus 6
"shamu"
shamu-MPZ79M-preview-e1024040.tgz
- MD5: 24a2118da340b9afedfbdfc026f6ff81
- SHA-1: e10240408859d5188c4aae140e1c539130ba614b -
Nexus 9
"volantis"
volantis-MPZ79M-preview-9f305342.tgz
- MD5: 9edabf0a4c61b247f1cbb9dfdc0a899e
- SHA-1: 9f30534216f10899a6a75495fc7e92408ea333a7 -
Nexus Player
"fugu"
fugu-MPZ79N-preview-fb63af98.tgz
- MD5: e8d081137a20b66df595ee69523314b5
- SHA-1: fb63af98302dd97be8de9313734d389ccdcce250 -
- -

Instalar una imagen en un dispositivo

- -

- Si desea utilizar una imagen del dispositivo para realizar pruebas, debe instalarla en un dispositivo compatible. Siga las instrucciones que se ofrecen a continuación para instalar una imagen del sistema: - -

- -
    -
  1. Descargue y descomprima uno de los paquetes de imágenes del sistema que se enumeran aquí.
  2. -
  3. Realice una copia de seguridad de los datos del dispositivo que desee conservar.
  4. -
  5. Siga las instrucciones que se describen en el sitio developers.google.com/android - para actualizar la imagen en su dispositivo. -
  6. -
- -

- Nota: Cuando haya actualizado un dispositivo de desarrollo con la imagen del sistema de la versión preliminar, se actualizará automáticamente con la próxima versión preliminar a través de actualizaciones OTA. - -

- -

Restablecer las especificaciones de fábrica en un dispositivo

- -

- Si desea desinstalar la versión preliminar y restablecer las especificaciones de fábrica en un dispositivo, visite el sitio developers.google.com/android y descargue la imagen con la que desea actualizar su dispositivo. - - Siga las instrucciones que se describen en esa página para actualizar la imagen en su dispositivo. - -

- -
- -
- - - - diff --git a/docs/html-intl/intl/es/preview/features/background-optimization.jd b/docs/html-intl/intl/es/preview/features/background-optimization.jd deleted file mode 100644 index c061a093bb297..0000000000000 --- a/docs/html-intl/intl/es/preview/features/background-optimization.jd +++ /dev/null @@ -1,391 +0,0 @@ -page.title=Optimizaciones en segundo plano -page.metaDescription=Nuevas restricciones para transmisiones implícitas. -page.keywords="android N", "implicit broadcasts", "job scheduler" -page.image=images/cards/card-nyc_2x.jpg - -@jd:body - -
-
-

- En este documento -

- -
    -
  1. - Restricciones en CONNECTIVITY_ACTION -
  2. - -
  3. - Programación de trabajos en red en conexiones - sin medición de uso -
  4. - -
  5. - Control de la conectividad de la red mientras la aplicación - se está ejecutando -
  6. - -
  7. - Restricciones en NEW_PICTURE y - NEW_VIDEO -
  8. - -
  9. - Nuevos métodos de JobInfo -
  10. - -
  11. - Nuevos métodos de JobParameter -
  12. - -
  13. - Cómo optimizar aún más tu aplicación -
  14. -
-
-
- -

- Los procesos en segundo plano pueden consumir mucha memoria y batería. Por ejemplo, una - transmisión implícita puede iniciar muchos procesos en segundo plano registrados para - escucharla, aunque esos procesos quizá no desempeñen un trabajo considerable. Esto puede - afectar de forma significativa tanto el rendimiento del dispositivo como la experiencia de usuario. -

- -

- Para corregir este problema, en Android N se aplican las siguientes - restricciones: -

- - - -

- Si la aplicación utiliza cualquiera de estas intents, debes quitar las dependencias en - ellas lo antes posible a fin de poder orientar los dispositivos Android N correctamente. - El framework de Android ofrece varias soluciones para mitigar la necesidad de - estas transmisiones implícitas. Por ejemplo, {@link android.app.job.JobScheduler} - y - {@code GcmNetworkManager} proporcionan mecanismos sólidos para programar operaciones - de red cuando se cumplen las condiciones especificadas, como una conexión a una - red de uso no medido. Ahora también puedes usar {@link android.app.job.JobScheduler} - para reaccionar a cambios en relación con los proveedores de contenido. Los objetos {@link android.app.job.JobInfo} - encapsulan los parámetros que usa {@link android.app.job.JobScheduler} - para programar el trabajo. Cuando se cumplen las condiciones del trabajo, el sistema - ejecuta ese trabajo en el {@link android.app.job.JobService} de tu aplicación. -

- -

- En este documento, aprenderemos cómo usar métodos alternativos, como - {@link android.app.job.JobScheduler}, para adaptar tu aplicación a esas nuevas - restricciones. -

- -

- Restricciones en CONNECTIVITY_ACTION -

- -

- Las aplicaciones orientadas a Android N no reciben transmisiones {@link - android.net.ConnectivityManager#CONNECTIVITY_ACTION} si en su manifiesto - registran que las reciben, y los procesos que dependan de esta - transmisión no se iniciarán. Esto podría ser un problema para aplicaciones que buscan - escuchar los cambios en la red o realizar múltiples actividades en red cuando el - dispositivo se conecta a una red sin medición de uso. Ya existen varias soluciones - en relación con esta restricción en el framework de Android, pero elegir - la correcta depende de lo que quieras lograr con tu aplicación. -

- -

- Nota: Un {@link android.content.BroadcastReceiver} registrado con - {@link android.content.Context#registerReceiver Context.registerReceiver()} - continúa recibiendo estas transmisiones mientras se ejecuta la aplicación. -

- -

- Programación de trabajos en red en conexiones sin medición de uso -

- -

- Cuando uses la clase {@link android.app.job.JobInfo.Builder JobInfo.Builder} - para crear tu objeto {@link android.app.job.JobInfo}, aplica el método {@link - android.app.job.JobInfo.Builder#setRequiredNetworkType - setRequiredNetworkType()} y pasa {@link android.app.job.JobInfo - JobInfo.NETWORK_TYPE_UNMETERED} como parámetro de trabajo. El siguiente ejemplo de código - programa la ejecución de un servicio cuando el dispositivo se conecta a una red sin - medición de uso y se está cargando: -

- -
-public static final int MY_BACKGROUND_JOB = 0;
-...
-public static void scheduleJob(Context context) {
-  JobScheduler js =
-      (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE);
-  JobInfo job = new JobInfo.Builder(
-    MY_BACKGROUND_JOB,
-    new ComponentName(context, MyJobService.class))
-      .setRequiredNetworkType(JobInfo.NETWORK_TYPE_UNMETERED)
-      .setRequiresCharging(true)
-      .build();
-  js.schedule(job);
-}
-
- -

- Cuando se cumplan las condiciones para tu trabajo, tu aplicación recibirá un callback para ejecutar - el método {@link android.app.job.JobService#onStartJob onStartJob()} en la - {@code JobService.class} especificada. Para ver más ejemplos de la implementación de {@link - android.app.job.JobScheduler}, consulta la aplicación de ejemplo JobScheduler. -

- -

- Las aplicaciones que usan servicios de GMSCore y están orientadas a Android 5.0 (API nivel 21) - o anterior, pueden usar - {@code GcmNetworkManager} y especificar {@code Task.NETWORK_STATE_UNMETERED}. -

- -

- Control de la conectividad de la red mientras la aplicación se está ejecutando -

- -

- Las aplicaciones que se ejecutan aún pueden escuchar {@code CONNECTIVITY_CHANGE} con un - {@link android.content.BroadcastReceiver} registrado. No obstante, la API {@link - android.net.ConnectivityManager} ofrece un método más robusto para solicitar - un callback solo cuando se cumplen las condiciones de red especificadas. -

- -

- Los objetos {@link android.net.NetworkRequest} definen los parámetros del - callback de la red en términos de {@link android.net.NetworkCapabilities}. Creas - objetos {@link android.net.NetworkRequest} con la clase {@link - android.net.NetworkRequest.Builder NetworkRequest.Builder}. {@link - android.net.ConnectivityManager#registerNetworkCallback(android.net.NetworkRequest, - android.net.ConnectivityManager.NetworkCallback) registerNetworkCallback()} - y luego pasa el objeto {@link android.net.NetworkRequest} al sistema. Cuando - se cumplen las condiciones de la red, la aplicación recibe un callback para ejecutar el método - {@link android.net.ConnectivityManager.NetworkCallback#onAvailable - onAvailable()} definido en su clase {@link - android.net.ConnectivityManager.NetworkCallback}. -

- -

- La aplicación continuará recibiendo callbacks hasta que la aplicación salga o llame a - {@link android.net.ConnectivityManager#unregisterNetworkCallback - unregisterNetworkCallback()}. -

- -

- Restricciones en NEW_PICTURE y NEW_VIDEO -

- -

- En Android N, las aplicaciones no pueden enviar ni recibir transmisiones {@link - android.hardware.Camera#ACTION_NEW_PICTURE} ni {@link - android.hardware.Camera#ACTION_NEW_VIDEO}. Esta restricción ayuda a - aliviar el impacto en el rendimiento y la experiencia de usuario cuando varias aplicaciones deben - activarse para procesar una nueva imagen o video. Android N - extiende {@link android.app.job.JobInfo} y {@link - android.app.job.JobParameters} para proporcionar una solución alternativa. -

- -

- Nuevos métodos de JobInfo -

- -

- Para activar trabajos en los cambios del URI de contenido, Android N extiende - la API {@link android.app.job.JobInfo} con los siguientes métodos: -

- -
-
- {@code JobInfo.TriggerContentUri()} -
- -
- Encapsula parámetros necesarios para activar un trabajo en cambios del URI de contenido. -
- -
- {@code JobInfo.Builder.addTriggerContentUri()} -
- -
- Pasa un objeto {@code TriggerContentUri} a {@link - android.app.job.JobInfo}. Un {@link android.database.ContentObserver} - controla el URI de contenido encapsulado. Si hay múltiples objetos {@code - TriggerContentUri} asociados a un trabajo, el sistema proporciona un - callback aunque se informe un cambio en un solo URI de contenido. -
- -
- Si cambia algún desencadenante del URI determinado, agrega el marcador {@code TriggerContentUri.FLAG_NOTIFY_FOR_DESCENDANTS} para - activar el trabajo. Este marcador - corresponde al parámetro {@code notifyForDescendants} pasado a {@link - android.content.ContentResolver#registerContentObserver - registerContentObserver()}. -
-
- -

- Nota: No se puede usar {@code TriggerContentUri()} junto - con {@link android.app.job.JobInfo.Builder#setPeriodic - setPeriodic()} ni {@link android.app.job.JobInfo.Builder#setPersisted - setPersisted()}. Para controlar de forma constante la presencia de cambios en el contenido, programa un nuevo - {@link android.app.job.JobInfo} antes de que el {@link - android.app.job.JobService} de la aplicación termine de administrar la callback más reciente. -

- -

- El siguiente código de ejemplo programa la activación de un trabajo cuando el sistema informe - un cambio en el URI de contenido, {@code MEDIA_URI}: -

- -
-public static final int MY_BACKGROUND_JOB = 0;
-...
-public static void scheduleJob(Context context) {
-  JobScheduler js =
-          (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE);
-  JobInfo.Builder builder = new JobInfo.Builder(
-          MY_BACKGROUND_JOB,
-          new ComponentName(context, MediaContentJob.class));
-  builder.addTriggerContentUri(
-          new JobInfo.TriggerContentUri(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
-          JobInfo.TriggerContentUri.FLAG_NOTIFY_FOR_DESCENDANTS));
-  js.schedule(builder.build());
-}
-
-

- Cuando el sistema informa un cambio en el(los) URI de contenido especificado(s), tu aplicación - recibe un callback y se pasa un objeto {@link android.app.job.JobParameters} - al método {@link android.app.job.JobService#onStartJob onStartJob()} - en {@code MediaContentJob.class}. -

- -

- Nuevos métodos de JobParameter -

- -

- Android N también amplía {@link android.app.job.JobParameters} para - permitir que tu aplicación reciba información útil sobre qué autoridades de contenido - y URI activaron el trabajo: -

- -
-
- {@code Uri[] getTriggeredContentUris()} -
- -
- Devuelve el arreglo de los URI que activaron el trabajo. Ese arreglo será {@code - null} si ningún URI activó el trabajo (por ejemplo, el trabajo - se activó debido al cumplimiento de un plazo o por otro motivo), o la cantidad de URI - modificados es superior a 50. -
- -
- {@code String[] getTriggeredContentAuthorities()} -
- -
- Devuelve el arreglo de cadenas de autoridades de contenido que activaron el trabajo. - Si el arreglo devuelto no es {@code null}, usa {@code getTriggeredContentUris()} - para recuperar los detalles de los URI que se modificaron. -
-
- -

- El siguiente código de ejemplo anula el método {@link - android.app.job.JobService#onStartJob JobService.onStartJob()} y - registra las autoridades de contenido y los URI que activaron el trabajo: -

- -
-@Override
-public boolean onStartJob(JobParameters params) {
-  StringBuilder sb = new StringBuilder();
-  sb.append("Media content has changed:\n");
-  if (params.getTriggeredContentAuthorities() != null) {
-      sb.append("Authorities: ");
-      boolean first = true;
-      for (String auth :
-          params.getTriggeredContentAuthorities()) {
-          if (first) {
-              first = false;
-          } else {
-             sb.append(", ");
-          }
-           sb.append(auth);
-      }
-      if (params.getTriggeredContentUris() != null) {
-          for (Uri uri : params.getTriggeredContentUris()) {
-              sb.append("\n");
-              sb.append(uri);
-          }
-      }
-  } else {
-      sb.append("(No content)");
-  }
-  Log.i(TAG, sb.toString());
-  return true;
-}
-
- -

- Cómo optimizar aún más tu aplicación -

- -

- Optimizar tus aplicaciones para que se ejecuten en dispositivos con poca memoria o en condiciones de niveles bajos - de memoria puede mejorar el rendimiento y la experiencia del usuario. Eliminar - dependencias en servicios en segundo plano y receptores de transmisiones implícitas - registrados estadísticamente puede ayudar a que tu aplicación se ejecute mejor en esos dispositivos. Si bien - Android N toma medidas para reducir algunos de estos problemas, te - recomendamos que optimices tu aplicación para que pueda ejecutarse sin utilizar esos - procesos en segundo plano. -

- -

- Android N presenta algunos comandos adicionales de Android Debug Bridge (ADB) que - puedes usar para probar el comportamiento de la aplicación con esos procesos en segundo plano deshabilitados: -

- - diff --git a/docs/html-intl/intl/es/preview/features/icu4j-framework.jd b/docs/html-intl/intl/es/preview/features/icu4j-framework.jd deleted file mode 100644 index e87c4dd00ad68..0000000000000 --- a/docs/html-intl/intl/es/preview/features/icu4j-framework.jd +++ /dev/null @@ -1,159 +0,0 @@ -page.title=API de ICU4J en el framework de Android -page.image=images/cards/card-nyc_2x.jpg - -@jd:body - -
-
-

En este documento:

-
    -
  1. Relación con ICU4J
  2. -
  3. Migración hacia API de android.icu desde ICU4J
  4. -
  5. Licencias
  6. -
- -

Consulta también

-
    -
  1. - Documentación para ICU4J -
  2. - -
  3. - Últimos estándares compatibles - con ICU4J -
  4. -
-
-
- -

- ICU4J es un conjunto de bibliotecas de Java de código abierto y amplio uso que brinda soporte de Unicode - y de globalización para aplicaciones de software. Android N - expone un subconjunto de las API de ICU4J en el framework de Android para que los desarrolladores de aplicaciones - lo usen debajo del paquete {@code android.icu}. Estas API usan - datos de ubicación que están presentes en el dispositivo. Como resultado, puedes reducir la superficie de APK - evitando la compilación de las bibliotecas de ICU4J en APK. En lugar de esto, puedes - llamarlas en el framework. (En este caso, posiblemente debas brindar - versiones múltiples - del APK, de modo que los usuarios que usan versiones de Android inferiores a Android N - puedan descargar una versión de la aplicación que incluya las bibliotecas de ICU4J). -

- -

- Al principio de este documento, encontrarás información básica sobre el mínimo de niveles de Android API - necesarios para soportar estas bibliotecas. Más adelante, encontrarás explicaciones sobre qué - necesitas saber acerca de la implementación de ICU4J específica para Android. Por último, - encontrarás explicaciones sobre cómo usar las API de ICU4J en el framework de Android. -

- -

Relación con ICU4J

- -

- Android N expone un subconjunto de las API de ICU4J mediante el - paquete android.icu, en lugar de com.ibm.icu. El -framework de Android puede elegir no - exponer las API de ICU4J por varias razones; por ejemplo, Android N no expone - algunas API obsoletas o algunas que el equipo de ICU aún no ha declarado como - estables. A medida que el equipo de ICU deje de usar API en el futuro, Android también las marcará - como obsoletas, pero las seguirá incluyendo. -

- -

Tabla 1. Versiones de ICU y CLDR usadas - en Android N.

- - - - - - - - - - - -
Nivel de Android APIVersión de ICUVersión de CLDR
Android N5628
- -

Debes tener en cuenta lo siguiente:

- - - -

Migración hacia el paquete android.icu desde com.ibm.icu

- -

- Si ya estás usando las API de ICU4J en tu aplicación y las - API de android.icu cumplen con tus requisitos, migrar hacia las - API del framework implicará que cambies tus importaciones de Java - de com.ibm.icu a android.icu. Luego, puedes - quitar tu propia copia de los archivos de ICU4J del APK. -

- -

- Nota: Las API del framework de ICU4J usan el espacio de nombres {@code android.icu} - en lugar de {@code com.ibm.icu}. El motivo de esto es evitar conflictos de espacio de nombres - en APK que contienen sus propias bibliotecas de {@code com.ibm.icu}. -

- -

- Migración hacia API de android.icu desde otras Android SDK API -

- -

- Algunas clases de los paquetes de java y de android son - equivalentes a las clases de ICU4J. Sin embargo, ICU4J a menudo brinda una compatibilidad - más amplia para estándares e idiomas. -

-

Aquí tienes algunos ejemplos para comenzar:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ClaseAlternativa
java.lang.Character android.icu.lang.UCharacter
java.text.BreakIterator android.icu.text.BreakIterator
java.text.DecimalFormat android.icu.text.DecimalFormat
java.util.Calendar -android.icu.util.Calendar
android.text.BidiFormatter - android.icu.text.Bidi -
android.text.format.DateFormat - android.icu.text.DateFormat -
android.text.format.DateUtils android.icu.text.DateFormat -android.icu.text.RelativeDateTimeFormatter -
- -

Licencias

- -

- ICU4J se presenta bajo la licencia de ICU. Para obtener información más detallada, consulta la Guía de usuario - de ICU. -

diff --git a/docs/html-intl/intl/es/preview/features/multilingual-support.jd b/docs/html-intl/intl/es/preview/features/multilingual-support.jd deleted file mode 100644 index b03777c4e2141..0000000000000 --- a/docs/html-intl/intl/es/preview/features/multilingual-support.jd +++ /dev/null @@ -1,221 +0,0 @@ -page.title=Idioma y configuración regional -page.tags=androidn -page.image=images/cards/card-nyc_2x.jpg - -@jd:body - -
-
-

En este documento:

-
    -
  1. Desafíos para la resolución de recursos de idioma
  2. -
  3. Mejoras de la estrategia de resolución de recursos
  4. -
  5. Diseño de la aplicación para permitir configuraciones regionales - adicionales
  6. - -
- -
-
- -

Android N brinda un soporte mejorado para los usuarios de diferentes idiomas -y les permite seleccionar múltiples configuraciones regionales en la configuración. Android N -brinda esta capacidad expandiendo ampliamente la cantidad de configuraciones regionales compatibles -y cambiando la forma en que el sistema resuelve los recursos. El nuevo método de resolución -de recursos es más robusto y está diseñado para ser compatible con APK existentes, pero -debes tener especial cuidado para detectar cualquier comportamiento inesperado. Por ejemplo, debes -realizar pruebas para asegurarte de que tu aplicación muestre el idioma esperado de forma predeterminada. Además, -si tu aplicación permite múltiples idiomas, debes asegurarte de que esta compatibilidad funcione -como debería. Por último, debes tratar de asegurarte de que tu aplicación administre con facilidad -los idiomas para los cuales no diseñaste explícitamente la aplicación.

- -

Al inicio de este documento, encontrarás una explicación sobre la estrategia de resolución de recursos anterior a -Android N. Luego, encontrarás una descripción de la estrategia de resolución de recursos -mejorada de Android N. Por último, encontrarás una explicación sobre cómo aprovechar -la cantidad expandida de configuraciones regionales para permitir acceso a más usuarios de diferentes idiomas.

- -

Desafíos para la resolución de recursos de idioma

- -

Antes de Android N, Android no siempre podía - hacer coincidir correctamente las configuraciones regionales de la aplicación y del sistema.

- -

Por ejemplo, imagina que tienes la siguiente situación:

-