如何入门 Android 开发

2025 年 1 月 15 日
 rrubick

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

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

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

求大佬推荐下视频和书籍

11188 次点击
所在节点    Android
68 条回复
CharmingCheung
2025 年 1 月 15 日
我入行的时候 Retrofit 都还没面世,最流行的图片库还是 UIL ,都是这样一步一步过来的。
先学好基础,从基本的 MVC 开始写,搞明白四大组件、权限与运行时权限、手撸 xml 、手写 findViewById 、随心所欲写自定义 View 做起。
你说的好多都是后面才有的高级封装或者是新玩法。这些玩意不会,基础学好了也不影响你做出一个合格的 App ,你回过头来回发现写 RN 、Flutter 或者 Compose 遇到没有的第三方库或者 View 组件都可以自己撸一个。
ChangQin
2025 年 1 月 15 日
新手直接学 Compose 开发吧,跟 react 的语法很像,看这个 https://developer.android.google.cn/courses/pathways/compose?hl=zh-cn
rxswift
2025 年 1 月 15 日
跟 ChatGPT 学的
cokepro
2025 年 1 月 15 日
曾经也是为了维护一个历史项目,自学的 android ,然后用 jetpack 重写了整个项目。学习路径:《第一行代码》第三版( Kotlin )+bilibili 的 Jetpack 视频。https://space.bilibili.com/137860026/lists 这 2 个教程看完入门应该是没问题了。
kotlings
2025 年 1 月 15 日
直接外包给我吧 我给你维护
kenshinhu
2025 年 1 月 15 日
如果你熟悉 swift 的话,那写 kotlin 应该不也难。
现在把 kotlin 的代码迁移到 swift ,发现使用 swift 的心智负担也蛮大的
cpalead
2025 年 1 月 15 日
别学了,找不到工作的
Jinnrry
2025 年 1 月 15 日
第一行代码写得很好啊,我大学的时候,只有 java 基础就能看懂,而且看完就能写出东西。

你有这么多基础不应该学不明白啊。安卓这些基础概念很好懂,难的是各种 api 的傻逼兼容性,这个版本好好的,下个版本就不让用了,又得换新的
mioktiar56
2025 年 1 月 15 日
找个开源项目,依葫芦画瓢就会了
Folayi
2025 年 1 月 15 日
第一行代码随便一看,三四天看完之后直接啃项目就行,哪块代码有疑惑直接 GPT 问,GPT 比现在的“技术书”语言直白多了,效率还高。
kaixinyidian
2025 年 1 月 15 日
Android 生态已经碎完了,茴字有十八种写法
liaosong
2025 年 1 月 15 日
。。十年前问这个问题差不多
1sU69ZDAgzkvDFS8
2025 年 1 月 15 日
《第一行代码》不仅仅要看完,里面的代码自己可以不看示例代码,完全可以借助文档可以敲出来。

到这个程度后,去 GitHub 上找一个使用现代流行框架并且 star 人数比较高的项目模仿,一般这类项目都会把当前主流的技术加进去,可以像素级模仿,也可以根据自己需要的部分去模仿,这么做的目的是为了熟悉市面上的主流技术栈。

完成上一步后,安卓开发基础有了,主流技术栈也知道了,接着就是写一个 APP ,而且是写一个自己比较常用的 APP ,当年我学习跨平台的时候,当时我自己使用率最高的 APP 是《滴答清单》,然后就自己写个脑图,把功能模块拆分一下,然后一个一个完成(实际上也就完成个六七成,杂七杂八功能太多了),当然媲美原版 APP 是不可能的,又没有专门的设计师,而且哪怕是我每天都在使用,在写代码的时候发现,还有不少功能我都没用过,就这样一步一步写下去,中途会无数次要去找搜索引擎,你可能运气好,因为现在 AI 满大街走了,我那会儿只能去谷歌找答案。
timelessg
2025 年 1 月 15 日
别看 Android view 了,直接上 compose
a1210968738
2025 年 1 月 15 日
楼主说了维护现有项目,这么多人说别用 view 用 compose 的…
接触一个新项目,app 某个界面没法找到具体代码位置的,可以尝试接入 CodeLocator ( https://github.com/bytedance/CodeLocator ),方便快速找到你看到的每一处 UI 的相关代码,这样可以在没有文档没人指导的情况下,快速按需熟悉项目。
rqYzyAced2NbD8fw
2025 年 1 月 16 日
@wnpllrzodiac #10 就是。学什么英文,再过二十年要用红旗插满全世界
cnliangwei
2025 年 1 月 16 日
你可以写一个最简单的 TODO 小项目出来,然后过程中把用到的技术一个个摸透。我当初就是这么学的。当然这种方式学可能不够系统,但是你入门了,再去系统学会熟路很多。我当初的目的是为了实现我想要的产品功能,不是为了找工作,所以不在乎是否系统,能达到目的就行。如果为了找工作,还是要系统点,毕竟要回答面试中各种可能的刁钻问题
daisyliudi
2025 年 1 月 16 日
@ThomasKim 你说的最靠谱。点赞收藏
OneLiteCore
2025 年 1 月 16 日
8 年 Android 开发表示路过。现在的话建议起步就学 Compose 了,最近也有 Compose 兼容鸿蒙的新闻所以这是一个能够包揽移动端的技术。但并不是说原生的开发就没用了,对于权限、通知栏或者桌面小部件这种和系统强相关的功能的话还是需要有相应的原生开发的知识的。如果如果想要入门原生开发的话我不建议看书而建议直接实战,去开发一个 TODO 或者记事本,这样列表、数据库或者文件 IO 、异步加载和 View 基本都接触了,遇到问题了再去找书或者找博客来解决,解决问题的过程就是学习的过程。
rrubick
2025 年 1 月 16 日
@a1210968738 #55
感谢大佬,这个最需要!每次找哪个页面最费时间。
不过 里面 Lancet 用现在 8.7 的 gradle 还能装上吗?我试了半天一直失败,找不到这个库

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

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

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

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

© 2021 V2EX