热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

BlackBerry应用程序开发者指南第一卷:基础第12章打包和部署

作者:Confach发表于2006-04-2821:49版权信息:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息.http:www.cnblogs.comconf

作者:Confach 发表于2006-04-28 21:49
版权信息:可以任意转载, 转载时请务必以超链接形式标明文章原始出处 和作者信息.
http://www.cnblogs.com/confach/articles/387917.html

12

                                     12 打包和部署

使用BlackBerry桌面软件部署应用程序

无线部署应用程序

使用BlackBerry桌面软件部署应用程序

应用程序加载工具是BlackBerry桌面软件的一部分,它使用一个应用程序加载文件(.alx)将新的应用程序装载到BlackBerry设备上.

为每个应用程序创建一个应用程序加载文件(.alx),然后把.alx.cod分发给用户.为获得更多信息,参看应用程序加载在线帮助.

创建一个应用程序加载文件

   1.        BlackBerry IDE,选择一个项目.

   2.        Project菜单上,单击Generate .alx file.

把应用程序的.alx.cod分发给用户.当用户将BlackBerry设备和他们的计算机连接起来时,他们可以使用BlackBerrry桌面软件将应用程序装载到BlackBerry设备.

 :缺省的,应用程序的.cod文件与它的.alx文件放在同一目录下.如果你改变了和.alx文件相关的.cod位置,编辑.alx文件,加入一个元素来指定文件的位置.参看183页的附录:.alx文件的格式获得更多信息.

无线部署应用程序

手持设备软件允许用户利用BlackBerry浏览器无线下载应用程序.用户可以下载标准的MIDletBlackBerry应用程序.为了让用户无线下载应用程序,你必须提供一个恰当的应用程序描述符 (.jad),以及一个应用程序的.cod.jar文件.BlackBerry浏览器中,用户选择一个.jad文件进行下载应用程序.

系统管理员可以设置应用程序控制策略来控制第三方应用程序的使用.参看16页的应用程序控制获得更多信息.

采用下列方式让用户可以无线下载BlackBerryMIDlet应用程序:

  • 使用BlackBerry MDS服务,它将.jar文件转化为.cod文件.
  • 使用BlackBerry JDE创建你的工程,它生成一个.cod文件.

部署.jar文件

BESBlackBerry MDS优化服务提供了一个内置的编码转化器,它将.jar文件转化为.cod文件,它允许用户下载标准的MIDlet.例如,公司的管理员可以维护局域网内一系列已许可的MIDlet.用户可以浏览web页面,并且为应用程序选择一个.jad文件下载.BES将它们发送到BlackBerry设备之前,它会将.jar文件转化为.cod文件.

:Web服务器必须为.cod文件和.jad文件设置MIME类型.对于.cod文件,MIME类型是application/vnd.rim.cod.对于.jad文件,MIME类型是text/vnd.sun.j2me.app-descriptor.对于.jar文件,MIME类型是application/java-archive.

下列版本的BES支持将.jar文件转化为.cod文件.

  1. Microsoft Exchange BES 3.6以及以后的版本
  2. IBM Lotus Domino BES 2.2以及以后版本.

:如果用户使用带有MDS服务的BES访问网络,他们只能下载.jar文件.MDS服务将.jar文件转化为BlackBerry设备需要的.cod文件格式.如果用户使用WAP网关访问网络,用户只能下载.cod文件.

MIDlet应用程序描述符属性

应用程序描述符文件有一个.jad的扩展.一个标准的MIDlet .jad文件包括了下列预定义的属性,可能也会包含应用程序定义的附加属性.

必需的MIDlet属性

描述

MIDlet-Jar-Size

.jar文件的字节大小.

MIDlet-Jar-URL

可以加载.jar文件的URL.

MIDlet-Name

MIDlet包的名称.

MIDlet-Vendor

提供MIDlet包的组织.

MIDlet-Version

MIDlet包的版本,形式为.

 

可选的MIDlet属性

描述

MIDlet-Data-Size

MIDlet包需要的持久数据的字节大小.缺省为0.

