首页 > 编程语言 >FFmpeg开发笔记(五十五)寒冬里的安卓程序员可进阶修炼的几种姿势

FFmpeg开发笔记(五十五)寒冬里的安卓程序员可进阶修炼的几种姿势

时间:2024-10-12 13:33:38浏览次数:7  
标签:FFmpeg App 爸爸 开发 Android 安卓 进阶

​喊了多年的互联网寒冬,今年的寒风格外凛冽,还在坚守安卓开发的朋友着实不容易。因为能转行的早就转了,能转岗的也早就转了,那么安卓程序员比较迷茫的就是,我该学什么安卓技术才好呢?还是直接扔了安卓再去搞别的技术吗?

下面探讨下安卓程序员还能在哪些方面进阶修炼,主要有以下三个方向。

一、纵向钻研谷歌爸爸推出的最新技术

谷歌就是安卓的爹,只要谷歌不倒,安卓开发就不会倒。今年的谷歌开发者大会都放到北京举办了,可见爸爸真的非常疼咱们爱咱们。
爸爸每段时间就推出新款Android的预览版、测试版和稳定版,各种新特性就像挤牙膏似的总也挤不完,咱们就慢慢吮吸总也吸不完。
爸爸每段时间就推出新款Android Studio的Alpha版、Beta版、Canary版,然后还有Release版,这些ABC加上R版本,如此顺口方便咱们细嚼慢咽。
爸爸推出了Kotlin语言,谁让当年采用Java语言的爸爸吃了官司呢?既然爸爸吃了Java官司,那么咱们赶紧把Kotlin囫囵吞下去。
爸爸推出了Flutter跨平台框架,即使爸爸裁了FuchsiaOS团队,裁了Python团队,连Go团队的技术负责人都一脚踢飞,但仍然保留着Flutter和Dart团队,所以咱们要放下顾虑,继续无脑向Flutter冲呀。
爸爸推出了Jetpack和Compose套件,这些年来Jetpack和Compose不断推陈出新,可见爸爸唯恐咱们饿了没东西啃,所以咱们年年啃月月啃。
该方向的学习难度系数为★★★,保饭碗指数为★★。理由:爸爸的App开发技术都是公开的,而且简单易学门槛低。
嗯,学习Jetpack套件与最新的Android开发推荐这本书《Android Studio开发实战:从零基础到App上线(第3版)》,该书基于Android12和Android Studio Dolphin,介绍了包含DataStore、Room、RecyclerView、ViewPager2、WorkManager、Glide、CameraX、ExoPlayer等等在内的Jetpack套件。

二、横向拓展安卓开发的新功能新应用

除了谷歌爸爸推出的组件库,还有其他专业领域的第三方库,能够实现与众不同的新功能。
比如初级安卓只会调用HTTP的POST接口,但是物联网方面更需要Socket通信与蓝牙通信,那么SocketIO、WebSocket、Bluetooth LE就是必须掌握的。具体参见《Android Studio开发实战:从零基础到App上线(第3版)》一书的“13.4  即时通信”和“17.3  低功耗蓝牙”。
又如初级安卓只会使用画布Canvas和画笔Paint作图,但是AI视觉方面更需要三维制图和动态追踪,那么OpenGL、OpenGL ES、OpenCV就是必须掌握的。具体参见《Android App开发进阶与项目实战》一书的“5.1  OpenGL”、“5.2  OpenGL ES”和“12.2  基于计算机视觉的人脸识别”。
再如初级安卓只会通过VideoView和ExoPlayer播放视频,但是音视频方面更需要实时交互和动态剪辑,那么WebRTC、FFmpeg、RTMP/SRT(直播协议)就是必须掌握的。其中WebRTC的App开发参见《Android Studio开发实战:从零基础到App上线(第3版)》一书的“20.2  给App集成WebRTC”,FFmpeg的App开发参见《FFmpeg开发实战:从零基础到短视频上线》一书的“第12章  FFmpeg的移动开发”,手机App的直播技术参见之前的文章《利用RTMP协议构建电脑与手机的直播Demo》和《利用SRT协议构建手机APP的直播Demo》。
该方向的学习难度系数为★★★★,保饭碗指数为★★★。理由:以上技能涉及计算机科学的专业领域知识,具备一定的技术门槛。
嗯,学习音视频和FFmpeg编程技术推荐这本书《FFmpeg开发实战:从零基础到短视频上线》,该书详细介绍了如何在Windows系统和Linux系统分别搭建FFmpeg的开发环境,第12章还介绍了如何通过Android Studio+FFmpeg开发手机App。

三、打开思路迈向Android+N的新天地

