如何入门 Android 开发

234 天前
 magic3584

先不说是不是夕阳行业了,不会 Android 开发我肯定马上失业了。

入行 10 年,经历过 OC 、swift 、RN 、Vue 、flutter ,目前 kotlin&java ( Android )我感觉最难了。什么 binding 、adpapter 、onresult 、依赖注入啥的,往往崩溃于点了一个方法发现跳转到了库里面,流程直接中断了。

已经看了郭霖的《第一行代码》,有了一些了解但不多。网上搜视频都是几年前的。

求大佬推荐下视频和书籍

8038 次点击
所在节点    Android
68 条回复
hjw45611
234 天前
Android 原生开发已经入行 9 年了,要说最新的教学视频那估计没有,毕竟零零散散每年都出新特性新框架
建议看第一行代码,先用 java 写,了解四大组件生命周期之类的,再把基础的组件,数据库,网络请求都搞明白了,再代码转成 kotlin ,也就知道 kotlin 基本怎么写了,后期搜搜 kotlin 的语法糖,还有一些扩展库。最后那些 mvp 、mvvm 都算是优化开发的架构,找找官方 demo 看看就可以了
hohoho
234 天前
楼主应该是不习惯或不适应。多写写代码,熟悉了就好了,毕竟项目需求开发第一,刚开始耐心慢点。至于原理,放到后面再了解、深究呗
Esen
234 天前
用 compose 吧,简单多了,老项目也能 compose 混合开发
location123
234 天前
初学就看官方文档吧 https://developer.android.google.cn/guide/components/fundamentals?hl=zh-cn
推荐一个 B 站 up 主 张大锤_ bigchuii 有基本的 Android Jetpack 基础入门教程
location123
234 天前
时间足够的话学 compose 会好很多
superkeke
234 天前
相比 app ,我经常感慨,web 端真是又简单又爽
FireKey
234 天前
只是开发 app 不需要学,用 ai 就能搞定.已经尝试过用 windsurf 写一个完整的安卓应用,在我对安卓一窍不通的情况下.
xloger
234 天前
你主要的困难不在于“入门 Android”,看着你已经入门了。
你的困难点在于并不是从头写一个 Android 项目(这点我相信你问题不大了),而是接手一个成熟项目,它里面已经有很多进阶的用法了。而每个都是要单独学习的(虽然拆开来并不高)。
建议你先整理一下这个项目的技术栈,然后了解一下它们分别是为了解决什么样的问题。有了思路后才更有方向。

Binding:我默认你说的是 ViewBinding 了。因为 Android 没有采用 DSL 写 UI ,而是 XML 单独实现样式,这个在当年比较流行。那么 Fragment 需要操控 XML 里的东西,以前需要手动 findViewById ,现在用 ViewBinding 就可以简化这个流程。
如果是 DataBinding ,那我觉得那破玩意并不好用,少写一点点代码反而整体更绕了更难查了。

Adapter:写列表,传统方式自然是直接一个循环一把梭,你用 LinearVIew 手动加 ViewView
cenbiq
234 天前
compose ,老的那套别学了,我也是前端兼容会写 Android ,写 compose 贼 6 很像 react hooks ,老的那套 xml 、adapter 什么的写不了一点,而且也快淘汰了
HojiOShi
234 天前
@magic3584 #17 新学的话,如果是开发新项目那还好说,维护原有的项目实在是太复杂了,只能说祝你好运。我目前维护的项目十年前的老东西都还有,还不注重复用,写得这一坨那一坨的。只能先申请两个月的时间用于熟悉项目。
xloger
234 天前
@xloger

Adapter:写列表,传统方式自然是直接一个循环一把梭,你用 LinearView 手动加 ViewView 一样能实现相关效果。而 RecycleView 加 Adapter 实际上是为了性能更好,复用 View ,所以才整出这个弯弯绕绕。适应一下就好。

OnResult:不确定你说的是生命周期还是 RxJava 相关的。前者那还是能肉眼感受到是降低理解负担的,后者碰巧我一直没用过就不说了。

依赖注入:依赖注入用得不好确实会比较困扰,但是它有助于培养你写代码的习惯。它很重要的一点是“职责分离”,你需要先了解整个项目的结构,然后遇到 Bug 了能快速定位出属于某个模块,而不是从崩溃处一路看过来然后感觉怎么这么绕啊。
thingingWoods
234 天前
cursor
xz410236056
234 天前
iOS 转安卓??? iOS 完犊子了也绝不可能是安卓干掉的,你还不如转前端呢

当然转机器学习是最好的
Bootis
234 天前
拉一个开源项目用 cursor 看和改,不会就问 ai ,有 ai 这个无限耐心的老师没有学不会的语言的框架。
Kamiyu0087
234 天前
如果用 Compose 的话,binding 完全不用学,
如果用传统 xml, 那用 viewBinding 就行了,dataBinding 推荐不了一点
Adapter 要学一下
依赖注入不学也没啥问题
southpark
234 天前
@wnpllrzodiac #11 羡慕啊,说的都对
LLLeo
234 天前
你是有编程基础的了,建议是 github 上找个适合的项目学,跟着自己做一个类似的。
不过现在都用 Compose 了,又是另外一套东西了。
monkeylmj
234 天前
现在入门简单多了,可以利用 ChatGPT 结合实际项目,不会的技术点问下 AI ,大概的框架差异都能给你讲通,不像之前还得搜索引擎搜索过滤半天。
tool2dx
234 天前
有 GPT 后,学习门槛变非常低,只要你肯花时间学就行了,
iOCZS
234 天前
为什么不用跨平台的,flutter 或者 RN ?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1105148

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX