¿Cuáles son algunas buenas prácticas en el desarrollo de aplicaciones de Android?

Desarrollar aplicaciones de Android no es fácil. Hay una variedad de herramientas que ayudan mucho, como Eclipse y Android Studio , pero la mayoría de su código aún debe escribirse manualmente. Crear una aplicación es una cosa, pero optimizarla es una historia totalmente diferente. Veamos algunas de las mejores prácticas que se deben seguir para facilitar el proceso de desarrollo y depuración , y ahora es un momento tan bueno como siempre para conocerlas un poco mejor.

Si su viaje con la programación de Android acaba de comenzar, este blog definitivamente debería ir a su lista de tareas pendientes.

Convenio de denominación

Para crear una convención para la codificación. Siga la convención estándar como

  • Nomenclatura de clase.
  • Nombramiento de archivos.
  • Nombramiento variable.
  • Código de comentarios.
  • Código de intención.

Trabajos en segundo plano

AsyncTask y los servicios se utilizan para realizar tareas en segundo plano. AsyncTask permite ejecutar instrucciones en segundo plano y sincronizar nuevamente con el hilo principal. .AsyncTask debe usarse solo para tareas de ejecución corta.

Seguridad y privacidad de las aplicaciones

  • Use almacenamiento interno en lugar de externo para almacenar archivos de aplicaciones
  • Use proveedores de contenido siempre que sea posible
  • Necesita usar los permisos apropiados para acceder a las diferentes funcionalidades del dispositivo

No cree objetos innecesarios

El recolector de basura con agrupaciones de asignación previas al subproceso para objetos temporales puede hacer que la asignación sea más económica, pero asignar memoria siempre es más costoso que no asignar memoria. Evite crear objetos temporales a corto plazo tanto como sea posible. Pocos objetos más creados significan una recolección de basura menos frecuente, lo que tiene un impacto directo en la experiencia del usuario.

Si eres nuevo en Android , comienza aquí

Intenta usar objetos estáticos

Si no necesita acceder a los campos de un objeto, haga que su método sea estático. Las invocaciones serán entre un 15% y un 20% más rápidas. Esta también es una buena práctica, ya que puede distinguir por la firma del método que llamar al método no puede cambiar el estado del objeto.

No usar punto flotante

En general, el punto flotante es aproximadamente 2 veces más lento que el entero en dispositivos con Android.

Cuidado con el uso de bibliotecas

Asegúrese de que las bibliotecas externas que usa en la aplicación solo requieren los permisos necesarios y no causan degradación del rendimiento.

Utilice los tipos de entrada adecuados para EditTexts

Es importante que especifique el tipo de entrada para cada campo de texto en su aplicación para que el sistema muestre el método de entrada suave apropiado.

Ejemplo para el cuadro de texto del teléfono.

<Editar texto

android: id = ”@ + id / phone”

android: layout_width = ”fill_parent”

android: layout_height = “wrap_content”

android: sugerencia = ”@ string / phone_hint”

android: inputType = “teléfono” />

Aprenda el ciclo de vida de la actividad.

Debe tener una comprensión clara del ciclo de vida de la actividad cuando se llama a cada función.

Puedes leer más sobre esto aquí.

Conclusión

El desarrollo móvil sigue siendo una nueva frontera para los desarrolladores y muchos clientes buscan un desarrollador de Android para convertir su idea en un producto tangible. Ya sea que recién esté comenzando o sea un profesional experimentado, debe considerar estas y otras mejores prácticas. Y, sobre todo, tenga en cuenta los mejores intereses de sus usuarios al diseñar su código e interfaz. Esto conducirá a un producto más eficiente y a clientes más felices a medida que continúe desarrollando aplicaciones en el futuro.