MIDlet-Delete-Confirm

当用户确定删除MIDlet包时,文本消息弹出.

MIDlet-Description

MIDlet的描述.

MIDlet-Icon

.jar文件里,用来代表MIDlet包的.png图像的文件名.

MIDlet-Info-URL

描述MIDlet包的未来信息的URL.

MIDlet-Install-Notify

发送一个POST请求以确认MIDlet成功安装的URL.

部署.cod文件

当你编译项目时,BlackBerry JDE创建一个需要的.jad文件.你也可以使用BlackBerry JDEMIDlet .jar文件转化为.cod文件格式.

使web服务器上的.cod.jar文件供用户下载.通过使.cod文件可用,你可以将应用程序部署到那些使用BES但不能访问网络的用户.

:Web服务器必须为.cod文件和.jad文件设置MIME类型.对于.cod文件,MIME类型是application/vnd.rim.cod.对于.jad文件,MIME类型是text/vnd.sun.j2me.app-descriptor.对于.jar文件,MIME类型是application/java-archive.

BlackBerry应用程序描述符属性

除了MIDlet应用程序属性外,下面的属性也应用到BlackBerry .jad文件中.

必需的RIM属性

描述

RIM-COD-Creation-Time

.cod文件创建的时间.

RIM-COD-Module-Dependencies

.cod文件需要的模块列.

RIM-COD-Module-Name

包含在.cod文件中的模块名称.

RIM-COD-SHA1

.cod文件的SHA1哈希

RIM-COD-Size

.cod文件的字节大小.

RIM-COD-URL

可以加载.cod文件的URL.

 

可选的RIM属性

描述

RIM-Library-Flags

RIM保留使用

RIM-MIDlet-Flags

RIM保留使用

RIM-MIDlet-NameResourceBundle

应用程序依赖的资源包名

RIM-MIDlet_Position

应用程序图标在主页面上建议的位置.

:这个位置可能不是应用程序图标在主页面上的实际位置.

BlackBerry允许你创建一个双目的的.jad文件,支持将MIDlet文件下载到BlackBerry设备和其他无线设备中.为了实现它,创建一个既包括RIM-COD-URLRIM-COD-Size属性,又包括MIDlet-Jar-URLMIDlet-Jar-Size属性的.jad文件.BlackBerry设备上,你可以下载.cod文件,在其他设备上,你可以下载.jar文件.

设置.cod文件之间的依赖

.jad包含了一个RIM-COD-Module-Dependencies属性,它指定了应用程序需要的模块,但是没有提供它.如果没有任何需要的模块,BlackBerry浏览器将阻止应用程序的无线安装,并且为用户列出丢失的模块.RIM-COD-Module-Dependencies属性使用户避免下载一个不能运行的应用程序.

RIM-COD-Module-Dependencies属性将以逗号分隔的模块名为参数.例如,一个需要RIM XML库的应用程序使用下面的应用程序描述符:

RIM-COD-Module-Dependencies:net_rim_cldc,net_rim_xml

部署兄弟.cod文件

BlackBerry为应用程序创建单个.cod文件和.jad文件.如果应用程序包含了大于64K字节的代码或源数据,BlackBerry IDE将创建一个包含兄弟文件的.cod文件.BlackBerry浏览器支持包含兄弟文件的.cod文件安装.

:如果.cod文件需要验证,.jad文件中更新已验证的.cod文件大小.参看BlackBerry IDE帮助获得更多信息.

决定.cod文件是否包含兄弟.cod

   1.   提取.cod文件的内容.

任何在原始.cod文件的.cod文件都是兄弟文件.

使用MDS服务

为了使用BlackBerry浏览器将一个应用程序部署到一个BlackBerry设备,.此设备已和3.6.4或更高版本的带有MDS服务的BES连接,你需要将.cod文件和.jad文件放到web服务器上.为了将一个应用程序部署到BlackBerry设备,.jad文件和.cod文件必须放到web 服务器上.MDS服务使用浏览器下载每个兄弟.cod文件,一次一个.

