¿Características ocultas del desarrollo de Android?

121

Me sorprende que todavía no haya una publicación de características ocultas de Android en la serie de características ocultas que he estado rastreando durante un tiempo.

La serie Hidden Features es ideal para las personas que son nuevas en un idioma determinado. Muestra las cuerdas y ciertos trucos valiosos, todo en un solo lugar. Creo que es una idea brillante. Incluso los expertos a veces encuentran trucos de los que nunca habían oído hablar.

Estoy comenzando el desarrollo de Android y me encantaría saber acerca de sus características ocultas, consejos, trucos y dificultades.

Entonces, aquí va: ¿cuáles son algunas características ocultas de Android ?

Artem Russakovskii
fuente

Respuestas:

105

Esperemos que no haya demasiadas funciones ocultas, ocultas, pero estas son algunas de las funciones menos conocidas y no intuitivas disponibles para Android que definitivamente harán que su vida sea más fácil y sus aplicaciones mejores.

  • Todo el código fuente de la plataforma y todas las aplicaciones nativas que no son de Google están disponibles para que pueda navegar, descargar, pedir prestado o robar del proyecto Android Open Source .
  • Con el marco de recursos , crear versiones localizadas de su aplicación es tan simple como agregar una nueva subcarpeta anotada (por ejemplo, valores-fr) que contiene un archivo XML con cadenas en un idioma diferente (por ejemplo, francés). Android elegirá la carpeta correcta en tiempo de ejecución para usted.
    • El mismo marco de recursos le permite usar diseños alternativos para diferentes configuraciones de hardware, densidades de píxeles de pantalla y dispositivos de entrada simplemente colocándolos en una carpeta con nombre.
  • Desde Android 1.6, su aplicación puede producir resultados que aparecerán en los resultados de una búsqueda en el cuadro de búsqueda rápida de la pantalla de inicio. Esto se conoce como sugerencias de búsqueda personalizadas .
  • Al usar Intentos y Filtros de intención, sus aplicaciones pueden realizar y atender solicitudes anónimas para que se complete una acción (por ejemplo, la aplicación Where puede solicitar una reserva de mesa desde la aplicación Open Table ).
    • Pueden solicitar una solicitud desconocida para completar una acción sin necesidad de saber qué aplicaciones pueden cumplir esa solicitud
    • Su aplicación puede cumplir solicitudes de aplicaciones desconocidas para completar acciones sin necesidad de saber qué aplicaciones harán las solicitudes. Juega bien y puedes crear la aplicación de Twitter 'predeterminada', o la aplicación de reserva, etc.
  • Con las alarmas , puede configurar su aplicación para completar tareas en momentos predeterminados, incluso si su aplicación no se está ejecutando.
    • Puede ahorrar mucha vida útil de la batería utilizando el método setInexactRepeating para programar eventos regulares (como sondeos o actualizaciones del servidor). Sincronizará alarmas de múltiples aplicaciones para que ocurran al mismo tiempo en lugar de ad hoc.
  • Con el marco de preferencias , puede crear pantallas de configuración para sus aplicaciones con el mismo estilo que la configuración del sistema. Incluso puede incorporar pantallas de configuración del sistema (por ejemplo, seguridad y ubicación) en la jerarquía de configuración de su aplicación.
  • Usando las API AudioTrack y AudioRecord , puede transmitir datos de audio directamente desde y hacia los buffers de audio PCM.
Reto Meier
fuente
35

