46
richmediaplus.utils.Al ertUtil Alert Manager in Flex Project Alvin / Aedis.Ju 朱朱朱 Blog: blog.richmediaplus.com Email: [email protected] Code: http://code.google.com/p/aler tutil/

Alert util

Embed Size (px)

DESCRIPTION

http://code.google.com/p/alertutil/Alert Manager in Adobe Flex

Citation preview

Page 1: Alert util

richmediaplus.utils.AlertUtilAlert Manager in Flex Project

Alvin / Aedis.Ju 朱文轩Blog: blog.richmediaplus.comEmail: [email protected]: http://code.google.com/p/alertutil/

Page 2: Alert util

show(text:String = “”, 消息title:String = “”, 标题flags:uint = 0x4, 按钮parent:Sprite = null, 居中对象closeHandler:Function = null, 按钮处理函数iconClass:Class = null, 图标defaultButtonFlag:uint = 0x4 默认按钮):mx.controls.Alert

Page 3: Alert util

title

iconClass messageText

flags

defalutButton

closeHandler

parent

Page 4: Alert util
Page 5: Alert util

<1%Alert Code in Project :

Page 6: Alert util

天使魔鬼

客户

Page 7: Alert util

• 手动去找,总会有遗漏• 每次都需要重新编译• 修改的东西太多• …

烦!烦!烦!烦!

Page 8: Alert util

软件开发的三大愿望

1. 更高的 生产力2. 更少的 BUG3. 更容易 维护

Page 9: Alert util

生活中,软件开发对你来说有什么样的愿望

Page 10: Alert util

个人的愿望

Page 11: Alert util

个人的愿望

Page 12: Alert util

个人的愿望

Page 13: Alert util

个人的愿望

Page 14: Alert util

个人的愿望

Page 15: Alert util

• 代码能少则少,少做无用功。• 尽可能一个文件,不用到处去打开 / 关闭很多文件。• 外部文件 loading ,不用再编译。• …

对 Alert的期望

Page 16: Alert util

• 代码能少则少,少做无用功。• 尽可能一个文件,不用到处去打开 / 关闭很多文件。• 外部文件 loading ,不用再编译。• …

对 Alert的期望

Alert Manager/Controler

Page 17: Alert util

Manage mx.controls.Alert ?

Page 18: Alert util

show(text:String = “”, title:String = “”, flags:uint = 0x4, parent:Sprite = null, closeHandler:Function = null, iconClass:Class = null, defaultButtonFlag:uint = 0x4 ):Alert

Page 19: Alert util

show(text:String = “”, title:String = “”, flags:uint = 0x4, parent:Sprite = null, closeHandler:Function = null, iconClass:Class = null, defaultButtonFlag:uint = 0x4 ):Alert

show(text:String = “”, title:String = “”, flags:uint = 0x4, parent:Sprite = null, closeHandler:Function = null, iconClass:Class = null, defaultButtonFlag:uint = 0x4 ):Alert

Page 20: Alert util

MessageType

Question ?

Error X

Warning !

Information i

Page 21: Alert util

show(text:String = “”, title:String = “”, flags:uint = 0x4, parent:Sprite = null, closeHandler:Function = null, iconClass:Class = null, defaultButtonFlag:uint = 0x4 ):Alert

Page 22: Alert util

show(text:String = “”, title:String = “”, flags:uint = 0x4, parent:Sprite = null, closeHandler:Function = null, iconClass:Class = null, defaultButtonFlag:uint = 0x4 ):Alert

show(text:String = “”, title:String = “”, flags:uint = 0x4, parent:Sprite = null, closeHandler:Function = null, iconClass:Class = null, defaultButtonFlag:uint = 0x4 ):Alert

Page 23: Alert util

AlertType• OK• YesNo• YesCancel• YesNoCancel• …

Page 24: Alert util

show(text:String = “”, title:String = “”, flags:uint = 0x4, parent:Sprite = null, closeHandler:Function = null, iconClass:Class = null, defaultButtonFlag:uint = 0x4 ):Alert

show(text:String = “”, title:String = “”, flags:uint = 0x4, parent:Sprite = null, closeHandler:Function = null, iconClass:Class = null, defaultButtonFlag:uint = 0x4 ):Alert

Page 25: Alert util

show(text:String = “”, title:String = “”, flags:uint = 0x4, parent:Sprite = null, closeHandler:Function = null, iconClass:Class = null, defaultButtonFlag:uint = 0x4 ):Alert

show(text:String = “”, parent:Sprite = null, closeHandler:Function = null, ):Alert

Page 26: Alert util

show(text:String = “”, parent:Sprite = null, closeHandler:Function = null, ):Alert

show(text:String = “”, closeHandler:Function = null, parent:Sprite = null, ):Alert

Page 27: Alert util

AlertUti lshowOKMessage

showYesCancelMessage

showYesNoMessage

showYesNoCancelMessage

Page 28: Alert util

showOKMsg(text:String,closeHandler:Function = null,parent:Sprite = null,title:String = ""):Alert

showYesNoMsg(text:String,closeHandler:Function = null,parent:Sprite = null,defaultButtonFlag:uint = Alert.NO,title:String = ""):Alert

showYesNoCancelMsg(text:String,closeHandler:Function = null,parent:Sprite = null,defaultButtonFlag:uint = Alert.CANCEL,title:String = ""):Alert

