主题文章

> 教程

[制作教程] 代码笔记03(锁屏密码)

发布时间: 2015-07-02 11:39

      近期米青给大家带来锁屏密码系统验证代码,设定系统锁屏密码的用户终于可以不用二次密码解锁了(数字密码) 这给锁屏密码带来非常大的实用性,终于可以摆脱主题锁屏密码部分样子货的境地,虽然还仅限数字密码,但还是一项很大的进步,不禁要给主题组一个大大的赞。

      通过阅读米青发布的示例代码,发现有很多可取和新特性,故专门贴出我的第三篇代码笔记,只期对一些人对于此段代码的理解有所帮助,同时理解能力有限,错误难免,敬请斧正。解读代码,也请勿忘见怪。

代码附件出处使用系統密码的个性化密码输入界面,如果链接失效,请在论坛中搜索”使用系统密码的个性化密码输入界面“ 代码当中有诸多动画,如果理解有困难可以略过,动画的作用仅是锦上添花,而非必须,就看动画最后的数值就好。

1.代码中出现了一个新的全局变量#_password_mode。它的值为0就表示系统未设定数字密码。值为1表示,系统存在数字密码,值为-1表示锁定,当然如果系统设定的是混合密码或是图案密码它的值为0,这方面希望主题组能在以后给大家带来更多的惊喜。

2.元素数组(Array),属性有:name,x,y,count,indexName。count表示元素重复次数,indexName与变量数组中的index类似,组标。这个东西有什么作用呢,其实是简化了有规律重复元素的编写。

主要代码如下:

<Array name="" x="" count="" indexName="" >

3.数字数组(number[]),定义一个数字数组只需在普通数字变量类型中加入type="number[]" 同时指定指定数量size,组标index,数组赋值时需分别赋值。
主要代码如下:
定义:

<Var name="" type="number[]" size="" const="true" index="" expression=""/>

4.命令集(MultiCommand)可以把诸多命令放在里面,统一命令的执行判断条件(condition)
主要代码如下:

<MultiCommand condition="">
<VariableCommand name="" expression="" type=""/>
<MethodCommand target="" method="performAction" paramTypes="String" params="''"/>

5.组操作集,可将triggers(触发集)放置组中,触发集中除可包含已知动作up,down,double,cancel等外,还可自定义动作名,以备其他地方调用。调用方法:
MethodCommand taget="组操作集名" method="performAction" paramTypes="String" params="'动作名(包含自定义)'" /> 此组操作集对于代码的书写和理解调用等带来了极大的便利。主要代码如下:
定义:

<Group name="">
<Triggers>

调用:

MethodCommand target="" method="performAction" paramTypes="String" params="''"  />

6.解锁数字密码验证命令(UnlockVerifyPasswordCommand ),属性有password字符串类型,enable支持类型(1即为数字型密码)包含触发动作验证成功(success),验证失败(fail),特别指出的是,密码是字符串型,验证锁定次数取决于系统设定。多次验证失败后将调出系统验证解锁,直至锁定。这个命令也是此篇代码的核心所在,主要代码如下:

<UnlockVerifyPasswordCommand password="" condition=""  unlockDelay="" enable="1">
<Triggers>
<Trigger action="success">
......
</Trigger>

      写在最后,主题的锁屏密码其实表大于实,主要原因是过去的锁屏密码很容易被绕过,同时和系统解锁密码可能会产生重复,带来诸多尴尬。但此次主题组给锁屏密码带来了新的实用化的特性,虽然还是不够全面,但还是值得一些编写过锁屏密码主题制作者学习的。主题组编写的代码本身不是特别难以理解,但是带来的新的元素数组,组操作集等对于简化代码的编写和理解意义还是很大的。值得理解、学习和运用。同时大量的动画的加入使得解锁界面动感十足,我想对于主题市场ios类型主题锁屏密码泛滥的今天,还是很有借鉴意义。

亲,你需要登录后才能对该作品进行评论喔!

登录 立即注册