欢迎来到天天文库
浏览记录
ID:37515128
大小:426.50 KB
页数:20页
时间:2019-05-24
《Mobile.Python第四章》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第四章应用程序的构建与SMS收件箱PyS60使你简单的在S60平台上访问用户接构建口框架。感谢PyS60提供如此简单的处理方法,使得你可以学习怎样构建一个有标题栏、菜单和一些对话框的真正的应用程序,这只需要15行左右的代码。我们从怎样在Python中定义函数开始。在4.2部分中我们构建了一个应用程序,它呈现了一个典型的S60应用程序的全部结构。另外,这一部分介绍了PyS60中的一个最重要的概念,回调函数,它让你可以将任意的动作与各种事件进行绑定。当我向你展示怎样在应用程序中添加菜单时这个概念将会很有用。你或许已经迫不及待的想要开始做真
2、正的应用程序了。在4.3部分,我将介绍怎样处理字符串。这个将在4.4部分的访问SMS收件箱时会很有用。例如,我将构建一个功能齐全的应用程序,让你方便的搜索和排序你的SMS消息。最后,在4.5部分,我展示了一个SMS游戏服务,让你和你的朋友用文本消息玩刽子手游戏。4.1函数在前面章节中你尝试的Python脚本是一行一行执行的。每一行代码执行一个动作,并且直到动作结束,才会转到下一行执行。对于从头到尾直接处理的任务,这是简单且健壮的方法。但是,如果我们想要用户来决定做什么,而不是让程序用相同的顺序执行相同的操作,那么我们的代码必须按不同的
3、方式来组织。典型的,有图形用户界面的应用程序是一种情况,这使得用户通过UI元素的交互来执行不同的动作。当使用S60的框架来构建用户界面时,执行进程不是按照代码一行一行来进行的。相反,用户或许通过按、说手机键盘的指定键来启动专门的任务。在这种情况下,你作为一名应用程序开发者的工作就是绑定指定任务到指定的按键事件上。当用户选择一个菜单项或者退出时,你的应用程序应该执行这个事件的相关任务。出于这个目的,你需要创造自己的函数。在例1中(在这里作为例9再一次出现),我们有三行代码按顺序执行。第二行触发了一个文本输入域,第三行触发了一个弹出通知框
4、。例9:第一个PyS60程序importappuifwword=appuifw.query(u"Typeyourname","text")appuifw.note(u"Greetingsfrom"+str(word))我们可以定义一个函数,将那两行代码放到函数里。这是我们在例10中所做的,函数名为askword()。在函数内部,像以往一样执行进程是按顺序进行。函数只是一种给定名字,用来分隔和将代码组织成小块的方法例10:第一个函数importappuifwdefaskword():word=appuifw.query(u"Typeaw
5、ord","text")appuifw.note(u"Thewordwas:"+str(word))任何时候我们想要执行这个任务,就是想要执行这两行代码,我们只需要调用函数askword():askword()askword()在这种情况下,它两次询问一个字。在前一个章节中,你已经一直在调用函数了。例如:messaging.sms_send("+358...",u"GreetingsfromPyS60")appuifw.note(u"IloveMobileArt")这些是较早前例子的代码,调用的是messaging模块的sms_sen
6、d函数和appuifw模块的note函数。Python语言课程:函数函数是将你的代码分割成具有独立功能的方法。函数有名字和函数体,并且可以被调用。函数具有可选的输入变量,叫做参数,同时它可以返回一个值。这里有一个例子:defaddvalues(x,y):print"Valuesare",x,yreturnx+y关键词def开始函数的定义。关键词def后跟函数名,这里是add_values。括号里是函数的参数,用逗号分开。括号后是冒号。函数头后的缩进行组成了函数体,当函数被调用时将会一行接一行的执行。在Python中,缩进产生不同,所有
7、确保函数体的代码行正确对齐。函数体和if子句以及循环语句一样要遵循同样的缩进风格。函数体或许会包含一个跟有值的return语句,它将返回给调用行。return语句是可选的。调用函数是函数名和其后小括号内的输入值:z=3newsum=addvalues(z,5)print"Theirsumis",newsum如果没有给定输入值,在括号中就没有任何东西。返回值可以赋值给变量,如newsum=addvalues(z,5),或者函数调用包含了更复杂的表达式。例如,上面例子中最后一行代码可以写作:print"Theirsumis",addval
8、ues(z,5)这种情况下,你不需要new_sum变量。正如你猜测的,例子产生如下输出:Valueare35Theirsumis8Python的口号是“包含电池”。意思是Python附带了广泛的预定义函数库,使得在完成许
此文档下载收益归作者所有