1. Apariencia limpia: la gente siempre compite por una apariencia y estética limpia en su aplicación. Di no al diseño de interfaz de usuario superpoblado.
En lugar de abrumar al usuario con mucha información a la vez, preséntela en trozos según lo necesite. Evite la información irrelevante aquí y allá en la pantalla, por lo que es difícil de entender. Producir textos necesarios como ashints o diálogos de alerta o una información sobre herramientas cuando sea necesario, como tocar un campo o área de pantalla en particular o una vista, podría ser de gran ayuda.

2. Capacidad de respuesta: esta es un área donde cada desarrollador de Android debe disparar. Esto se vuelve más importante porque:
a) Los códigos de Android se escriben usando el lenguaje de programación Java que funciona en concepto puro de OOP (Programación Orientada a Objetos). Si bien Java es el lenguaje más amado por los programadores por su simplicidad y robustez (escribir una vez, ejecutar en cualquier lugar), puede volverse bastante lento a veces cuando un solo microsegundo de ese pequeño comando (procesador) es precioso.
b) La mayoría de las veces el desarrollo de Android tiene que depender de bibliotecas de Java de terceros y / o API externas para las funciones más comunes como integración de redes sociales, análisis de aplicaciones, carga de videos y muchas más.
Las tácticas de codificación deficientes y la preferencia incorrecta en la selección de la interfaz de usuario pueden conducir a un rendimiento precario, incluso haciendo sufrir otras aplicaciones en ejecución.
Los buenos programadores siempre optimizan sus códigos reduciendo las complejidades del bucle, reemplazando las bibliotecas más recientes por antiguas o escribiendo los códigos nativos usando lenguaje C y compilaciones NDK que involucran operaciones intensivas de CPU (por ejemplo, juegos interactivos) si es necesario.

3. Memoria: una buena pieza de código es aquella que no solo busca aprovechar la velocidad del reloj del procesador y la cantidad de núcleos, sino que también consume la cantidad de RAM menos necesaria para guardar suficiente memoria para otros procesos en ejecución para que el teléfono no colgar o terminar en un punto muerto.
Una buena guía del programador dice:

  • Use las variables globales menos requeridas,
  • Usa objetos y variables locales,
  • Asigne variables a nulo cuando ya no sean necesarias y
  • Optimice el diseño de la interfaz de usuario para que consista en una jerarquía de vista simple sin ningún anidamiento profundo, por ejemplo, reemplace LinearLayout con RelativeLayout si el anidamiento está más de 4 en la jerarquía.

4. Power Crunch: una de las principales preocupaciones al escribir programas de Android es optimizar el uso de la batería. Los dispositivos móviles de mano tienen una capacidad de energía limitada y muchas aplicaciones y procesos en segundo plano para aprovechar su batería.
Escribir un buen código no solo incluye el menor costo de memoria y procesador, sino también el menor consumo de energía. Las mejores prácticas incluyen tener en cuenta los puntos descritos anteriormente en esta publicación para reducir el costo del procesador y los usos de la memoria; además, cuide bien cualquier código que se ejecute en segundo plano a través de Thread o AsyncTask o un Servicio de Android.
Recuerde detener el servicio o Thread cuando ya no sea necesario que se ejecuten en segundo plano y notifique al usuario a través de la notificación de la barra de estado si es necesario. Por ejemplo, llamar a startService () de un servicio en segundo plano en onResume () y llamar a stopService () en onPause () y onStop () dentro del Activity Life Cycle es una buena práctica.

5. Autoexplicativo: piense en una aplicación en la que se debe escribir un número de entrada particular, pero el teclado se abre como alfanumérico o un botón que explota (toma acción) solo cuando se presiona dos o tres veces.
Evite tales pantallas de interfaz de usuario introspectivas. O, si es necesario utilizarlo de todos modos, debe haber una sección Cómo usar en la aplicación que explique todos y cada uno de los aspectos de la aplicación.

