Summer_ByteDance_AndroidCamp

大二下小学期

Chapter 1

作业要求:

  1. 创建一个Android app工程,包含一个activity
  2. 使用5种以上的View并实现一些简单交互:ImageView, Button, TextView, RadioButton, CheckBox, EditText, ProgressBar, SeekBar, Switch 等等不限
  3. 将一些交互结果输出log
  4. 打包生成apk

作业成果:

img1

logout输出:

1562603822023

APK文件输出:

1562603985734


Chapter 2

作业要求:

实现RecyclerView

1562689837798

1562689973476

1562690064950

实现结果:

imgday2

day2_2

Advanced Task:

利用itemDecoration实现分割线的绘制。

自定义间隔样式需要继承RecyclerView.ItemDecoration类,然后override onDraw方法即可。

结果如上图所示。


Chapter 3

作业要求:

  • ex1: SeekBar + Lottie

  • ex2: 添加 scale 动画

    ​ 添加 alpha 动画

    ​ 组合到 AnimatorSet

  • ex3(加分项): TabLayout + ViewPager

实现结果:

以下是录制的gif:

imggif

加分项界面截图:

jia

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

作业要求:

1562834507232

实验结果:

以下是程序运行的gif图片:

day41

测试翻转的gif:

ingday42

Android Profiler分析器:

利用内存分析器memory profiler可以帮助检查是否出现内存泄漏

内存分析器是Android Profiler中的一个组件,它可以帮助识别内存泄漏和内存溢出。它显示了应用程序内存使用的实时图,方便开发者跟踪内存分配。

经检测,可以看到memory的使用情况随着程序的运行保持平稳,说明没有内存泄漏。

Chapter 5

作业要求:

完成所有的TODO内容:

1562932784961

实验结果:

demo的gif图片展示:

day51

dou的图片展示:

1562933355648


Chapter 6

作业要求:

❏ 为 To-do List 的场景建立一个数据库,完成数据库表的设计和创建;

❏ 进入主页后,从数据库中查询出所有的数据,并以列表形式呈现出来;

❏ 点击加号后跳转到一个新页面,输入任意内容,点击 CONFIRM 后把内容插入数据库中,返回主页并更新主页数据;

❏ 点击每个 note 前边的 checkbox 能把该条 note置为“已完成”,并更新数据库和 UI; ❏ 点击每个 note 后边的 x 能把该条 note 删除,并更新数据库和 UI;

进阶版要求

  • 在基础版的基础上增加“优先级”功能:
    • 升级原数据库,增加“优先级”字段;
    • 创建 note 时可以选择优先级;
    • 显示 note 时,不同的优先级背景色不一样,支持优先级越高的显示在越顶部;

作业结果:

day6


Chapter 7

作业要求:

1563342079720

附加要求:

  • 全屏播放视频情况下加上音量 控制

已生成apk

作业结果:

day7


Chapter 8

作业要求:

  • 相机拍照
  • 最简单的录制(系统相机录制)
  • 自定义录制
  • 课后探索

作业效果:

1563417173580

实时对焦:

1563417113923

1563417324333