在Android中显示SCORM内容

前端之家收集整理的这篇文章主要介绍了在Android中显示SCORM内容前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个原生的基于Android Moodle的应用程序,我必须在应用程序中显示SCORM格式的课程.
有人可以帮我解决这个问题吗…
课程以SCORM格式上传到我的Moodle网站.
get_course_contents Web服务为我提供了一个指向课程文件的URL,如此处所指定的
https://github.com/dongsheng/moodle/wiki/WebService:get_course_contents

如何在我的原生Android应用程序中显示这些SCORM文件
我是否需要解析imsmanifest.xml文件获取SCORM包的详细信息并显示HTML5内容?还是有另一种/更好的方法

**

**
更新:
我现在尝试在WebView中显示SCORM包内容.
我的SCORM包就像:

我已将此包复制到我的POC项目的Assets文件夹中.
我的WebView设置是:

settings.setJavaScriptEnabled(true);
settings.setPluginsEnabled(true);
PluginState state = PluginState.ON;
settings.setPluginState(state);
settings.setAllowFileAccess(true);
settings.setJavaScriptCanOpenWindowsAutomatically(true);
settings.setDatabaseEnabled(true);

String databasePath = this.getApplicationContext()
        .getDir("database",Context.MODE_PRIVATE).getPath();
settings.setDatabasePath(databasePath);
webview.loadUrl("file:///android_asset/ttttt.html");

我的表现是:

但我没有得到所需的结果,无法查看我的SWF ….

此外,当我将SCORM包复制到设备的SD卡上并试图打开html文件时,它在HTMLViewer应用程序中打开并显示一个空白的白色屏幕……

有人可以帮我解决这个问题….
提前致谢…

最佳答案
>首先你必须了解scorm的结构.
>您可以看到scorm包是一个包含几个文件夹的zip文件和一个清单文件.
>首先你需要解压缩scorm的zip包然后你必须解析那个imsmanifest.xml文件并维护两个列表,其中包含与该标题对应的html文件标题和其他地址.
>我使用sax2r2解析器来解析该清单文件,并获得了两个包含标题和html文件的其他地址的数组列表.
>稍后你只需要填写带有titles数组的ios列表,当用户点击该列表的任何标题时,获取列表的位置并从地址数组列表中检索与该标题对应的html文件的地址.
> inaly你可以在你的ios的webview中打开html文件,确保已经启用了开放scorm html5文件所需的参数.

在android我启用并设置这些值这是java代码,但它可能会帮助你.

WebViewClient webViewClient = new WebViewClient();
    webView.setWebViewClient(webViewClient);
    webView.clearCache(true);
    webView.getSettings().setUseWideViewPort(true);
    webView.setInitialScale(1);
    webView.getSettings().setBuiltInZoomControls(true);
    webView.clearHistory();
    webView.getSettings().setAllowFileAccess(true);
    webView.getSettings().setDomStorageEnabled(true);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setPluginState(WebSettings.PluginState.ON);
    webView.getSettings().setLoadWithOverviewmode(true);
    webView.getSettings().setUseWideViewPort(true);
    webView.getSettings().setPluginState(PluginState.ON);
    webView.loadUrl("file://" + open_scorm.scorm_path
            + open_scorm.scorm_name + "/" + open_scorm.href.get(0));

webView用于在android中打开html / html5文件,我在android中启用了以上设置,默认情况下这些设置在android中,可能在ios中你只需要加载那个html文件并且dnt必须启用所有这些值.

在上面你可以看到我正在检索href.get(0)这是scorm的第一个html5文件.

简单来说,你只需要解压缩scorm,解析imsmanifest.xml文件获取它的数据并用它来打开/解析scorm.

猜你在找的Android相关文章