Las herramientas en el directorio / tools del SDK merecen una mención:

  • Nuestro diseñador quedó particularmente impresionado con lo draw9patchque ayudó a diseñar botones elásticos. Él me dio recursos desde allí, y cambié de un color de fondo a un dibujo dibujable de 9 parches y ahora tenemos un botón personalizado, esquinas redondeadas, etc. estirados para ajustarse al texto.
  • ddms, que también está integrado en el complemento Eclipse. Es inmensamente poderoso, pero lo uso para tomar capturas de pantalla.
  • adb- interactúa con tu dispositivo o emulador desde la línea de comandos. Lo uso para seguir los registros de mi dispositivo en una ventana de terminal en mi escritorio, aunque lo he encontrado útil para instalar y desinstalar aplicaciones que se comportan mal.
  • sqlite3 - Ideal para interactuar con una base de datos instalada y probar consultas.
  • apkbuilder, zipalign, aapt- ideal para correr sin cabeza construye
  • monkey para probar fuzzmente tu aplicación.

También destacaría los tres Diseño para el rendimiento , la capacidad de respuesta y la fluidez , pero también me gustaría agregar una cuarta codificación para la vida (de la batería) .

Aunque el Javadoc puede ser un poco escaso a veces, no tiene fin tener la fuente allí para que la vea.

También es muy útil tener muchas aplicaciones de muestra escritas por Googlers para construir, examinar y luego ver cómo lo hicieron.

jamesh
fuente
1
Te perdiste otra buena herramienta layoutopt.
100rabh
Otra buena falta que uso todo el tiempo es la jerarquía de visor.
Artem Russakovskii
25

Supongo que comenzaré entonces.


Una buena característica oculta creo que son las mejores prácticas de la documentación de Android. Enumera muchos consejos excelentes para diseñar aplicaciones rápidas y receptivas.

Las secciones de mejores prácticas son:

  • Soporta múltiples pantallas (múltiples tamaños y resoluciones)
  • Pautas de IU
    • Diseño de iconos
    • App Widget Design
    • Diseño de actividades y tareas
    • Diseño de menú
  • Diseñando para el rendimiento
  • Diseñando para la capacidad de respuesta
  • Diseñando para la perfección

Otra característica oculta es que estos documentos están disponibles sin conexión como parte del SDK. Al principio, estaba cargando algunas páginas todos los días para mi viaje en tren por la mañana, pero ya no necesitaba hacerlo después de encontrarlas en el directorio del SDK.


Si usa Eclipse, notará que no formatea muy bien los archivos XML y cuando lo hace, es muy inconsistente (a veces divide los atributos por nuevas líneas, a veces no lo hace). Para solucionarlo, puede presionar Ctrl-Shift-F (formateo automático). Las reglas que Ctrl-Shift-F usa están en Ventana-> Preferencias-> XML-> Archivos XML-> Editor.

Artem Russakovskii
fuente
1
El último seguramente será parte de mi flujo de trabajo. Esto me molestó durante la última semana ... ¡Gracias!
Mikle
14

Android es compatible con XML <shape>que se pueden usar como elementos dibujables de tipo SVG. Desafortunadamente no hay documentación para ellos. Esta es la mejor información que pude encontrar:

http://escomic.net/217

Timmmm
fuente
44
También hay idunnolol.com/android/drawables.html con una documentación completa sobre todas las funciones xml para formas. Las formas pueden ser muy importantes para hacer fondos de correo redondos que cambian de color cuando se hace clic o hacen gradientes definidos en xml en lugar de elementos de fondo personalizados.
Janusz
¿Es posible agregar varias formas a un documento xml? por ejemplo, un par de círculos y rectángulos?
skyfoot
13

También con respecto a las mejores prácticas, es posible que desee consultar el estilo de codificación de Android:

http://source.android.com/source/code-style.html

así como el código de eclipse y los formateadores de importación (android-formatting.xml, android.importorder) que se encuentran en el código fuente de la plataforma en desarrollo / ide / eclipse

dljava
fuente
2
Hay demasiados aros para saltar y obtener el código solo para el formateador Eclipse, así que búscalo
búscalo idbrii
7

Jerarquía en / herramientas le permite depurar / analizar el diseño de su vista: relleno, posicionamiento, ver jerarquía, etc.

Me ahorró mucho tiempo un par de veces al tratar de descubrir por qué las cosas se presentan como están.

Ivo van der Wijk
fuente