保护自己的MIDlet程序之二:TimeProtector
来源:互联网 发布:阿里云客服招聘兼职 编辑:程序博客网 时间:2024/06/03 14:32
作者:黑洞 文章来源:http://www.j2medev.com/Article/ShowArticle.asp?ArticleID=885
第一部分介绍了Protector,并实现了一个最简单的Protector:OnceProtector
第二部分将实现一个TimeProtector
我们先来设想他所具有的功能:
1。没有到指定时间,他是处于激活状态的(check函数返回true);
2。过了指定时间,他就不能激活;
3。一旦过期,即使用户调整了时间也不再激活。
嗯,明确了目的,下面就来继续。
涉及到了时间问题,就来说说如何处理时间。midp有Date类型,但是提供的功能非常有限。
构造函数无法接受人们熟悉的字符串来初始化。
我们必须使用Calendar来做这些工作,当然,如果long在你眼里看来就是time(黑客帝国?)。。。
我是这样处理的,看TimeProtector的构造函数:
public TimeProtector(MIDlet app,int year,int month,int date)
{
super(app);
Calendar c=Calendar.getInstance();
c.set(Calendar.YEAR,year);
c.set(Calendar.MONTH,month-1);
c.set(Calendar.DATE,date);
date_=c.getTime();
}
这里要注意一个问题,就是month-1的问题,set month 9就是10月的意思。
TimeProtector有一个字段date_,可以用date_.getTime()直接和System.currentTimeMillis()比较大小。
那么我们如何实现第三个设想呢?如何做到即使用户修改时间也无法继续使用呢?
不妨再用用RMS来做个标记,表明已经过期:)
下面就是那个决定命运的check函数:
public boolean check()
{
boolean r=true;
try
{
RecordStore rs=RecordStore.openRecordStore(NameRMS,true);
RecordEnumeration e=rs.enumerateRecords(null,null,false);
if(e.hasNextElement())
{
r=false;
}
else
{
if(date_.getTime()<System.currentTimeMillis())
{
writeTag(rs);
r=false;
}
else
{
r=true;
}
}
rs.closeRecordStore();
}
catch(Exception ex)
{
r=false;
}
if(!r)
showUI();
return r;
}
好了,这就是我的TimeProtector的实现,你是怎么实现的呢?
TimeProtector的使用:
在startApp的开头加入if(!new TimeProtector(this,2005,10,19).check())return;
就是这么简单。准备好,下一篇就来实现SNProtector:)
有意见或建议请联系vmlinuxx@gmail.com,共同学习,共同提高:)
- 保护自己的MIDlet程序之二:TimeProtector
- 保护自己的MIDlet程序
- 保护自己的MIDlet程序之三:SNProtector
- 如何保护自己编写的shell程序
- 我的第一个MIDlet 程序
- 如何保护自己的程序?Diffie-Hellman的另类用法
- J2ME无线开发之MIDlet的部署
- 保护自己的邮箱
- 保护自己的眼睛
- MIDlet画图程序
- 使用简单的J2ME程序测试MIDlet的生命周期
- 写的第一个MIDlet程序:List类的应用
- 游戏编程之DirectX的修炼:二(创建属于自己的windows窗口程序:上)
- 游戏编程之DirectX的修炼:二(创建属于自己的windows窗口程序:下)
- 学会保护自己的眼睛!
- 保护好自己的眼睛
- 如何保护自己的无线网络
- 如何保护自己的个人隐私
- henson.midp.Float浮点类介绍
- PCI总线
- J2ME中的字符串管理和多语言支持
- 封装MathFP和FloatBox
- 看了网友Roy的评论,研究了一下用filter来解决Struts中文乱码的问题!
- 保护自己的MIDlet程序之二:TimeProtector
- PCI总线的危机
- PCI Express 应运而生
- FreeBSD系统的镜像下载
- 1.10 Pet技术流导论+完全1.10Pet数据
- 关注艾滋病
- 收拾与整理
- 保护自己的MIDlet程序之三:SNProtector
- 保护自己的MIDlet程序