6. Intuitivo: lo más importante es la táctica de diseño de interfaz de usuario entre todos. Tiene mucho que ver con el rendimiento y la base de usuarios de su aplicación.
Sea breve, simple y conciso, ponga las cosas más importantes primero al completar mensajes y advertencias.
Optimice los diseños para todos los tamaños y densidades de pantalla, aproveche Eclipse IDE para ver si su diseño se optimiza en todos los tamaños de pantalla o no utiliza la opción Vista previa de todas las pantallas en la pestaña Diseño gráfico.
Utilice la iconografía y la calidad de imagen correctas, Android Asset Studio es una herramienta en línea exquisita para crear un conjunto básico de iconos y generar nueve parches de una imagen.

7. Dispositivo amigable: los programadores deben asegurarse de que la aplicación no solo se ejecute bien en el sistema operativo del dispositivo de destino, sino que también sea compatible con versiones anteriores, a menos que exista un deslucido hardware.
Si la aplicación se está desarrollando para Android 2.2 + Froyo), eso significa que debe funcionar bien en Android 4.0+ Ice Cream Sandwitch).
Debe manejarse con cuidado, ya que a veces el mismo código que funciona bien en teléfonos más antiguos no compite con los teléfonos más recientes debido a la obsolescencia o al hardware actualizado.

Fuente: 7 mejores prácticas para el desarrollo de aplicaciones de Android – TechAhead Software

En términos de recursos, considere los realizados por el equipo de Google / Android. Dos de los enlaces más útiles en mi experiencia con Android:

http: //android-developers.blogsp
http://developer.android.com/dev
Aparte de eso, aprende de las personas que han tenido las mismas dificultades que tú. Google (búsqueda) es tu mejor amigo.