show…Msg(…): Alert

show(text:String = “”, closeHandler:Function = null, parent:Sprite = null, ):Alert

Page 29: Alert util

这就是AlertUtil ?!

Page 30: Alert util

后面才是重点!

Page 31: Alert util

• register.idExist 用户名已经存在

• register.passwordRule 请输入 6-18 位字符的密码

• register.passwordRepeatRule 请重新输入一次相同的登录密码!

• register.regSuccess 注册成功

• register.addressConfirm 个性域名确认后无法修改,确定吗?

• common.undefinedError 不明的错误原因

Module.Action

Page 32: Alert util

MessageType

Question ?

Error X

Warning !

Information i

Page 33: Alert util

[MessageType].[Module].[Action]

Page 34: Alert util

• warning.register.idExist 用户名已经存在

• warning.register.passwordRule 请输入 6-18 位字符的密码

• warning.register.passwordRepeatRule 请重新输入一次相同的登录密码!

• info.register.regSuccess 注册成功

• question.register.addressConfirm 个性域名确认后无法修改,确定吗?

• error.common.undefinedError 不明的错误原因

MessageType.Module.Action

Page 35: Alert util

XML

Page 36: Alert util

<?xml version="1.0" encoding="UTF-8"?><message> <title>Project Title</title> <info> <register> <regSuccess> 用户注册成功。 </regSuccess> </register> </info> <warning> <register> <idExist> 用户名已经存在! </idExist> <passwordRule> 密码长度 6 ~ 16 个字符,字母区分大小写! </passwordRule> <passwordRepeatRule> 请重新输入一次相同的登录密码! </passwordRepeatRule> <oldNewPasswordDiff> 两次输入的密码不一致! </oldNewPasswordDiff> </register> </warning> <question> <register> <addressConfirm> 个性域名确认后无法修改,确认吗? </addressConfirm> </register> </question> <error> <login> <passwordWrong> 对不起,你的密码不正确! </passwordWrong> </login> <common> <undefinedError> 不明的错误原因! </undefinedError> </common> </error></message>

Page 37: Alert util

[MessageType].[Module].[Action]

MessageNode

Page 38: Alert util

showOKMsg(msgNode:String,closeHandler:Function = null,parent:Sprite = null,title:String = ""):Alert

AlertUtil

showYesNoMsg(msgNode:String,closeHandler:Function = null,parent:Sprite = null,defaultButtonFlag:uint = Alert.NO,title:String = ""):Alert

showYesNoCancelMsg(msgNode:String,closeHandler:Function = null,parent:Sprite = null,defaultButtonFlag:uint = Alert.CANCEL,title:String = ""):Alert

show…Msg(…): Alert

show(text:String = “”, closeHandler:Function = null, parent:Sprite = null, ):Alert

Page 39: Alert util

messageNode

AlertUtiltitle iconClass flags defaultButton

closeHandler parent

Page 40: Alert util

<warning> <register> <nameRequire> 注册名为必填字段,不能为空! </nameRequire> <passwordRequire> 密码为必填字段,不能为空! </passwordRequire> … <***Require>*** 为必填字段,不能为空! </***Require> … </register></warning><info> <search> <resultNone> 您搜索的关键字 *** ,返回结果为空。 </resultNone> </search></info>

Page 41: Alert util

<warning> <register> <nameRequire> 注册名为必填字段,不能为空! </nameRequire> <passwordRequire> 密码为必填字段,不能为空! </passwordRequire> <***Require>*** 为必填字段,不能为空! </***Require> </register></warning><info> <search> <resultNone> 您搜索的关键字 *** ,返回结果为空。 </resultNone> </search></info>

<warning> <register> <require>[0] 为必填字段,不必能为空! </require> </register></warning><info> <search> <resultNone> 您搜索的关键字 [0] ,返回结果为空。 </resultNone> </search></info>

Page 42: Alert util

showOKMsg(msgNode:String,

closeHandler:Function = null, paramArr:Array = null,parent:Sprite = null,title:String = ""):Alert

AlertUtil

showYesNoMsg(msgNode:String,

closeHandler:Function = null, paramArr:Array = null,parent:Sprite = null,defaultButtonFlag:uint = Alert.NO,title:String = ""): Alert

showYesNoCancelMsg(msgNode:String,

closeHandler:Function = null, paramArr:Array = null,parent:Sprite = null,defaultButtonFlag:uint = Alert.CANCEL,title:String = ""): Alert

show…Msg(…): Alert

Page 43: Alert util

messageNode

AlertUtiltitle iconClass flags defaultButton

closeHandler parent

parameters

Page 44: Alert util

AlertUtil• 直接提供了相应的 showOKMsg showYesNoMsg showYesNoCancelMsg• Message 信息集中化,方便管理,寻找,修改等操作。• Message 信息由 XML 配置,整个工程无需再编译发布新的 swf 版本。• 加入带参数的形式,合理改善因内容相同而对象不同的苦恼。

OpenSource in Google Project: http://code.google.com/p/alertutil/

Page 45: Alert util

Flex Project

ActionScript Project

Air Project

AlertUtil

创建适合你自己的 AlertUtil

Page 46: Alert util

Alvin / Aedis.Ju.air? air Jordan? air = atmosphere?no.no.no! air = ria = RIA = Rich Internet

Applications!

Thank you!