CÓDIGO CÓDIGO CÓDIGO … APRENDER APRENDER APRENDER …
planea tu auto para aplicaciones innovadoras
Manténgase actualizado en Github (versión libs de código abierto)
Siga Desarrollando Aplicaciones Android • r / androiddev
- Cada vez que trato de superarme, hay un momento en que todo se descompone y termino donde empecé. ¿Cómo puedo superar esto?
- Cómo mejorar mis habilidades de escritura en historias cortas
- ¿Cómo meditar de forma regular? Excepto por 2 o 3 veces, no he hecho meditación en ningún momento antes … los exóticos vienen y los maestros dicen que nos ayuda a mantener la calma y mejora la concentración y la memoria. He encontrado algunos videos de you tube-zen meditation … ¿usalos, usalos a ellos? Son útiles
- Soy realmente ambicioso, sé que tengo mucho que hacer, me encanta servir y ayudar a las personas de todas las maneras posibles, pero no puedo reunir la motivación suficiente para trabajar tanto como quiero. ¿Qué puede hacerme más comprometido con mi futuro?
- ¿Cómo debo motivarme cuando alguien dice: ‘No eres capaz de hacer trabajo’?
Manténgase siempre actualizado para las últimas fuentes abiertas.
Y finalmente ponte a prueba (CODE).
Para convertirse en un gran desarrollador de Android, debe tener en cuenta algunas buenas prácticas. Aquí hay una lista de los
1. Utilice las 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 utilizar una gran cantidad de componentes de diseño de material, animaciones y otras cosas en los dispositivos de Lollipop Pre. Esto es muy importante si desea mantener su aplicación actualizada y mantener la compatibilidad con versiones anteriores.
2. Usa estilos y dimensiones para construir tus diseños.
Es realmente útil definir estilos para todos los componentes de tu vista. A veces es difícil estar 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. Divide un styles.xml grande en otros archivos.
Esto está relacionado con el consejo anterior. Cuando tienes muchos estilos definidos, tu archivo de estilos se vuelve realmente enorme y difícil de leer. Por ejemplo, si desea tener incluso una mejor arquitectura, es una buena idea dividir este archivo por categorías, por ejemplo.
4. No debería haber nada más en su colors.xml que solo una asignación de un nombre de color a un valor RGBA. Tratar dimens.xml también como colors.xml.
Esto significa que, por ejemplo, los colores rojos deben llamarse “red1”, “red2”, “red3” 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 Managers o Utils, 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 Utils.
6. Coloque los iconos del iniciador de aplicaciones en las carpetas de mipmap y el resto de los recursos en las carpetas dibujables. Además, ahora es posible usar vectores para activos … ¡debes hacerlo!
Ahora Android tiene esta nueva carpeta llamada mipmap, y aquí solo debes colocar los íconos de inicio. Esto se debe a que se utilizan en diferentes resoluciones de la densidad actual 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 de Herramientas, aquí hay algunos atributos útiles que pueden hacer su vida más fácil
Por ejemplo, hay atributos muy útiles para el tiempo de diseño que le permite 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 y también la documentación de atributos de herramientas 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 finalice 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 muestra la ventana emergente, seleccione la opción “Optimizar importaciones” y luego haga clic en “Ejecutar”.
9. Guarde las claves de lanzamiento en el archivo build.gradle.
No olvide guardar el archivo apk de su 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 la siguiente manera:
firmaConfigs {
lanzamiento {
archivo storeFile (“myapp.keystore”)
storePassword “password123”
keyAlias ”thekey”
palabra clave “contraseña789”
}
}
10. Prefiere la resolución de dependencias 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:
compilar ‘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 defina para sus operaciones dentro de los métodos del ciclo de vida.
Los métodos que reemplaza 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 basa en que el trabajo se ha hecho. Y en los métodos que anules que son parte de la destrucción de componentes, como onPause (), onStop (), onDestroy (), etc., debes hacer tu trabajo primero y encadenar a la superclase como lo último. De esa manera, en caso de que Android limpie algo de lo que depende su trabajo, primero habrá hecho su trabajo.
12. Incluya pruebas de unidad en su aplicación y use la inyección de dependencia para realizar pruebas más 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 realizar pruebas.
Bono de seguimiento: permanezca atento a las últimas actualizaciones en el mundo de Android en http: //android-developers.blogsp…
Aquí hay algunos consejos para optimizar su trabajo como desarrollador de Android.
1. Mejorar el rendimiento de Android Studio.
Muchas veces, si trabajamos con varios proyectos y máquinas virtuales, nuestras computadoras comienzan a ser lentas.
De manera predeterminada, cuando instala Android Studio, se le asigna una memoria máxima para nuestra Máquina Virtual, que puede aumentarse 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 de Xmx que representa la memoria máxima permitida a la JVM.
Mi configuración de VM
No te olvides de 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 tiene varios entornos, como la preparación y la producción, y para cambiar entre ellos tenemos que cambiar la URL a la construcción deseada.
Una forma de automatizar este proceso es utilizando buildConfigField del Gradle de nuestro módulo.
Por ejemplo:
Desde java:
3. Información de firma.
A menudo, para utilizar 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 de firma de informes desde Android Studio.
Luego, Android Studio mostrará la información de 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 colisión
Antes de hacer pública una aplicación, recomiendo integrar informes de fallas, como Firebase Crash Reporting, que serán muy útiles para monitorear cómo se ejecuta la aplicación y pueden ayudarnos a resolver problemas rápidamente.
Crash informa la consola de Firebase
Para evitar el informe de fallos cuando estamos desarrollando, debe activarlo solo para las versiones de lanzamiento.
Desde Gradle 2.2 y versiones posteriores, puede agregar tipos de compilación específicos de acuerdo de dependencias.
Por ejemplo, podemos habilitar informes de errores solo para compilaciones de lanzamiento:
6. Prueba de ciclo de vida completo
Para evitar problemas en el futuro, debe asegurarse de probar todas las funciones 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 forma fácil de forzar la ejecución del método onSaveInstanceState es activar 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 encontrarByViewId
En este punto, no creo que haya desarrolladores que utilicen la expresión findByViewId para enlazar vistas, la mayoría debe haber reemplazado esa tediosa manera con Butterknife, una biblioteca que nos permite enlazar vistas y eventos a través de anotaciones.
Un poco de Butterknife
Otra alternativa es utilizar el enlace de datos, que nos proporciona una conexión bidireccional entre una vista y una variable, de modo que cuando se cambia una de las dos, la otra también lo hace (mediante un patrón observable).
Dependiendo de cuánto use esta alternativa, puede hacer que tenga sus diseños más acoplados a las actividades / fragmentos, lo que no es bueno.
Un poco de DataBinding
8. Estilos globales para guardar código
El uso apropiado de los estilos 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 nuestras intenciones 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 con Parcelable porque explícitamente debe hacerse cargo de la serialización de las 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 captadores y configuradores?
10. Código desacoplado = Código mantenible
Use Dagger2 para inyección de dependencia e 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 un post que escribí hace un tiempo donde explico los principios de SOLID .
Otro patrón que utilizamos para abstraer la fuente de datos de nuestras actividades / fragmentos es el Repositorio de patrones .
Para tener un código más desacoplado, recomiendo usar MVP en lugar del “MVC” predeterminado.
Te recomiendo leer sobre Arquitectura Limpia.
fuente: medio