Sin embargo, para comenzar realmente el desarrollo, consulte los tutoriales de Android ( http://developer.android.com/tra …) para familiarizarse con los conceptos básicos, comience por hacer algo que pueda hacer fácilmente en una plataforma con la que esté familiarizado. y hazlo en Android. Comencé tomando la muestra de Android para un juego de Snake ( http://developer.android.com/too …) y cambiándola poco a poco hasta que obtuve mi propio juego de Tetris.
Después de eso, sumérgete profundamente: hay muchas cosas que probablemente ni siquiera usarás, e incluso más cosas que Android está manejando para ti, pero que no te darás cuenta hasta meses de desarrollo. Pero esa es la mejor parte de Android: la mayoría de las cosas de las que puede tomar el control (si lo sabe), lo que le brinda toneladas de opciones una vez que tenga más experiencia. Prueba y error, aprende sobre la marcha. Trabajando en Sonar ( http://www.sonar.me/ ), tuvimos que cargar mapas de bits para las imágenes de los usuarios que, como saben o aprenderán, es muy propenso a las pérdidas de memoria. No fue hasta que comencé a depurar los bloqueos de memoria insuficiente que supe exactamente qué es un contexto de Android y con qué facilidad se puede filtrar un contexto de actividad. Mis experiencias con Sonar también me hicieron darme cuenta de la diferencia entre ejecutar algo en segundo plano y ejecutar algo en el hilo principal de la interfaz de usuario, que es enorme en las aplicaciones móviles, porque a ningún usuario le gusta cuando su teléfono se congela (personalmente comienzo a machacar la parte posterior botón o botón de inicio ^^). Pero todo esto solo viene con experiencia e investigación; lo mejor que puede hacer por usted mismo es comenzar y probar cosas nuevas a medida que avanza.

Siempre verifique si alguien no ha inventado la rueda antes. Hay una serie de excelentes bibliotecas Java de código abierto que pueden simplificar su aplicación, y también un número creciente de herramientas específicas de Android para simplificar el desarrollo de Android.

Una lista de actualización diaria de las herramientas de desarrollador más populares utilizadas en las aplicaciones de Android está disponible aquí: http://www.appbrain.com/stats/li

Si está utilizando Android Studio para su desarrollo móvil, una de las buenas prácticas es usar la función “Reiniciar cachés y reiniciar” de vez en cuando.

Android Studio crea muchos archivos como cachés y no los elimina. Incluso abrir y cerrar un proyecto no da como resultado la eliminación de ningún archivo. Desafortunadamente, esto causa problemas cuando existe la necesidad de crear nuevos archivos, por lo que al borrar los cachés se borrarán los viejos y hará que su proceso de desarrollo sea más rápido.

Este enlace lo llevará a un artículo que explica cómo hacerlo con algunas capturas de pantalla. Para más detalles, también puede hacer clic aquí.

La reputación de Android ha creado una enorme demanda de aplicaciones móviles. Es responsabilidad de los desarrolladores de Android asegurarse de que los usuarios no tengan una mala experiencia al utilizar sus aplicaciones móviles. Aquí hay algunos consejos y prácticas de desarrollo de Android que asegurarán que los usuarios obtengan la experiencia óptima de las aplicaciones.

1. Aprende XML y JAVA

XML (lenguaje de marcado extensible) es la base de la interfaz de usuario (UI) y los elementos de Android. Java es el lenguaje de codificación back-end de la plataforma Android, y se utiliza con la funcionalidad de enlace con sus diseños XML.

2. Cambie a Android Studio

Android Studio es ahora el IDE oficial para Android. Si todavía está en Eclipse y esa no es razón suficiente para cambiar. Android Studio utiliza el sistema de compilación Gradle. Tiene características como soporte para repositorios Maven, múltiples tipos de compilación, numerosos tipos de aplicaciones, configuraciones personalizadas de firma de apk. Contiene un creador de 9 parches incorporado. Puede ver vistas previas de dibujos, cadenas, colores y otros recursos. Casi todos los atajos de navegación y teclado de IntelliJ IDEA.

3. Comprender las limitaciones de memoria

En la programación móvil, debe aprender a codificar teniendo en cuenta las limitaciones de memoria más pequeñas. Si usa descuidadamente la memoria en un dispositivo Android, corre el riesgo de que su aplicación falle debido a errores de “falta de memoria”.

4. Use el teclado predeterminado basado en la entrada requerida

Si el usuario hace clic en un cuadro de texto de entrada en una aplicación, el teclado que aparece debería mostrar automáticamente los caracteres necesarios para enviar el tipo correcto de entrada. Por ejemplo, si el usuario ingresa un número de teléfono móvil, un teclado numérico debe ser el teclado predeterminado. Si la aplicación solicita un correo electrónico, un teclado con caracteres, símbolos @ y una tecla .com.

5. Use una biblioteca HTTP como Volley, Retrofit

Al desarrollar una aplicación grande, nuestro código de red puede aumentar debido al código repetitivo. Esto no solo dificulta el mantenimiento, sino que también dificulta la depuración.

6. Considere la seguridad del usuario

Se espera que más personas utilicen dispositivos móviles para acceder a Internet que las computadoras de escritorio. Esto hace que las aplicaciones móviles sean un objetivo más grande para los hackers. Cuando desarrolle sus aplicaciones móviles, siempre tenga en cuenta la seguridad del usuario. La seguridad debe ser una prioridad y a menudo necesita investigación para crear una aplicación que siga las mejores prácticas para evitar defectos comunes.

7. No use el emulador para pruebas del mundo real

El emulador en Android Studio es ideal para el desarrollo e incluso para la depuración, pero no simula completamente un dispositivo Android que funcione. Puede asumir funciones básicas del entorno con el emulador, pero cuando se trata de pruebas, siempre debe usar dispositivos reales.

Con la activación rápida en cada momento y la instalación de miles de millones de aplicaciones hasta la fecha, el ascenso meteórico de Android en la fase del sistema operativo móvil no se puede disputar en un futuro próximo. Diseñar un Android no solo para una clase, sino para los usuarios finales, por lo tanto, debe ser el aspecto más importante de un desarrollador de Android cualquier día.
Aquí hay algunas prácticas aceptadas al diseñar la interfaz de usuario de una apop de Android:

  1. Intenta que la interacción de la aplicación sea lo más fluida posible. A medida que los usuarios hacen un movimiento de un punto a otro, tienen en cuenta la esencia del tiempo. Deben adoptarse procedimientos de registro largos y las entradas de texto deben minimizarse al máximo para garantizar un flujo fluido.
  2. Las cargas de información no son más que un llamado al desastre. Ya sea una noticia de última hora o una información sensible, debe venir en un formato útil. Proporcione una opción para que el usuario pueda desactivar todas las notificaciones con un solo clic.
  3. La falta de eficiencia y la navegación intuitiva pronto harán que sus usuarios pierdan el favor con la aplicación. Para evitar esto, planifique una jerarquía de pantalla que pueda ser efectiva para una buena experiencia de usuario.
  4. Mantenga un diseño visual sutil pero dinámico. Un diseño inteligente de UX / UI debe admitir múltiples pantallas y dispositivos. Piense bien en el contraste de color para el texto y varios elementos en su aplicación.

Compartido con respecto a clickfordevelopers.com

Las aplicaciones móviles requieren una gran planificación antes de que se escriban las primeras líneas de código. Algunas de las cosas que debería tener en cuenta antes del desarrollo:

  • Lógica empresarial, historias de usuarios, etc.
  • Mapa del sitio
  • Flujos de trabajo
  • Wireframes
  • Arquitectura del sistema
  • Maquetas
  • Requisitos escritos (SRS, PRD, como quiera llamarlo)

Tener la mayoría, si no todo lo anterior, facilitará el proceso de desarrollo y, en última instancia, dará como resultado un producto de mayor calidad. ¿Planea integrarse con algún servicio de back-end? Si es así, también debe tener toda esa arquitectura descubierta durante el proceso de planificación.

En cuanto al desarrollo: ¿busca codificarse, contratar a un desarrollador interno o trabajar con una empresa de desarrollo móvil?

  • Planifique qué componentes serán administrados por Android (por ejemplo, Service s, BroadcastReceiver s) y se ejecutarán en el hilo principal , en comparación con aquellos que usan sus propios hilos personalizados.
  • Ejecute tareas utilizando Executors lugar de free-for-all, creando nuevos Thread cuando lo deseen.

Trabajo en progreso.

Para garantizar que su aplicación funcione bien en una amplia variedad de dispositivos, asegúrese de que su código sea eficiente en todos los niveles y optimice agresivamente su rendimiento. A continuación se detallan las prácticas que se deben considerar para el desarrollo de aplicaciones de Android:
1. Evite crear objetos innecesarios
2. Prefiere Estático sobre Virtual
3. Use Static Final para constantes
4. Evitar captadores / colocadores internos
5. Uso mejorado para la sintaxis de bucle
6. Considere el paquete en lugar del acceso privado con clases internas privadas
7. Evite el uso de punto flotante
8. Use los métodos nativos con cuidado

Gerente
http://www.valuecoders.com

Prueba este

Consulte también MOTODEV Enterprise http://developer.motorola.com/en

Recursos para desarrolladores Intel Android Enterprise http://software.intel.com/en-us/

Consulte este enlace para obtener algunos consejos excelentes ¿Qué consejos le daría a alguien que recién está comenzando a desarrollar aplicaciones?

En primer lugar, si desea seguir con el desarrollo de Android, debe conocer JAVA, que puede aprender aquí http://mobile.tutsplus.com/tutor … después de esto, el mejor tutorial que conozco para comenzar es este http: / /mobile.tutsplus.com/serie

Este artículo podría ayudarlo con algunas buenas prácticas para escribir un código limpio en Android . Echale un vistazo.

Lo primero que debe hacer es diseñar maquetas de lo que desea hacer.