安卓开发(完结篇)
Prerequisite
我要做一个针对数据结构与算法的学习类 APP,大致流程如下:
- 学习相关基础(Java 基础),但其实不怎么用到这些知识
- 看教程视频(我看的是安卓逆向),这类视频不会讲太深,能快速过一遍 Android Studio 的流程
- 看项目(Github 搜索),任意搜索项目,加载并运行在真机上,观察文件和视图对应关系,并尝试理解
- 做项目(Youtube 教程),跟着好的教程,一步步做一个项目,我跟着的是这个教程,学到数据库就没继续了
- 真正开始做 APP,此时已经掌握了很多,为了快速完成项目,我选择缝合 + 部分原创,具体就是将见过的项目好的地方摘下来,放进自己的项目中
- 不懂地方的查 Google 和问 ChatGPT
PS:最终项目放在 Github 中了【链接在此】
习惯参数
左上角项目类别使用 Android
右侧视图的尺寸为:Pixel 3 XL,Android 29
选取 Android 版本为 gradle 是 7.4 版本,plugin 是 7.3.1 版本
xml 布局最好从开头就用 LinearLayout,否则可能因为尺寸问题,导致真机复现出很多问题(后面我才习惯用 ConstraintLayout)
一些理解
- 注册与登入
此方面我没有选择用远程数据库(因为要收费),取而代之用的是本地的伪存储,即注册时,用户输入的信息存储在本地 xml 文件中,登入验证时,输入的与本地保存的相互比较即可(当然为了保险,密码可以使用 MD5 加密,但我图麻烦就没有用) - Kotlin 和 Java
原来除了安卓开发除了用 Java 还可以用 Kotlin(比如开头的动效,源码就是 Kotlin,然后被我“借鉴”成 Java) - 部分参考
- 最后的修改 APP 图标和名字看这篇文章
- 安卓手机的 APK 导出到电脑
- 最后的打包:Build -> Build APK(s)
一些遗憾
- 关于机型适配
我不能熟练操作视图的均衡操作,比如 dp 和 sp、linerlayout 和 ConstraintLayout,导致对于很多机型不能适配(只保证我的小米 6 能完美运行) - 视频播放问题
视频基本不能播放(除了开场白和默认视频),毕竟我在 APP 的本地视频中只放了两个视频,如果放全部的视频至少要 2 GB,实在是太大了(作为单个 APP 实在承受不起),为什么不选择播放网络视频?因为我当时这样写后就出 BUG 了,还一直找不到解决方法... - 未实现的功能
还有很多没有实现的功能,比如调节风格、字体大小、语言(这些都是 APP 上面写了的,但都只是摆设),因为实现难度太大了,就当作特性了(误 - 对于安卓开发的理解
至今搞不懂 Kotlin,我纯 Java 开发,还有 fragment 等模板遇到过很多次,但完全看不懂(不过也不会有下次了,毕竟以后开发安卓用的可能都是 Flutter,除非中小型公司才一直用 Android Studio)
极其有用的网站
艺术字体网站:站长字体
ICON 网站:flaticon
中文 LOGO 网站:Canva 可画
配色网站:《配色表》
过渡色网站:CoolHue 2.0
调试板网站:站长工具
风格参考
喜欢划水摸鱼的废人