四川大学代写网---您值得信赖值得靠谱的毕业论文网站.
当前位置:代写大学生大专本科生毕业论文_论文代写网【四川大学代写网】 > 代写理工论文 > 计算机 > 正文>安卓系统视力保护程序的实现方案

安卓系统视力保护程序的实现方案

发布日期:2019-04-20 14:41 计算机

  摘要:用户可以在免费手机平台Android上,开发各种对自身使用的APK应用文件,在开发应用程序过程中,程序员可以使用Service开发需在后台执行长时间运行操作,并且不提供用户界面的应用程序组件。重点讲述视力保护程序使用Service的过程,该过程首先定义TimeService类和TimeActivity类,关键是在AndroidManifest.xml文件中增加Activity和Service配置,以此调用TimeService的过程而启动服务和停止服务。

关键词:Service;视力保护程序;Started Service.

1基本概念。

1.1 Service应用简介。

Service(服务)是能够在后台执行长时间运行操作,并且不提供用户界面的应用程序组件,它是用于在后台完成用户指定的操作,可以用于音乐播放器、文件下载工具等应用程序[1].用户可以使用其他控件来与进行通信。当用户切换到其他应用程序时,服务依然可以在后台运行,其他应用程序组件可以绑定服务,进程间可以相互通信。

例如,服务能在后台处理网络事务、播放音乐、执行文件I/O或者与ContentProvider通信。

1.2视力保护程序。

视力保护程序是一个保护眼睛的手机软件,如果用户当前环境光照强度,智能调节屏幕亮度、实时的保护用户的眼睛,让用户保持最健康的用眼习惯,使眼睛视力总是处于最好状态。

2视力保护程序的实现方案。

2.1视力保护程序的实现目的。

视力保护程序是一个保护眼睛的手机软件,软件会告诉用户用怎样的方法,可以缓解眼睛疲劳或者其他的眼部问题,用户也能设置提醒,告诉自己什么时候该好好活动休息一下了,达到实时感应的效果。

2.2项目实现2.2.1项目开发环境。

开发APK应用程序,对硬件要求较高,Android SDK全部下载大概需要占用4GB硬盘空间,由于开发过程中需要反复重启模拟器,而每次重启都会消耗几分钟时间(视机器配置而定)。

2.2.2技术使用。

(1)Service分类。

Service(服务)是从本质上分为两种类型Started(启动)和Bound(绑定)。当应用程序组件通过调用Started Service时,Service为Started状态;当调用bindService()时,Service为bound状态。

(2)创建Started Service.

当用户打开 音 乐播 放器、文件下 载 工 具 等 应 用 程 序时,Service可以在后台完成用户的操作。用户可以使用其他控件来与Service进行通信。

当Service为started时,Service可以在后台一直运行,因为其生命周期与启动它的组件无关,所以即使启动它的服务组件被销毁。当服务完成任务后,可以通过stopSelf()或者由其他组件调用stop Service()停止服务。

Activity组件可以通过startService()和传递Intent对象来启动服务,服务可以通过onStartCommand()方法接收Intent.

Intent对象中包含了服务和服务中所包含的全部数据[2].

(3)继承IntentService类。

大多数启动服务没有必要处理多个请求,因此提出了类。 程 序 员 可 以 使 用IntentService类 使 用 了onStartCommand()方法、onHandleIntent()方法、onBind()方法和onStartCommand()方法。

(4)继承Service类使用。

IntentService类简化启动服务的实现,然而,如果需要让服务处理多个线程(取代使用工作队列处理启动请求),则可以继承Service类来处理各个Intent[3].对于每次启动请求,它使用工作线程来执行任务,并且每次处理一个请求。

(5)启动服务。

程序员可以通过Activity启动服务,也可以通过其他应用程序组件,传递Intent对象到startService()方法启动服务。

Android系统调用服务的onStartCommand()方法并将传递给它。

startService()方法立即返回,然后系统调用服务的onStartCommand()方法。如果服务还没有运行,系统首先调 用onCreat()方 法,接 着 调 用onStartCommand()方法。

当服务没有提供绑定时,Intent应用程序组件和服务之间,唯一的通信模式是StartService()。然而,如果开发人员需要服务返回结果,则启动该服务的客户端,能为广播创建pendingIntent(使用getBroadcast()方法),并通过启动服务的Intent进行发送。服务接下来便能使用广播来发送结果。 启 动 服 务 如 果 被 多 次 请 求,则Service的onStartCommand()方法会被多次调用。

