黑莓app下载问题

时间:2011-08-22 11:01:21

标签: blackberry

我正在黑莓中构建一个AppWorld类型的东西。我有类别,子类别和应用程序。我想做应用内下载,但截至目前我正在调用浏览器并传递网址和下载内容发生。如何在我的应用程序内进行应用内下载或下载,就像黑莓AppWorld一样。

2 个答案:

答案 0 :(得分:0)

您需要使用代码模块管理器API来下载和安装应用程序。

答案 1 :(得分:0)

代码碎片

                      _moduleGroup = new CodeModuleGroup(appVendorName);
                    _moduleGroup.setVersion(JADParser.getValue("MIDlet-Version"));
                    _moduleGroup.setVendor(vendorName);
                    _moduleGroup.setFriendlyName(appName);
                    _moduleGroup.setDescription(JADParser.getValue("MIDlet-Description"));
                    String dependency = JADParser.getValue("RIM-COD-Module-Dependencies");
                    if (dependency != null)
                    {
                            dependency = dependency.trim();
                            String[] dependencyList = vStringUtils.split(dependency, ',');
                            for (int i = 0; i < dependencyList.length; i++)
                            {
                                    _moduleGroup.addDependency(dependencyList[i]);
                            }
                    }
        for (i = 0; i < count; i++)
        {
            if (!writeCODFile(getCodFileData(i), getCodFileName(i)))
            {
                throw new Exception();
            }
        }
    private boolean writeCODFile(byte[] data, String fileName)
    {
            boolean isSuccess = true;
            int moduleId = 0;
            if (data.length > MODULE_SIZE_LIMIT)
            {
                    moduleId = CodeModuleManager.createNewModule(data.length, data, MODULE_SIZE_LIMIT);
                    isSuccess = CodeModuleManager.writeNewModule(moduleId, MODULE_SIZE_LIMIT, data, MODULE_SIZE_LIMIT, data.length - MODULE_SIZE_LIMIT);
            }
            else
            {
                    moduleId = CodeModuleManager.createNewModule(data.length, data, data.length);
            }
            if (moduleId > 0 && isSuccess)
            {
                    int ret = CodeModuleManager.saveNewModule(moduleId, true, _transactionId);


                    if (ret == CodeModuleManager.CMM_OK_MODULE_OVERWRITTEN || ret == CodeModuleManager.CMM_OK)
                    {
                            return true;
                    }

            }
            return false;
    }