Summer_ByteDance_AndroidCamp
大二下小学期
Chapter 1
作业要求:
- 创建一个Android app工程,包含一个activity
- 使用5种以上的View并实现一些简单交互:ImageView, Button, TextView, RadioButton, CheckBox, EditText, ProgressBar, SeekBar, Switch 等等不限
- 将一些交互结果输出log
- 打包生成apk
作业成果:
logout输出:
APK文件输出:
Chapter 2
作业要求:
实现RecyclerView
实现结果:
Advanced Task:
利用itemDecoration实现分割线的绘制。
自定义间隔样式需要继承RecyclerView.ItemDecoration
类,然后override onDraw方法即可。
结果如上图所示。
Chapter 3
作业要求:
-
ex1: SeekBar + Lottie
-
ex2: 添加 scale 动画
添加 alpha 动画
组合到 AnimatorSet
-
ex3(加分项): TabLayout + ViewPager
实现结果:
以下是录制的gif:
加分项界面截图:
Advanced Task:
首先实现ex3 activity 的xml文件,里面有TabLayout和ViewPager。
实现自定义MyViewPagerAdapter类,继承自FragmentPagerAdapter,override其中必要的方法
ex3 activity中实现对TabLayout和ViewPager内容的设定,其中ViewPager内容的设定借助MyViewPagerAdapter实现。
实现三个自定义的Fragment类(ZjuFragment,BytedanceFragment,AndroidFragment)以及相应的xml文件,在ex3 activity中实例化即可。
Chapter 4
作业要求:
实验结果:
以下是程序运行的gif图片:
测试翻转的gif:
Android Profiler分析器:
利用内存分析器memory profiler可以帮助检查是否出现内存泄漏。
内存分析器是Android Profiler中的一个组件,它可以帮助识别内存泄漏和内存溢出。它显示了应用程序内存使用的实时图,方便开发者跟踪内存分配。
经检测,可以看到memory的使用情况随着程序的运行保持平稳,说明没有内存泄漏。
Chapter 5
作业要求:
完成所有的TODO内容:
实验结果:
demo的gif图片展示:
dou的图片展示:
Chapter 6
作业要求:
❏ 为 To-do List 的场景建立一个数据库,完成数据库表的设计和创建;
❏ 进入主页后,从数据库中查询出所有的数据,并以列表形式呈现出来;
❏ 点击加号后跳转到一个新页面,输入任意内容,点击 CONFIRM 后把内容插入数据库中,返回主页并更新主页数据;
❏ 点击每个 note 前边的 checkbox 能把该条 note置为“已完成”,并更新数据库和 UI; ❏ 点击每个 note 后边的 x 能把该条 note 删除,并更新数据库和 UI;
进阶版要求
- 在基础版的基础上增加“优先级”功能:
- 升级原数据库,增加“优先级”字段;
- 创建 note 时可以选择优先级;
- 显示 note 时,不同的优先级背景色不一样,支持优先级越高的显示在越顶部;
作业结果:
Chapter 7
作业要求:
附加要求:
- 全屏播放视频情况下加上音量 控制
已生成apk
作业结果:
Chapter 8
作业要求:
- 相机拍照
- 最简单的录制(系统相机录制)
- 自定义录制
- 课后探索
作业效果:
实时对焦: