深圳大学移动互联 应用期末大作业——垃圾分类app

文章目录

    • 一、期末大作业的目的与要求:
      • 1. 垃圾分类界面
      • 2.具体要求
      • 3.部分参考
      • 4.其他要求
    • 二、实验过程和代码与结果
      • 1.“我的垃圾分类APP”的构建过程及结果
        • (1)启动页面的实现
        • (2)登陆界面
        • (3)主界面的实现
        • (4)首页界面逻辑编写
        • (5)指南界面编写
        • (6)设置界面编写
      • 2. 请详细说明“我的垃圾分类APP”的功能、出现的关键问题及解决方案
        • 功能展示
        • 问题和解决方案
          • (1)fragment加载问题
          • (2)设置按钮背景透明
          • (3)TabLayout界面的缓存
          • (4)权限的声明
          • (5)不重复随机数的生成
          • (6)对象列表的传值
          • (7)EditText焦点失去
          • (8)百度语音识别api的申请以及调用
    • 三、实验总结

一、期末大作业的目的与要求:

1. 垃圾分类界面

请尽量模拟如下垃圾分类APP的功能,即参考如下的界面展示形式及功能模块。

新建一个文件StartFragment作为碎片的适配器,并在onCreateView中将其加载进来。

新建文件夹layout-sw600dp作为平板的碎片文件夹,在layout文件夹和这一文件夹编写activity_start,将碎片包含进来。

可以看到,手机和平板的activity_start都是直接使用刚刚写的碎片文件,并加载相应大小的图片。因为屏幕尺寸的原因,一张图片无法同时适配平板和手机,会导致图片被压缩或者拉伸,使得欢迎界面很难看,于是对于不同屏幕大小,布局文件加载了不同的照片。

接着编写StartActivity.java。首先定义TextView对象skip,用于后面获取欢迎界面的TextView实例,然后设置倒计时为3s,定义处理信息的handler和线程runnable,定义计时器timer。
首先编写任务类TimerTask,在task中新建一个线程用于计时,之所以这样是为了防止线程堵塞,主线程用于更新UI显示,子线程用来计时,最后更新skip,当倒计时为0的时候,把skip的字体隐藏起来。

接着编写活动的onCreate方法。首先通过下面这一语句将标题栏隐藏,保证欢迎页面全屏显示。

接着获取TextView实例并设置点击事件的监听器。然后使用timer这一计时器工具,执行前面定义的task任务,每隔1s执行一次该任务。我们使用handler来实现计时器,当计时结束时再过2s,跳转到登录界面。

    @Override    protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 去掉app标题栏getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);setContentView(R.layout.activity_start);skip = findViewById(R.id.skip);skip.setOnClickListener(this);// 设置点击跳过timer.schedule(task, 1000, 1000);// 等待时间1s,停顿时间1s// 设置不点击跳过handler = new Handler();handler.postDelayed(runnable = new Runnable() {    @Override    public void run() { //从闪屏界面跳转到首界面 Intent intent = new Intent(StartActivity.this, LoginActivity.class);

                                                        

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年1月11日
下一篇 2022年1月11日

相关推荐