BlackBerry首先加载.jad文件.MDS服务的MDS Provisioning Service(MDS供应服务)为每个原始.cod文件里的兄弟文件重复此过程.

使用BlackBerry Internet服务或WAP浏览器

为了使用BlackBerry浏览器将应用程序部署到一个没有使用BES的设备上,修改.jad文件单独列出每个兄弟文件.你必须从原始的.cod文件提取每个兄弟文件,并且将它们放在web服务器上.BlackBerry浏览器将按照.jad文件列出的顺序一次只下载一个兄弟.cod文件.

:为了避免覆盖原始的.cod文件,提取兄弟.cod文件到一个不同的目录下,而不是原始文件所在的目录.

为了提取兄弟.cod文件,完成下面的操作:

   1.    将原始的.cod文件解压缩,提取兄弟.cod文件.

   2.     将每个兄弟.cod文件放在web服务器上.

   3.     .jad文件中,单独列出兄弟.cod文件.对每个兄弟文件,创建RIM-COD-URL-<#>,RIM-COD-Size-<#>参数.

  • RIM-COD-URL-<#>:为每个兄弟.cod文件创建一个RIM-COD-URL-<#>,并将兄弟文件名放在参数的右边.#一个对每个兄弟文件都增加1的数字.每个兄弟.cod文件的名字和原始的.cod文件的名字一样,后面紧跟-<#>.
  • RIM-COD-Size-<#>:为每个兄弟.cod文件创建一个RIM-COD-Size-<#>参数,并将每个文件的大小放在参数右边,#和加到兄弟文件名后面的数字一样.RIM-COD-Size-<#>参数放在紧靠RIM-COD-URL-<#>的下面.

在下面的例子中,2个兄弟文件.在原始的.cod文件myApp,开发者将兄弟文件命名为myApp-1.codmyApp-2.cod.开发者为每个兄弟文件名加入’.cod’扩展.并为每个兄弟文件创建一个RIM-COD-Size-<#>参数.

Manifest-Version: 1.0

MIDlet-Version: 1.0.0

MIDlet-1: ,,

RIM-COD-Module-Dependencies: net_rim_cldc

MicroEdition-Configuration: CLDC-1.0

RIM-COD-Module-Name: MyApp

MIDlet-Name: My Application

RIM-COD-URL: myApp.cod

RIM-COD-Size: 55000

RIM-COD-URL-1: myApp-1.cod

RIM-COD-Size-1: 50000

RIM-COD-URL-2: myApp-2.cod

RIM-COD-Size-2: 25000

MicroEdition-Profile: MIDP-1.0

 

&#xff1a;为兄弟.cod文件使用下面的命名规则:<原始.cod文件名>-<序列号>.你必须为每个兄弟文件分配一个数字.这个数字从1开始,并且逐次加1.

4. 在你打算部署应用程序的设备上,BlackBery浏览器下载每个单独的兄弟文件.





推荐阅读
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 本文探讨了 Spring Boot 应用程序在不同配置下支持的最大并发连接数,重点分析了内置服务器(如 Tomcat、Jetty 和 Undertow)的默认设置及其对性能的影响。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 解读MySQL查询执行计划的详细指南
    本文旨在帮助开发者和数据库管理员深入了解如何解读MySQL查询执行计划。通过详细的解析,您将掌握优化查询性能的关键技巧,了解各种访问类型和额外信息的含义。 ... [详细]
  • 本文详细介绍如何使用Samba软件配置CIFS文件共享服务,涵盖安装、配置、权限管理及多用户挂载等关键步骤。通过具体示例和命令行操作,帮助读者快速搭建并优化Samba服务器。 ... [详细]
  • 本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ... [详细]
  • 本文详细介绍了如何准备和安装 Eclipse 开发环境及其相关插件,包括 JDK、Tomcat、Struts 等组件的安装步骤及配置方法。 ... [详细]
  • 本文详细介绍如何在Linux系统中配置SSH密钥对,以实现从一台主机到另一台主机的无密码登录。内容涵盖密钥对生成、公钥分发及权限设置等关键步骤。 ... [详细]
author-avatar
.
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有