除了常见的App应用开发之外,安卓与其他行业结合还能产生更多的就业岗位。
比如Android+汽车行业就产生了车机开发,那要学习车载系统Automotive OS,以及外景系统EVS、娱乐系统IVI等等。其中Automotive OS是谷歌爸爸基于AOSP开发的,目前已经迭代到了Automotive OS 14。
又如Android+游戏行业就产生了手游开发,那要学习Unity3D、Cocos2d-x、Unreal4、CryEngine3等游戏引擎。其中Unity3D是国外研发的历史悠久游戏引擎,而Cocos2d-x是国产的后起之秀游戏引擎。
再如Android+安全行业就产生了网安开发,那要学习逆向工具Frida、系统框架工具LSPosed、全局注入管理工具RxPosed、脱抽取壳工具dumpDex、自定义APK模块加载器HideApk,以及逆向观测技术jvmti、Native层观测技术gdbinjec等等.
该方向的学习难度系数为★★★★★,保饭碗指数为★★★★。理由:以上属于细分行业的专门技能,独特的行业经验拥有高门槛。
嗯,学习Android原生App的安全和逆向技术推荐这本书《Frida Android SO逆向深入实践》,该书详细介绍了如何使用Frida揭示原生App的逆向、分析和破解之奥秘,还探讨了ARM/ELF的文件格式和反编译工具IDA。

更多详细的FFmpeg开发知识参见《FFmpeg开发实战:从零基础到短视频上线》一书。

标签:FFmpeg,App,爸爸,开发,Android,安卓,进阶
From: https://www.cnblogs.com/aqi00/p/18450136

相关文章

  • Python小白进阶篇之概率论2
    文章目录@[TOC](文章目录前言一、连续性随机变量分布连续型随机变量的特点:概率密度函数密度函数f(x)具有下列性质二、分布函数1.基本概念2.累积分布函数(CDF)3.CDF的性质4.不同类型随机变量的累积分布函数5.常见的分布5.1二项式分布5.2正态分布离散型随机变量函数的分......
  • 【进阶版】如何实现一个基于 HTML+CSS+JS 的任务进度条
    创建一个动态任务进度条:进阶版实现在现代网页开发中,任务进度条是用户交互中非常重要的组件,它能够直观地展示任务的进展情况。本文将向你展示如何使用HTML、CSS和JavaScript创建一个动态的任务进度条。在这个进阶版本中,用户不仅可以通过点击进度条来更新进度,还可以手动......
  • 【进阶OpenCV】 (8)--摄像头操作--->识别文档内容
    文章目录摄像头操作1.打开摄像头2.识别画面预处理3.轮廓检测4.轮廓近似5.透视变换5.1定义order_point(pts)方法:5.2定义four_point_transform(image,pts)方法:5.3代码应用6.关闭图像窗口7.完整代码展示总结摄像头操作本篇我们来介绍,如何打开摄像头来识别文......
  • 【C++】模板进阶
    【C++】模板进阶一.非类型模板参数二.模板的特化函数模板特化函数模板的特化步骤:类模板特化1.全特化2.偏特化(1)部分特化(2)参数更进一步的限制三.模板分离编译1.什么是分离编译2.模板的分离编译3.解决方法四.模板总结一.非类型模板参数模板参数分为:类类......
  • 代码随想录算法训练营 | 完全背包,518. 零钱兑换 II,377. 组合总和 Ⅳ,70. 爬楼梯 (进阶)
    完全背包题目链接:完全背包文档讲解︰代码随想录(programmercarl.com)视频讲解︰完全背包日期:2024-10-11想法:dp数组设置思路跟01背包一样,不同在遍历上,完全背包遍历背包大小是从weight[i]开始的(背包空间小于weight[i]就没有意义,不用考虑,直接用之前的对应数值就行了),从前往后遍历就能......
  • AI 提示词(Prompt)进阶一:Token 是什么?
    一、引言在我们开始探索ChatGPT的世界之前,让我们先来了解一下什么是“token”。这个概念对于理解ChatGPT至关重要。二、什么是Token?想象一下,你正在阅读一本书,但是这本书的每个字都是单独剪切出来的。在ChatGPT的世界里,这些单独的字就像是“token”。简单来说,token......
  • 安卓APK资源混淆加密重签名工具1.8.1更新 - 新增资源防解压功能, 优化大文件处理
    安卓APK资源混淆加密重签名工具,可以加固APK文件,对APK资源文件进行加密混淆处理,主要包含DEX代码混淆加密,字符串加密,Assets文件加密,防止反编译等功能,可以有效保护APK的内部代码和资源,防止APK被解包,逆向分析等.主要特性和功能点 1.支持修改APP基本信息,包括APP......
  • MySQL数据库基础、进阶、运维、读写分离数据库集群看这篇就够了
    MySQL数据库一.MySQL的概述1.1数据库(DB):存放数据的仓库,数据是有组织的进行存储数据库管理系统(DBMS):操纵和管理数据库的大型软件SQL:操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准1.2MySQL数据库关系型数据库(RDBMS)概念:建立在关系模型基础上,由多张相互......
  • 探索 C# 的进阶特性
    随着C#语言的不断演进,越来越多的特性被引入,提升了代码的可读性和性能。这些进阶特性为开发者提供了更多简洁而强大的工具,用来编写高效、优雅的代码。本文将介绍C#中的一些重要进阶特性,包括属性模式匹配、异常过滤器、记录类型、表达式体成员、Span<T> 与 Memory<T>。1.......
  • 《算法竞赛进阶指南》 第六章 287. 积蓄程度
    //502extra.cpp:此文件包含"main"函数。程序执行将在此处开始并结束。///*287.积蓄程度https://www.acwing.com/problem/content/289/有一个树形的水系,由N−1条河道和N个交叉点组成。我们可以把交叉点看作树中的节点,编号为1∼N,河道则看作树中的无向边。每条......