(6)停止服务。

启动服务必须管理自己的生命周期,即系统不会停止或 销 毁 服 务,除 非 系 统 必 须 回 收 系 统 内 存,而 且 在onStartCommand()方法返回后,服务继续运行。

Service如何停止服务呢?它可以调用stopSelf()方法停止自身和调用stopService(),当调用以上两种方法请求时,系 统 会 尽 快 销 毁 服 务。 如 果 同 时 遇 到 多 个onStartCommand()请求时,系统不会立刻停止服务,因为可能会收到新的启动请求。

为了解决这个问题,开发人员可以使用stopSelf(int)方法,来确保停止服务的请求总是基于最近收到的启动请求,并将启动请求的ID传递给停止请求。这样,如果服务在调用stopSelf(int)方法前接收到新启动请求,会因ID匹配而不停止服务。应用程序应该在任务完成后停止服务,来避免系统资源浪费和电池消耗。即使某些情况下绑定服务,只要调用onStartCommand()方法就必须停止服务。

(7)管理Service的生命周期。

用户经常在不知情的情况下,服务在后台运行。开发人员需明白服务如何销毁,因此提出了服务的生命周期。

服务的生命周期可以分成两个不同的路径:

Started Service:

当其他组件调用startService()方法时,服务被创建。当服务停止时,系统将其销毁;Bound Service:当其他组件调用bindService()方 法 时,服 务 被 创 建。 接 着 客 户 端 通 过IBinder接口与服务通信。客户端通过unbindService()方法关闭连接。

这两条路径并非完全独立,即开发人员可以绑定已经使用startService()方 法 启 动 的 服 务。

stopService()和stopSelf()方法直到全部客户端解绑定时才能停止服务。

3视力保护程序的设计过程。

3.1在Eclipse中创建Android项目,当应用程序运行1分钟后,显示提示信息,提醒用户保护视力。

修改res\layout目录中的main.xml文件,定义应用程序的背景图片和一个文本框。

3.2在com.mingrisoft包中,定义TimeService类,它继承Service类。在onStart()方法中,使用Timer类完成延时操作,在一个新线秒后运行。

3.3在com.mingrisoft包中,定义TimeActivity类,它 继承Activity类,在onCreate()方法中,启动服务。

3.4 修改AndroidManifest.xml文件,增加Activity和Service配置。

3.5程 序编写完成,启动应 用 程 序,提 示1分 钟 后显示。

4小结。

本文重点讲述了开发视力保护程序使用Service的过程,整个过程,首先定义了继承Service类的TimeService类,和继承Activity类的TimeActivity类,两类的目的分别是用onStart()方法,实现60秒后运行通知信息和onCreate()方法实现启动服务,再者在AndroidManifest.xml文件中增加Activity和Service配置,以此调用TimeService的过程而启动服务和停止服务,同时程序员可根据需求将60秒时间更改,该视力保护程序简单而易操作。本文主要是通过视力保护程序开发的过程介绍了四大组件之一的Service(服务),服务可 以 分 成Started服 务 和Bound服 务 两 大 类。对 于Started服务,有两种实现方式:继承IntentService类和继承Service类;对于Bound服务,有两种实现方式:继承Binder类和使用Messenger类。

参考文献:

[1]王寅峰,许志良.AppInventor实践教程---Android智能应用开发前传[M].北京:电子工业出版社,2013:210-230.
[2]David Wolber,Hal Abelson,Ellen Spertus.App Inventor:Create Your Own Android Apps[J].O'Reilly,2011:150-180.
[3]王向辉.可视化开发Android应用程序---拼图开发模式App Inventor[M].北京:清 华 大 学 出 版 社,2013:231-253.
[4]明日科技.Android从入门到精通[M].北京:清华大学出版社,2015:384-412.


网友转发请注明出处转载请保留链接:安卓系统视力保护程序的实现方案本文链接http://www.yule868.com/23321.html,谢谢合作!



相关文章

  • 2019-05-01·北理工师生学习习总书记
  • 2019-05-01·“黑客”把麻省理工大圆
  • 2019-05-01·理工院校的文科就一定很
  • 2019-05-01·北理工师生热议习总书记
  • 2019-05-01·太原理工夺CUBA西北赛区
  • 2019-05-01·理工男花2800元让出租屋
  • 2019-04-30·辽宁理工学院文法系青年
  • 2019-04-30·发扬五四精神 北理工发


  •  XML地图 XML_1地图