¿Cómo avanzar como ingeniero de desarrollo de software Android?
Xiao Ming primero necesitaba comprar un libro de introducción a Android para aprender Android más rápido, Xiao Ming también pasó su tiempo libre leyendo y escribiendo códigos de acuerdo con los ejemplos del libro. Ming lo terminó en 2 semanas. Lee este libro una vez. Después de leer este libro, Xiao Ming tiene una comprensión general de la historia, la estructura, las especificaciones del código, etc. de Android, y Xiao Ming ya puede escribir algunas actividades simples. En este momento, a los ojos de Xiao Ming, el desarrollo de Android es muy simple y divertido. Puede crear algunas interfaces colocando algunos cuadros de texto de botones, etc. en xml.
Xiao Ming comenzó a seguir a su mentor técnico para establecer requisitos y, naturalmente, Xiao Ming no tuvo ningún problema con algunos requisitos pequeños y simples. De repente, un día llegó una solicitud que requería que Xiao Ming agregara un efecto de animación a un botón en la Actividad. Xiao Ming entró en pánico: "Nunca lo he tocado y no se menciona en el libro. ¿Qué debo hacer? " Xiao Ming se calmó y abrió el Después de buscar en Baidu, escribir "animación de Android" y abrir los primeros enlaces, Xiao Ming de repente se dio cuenta de lo que quería y siguió los ejemplos en Internet para darse cuenta de sus necesidades. Más tarde, el instructor le dijo: "Para aprender bien Android, debes leer los documentos oficiales, que son completos y autorizados". Entonces Xiao Ming sintió que había encontrado un tesoro. Pasó un año leyendo la guía y entrenando arriba, y también copió algunos pequeños ejemplos.
Un día, Xiao Ming necesitaba hacer otro requisito relacionado con la animación. Esto no fue un problema para Xiao Ming. Abrió hábilmente www.baidu.com y entró en "Animación de Android". "¡No puedes tener que buscar en Baidu cada vez que escribes animación!", Así que abrió un blog en CSDN y anotó todos los puntos de conocimiento relacionados con la animación, para no tener que buscar en Baidu al escribir código relacionado con la animación. más tarde, ¿cuáles son los hechos? Al escribir código relacionado con la animación más adelante, Xiao Ming ya no necesita buscar en Baidu, porque al escribir un blog de animación, ha memorizado todos los detalles relacionados con la animación, por lo que no necesita consultar ningún documento más adelante. Xiao Ming también aprendió a escribir algunas cosas triviales e inconvenientes en el blog de Evernote. Cuando lo olvida, puede recuperarlas rápidamente en 10 segundos en lugar de pasar 10 minutos buscando nuevamente.
Para resumir aquí, al comenzar con Android, debe tener un libro introductorio, estudiar detenidamente el contenido del libro y pasar un año leyendo la capacitación y la guía en los documentos oficiales de Android, y en Al mismo tiempo, escribe un blog y toma notas para resumir, se recomienda que cada uno de tus blogs sea valioso. Después de un año de estudio, creo que cualquiera puede alcanzar el nivel de ingeniero intermedio.
Requisitos técnicos:
-Puntos de conocimiento básico
Por ejemplo, cómo utilizar los cuatro componentes principales, cómo crear un servicio, cómo diseñarlo, personalización simple. Vista, animación y otras tecnologías comunes
-Recomendaciones de libros
"La primera línea de código de Android", "Crazy Android"
Ingeniero intermedio
Xiao Ming aprobó Después de un año de arduo estudio, finalmente me convertí en un ingeniero intermedio de Android, con un salario mensual de 17k.
Cuando alcanza el nivel intermedio de ingeniero, ya puede realizar mucho trabajo físico en la empresa, pero Xiao Ming no puede asumir algunas tareas muy importantes por sí solo. En este momento, Xiao Ming necesita aprender mucho, como se muestra a continuación. :
- AIDL: estar familiarizado con AIDL, comprender su principio de funcionamiento y comprender la diferencia entre transact y onTransact
- Binder: tener una comprensión general del principio de funcionamiento de Binder; desde la capa Java y comprender el uso de objetos Parcel
- Multiproceso: dominio del mecanismo operativo de multiproceso, comprensión de Messenger, Socket, etc.
- Distribución de eventos: deslizamiento elástico, conflicto de deslizamiento, etc.
- Jugar con Vista: vea los principios de dibujo y varias vistas personalizadas
- Serie de animación: familiarícese con las diferencias entre ellas; Ver animación y animación de atributos, y comprender el principio de funcionamiento de la animación de atributos.
- Comprender la optimización del rendimiento y estar familiarizado con herramientas como mat
- Comprender algunos patrones de diseño comunes
Métodos de aprendizaje
Leer libros avanzados, leer el código fuente de Android, leer documentos oficiales y probarlo usted mismo. Escribir artículos técnicos relevantes requiere un cierto grado de profundidad técnica y pensamiento propio. En esta etapa del proceso de aprendizaje, hay dos puntos que preocupan a todos: uno es leer el código fuente y el otro es personalizar la Vista y deslizar los conflictos.
¿Cómo leer el código fuente? Esto es un dolor de cabeza, pero hay que leer el código fuente. Al leer el código fuente, no profundice en los detalles del código. Preste atención al flujo del código e intente extraer conclusiones útiles para el desarrollo de la capa de aplicación. Además, lea atentamente los comentarios sobre una clase o método en el código fuente. Cuando no pueda comprender el código fuente, los comentarios en el código fuente pueden ayudarlo a comprender mejor el principio de funcionamiento del código fuente. no hay otra manera.
¿Cómo jugar con la Vista personalizada? Mi sugerencia es no aprender vistas personalizadas aprendiendo vistas personalizadas. ¿Por qué dices eso? Debido a que hay tantos tipos de vistas personalizadas y todo tipo de magníficos efectos personalizados, ¿cómo se aprende a reproducirlos? Necesitamos mirar la esencia a través del fenómeno y prestar más atención a los puntos de conocimiento necesarios para personalizar la vista. Aquí está el siguiente resumen:
-Comprenda el principio de deslizamiento de la vista
<. p>-Obténlo Entiende cómo lograr un deslizamiento elástico- Entiende el conflicto de deslizamiento de la vista
- Entiende la medida, el diseño y el dibujo de la vista
- Luego aprenda algunos ejemplos más de vistas personalizadas
- Finalmente, puede completar la vista personalizada, la llamada nunca cambiar sin desviarse de su propósito original.
Lo hará. Probablemente tomará otros 1-2 años para alcanzar el nivel técnico avanzado. Personalmente, creo que este proceso se puede acortar a entre 0,5 y 1 año mediante "Exploración del arte del desarrollo de Android" y "Héroes de Android". Tenga en cuenta que alcanzar el nivel técnico de un ingeniero senior no significa que pueda convertirse en ingeniero senior de inmediato (sujeto a las oportunidades y a la posibilidad de cambiar de trabajo), pero una vez que se alcanzan las habilidades, convertirse en ingeniero senior es muy simple.
Requisitos técnicos:
- Puntos de conocimiento ligeramente profundos
AIDL, Messenger, Binder, multiproceso, animación, conflicto deslizante, vista personalizada, mensaje cola, etc.
-Recomendaciones de libros
"Exploración del arte del desarrollo de Android", "Biografía de los héroes de Android"
Ingeniero senior
Xiao Ming se convirtió en el codiciado ingeniero senior con un salario mensual de 20.000 y un puñado de acciones. En este momento, el nivel de Android de Xiao Ming ya era bastante bueno, pero el objetivo de Xiao Ming era ser un ingeniero senior. Xiao Ming escuchó que el salario mensual de un ingeniero senior podría alcanzar los 30k.
Para convertirte en un ingeniero senior de Android, necesitas aprender más cosas, y algunas de ellas no son tan específicas, como se muestra a continuación:
-Continúa profundizando tu comprensión de "conocimiento ligeramente profundo" Haga clic en el contenido definido en "
- Comprender el mecanismo central del sistema:
1. Comprender el proceso de inicio de SystemServer
2. Comprender el modelo de bucle de mensajes del hilo principal
3. Comprender los principios de funcionamiento de AMS y PMS
4. ¿tiene una aplicación?"
5. Comprender los cuatro componentes principales El flujo de trabajo aproximado
6. …
- Detalles de los puntos de conocimiento básicos
1. Modo de inicio de actividad y realización de diferentes actividades en circunstancias anormales
p>
2. La relación entre onBind y onReBind
3. (ComponentName className) y binderDied()
4. El rendimiento de AsyncTask en diferentes versiones Detalles
5. Detalles del grupo de subprocesos y configuración de parámetros
6.
- Familiarizado con los patrones de diseño y la conciencia arquitectónica
Método de aprendizaje
En este momento, no existe un método de aprendizaje muy específico. No es más que leer libros. , miro el código fuente y realizo proyectos. Por lo general, resumo de varias maneras e intento integrar el conocimiento para formar un sentimiento sistemático. Al mismo tiempo, esta etapa tiene ciertos requisitos para la arquitectura. La arquitectura es abstracta, pero los patrones de diseño son concretos, por lo que debemos fortalecer el estudio de los patrones de diseño. Con respecto al estudio de patrones de diseño, recientemente recomendé a todos un nuevo libro, "Análisis de patrones de diseño de código fuente de Android y combate práctico". No solo puede aprender patrones de diseño, sino también experimentar las ideas de diseño en el código fuente de Android. leyendo este libro recientemente.
Requisitos técnicos:
- Puntos de conocimiento ligeramente profundos
- Mecanismo central del sistema
- Detalles de los puntos de conocimiento básicos
- Patrones de diseño y arquitectura
- Recomendaciones de libros
"Exploración del arte del desarrollo de Android", "Análisis de patrones de diseño de código fuente de Android y combate práctico", " Análisis del kernel de Android" p>
Ingeniero senior
Es posible que los programadores en esta etapa no tengan una ruta de aprendizaje muy específica.