CÓDIGO CÓDIGO CÓDIGO .. APRENDER APRENDER APRENDER ..
planifícate para aplicaciones innovadoras
Manténgase actualizado en Github (libere libs de código abierto)
- ¿En qué tema de Android debo hacer mi proyecto de último año?
- Cómo desarrollar un gran diseño UX para una aplicación de Android que desarrollé
- ¿Qué es ArrayAdapter en Android?
- ¿Los desarrolladores consideran que Android es un desastre, especialmente en comparación con iOS?
- Sin aprender Java correctamente, comencé a desarrollar una aplicación para Android, pero ahora no puedo entender muchas cosas de Java. ¿Qué tengo que hacer?
Siga el desarrollo de aplicaciones de Android • r / androiddev
Siempre manténgase actualizado para las últimas fuentes abiertas.
Y finalmente prueba tu auto (CÓDIGO).
Para convertirse en un gran desarrollador de Android, debe tener en cuenta algunas buenas prácticas. Aquí hay una lista de los siguientes:
1. Utilice nuevas bibliotecas de diseño de materiales para mantener la compatibilidad con los dispositivos previos v21.
El año pasado, en 2015, Google anunció el lanzamiento de la Biblioteca de soporte de diseño de Android que también contiene la última versión de la Biblioteca de soporte de Android. Nos permite usar muchos componentes de diseño de materiales, animaciones y otras cosas en dispositivos pre piruletas. Esto es muy importante si desea mantener su aplicación actualizada y mantener la compatibilidad con versiones anteriores.
2. Use estilos y dimensiones para construir sus diseños.
Es realmente útil definir estilos para todos sus componentes de vista. A veces es difícil ser tan organizado, pero si alguna vez trabajó con hojas de estilo CSS en páginas web, comprenderá lo bueno que es esto. Además, evite tener tamaños fijos en sus archivos de diseño, deben definirse como constantes en su dimens.xml.
3. Divida un gran styles.xml en otros archivos.
Esto está relacionado con el consejo anterior. Cuando tiene muchos estilos definidos, su archivo de estilos se vuelve realmente enorme y difícil de leer. Por ejemplo, si desea tener una arquitectura aún mejor, es una buena idea dividir este archivo por categorías, por ejemplo.
4. No debería haber nada más en tu colors.xml que solo una asignación de un nombre de color a un valor RGBA. Trate dimens.xml también como colors.xml.
Esto significa que, por ejemplo, los colores rojos deben denominarse “rojo1”, “rojo2”, “rojo3” y así sucesivamente. No haga referencia a sus nombres con un componente de vista específico. También esto se aplica al archivo dimens.
5. Cada funcionalidad adicional en sus actividades o fragmentos lo incluye en Gerentes o Utilidades, según corresponda.
No sobrecargue sus actividades o fragmentos con muchas funcionalidades. De hecho, las actividades y los fragmentos solo deben presentar datos y administrar sus eventos de visualización, todo el procesamiento de datos debe estar en los archivos Administradores o Utilidades.
6. Coloque los iconos del iniciador de aplicaciones en las carpetas mipmap y el resto de los activos en las carpetas dibujables. Además, ahora es posible usar vectores para activos … ¡debería hacerlo!
Ahora Android tiene esta nueva carpeta llamada mipmap, y aquí solo debes colocar tus íconos de inicio. Esto se debe a que se utilizan a diferentes resoluciones de la densidad de corriente del dispositivo. También considere usar vectores para activos, aquí está la documentación de Android para eso (recuerde usar la aplicación: srcCompat).
7. No olvide el espacio de nombres Herramientas, aquí hay algunos atributos útiles que pueden facilitarle la vida
Por ejemplo, hay atributos muy útiles para designtime que le permiten colocar datos ficticios en sus entradas para que pueda ver cómo se ven en su diseño antes de ejecutar la aplicación. Le recomendamos que lea los atributos de Designtime Attributes y también la herramienta Tools Attributes donde puede encontrar toda esta información.
8. Optimiza tus importaciones
Es una buena idea que optimice sus importaciones de vez en cuando o cuando termine un proyecto, ya que esto eliminará todas las importaciones no utilizadas que tenga. Para hacerlo, vaya a la pestaña del menú “Código” en Android Studio y luego haga clic en “Reformatear código …”. Una vez que se muestre la ventana emergente, seleccione la opción “Optimizar importaciones” y luego haga clic en “Ejecutar”.
9. Almacene las claves de liberación en el archivo build.gradle.
No olvide guardar su archivo apk de lanzamiento en un lugar seguro y también tomar nota de sus claves de lanzamiento. Puede almacenar esta información en el archivo build.gradle de su proyecto de esta manera:
signatureConfigs {
lanzamiento {
archivo storeFile (“myapp.keystore”)
storePassword “contraseña123”
keyAlias ”thekey”
contraseña clave “contraseña789”
}
}
10. Prefiere la resolución de dependencia de Maven en lugar de importar archivos jar.
Esto le ayuda a tener fácilmente la última versión del código de dependencia, ya que puede especificar si siempre desea usar la última versión con una extensión ‘+’ como esta:
compile ‘com.android.support:design:23.+’
Además, si no lo hace, Gradle le advertirá que hay una versión reciente de esa dependencia disponible con una advertencia.
11. Tenga cuidado con el orden que define para sus operaciones dentro de los métodos del ciclo de vida.
Los métodos que anula que forman parte de la creación de componentes, como onCreate (), onStart (), onResume (), etc., deben encadenarse a la superclase como la primera declaración para garantizar que Android tenga la oportunidad de hacer su trabajo antes de intentar hacer algo que se base en el trabajo realizado. Y en los métodos que anula que son parte de la destrucción de componentes, como onPause (), onStop (), onDestroy (), etc., primero debe hacer su trabajo y encadenar a la superclase como la última cosa. De esa manera, en caso de que Android limpie algo de lo que depende su trabajo, primero habrá hecho su trabajo.
12. Incluya pruebas unitarias en su aplicación y use la inyección de dependencia para hacer más pruebas configurables.
Estos son dos conceptos clave difíciles de incorporar al principio, pero marcan la diferencia en su trabajo. Realice sus primeros pasos con la biblioteca Dagger 2 para DI y este documento de Android para probar.
Pista de bonificación : esté atento a las últimas actualizaciones en el mundo de Android en http: //android-developers.blogsp…
Aquí hay algunos consejos sobre cómo optimizar su trabajo como desarrollador de Android.
1. Mejora el rendimiento de Android Studio
Muchas veces, si estamos trabajando con varios proyectos y máquinas virtuales, nuestras computadoras comienzan a ralentizarse.
De manera predeterminada, cuando instala Android Studio, se le asigna una memoria máxima para nuestra máquina virtual, que se puede aumentar para dar más espacio y aligerar nuestras computadoras.
Para hacer esto, debemos editar el archivo studio.vmoptions al que se puede acceder desde Ayuda> Editar opciones de VM personalizadas .
Aumenta el valor Xmx que representa la memoria máxima permitida para la JVM.
Mi configuración de VM
No olvide reiniciar Android Studio para aplicar los cambios.
2. Campos de configuración de Gradle
Muchas veces tenemos variables que tienen ciertos valores de acuerdo con diferentes entornos de ejecución, por ejemplo, podemos tener una API que tenga varios entornos, como la preparación y la producción, y para cambiar entre ellos tenemos que cambiar la URL a la compilación deseada.
Una forma de automatizar este proceso es usar buildConfigField desde el Gradle de nuestro módulo.
Por ejemplo:
De java:
3. Información de firma
A menudo, para usar una API es necesario registrar nuestra aplicación utilizando el certificado de clave SHA1 de su almacén de claves.
Para obtenerlo fácilmente, simplemente ejecute la tarea SignatureReport desde Android Studio.
Luego, Android Studio enumerará la información para cada variante de compilación.
4. APK ligero
A veces nos olvidamos de eliminar los recursos no utilizados (activos, xmls) y esto provoca un aumento en el tamaño de la apk.
Para evitar eso, use la propiedad shrinkResources en el Gradle de nuestro módulo que elimina los recursos no utilizados.
5. Informes de bloqueo
Antes de hacer pública una aplicación, recomiendo integrar los informes de fallas, como Firebase Crash Reporting, que será muy útil para monitorear cómo se ejecuta la aplicación y puede ayudarnos a resolver problemas rápidamente.
Consola de informes de bloqueo de Firebase
Para evitar el informe de bloqueos cuando estamos desarrollando, debe activarlo solo para las versiones de lanzamiento.
Desde Gradle 2.2+ puede agregar sabores / tipos de compilación específicos del acuerdo de dependencias.
Por ejemplo, podemos habilitar los informes de fallas solo para las versiones de lanzamiento:
6. Prueba de ciclo de vida completo
Para evitar problemas en el futuro, debe asegurarse de probar todas las características de su aplicación en todo el ciclo de vida de nuestras actividades / fragmentos.
A menudo, no sabemos cómo probar el comportamiento de nuestra aplicación después de que se destruye, especialmente cuando solo admite una orientación.
Una manera fácil de forzar la ejecución del método onSaveInstanceState es activando la opción “No mantener actividades” en nuestra configuración de desarrollador del dispositivo.
Para guardar / restaurar datos, recomiendo usar la biblioteca Icepick, nos ahorrará mucho código.
Un poco de Icepick
7. Las mejores alternativas para findByViewId
En este punto, no creo que haya desarrolladores que utilicen la expresión findByViewId para vincular vistas, la mayoría debe haber reemplazado esa forma tediosa con Butterknife, una biblioteca que nos permite vincular vistas y eventos a través de anotaciones.
Un poco de navaja
Otra alternativa es utilizar el enlace de datos, que nos proporciona una conexión bidireccional entre una vista y una variable para que cuando cambie una de las dos, la otra también lo haga (a través de un patrón observable).
Dependiendo de cuánto use esta alternativa, puede hacer que sus diseños estén más acoplados a las actividades / fragmentos, lo que no es bueno.
Un poco de enlace de datos
8. Estilos globales para guardar código
El uso de estilos adecuadamente puede hacer que nuestro código de diseños sea mucho más simple y ordenado.
Una forma de evitar la repetición de atributos es definir en el tema de los valores predeterminados de nuestra aplicación, como:
En tu manifiesto:
Por lo tanto, todas las vistas tendrán por defecto wrap_content como ancho y alto.
9. Serializable vs Parcelable
Para pasar información en nuestros intentos, necesitamos implementar Serializable o Parcelable en nuestras clases.
Muchas veces elegimos Serializable por su simplicidad, pero si el flujo de nuestra aplicación es muy grande, se recomienda usar Parcelable, que es considerablemente más óptimo en relación con el rendimiento de Serializable. Esto se debe a que Serializable funciona utilizando Reflection, lo que significa que los tipos de variables se definen en tiempo de ejecución. Esto consume más procesamiento, lo que no ocurre usando Parcelable porque explícitamente debes ocuparte de la serialización de variables.
Afortunadamente, hay muchos generadores que nos ayudan con la implementación de Serializable en nuestras clases como http://www.parcelabler.com/.
¿No sería genial si Android Studio pudiera generar código parcelable como lo hace con getters y setters?
10. Código desacoplado = Código mantenible
Use Dagger2 para la inyección de dependencia y la Inversión de control para mantener el código lo más desacoplado posible. Si no está familiarizado con el término inyección de dependencia e inversión de control, le recomiendo que lea una publicación que escribí hace un tiempo en la que le explique los principios SÓLIDOS .
Otro patrón que utilizamos para abstraer la fuente de datos de nuestras actividades / fragmentos es el depósito de patrones .
Para tener un código más desacoplado, recomiendo usar MVP en lugar del “MVC” predeterminado.
Te recomiendo que leas sobre Clean Architecture.
fuente: medio