我为啥要碰安卓?那位“新老师”把我折腾得够呛。
说句实话,我一个干了十几年后端的,之前一直在我的 Java 和 Spring 那一亩三分地里盯着看,那才叫舒坦和有安全感。谁稀罕去搞什么移动端?那都是新人的活儿。直到去年年底,公司那项目黄了,那会儿大环境被这么一搞,我直接歇菜,突然就被拍在了沙滩上。
简历一轮一轮地投出去,全是石沉大海。后来我咬牙翻开了招聘网站,好家伙,现在的需求简直是乱来。不是要你 iOS,就是要你安卓,不然就是 Flutter、RN 这些杂七杂八的东西。我琢磨了半天,iOS 门槛太高,我那点精力耗不起。算了。我瞄准了安卓这块,决定硬着头皮啃下这块骨头。
我找来了AS(Android Studio),那玩意儿光是下载和配置环境,就折腾了我整整两天。什么 Gradle、SDK、模拟器,一堆文件塞满了我的 SSD。光是等着安装和同步,我都能去泡两壶茶慢慢喝。终于硬着头皮看完了官方文档的前几章,感觉就是一头雾水。那帮老外写的教程,看着是条理清晰,但真要动手敲代码,处处都是坑。
从零开始:我差点被 Activity 那点事气死
我决定从最基本的 Activity 开始搞起,总要有个能跑的东西。我参照了一个简单的 Todo List 的 Demo,想跑起来看看。我敲完了布局 XML,刚运行起来,发现那个按钮怎么也对不齐。那玩意儿比我以前用的前端的 Flexbox 烦躁多了,各种约束(Constraint)把我绕得头晕眼花。花了整整一个上午,才搞明白是布局管理器的那堆限制。我心想这做个界面都这么费劲,以后还怎么活?
等界面勉强能看了,我尝试实现数据持久化。我翻了一圈,SQLite?太原始了。我选了 Room。可 Room 那套注解和抽象层,又把我绕进去了。我来来回回地改,日志里全是红色的错误。我问了几个还在“活着”的朋友,他们告诉我要用 ViewModel,用 LiveData。我简直要爆炸了。一个简单的增删改查,为啥非要绕这么大个弯子?
小编温馨提醒:本站只提供游戏介绍,下载游戏请前往89游戏主站,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
- 第一次尝试:直接在 Activity 里操作数据库,结果直接报错,应用卡死了。
- 第二次尝试:我引入了 AsyncTask,解决了卡顿,但代码变得奇丑无比,像一团麻线。
- 第三次尝试:我接受了现实,学习了 ViewModel 和 LiveData,用了足足一周,才勉强跑通一个简单的、符合“规范”的保存功能。这周我瘦了三斤。
那段时间,我每天晚上对着电脑屏幕熬到夜里两三点。我那个儿子,正好上小学一年级,他看我天天对着这个黑乎乎的窗口骂骂咧咧,还问我是不是在玩游戏。我心想这 TM 比玩游戏难多了。我为啥非要受这个罪?
我想起了之前在老东家的时候。我们那帮人,个个觉得自己是技术大牛,嘲笑搞移动端的“只会拖控件”。现在回头看看,我那帮老同事,去年底被裁得一个不剩。而我这个从头开始学安卓的“半吊子”,靠着自己硬啃的这套技能,成功拿到了一个外包项目的机会。虽然钱不多,但总算让我能把房贷续上,不至于全家喝西北风。
那位“新老师”安卓,教会我的不光是 AS 怎么用,更多的是告诉我,别觉得自己已经搞懂了一切。市场变了,你就得跟着变。现在我开始搞那个复杂点的权限管理和系统通知了,感觉虽然还是一团乱麻,但至少,我没被淘汰出局。我得接着跟这位“新老师”死磕到底。

