簡體   English   中英

在Android中顯示SCORM內容

[英]Display SCORM content in Android

我有一個原生的基於Android Moodle的應用程序,我必須在應用程序中顯示SCORM格式的課程。
有人可以幫我解決這個問題嗎...
課程以SCORM格式上傳到我的Moodle網站。
get_course_contents Web服務為我提供了一個指向課程文件的URL, get_course_contents指定的
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");

我的表現是:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.html5test"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="9"
        android:targetSdkVersion="17" />
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.html5test.MainActivity"
            android:hardwareAccelerated="true"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

但我沒有得到所需的結果,無法查看我的SWF ....

在此輸入圖像描述

此外,當我將SCORM包復制到設備的SD卡上並嘗試打開html文件時,它在HTMLViewer應用程序中打開並顯示一個空白的白色屏幕...

在此輸入圖像描述

有人可以幫我解決這個問題....
提前致謝...

  1. 首先,你必須了解scorm的結構。

  2. 你可以看到scorm包是一個包含幾個文件夾的zip文件和一個清單文件。

  3. 首先,您必須解壓縮scorm的zip包,然后您必須解析該imsmanifest.xml文件並維護兩個列表,其中包含與該標題對應的html文件的標題和其他地址。

  4. 我已經使用sax2r2解析器來解析該清單文件,並獲得了兩個包含標題和html文件的其他地址的數組列表。

  5. 稍后你只需要填寫帶有titles數組的ios列表,當用戶點擊該列表的任何標題時,獲取列表的位置並從地址數組列表中檢索與該標題對應的html文件的地址。

  6. 你可以在你的ios的webview中打開html文件,確保已啟用open 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。

的Zeba,

您需要提供LMS(Moodle)SCORM API。 此API(它是定義標准SCORM函數的javascript,如LMSInitialize()LMSFinish() )充當Android SCORM播放器(客戶端)和LMS(服務器)之間的橋梁。

在Moodle的webversion中,Moodle檢查SCORM包的版本,然后包含適當的API作為主API(有aicc.js.phpscorm_12.js.phpscorm_13.js.php )。

您可能希望擴展這些API以在Android應用程序中使用。 獲得API后,您可以通過從Web服務函數返回文件的URL來獲取SCORM內容。

每個SCO文件(例如scormpackage.zip/index.html)都有自己的APIWrapper。 包裝器將找到這樣的LMS API並將其用於連接到LMS后端。

查看adlnet網站 ,了解SCORM包如何使用API​​Wrapper來跟蹤SCORM內容。

core_course_get_courses

你可以使用這個功能。

使用移動moodle。 正在添加許多功能,它與您的網站同步工作,有Android,IOS和Windows Mobile版本。

https://docs.moodle.org/31/en/Moodle_Mobile_features

離線工作,但有一些限制,如測驗,只能與網站聯系得分。

不需要自己創造新的東西。 Moodle Mobile已經播放了SCORM。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM