多年来,Android 生态系统及其开发工具发生了巨大变化。

Eason当时就是走了很多弯路,导致自己Android学习之路非常曲折。这篇文章将向大家介绍如何正确地开始 Android 开发生涯,包括该学习哪些重要和不重要的知识,以及如何做才能找到第一份工作。

# 应该学习 Java 还是 Kotlin?

谷歌在 2017 年宣布官方 Kotlin 支持 Android 开发。现代 Android 应用程序和库是用 Kotlin 编写的,尽管仍然使用 Java,主要是出于遗留原因。这两种语言彼此非常相似,一个项目可以使用这两种语言。Java 比 Kotlin 更古老。这意味着对 Java 有更多的工具和支持。Kotlin 是一种现代语言,使用起来更简单。

尽管 Kotlin 是官方推荐的 Android 语言,但 Google 对这两种语言都提供了出色的支持。在行业中,大多数公司向 Android 开发人员询问 Kotlin 知识和经验,而不是 Java。因此Eason鼓励大家专注于学习 Kotlin。

同时,不要忽视网上的Java资源和教程,毕竟有大量的旧项目和github资源都是采用用 Java 编写的。

Android Studio 是 Android 开发的官方 IDE,基于 JetBrains IntelliJ IDEA。它具有的一项很酷的功能是将 Java 代码自动转换为 Kotlin。

# 如何学习Android开发

只要有电脑且能上网,就可以 100% 免费学习 Android 开发。大家无需拥有任何 Android 设备即可开始学习或构建应用程序。

官方 Android 开发者网站是一个很好的起点。大家将在那里找到有关如何开始学习和发布 Android 应用程序的资源。例如,Kotlin 中的 Android Basics非常适合涵盖 Android 基础知识,而且它也是 100% 免费的。

一旦对自己的 Android 应用程序有了一个大致的了解和构思,就开始开始写下自己的第一行Android代码。最好的学习方法是实践。

这是迄今为止最好的学习方式:

- 它能提供许多未来日常工作所需的技能

- 它会让你高效地处理代码和帮助寻找答案

- 它会给你一些有形的东西来包含在你的简历中

一个小而精心设计的app会创造奇迹,维护得好甚至能带来变现。想想你能亲手做一个自己DIY的app,不需要非常完美,也不必与抖音或爱奇艺等app竞争,实现自己想要的功能足矣。

# 职业生涯秘诀:加入社区

加入社区会对您的职业发展产生巨大影响。拥有一群和你有同样挣扎的人,你会感到不那么沮丧,并且可以互相鼓舞。这也可以导致与业内人士建立长期的联系。

这个IT行业比你想象的要小得多,人们往往更喜欢与他们已经认识的人一起工作。行业内最好的招聘方式不是通过职位发布而是通过口耳相传。当在字节的朋友非常乐意为你推荐理想的工作,而不必面试可能申请的数千名候选人,这将是一个双赢的局面。

# 如何找到要加入的社区?

看看平时涉及到的一些圈子(例如大学/社团/网站组织/微信群)是否有任何碰巧正在学习 Android 的人。如果碰巧有朋友从事 Android 开发,那么他们很有可能已经加入过非常多的社区,他们可以很高兴地向您推荐。

Google 有一个全球范围内的 Google 推广社区(称为 Google Developer Groups 或 GDG)目录,可在此处访问:https://gdg.community.dev/chapters/。

**meetup:** https://www.meetup.com/ 可用于查找附近和在线的 Android 聚会,这可以很好地引导查找社区。
**redit:** https://www.reddit.com/r/androiddev/ 是用来了解 Android 开发人员所谈论话题的地方,它本身就是一个巨大的全球社区。

# Flutter、React Native等这么多跨平台框架 我应该从哪个开始呢?

很少有公司在没有同一应用程序的 Android 版本的情况下开发 iOS 应用程序。为了节省精力和金钱,创建了新技术来生成具有相同代码库的 Android 和 iOS 应用程序。这产生了 Xamarin、Flutter 和 React Native 等框架。

与原生 Android 开发相比,它们有很大的不同。他们有自己的工具、编程语言、社区、好处,最重要的是,还有问题。在使用此类技术时,大家需要解决每个框架的独特问题,尤其是 Android 和 iOS 原生开发带来的问题。

Eason还是建议大家从 Android 开发的基础开始,了解它的奇奇怪怪之处,然后再进入更多未知领域。

# 什么是 Jetpack Compose,我应该学习它吗?

Jetpack Compose 是 Google 为 Android 推出的新 UI 框架。这是一种使用 Kotlin 编写 UI 的新方法。使用新框架是一种乐趣,这就是每个新的框架积极的一面。

不过,从实际角度来看,该框架最近才发布了最新稳定版。这意味着公司还没有多少机会使用它,许多公司正试图弄清楚如何在他们的应用程序中使用它。但这不是许多Android岗位的要求。

对于现在开始学习 Android 的人,请专注于 Android 基础知识并使用视图构建的第一个 Android 应用程序。你总是可以用 Compose 破解一个新的应用程序,看看它大概是关于什么方面的,大致了解下即可,以便以后可能有用到的时候。

# 总结
如果我在 10 年的 Android 开发之后从头开始,那么这就是我的职业生涯。希望这篇文章解决了大家在开始学习Android之旅时可能遇到的所有未知问题和选择困境。

## ❤️/ 感谢支持 /
以上便是本次分享的全部内容,希望对你有所帮助^_^

喜欢的话别忘了 分享、点赞、收藏 三连哦~

