Here's an exploration of where else Android programmers can advance their practice, in three main directions.
I. Drill vertically into the latest technology launched by Papa Google
Google is the father of Android, as long as Google does not fall, Android development will not fall. This year's Google Developers Conference was held in Beijing, which shows that the father really loves us very much.
Dad launched a new Android preview, beta and stable version every time, all kinds of new features like squeezing toothpaste can never be squeezed, let's suck slowly can never be sucked.
Every once in a while, Dad releases a new Alpha, Beta, Canary, and then Release versions of Android Studio, and these ABCs plus the R versions are so smooth and easy to chew on.
Dad introduced the Kotlin language, who let the father who adopted the Java language back then ate a lawsuit? Since dad had a lawsuit against Java, let's swallow Kotlin whole.
Dad launched the Flutter cross-platform framework, even though Dad laid off the FuchsiaOS team, laid off the Python team, and even the Go team's technical leader kicked off, but still retained the Flutter and Dart team, so let's put down our worries, and continue to brainlessly charge towards Flutter.
Dad launched the Jetpack and Compose suite, Jetpack and Compose over the years continue to push the new, visible dad fear that we are hungry nothing to eat, so we eat year after year to eat month after month to eat.
The difficulty coefficient of learning in this direction is ★★★★★, and the index of job preservation is ★★★★.. Reason: Dad's app development skills are publicly available and easy to learn with a low threshold.
Well, learning Jetpack suite with the latest Android development recommend this book "Android Studio Development in Action: from Zero to App Live (3rd Edition)", which is based on Android 12 and Android Studio Dolphin, introduces the Jetpack suite including DataStore, Room, RecyclerView, ViewPager2, WorkManager, Glide, CameraX, ExoPlayer and so on, including the Jetpack suite.
Second, horizontal expansion of Android development of new features and new applications
In addition to the component libraries put out by Papa Google, there are other third-party libraries in specialized areas that enable distinctive new features.
For example, the primary Android will only call HTTP POST interface, but the Internet of Things more need Socket communication and Bluetooth communication, then SocketIO, WebSocket, Bluetooth LE is a must master. Specifically, see "Android Studio Development Practice: From Zero Basics to App Online (3rd Edition)" book "13.4 Instant Messaging" and "17.3 Low Power Bluetooth".
Another example is that the primary Android will only use Canvas and Paint to draw, but AI visualization needs more 3D mapping and dynamic tracking, then OpenGL, OpenGL ES, OpenCV is a must master. Specifically, see "Android App Development Advanced and Project Combat" book "5.1 OpenGL", "5.2 OpenGL ES" and "12.2 Computer Vision-based Face Recognition".
And then the primary Android will only play video through VideoView and ExoPlayer, but audio and video more need to real-time interaction and dynamic editing, then WebRTC, FFmpeg, RTMP/SRT (live protocol) is a must master. One of the WebRTC app development, see "Android Studio Development Practice: From Zero Basics to the App online (3rd Edition)" book "20.2 to the App integrated WebRTC", FFmpeg app development, see "FFmpeg Development Practice: From Zero Basics to the short FFmpeg app development, see "FFmpeg Development in Action: From Zero Basics to Short Video Online" book "Chapter 12 FFmpeg Mobile Development", mobile app live technology, see the previous article "RTMP protocol to build the computer and cell phone live Demo" and "SRT protocol to build the cell phone app live Demo".
The learning difficulty factor for this direction is ★★★★ and the job preservation index is ★★★★.Rationale: The above skills involve specialized domain knowledge in computer science with a certain technical threshold.
Well, learning audio and video and FFmpeg programming techniques recommend this book "FFmpeg development in practice: from zero to short video on line", the book details how to build FFmpeg development environment in Windows and Linux systems, respectively, Chapter 12 also describes how to develop cell phone App through Android Studio + FFmpeg.
Third, to open the idea of moving towards a new world of Android + N
In addition to the common app application development, the combination of Android with other industries can generate more jobs.
For example, Android + automotive industry gives rise to car development, that is to learn the in-vehicle system Automotive OS, as well as the exterior system EVS, the entertainment system IVI and so on. Among them, Automotive OS is developed by Google's dad based on AOSP, which has been iterated to Automotive OS 14.
Another example is Android + game industry gives rise to handheld game development, that to learn Unity3D, Cocos2d-x, Unreal4, CryEngine3 and other game engines. Which Unity3D is a foreign research and development of the long history of the game engine, and Cocos2d-x is a domestic up-and-coming game engine.
Again, such as Android + security industry has produced a network security development, that is to learn the reverse tool Frida, the system framework tool LSPosed, global injection management tool RxPosed, off the extraction shell tool dumpDex, customized APK module loader HideApk, as well as reverse observation techniques jvmti, Native layer observation techniques gdbinjec and so on.
The learning difficulty factor for this direction is ★★★★★ and the job retention index is ★★★★.Rationale: The above are specialized skills in niche industries and unique industry experience holds a high bar.
Well, learning Android native App security and reverse technology recommend this book "Frida Android SO reverse in-depth practice", the book details how to use Frida to reveal the reverse of the native App, analysis and cracking of the mystery, but also explores the ARM/ELF file format and decompile tool IDA.
For more details on FFmpeg development see