zoukankan      html  css  js  c++  java
  • 20172303 20172322 2017-2018-2 暑假作业 结对编程项目-舒尔特方格(增补:计时器的加入与页面优化)

    增补:计时器的加入。

    增补计时器的原因及动机

    • app本身过于简单,在课上展示过后显得过于单薄。
    • 学姐提出了一些建议。
    • 想多加分。

    添加过程

    因为我们之前在做app的时候就已经想到加入计时器,但由于当时时间限制与心理准备不充分并未加入计时器功能,但是我们在想到时就已经查到了相关方法。

    Timer

    我们在网上搜索“andriod计时器”时出现的便是Timer方法。于是,我们便决定使用Timer方法来实现及时功能。

    实践代码

    • 首先,我们需要支持HandlerLeak并且复写了handleMessage
        @SuppressLint("HandlerLeak")
        Handler handler = new Handler() {
            @Override
            public void handleMessage(Message msg) {
                switch (msg.what) {
                    case 1:
                        mlCount++;
                        int tatalSec = 0;
                        int msec = 0;
                        //精确到0.01秒
                        tatalSec = (int) (mlCount / 1000);
                        msec = (int) (mlCount % 1000);//毫秒
                        sec = (tatalSec % 1000);//秒
    
                        try {
                            time = String.format("%1$02d:%2$03d", sec, msec);
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        break;
                }
                super.handleMessage(msg);
            }
        };
    

    我们也对计时后的时间显示格式做出了一定的规范。

    • 之后我们对比着已有的计时器模版写下了startTime方法
        //开始时间
        private void startTime() {
            task = new TimerTask() {
                @Override
                public void run() {
                    if (msg == null) {
                        msg = new Message();
                    } else {
                        msg = Message.obtain();
                    }
                    msg.what = 1;
                    handler.sendMessage(msg);
                }
            };
            timer = new Timer(true);
            timer.schedule(task, 0, 1);
        }
    
    • 最后在Oncreate中加入了startTime方法。

    虽然这几步看起来比较轻松,但是这是我们两个人花了星期天的整个下午才实现的功能,实现过后我们都比较开心,然后就出去吃麦当劳啦!

    其他值得提一下的地方

    • 我们优化了界面,看起来没有之前那么单调啦!

    • 我们让介绍页面变得不可修改

    基础实现的博客地址:点击这里

  • 相关阅读:
    给xpath添加正则表达式匹配函数
    利用window.open实现post方式的参数传递
    利用Http状态码检查网页内容是否更新
    一款很不错的html转xml工具Html Agility Pack
    ASP.NET MVC SiteMap provider的一个bug
    a标记链接相对路径的问题
    下载文件的Restful接口的前端实现
    游戏服务器体系结构
    c++资源之不完全导引 (收藏)
    Apache学习路线
  • 原文地址:https://www.cnblogs.com/zhangyeye233/p/9601871.html
Copyright © 2011-2022 走看看