实习生课程安排
一、Android开发基础知识
第一阶段
- 时间:1周(5个工作日)
- 目的:熟悉kotlin基础语法
参考资料:
学习内容:
- 学习Kotlin的基础语法
- 学习Kotlin函数和高阶函数
- 学习协程、Flow的基本使用
目标:熟悉kotlin基础语法,可以使用kotlin实现简单的功能逻辑。
考核:从字符串文件中提取出所有name,并按照文字个数从小到大排序,每个name占一行,并把结果写入到本地文件中。(demo编写过程中应尽可能多的使用kotlin特性)
最终完成的代码提交到github仓库,见第三部分描述。
第二阶段
- 时间:2~3周(根据自己的学习进度)
- 目的:android基础知识学习
Android相关知识:
- https://developer.android.com/courses/kotlin-android-fundamentals/overview
- https://developer.android.com/courses/kotlin-bootcamp/overview?hl=zh-cn
- https://developer.android.com/courses/fundamentals-training/toc-v2?hl=zh-cn
菜鸟教程 Android:
Geeksforgeeks:
Android 基础学习路线:
开发环境与工具
- 开发环境搭建
- Android Studio 核心使用技巧(包括Debug调试、内置Git工具的使用等)
应用入口与四大组件
- Application:作用与生命周期、自定义 Application、全局初始化
- Activity:启动入口(含 AndroidManifest 中的声明)、生命周期、启动模式、跳转与传值、状态恢复(onSaveInstanceState)、ViewBinding的使用、点击等事件
- Fragment:生命周期、页面加载与管理
- Service:基本使用、与 Activity 的通信
- BroadcastReceiver:基本使用
- ContentProvider:基本使用(简单了解即可)
UI 界面开发
- 常用布局:LinearLayout、FrameLayout、RelativeLayout、ConstraintLayout
- 基础控件:TextView、EditText、ImageView、RadioButton、CheckBox、ScrollView
- 高级控件:TabLayout、RecyclerView、CoordinatorLayout、ViewPager2
- 其他组件:Dialog、BottomSheetDialog、PopupWindow
现代开发核心(Jetpack & Kotlin)
- Jetpack 组件:Lifecycle、ViewModel、LiveData(目前已被Flow取代)、Room
- Kotlin 协程:协程的基本使用、Flow 在 Android 中的实践(重点:StateFlow、SharedFlow用法)
主流架构模式
- MVVM 与 MVI 的基本使用与对比
其他
- 自定义View
- 动画
- 依赖注入:如Koin(感觉兴趣的可以了解下)
学有余力的时候可以学习一下Compose:
- Compose中文教程:https://jetpackcompose.cn/docs/
- Compose官方教程:https://developer.android.com/courses/android-basics-compose/course?hl=zh-cn
阶段考核:搭建一个自己的Demo项目,功能自己定义
要求:
- 项目必须使用kotlin开发
- 项目包含Activity、Fragment、Service、BroadcastReceiver
- 布局中需要用到ConstraintLayout、RecyclerView、TabLayout、ViewPager或ViewPager2、TextView、ImageView
- 会使用Android Studio的断点调试功能
- 合理的理解demo中代码的意义,并能在被问到时能够解释清楚。
最终完成的代码提交到github仓库,见第三部分描述。
第三阶段
- 时间:根据项目功能,自己估时
- 目的:完成(根据提供的需求文档产出一个可用的App,见下方实习项目。
二、实习项目 BMI Calculator
- PRD: https://docs.google.com/presentation/d/1sp6X3QnW1yo__fVIV8UT2uL1l5SaVCWVUTwVBXP60MA/edit?slide=id.p1#slide=id.p1
- 内容文档:https://docs.google.com/spreadsheets/d/1F71A0NQux61Vn7I7fxfGZZeIcTzQnLUlmU51yh-vW7A/edit?gid=0#gid=0
- 设计图:https://www.figma.com/design/Ndrp694dGFiOeuVOuflVFJ/BMI_实习生项目?node-id=10-5137&t=AP6gEHGAZX3KJOoQ-0
三、代码仓库
先用公司邮箱在github上创建自己的账号。
以下代码仓库是公用的代码仓库,提交代码之前,需要创建自己的分支,以自己的名字命名,把代码提交到自己的分支里。