小试Python for symbian  

刚才尝试了一下Python for Symbian,虽然是不是官方的版本,但是做的还是挺不错的,界面有点类似于python IDLE,麻雀虽小,五脏俱全,而且可以在手机上直接执行python语句,就像当年的文曲星上的basic一样,还可以执行文件里的程序。更强的是可以通过蓝牙和超级终端使用电脑在手机上做开发和调试,同样可以采用TCP/IP的方式。
我想试着写一个发送短信的小应用,因为好多时候发短信都是给一个人发,我想免除每次的选择收件人的步骤,只有一个主界面编辑短信,按下左软件发送,右软键退出,每次发送完短信之后自动的退出,甚至自动锁键盘,这是我的初衷,参考了python的语法和symbian的API后,写出了下面的代码:
import appuifw
import e32
import messaging

def exit_key_handler():
app_lock.signal()

def send():

messaging.sms_send(‘13920267633′, round.get(0,round.len()))
#appuifw.note(round.get(0,round.len()))
appuifw.note(u’Success’)
exit_key_handler()

app_lock = e32.Ao_lock()
round = appuifw.Text()

appuifw.app.screen=’large’
appuifw.app.body = round

appuifw.app.menu = [(u’Send’,send)]

appuifw.app.exit_key_handler = exit_key_handler
app_lock.wait()

整个程序很简单,只是一个python for symbian的GUI程序框架,中间填入了一些GUI的控件,比如菜单和文本框,值得一提的是这个开源的PyS60程序提供了几个写好的lib,比如上面用到的appuifw,这个是提供GUI的,messaging,这个是短消息的,sysinfo,提供系统信息的,还有联系人,摄像机模块,这些模块极大的方便了symbian的开发,虽然还不如C/Java支持的丰富,不过作为一个雏形,已经很不错了,说句题外话,听说已经有perl for symbian了。

在开发的时候,使用Symbian SDK自带的模拟器的Release版本在电脑上进行模拟,免得在终端上测试出现麻烦,整个模拟器的界面就是一个手机的屏幕,上面是一个典型的S60系统,使用的symbian主题,EPOCROOT\release\wins\udeb\z\system就是这个模拟手机的C盘系统目录,里面也有app,font,mtm,data等目录,就像真正的手机一样,我在这个“手机”里也安装了相同版本的python for symbian,这样可以方便调试,我下载了PythonForS60_SDK_2ndEd_1_3_1.zip,其实按照我的版本我应该采用FP1,不过差别不大,也可以混用,在这个压缩包里有一个sdk_files.zip文件,把它的内容对应的都复制到EPOCROOT下,再重新启动模拟器,这时候在功能表里就能看到python的图标了,进入python就能执行脚本了。

python for symbian 是个非常简单快捷的symbian开发工具,它非常适合原型开发,或是为了开发C/Java程序做一些验证性的前驱工作,我虽然没有python基础,但是因为python语言的简单易用,同样可以在很短的时间内写出程序。python作为一种symbian上的新的开发语言,应该说很有前途。

这个程序在模拟器上调试成功了,但是在下载到手机上的时候却出现了问题,当在模拟器上选择run script执行脚本之后,一切正常,但是收到短信的时候才发现是乱码,本来我以为是因为python在处理中文的时候出现的问题,后来经过查找资料发现原来发送短信的时候有两种方式,一种是纯文本方式,特点是简单易行,缺点是只支持英文,另一种就是PDU编码,它可以支持中文,但是比较麻烦,再寻找PDU的资料,实在挺麻烦的,这个程序就告一段落吧。

欢迎大佬支持本博客的发展 -- Donate --

本文链接:小试Python for symbian

转载声明:本站文章若无特别说明,皆为原创,转载请注明来源:三十岁,谢谢!^^


分享到:          
  1. 没有评论

  1. 没有通告