如何入门 Android 开发

71 天前
magic3584  magic3584

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

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

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

求大佬推荐下视频和书籍

6186 次点击
所在节点   Android  Android
68 条回复
learnshare
learnshare
71 天前
liuzimin
liuzimin
71 天前
“往往崩溃于点了一个方法发现跳转到了库里面,流程直接中断了”

你别点库方法就不会呀,你这种是手撕源码的玩法了。
Lockroach
Lockroach
71 天前
学过前端确实感觉安卓明显更难,心智负担更重一些。我学习的时候也是看第一行代码入门,然后自己搞一些开发玩具项目巩固一下。
另外,感觉安卓的文档挺奇怪的,不是很好理解,而且会在讲解概念 A 的时候提到概念 B 和 C 。点进概念可能还会进入未翻译的 reference
duhb
duhb
71 天前
挺逗的,入行 10 年,写过这么多语言。竟然不知道怎么学习一门新技术?
xubingok
xubingok
71 天前
2012 年入门 android,2020 年转前端...没想到还有人跟我走反方向的路哈哈.

视频和书籍好像也没看什么,你说的问题其实就是几个概念而已.

binding 是那个 databinding 吧,在 xml 里面直接塞数据.就是 mvvm 的一种实现形式而已.现在感觉挺像 vue 的模板语法.

adapter 是适配器模式.在 android 里面大量应用.主要用于大量重复元素时的 UI 复用,流畅性吊打 web 的显著特征之一.

onresult 是不是那个 activity 跳转后的数据接收.这只能说就是 android 的一种机制了.类似还有很多 onXXX 之类的.以前好像有句话很好的反应 android 里面的这种回调机制:'Don't Call Me I'll Call You'.activity 都是反射创建的,到了某个生命周期,自然会触发对应的方法通知你.

依赖注入是面向对象的概念.项目解耦的大杀器.这个就不多解释了.

关于调试,你可以找个原生系统的手机,当时我用的是 pixel 系列.把编译 sdk 调整为跟开发机相同的版本,这样 debug 时可以直接跳转到源码里面去,不会出现那种国产机魔改系统导致跳转源码后行数对不上的场面.
qwwuyu
qwwuyu
71 天前
初学难点估计还是熟悉 API,刚开始可以避开依赖注入路由这些不必要的.
找简单的开源项目跑起来,读下流程,照着写,拷贝一些工具和组件到自己项目.
快速入手就找一个基础框架,直接删删改改去写代码.
很多问题 AI 大部分都可以解决,难点还是经验 UI 业务那些...
DIO
DIO
71 天前
一定要用新特性吗,阅读源码也太高端了。安卓这坨东西谷歌自己都整不明白吧,三年一小更五年一大更,没有深度学习的必要和价值,能把功能实现项目跑起来就算成功。

https://www.douban.com/doulist/153038054/
godloveplay
godloveplay
71 天前
我写 java 的,前天有需求要搞 android pda 扫码,上传到服务端然后校验数据。 用 deepseek v3 ,上传了第三方扫码的 demo 作为附件,然后开始让它给我来点 activity 代码和布局文件。
一天就弄完了,感觉再和他一起练习练习,就能入门了。
jrtzxh020
jrtzxh020
71 天前
前段时间找过一段时间,基本没有新的书籍,也是只能看第一行代码。。视频的话 B 站也只有零零碎碎的。现在没啥人搞安卓课程
wnpllrzodiac
wnpllrzodiac
71 天前
鸿蒙啊,安卓都要没了
wnpllrzodiac
wnpllrzodiac
71 天前
现在都是 flutter uniapp ,原生没人搞了
godloveplay
godloveplay
71 天前
前置 翻了一下 了解了一下基础内容
《第一行代码》第二版
b 站 up: https://space.bilibili.com/204248002?spm_id_from=333.337.0.0
meteor957
meteor957
71 天前
有些技术都要被淘汰了,学了也浪费时间。compose 能代替不少老的技术
magic3584
magic3584
71 天前
@duhb #4
请尽量让您的回复有帮助。
------------------------
如果没有的话,可以省点铜币。
magic3584
71 天前
@liuzimin #2
主要是一些代理和回调方法,不像 iOS 那样明确的指定 delegate,所以不知道回调的落点在哪里
zzjun
70 天前
用 Compose 呗
magic3584
70 天前
@xubingok #5
@qwwuyu #6
目前是接着之前项目改,主题里说的问题项目里都有,所以新手看着脑袋大
syubo2810
70 天前
既然都是新学,建议鸿蒙一起学了
ice000
70 天前
你这有现成的项目哇,先从捋代码流程,改 Bug 入手,Android studio debug 功能我觉得很友好,除了 native 部分
werls
70 天前
现在基本都是 Jetpack compose 和 Android framework 、新学的起码也是 Flutter 吧。

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

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

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

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

© 2021 V2EX