欢迎关注公众号 **程序员巴士**,来自字节、虾皮、招银的三端兄弟,分享编程经验、技术干货与职业规划,助你少走弯路进大厂。

如果2021能重开,我会告诉自己去做这些相关推荐

  1. 若能回到五年前,我会告诉自己这些创业道理

     若能回到五年前,我会告诉自己这些创业道理 若能回到五年前,我会告诉自己这些创业道理 文章由CSDN陈明于2015-04-08 17:23分享 评论(9) width="16" ...

  2. 高温对计算机的影响,失望:计算机温度过高而频率下降?现在我会告诉你真相...

    无论计算机硬件配置如何好,一旦机器内部温度过高,所有重要的硬件都会打开"自我保护"模式,这将大大降低性能.对于游戏玩家来说,最麻烦的问题是游戏过程中画面卡顿或不流畅.造成这种现象的 ...

  3. 【CSDN 2021 年度总结】半年涨粉11万,铁杵磨成针

    文章目录 前言 一.个人简介 二.如何玩转 CSDN? 1.新星计划 2.原力计划 3.热榜 1)热榜是什么? 2)如何上热榜? 3)热榜算法 4.周榜 5.总榜 6.一键三连 1)抱团生长 2)近朱 ...

  4. 白杨SEO:2021到2022年做自媒体在哪个平台上更有前途?公众号、百家号、头条号、抖音、微博、B站、知乎、小红书、视频号

    前言:这是白杨SEO公众号原创第322篇.为什么写这个?因为我们知道SEO这个技术最好能运用到新媒体或者打造个人自媒体品牌上效果可能更好,所以分享给做SEO或者做新媒体的朋友. 这个问题来源 这个问题 ...

  5. 站在讲台上的时候,我怕我会心虚

    其实我都差不多下定决心了:去应聘我们当地的培训机构做讲师.以我的条件,十拿九稳,除非他们瞎.甚至条件都想好了:工资嘛,将就一下都行,但是要自由点,我上完课就走人,或者做自己的事-- 这就是在打自己的脸 ...

  6. 一个女孩的工作经历告诉我们

    这是网上流传的一篇文章,转来和大家分享~ 1,当时公司招了大批应届本科和研究生毕业的新新人类.平均年龄25岁.那个新的助理,是经过多次面试后,我亲自招回来的一个女孩.名牌大学本科毕 业,聪明,性格活泼 ...

  7. 一个研三女人想告诉后辈的事!

    [序] 两年零五个月前的一天,也就是2008年4月22日,研究生入学考试的复试完毕,站在外国语学院的公告栏前,看到录取名单里写着的第一个名字--是我的名字,再一遍遍地确认公告的题头是录取名单没错,于是 ...

  8. 四年开发,最重要的是战略,把目标告诉一个你信赖的人,让他保管

    https://www.zhihu.com/question/312019918/answer/630577132#showWechatShareTip https://www.nowcoder.co ...

  9. 彼得·蒂尔:别浪费你的无知,去做那些没人做过的事

    硅谷风险投资家彼得·蒂尔参加了美国汉密尔顿学院2016届的毕业典礼并作演讲.他与Max Levchin和Elon Musk一道创立了PayPal. 彼得以敢说话.说真话闻名硅谷,他此前表示高等教育对于 ...

最新文章

  1. 吴恩达:我们说人工智能时,实际在说些什么?
  2. mysql数据库高级查询笔记_MySQL数据库基础——高级查询
  3. 这些Python骚操作,你值得拥有
  4. Lock和synchronized的选择
  5. 单元词检索计算机,单元词法
  6. .net remoting与web service的区别
  7. sift计算描述子代码详解_浅谈SIFT特征描述子
  8. 解决:mysql5.7 timestamp默认值0000-00-00 00:00:00 报错
  9. 查看C++ C#的dll或exe文件是32位还是64位
  10. java 内部类 加载_Java 内部类基础介绍
  11. 手挽手带你学VUE:四档 Vue-cli3 Vuex Vue-router
  12. 用链表写的一个通讯录
  13. FastAPI获年度第一新兴框架,2021年最受欢迎的TOP 100开发工具出炉
  14. ZF网络架构深度详解
  15. 两个计算机怎么共享一台打印机共享,两台电脑如何共享打印机 多台电脑共享一台打印机设置方法【详细教程】...
  16. 在线数据迁移,数字化时代的必修课——京东云数据迁移实践
  17. 深度图像修复的回顾和改进:使用生成对抗网络基于Patch的图像修复
  18. RK3326 android10.0(Q) 系统精简瘦身
  19. 各纬度气候分布图_气候气压带图_世界气候气压带风带分布图要图(需要表识纬度)-4d影院专题信息栏目...
  20. Cocos2d-x 3.x 图形学渲染系列二十三

热门文章

  1. idea中导入jquery类库
  2. use traceur in ES6
  3. 最新闪客网盘修复版源码+支持多种储存
  4. 稳定wow60级服务器,魔兽怀旧服:永久60级现状,虽然冷冷清清的,却是真正的世外桃源...
  5. cc linux教程 pdf,CentOS 5.5 PDF转TXT
  6. 疫情相关的出行提示都在这了!百度地图上线“疫情管控消息速报”功能
  7. 修该图片名称为00000.jpg
  8. jquery的fadeTo方法的淡入淡出轮播图插件
  9. jquery动画效果 animate() 自定义动画 stop() 停止运行动画 fadeIn()/fadeOut()/fadeTo() 淡入淡出
  10. 择校秘籍|北邮计算机 和 同济计算机 应该怎么选?