MIDP2.0仕样探索之六

来源:互联网 发布:淘宝网鞋子批发 编辑:程序博客网 时间:2024/04/29 08:55
  • MIDlet Suite 安装篇

(这一章真得很关键,无论你是写应用程序,还是做环境,做测试,甚至于使用者都有必要知道什么样的程序适合于没有问题的运行,由于不同的厂家在实现midp2.0的时候多少有些偏差,所以如果你要写应用程序尽可能的按照规范,不要没事找事哦

应用程序的安装简单来说就是下载程序到设备并让其对用户可用的进程。应用程序的安装是MIDP2.0的必要条件。用户保留对MIDlet suites使用的资源的控制而且可以删除或者安装MIDlet Suite。

设备必须保证用户可以有效的执行MIDlet suite里面的每个MIDlet。到MIDlet suite里面包含复数个MIDlet的时候,应该给予用户提醒。设备可以通过用户的选项设置来很快的运行MIDlet suite里面的一个MIDlet。

安装的时候,用户应该被告知进度情况而且必须给予用户机会去取消安装。安装被中止的时候必须是设备恢复到安装前的状态。

如果MIDlet suite以前在设备上面安装过,应该把新的安装视为一次更新。(参见下篇:更新篇)

为了安装MIDlet suite,应用程序管理器执行以下系列的操作来检查并且提供给用户反馈信息。

  1. 设备通过HTTP开始下载MIDlet suite。如果按照上一篇(发现篇)所说的那样首先下载了应用程序描述文件的话,MIDlet suite的request就是应用程序描叙文件里面写的URL,其他的头没有必要。
  2. 如果服务器或者代理服务器对于MIDlet suite的要求报文的返信是401(Unauthorized)或者407(Proxy Authentication Required)的话,那么设备应该再次发送要求,发送要求的时候应该把用户提供的认证信息放在Authorization或者Proxy-Authorization头的域里面。认证信息应该由用户提供:例如提供给用户对话框用来输入用户名和密码。设备必须最少支持RFC2617的基本认证配置。
  3.  取得的MIDlet suite和报头必须用来被检查以确认MIDlet suite是有效可以被安装到设备上面的。以下的问题发生的时候必须告知用户并中止安装。
  • 如果设备上面没有足够的空间用来存储MIDlet suite,设备必须在状态报告中返回状态码901
  • 如果JAD文件里面指定的MIDlet-Jar-URL属性对应的地方没有JAR文件,设备必须在状态报告中返回状态码907。
  • 如果收到的JAR文件大小不符合JAD文件里面关于文件大小的描述,设备必须在状态报告中返回状态码904。
  • 如果manifest或者其他的文件不能从jad文件里面解压缩的话,设备必须在状态报告中返回状态码907。
  • 如果manifest没有按照正确的语法书写,或者JAR的manifest文件里面必须有的属性项没有的话,设备必须在状态报告中返回状态码907。
  • 如果JAD文件里面的MIDlet-Name,MIDlet-Version,MIDlet-Vendor和JAR的manifest文件里面同样属性的值不一致的话,设备必须在状态报告中返回状态码905。
  • 如果MIDlet suite是可信任的,那么JAD文件里面的以MIDlet-打头的属性值都必须与manifest文件里面的对应值相同。否则,设备必须在状态报告中返回状态码905。
  • 如果应用程序认证失败的话,设备必须在状态报告中返回状态码909。
  • 如果应用程序是一个没有确认的版本而同样有着确认版本的程序已经被安装的情况下,设备必须在状态报告中返回状态码910。
  • 如果程序没有从MIDlet-Permissions属性里面的列表里面得到授权,设备必须在状态报告中返回状态码910。
  • 由于认证以外的原因导致一个静态的push注册失败的时候,设备必须在状态报告中返回状态码911。
  • 如果安装的时候丢失了网络服务,如果可能的话返回状态码903。(由于网络中断,也许没有可能去进行状态报告的传递)

  1. 如果保证这些没有问题的话,那么MIDlet suite里面的MIDlet一定是可以安装并且用户可以通过设备中关于MIDlet选择机制来运行。
  2. 无论是成功地完成安装还是发生了不可恢复的错误,状态都必须按照安装状态报告里面说得那样去报告。

原创粉丝点击