(1)第一个安卓单机项目-----------------序言

  去年参加学校的一个项目,突然心血来潮,想做一个手机锁。现在想起来实在是拿不出手,真的是太简单了!完全的单机APP,自己跟自己玩。

  哈哈,不废话,开始。


基于本软件的开发的目的,在开发设计时我们只要完成两个大功能即可:1、快速锁屏,2、定时锁屏。

前端界面:为了服务两大功能并且完善软件,我们共设计了五个软件界面:主界面、定时锁屏设置界面、一键锁屏界面、使用说明界面、提醒用户设置权限界面。

后台服务:

1. 快速锁屏:根据用户选择的锁屏时长,计算出解锁的时间。(如果用户关机了,再开机之后再进行计算,减去关机时长)时间到了自动解锁。

2. 定时锁屏:根据用户设置的日期(星期几)、时间,再通过获取手机系统时间进行判断,如果时间到了进行锁屏,到了解锁时间自动解锁。

3. 为了实现定时锁屏和快速锁屏,已经时刻刷新解锁的时间,创建一个文件类,用来保存时刻更新的锁屏时长和解锁时间

4. 为了防止重启手机导致锁屏失效,创建一个广播接收者类接收手机的关机和开机信息,再手机重新启动之后自动启动锁屏服务,重新进行锁屏(锁屏时长会自动减去关机的时间)。

5. 在快速锁屏或者定时锁屏计算好相应的时间后启动一个开始锁屏的服务,这个服务不常驻后台,启动后该服务会启动一个悬浮窗口,这个窗口屏蔽掉了返回键、下拉列表、状态栏、home键从而实现锁屏。



   整个项目界面非常简单  : 

         MainActivity----程序主界面。效果图如下

fastActivity-----快速锁屏界面,这是弹出在主界面上边的界面,效果如下

tixingActivity--------在用户第一次使用时提醒用户设置权限的界面。不值一提,就不浪费图片资源了

explainActivity-----使用说明界面。。就一堆酸臭文字,不浪费资源

designActivity------定时锁屏设置界面。用户选择定时锁屏的日期、时间。然后点击确认,到点了就自己锁屏。效果图如下

在activity中已经镶嵌了一些后台功能,毕竟是单机,前端跟后台不用区分太开,哈哈哈

非界面部分:

bootBroadcastReceiver----广播接收者,接听开机广播,自动启动锁屏服务,不然用户重启我们的锁屏就死翘翘了

getDataFromSp---------封装了SharedPreferences文件操作的N个方法,用来完成锁屏时间时长等数据存贮

LockView -------extends ViewGroup   就一个视图,作为悬浮窗口

lockService -----------extends Service  常驻后台的锁屏服务。每分钟都会重启哦,到点了锁屏,到点了解锁都是这个服务更新的

startLockWinService---------- extends Service  真正锁屏其实是这个服务的干活,不过这个要被常驻后台的lockService启动。这个服务的主要作用是启动悬浮窗口实现锁屏哦。


以上就是所有的.java文件的简介了。下面将开始一个个地实现哦,大家准备好了吗?

猜你喜欢

转载自blog.csdn.net/wanmingjking/article/details/80499927