Coder Social home page Coder Social logo

androidneckprotector's People

Contributors

cjf-666 avatar cliffwoo avatar dontpanic92 avatar void-main avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

adoni

androidneckprotector's Issues

TimeService生命周期

  • 在接收到SCREEN_OFF事件后通知TimeService停止计时但不停止Service,尽量系统销毁Service的可能。

调试语句

  • TimeService.java中有Log
  • ScoreManager.java中有Log

改写ScoreManager

  • 增加颈椎健康度分数
  • 根据不同的String返回不同ScoreManager实例,分别统计手机使用时间健康度及颈椎健康度

分数计算

  • 根据使用手机的时长,模仿阶梯电价方式扣分
  • 根据总时长
  • 根据手机使用时段

时间监控Service

  • Intent & IntentFilter
  • 学习Service框架
  • 学习android消息处理机制Looper,MessageQueue,Handler
  • 利用系统的时间事件广播ACTION_TIME_TICK & ACTION_TIME_CHANGED监听系统时间变化
  • 从Activity如何启动Service
  • 监控屏幕开启状态,用BroadcastReceiver
  • 尝试Service + 透明 popupwindow监控所用touch事件
  • 连续的事件,事件发生时间间隔小于某个值(例如5秒)。需要考虑到耗电的问题

学习Service框架

  • Service生命周期
  • Service默认存在与主线程中,有密集计算任务应单独开一个线程
  • Started Service & Bound Service
  • In android, a component is a object with a state machine and is able to handle all kinds of messages.

从源代码编译安装git

  • 先apt-get得到git,然后clone最新的git源代码
  • 编译安装之前需要安装的软件包:zlibg1-dev,libssl-dev, tcl_._ ,tk_._,gettext,libcurl-dev
  • make,install之

编写数据库及接口设计文档

数据库的存储内容会很据今后要展示给用户的统计信息的形式以及调用着的需求进行添加和修改,文档也会随之更新。

弹出DialogActivity时间间隔有误

  • 从toast改为DialogActivity之后,下一次提醒开始计时不应当从这一次显示开始,而应当从用户选择放弃这一次锻炼开始。

分数可视化

  • 不同分数显示不同的text
  • 用数字图片+progressbar显示分数,范围0~100

重写Viewpager

viewpager滑动过于灵敏,尝试重写viewpager自定义控件+手势检测实现。

制作ShareActivity

新浪、人人sdk方式分享的代码已写好,但由于目前ShareActivity还没做好,sdk分享功能还不能使用。

改用新界面

  • 主界面包括显示分数,颈椎健康知识,开始颈椎健康度测试,设置按钮,数据统计按钮,开始锻炼
  • 使用多个Activity,从主界面可达其他界面
  • 从其它界面可返回主界面

BroadcastReceiver

  • BroadcastReceiver只需重载onReceive()方法
  • 使用Permission可实现BroadcastReceiver的权限管理,一些种类的监听需要在AndroidManifest.xml注册权限
  • 监听ACTION_SCREEN_OFF只能动态注册
  • 不可以在一个BR中注册另一个BR
  • 如果可能,要在恰当的地方注销BR,减轻系统负载

Intent & IntentFilter

  • Intent 用于组件间通信,是通信发起者表达意图的方式
    -IntentFilter 用于标识该组件接受怎样形式的Intent

加入颈椎健康度测试功能

  • 将试题做成Fragment,用ViewPager实现试题间切换
  • 得分显示在主界面,作为安排锻炼计划,定时提醒等的依据之一

监控用户屏幕开启时长

  • 接收用户解锁键盘时系统发送的广播ACTION_USER-PRESENT.
  • 在BroadcastReceiver中启动一个Service,在Service中启动一个线程,用sendMessageDelayed方法实现定时给出提醒
  • 提醒一次后要再次调用sendMessageDelayed方法准备下一次提醒
  • 在Service中的onDestroy()方法中要结束线程
  • 接收屏幕关闭事件的BroadcastReceiver要结束Service

使用fragment替代tabactivity

android4.0中tabactivity已经被fragment取代,通过android-support-v4包支持使得sdk>=1.6的版本均可使用。

从源代码编译安装最新的git

  • 先apt-get安装git,然后clone git最新的源代码git clone git://git.kernel.org/pub/scm/git/git.git
  • 需要的几个软件包 zlib1g-dev,libssl-dev,tcl8., tk8. ,gettext,libcurl-dev
  • make,install之
  • 之后就可以用git clone获得最新的源代码了

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.