Search code examples
javaandroidscorm

Playing SCORM on Android devices


I've got few questions about Android and SCORM. In both areas I'm pretty new and I only spent one evening digging the web in search of some answers.

Topics I found were about synchronizing SCORM package with LMS but I do not need that. I'm just wondering how to PLAY (and just play, no need for any syncing or tracking) SCORM package on android device (Lenovo tablet with Android 4+ OS). If I try to make my own application which allows to browse local SCORM packages, will I be able to launch SCORM by using WebView component?

I found this tutorial:

http://support.scorm.com/entries/21826060-RSOfflinePlayer-Developer-Tutorial

which has section:

Playing Content and Syncing Results

where I found some interesting source code about configuring this WebView component in order to play SCORM content, but I'm not really sure if I need RSOfflinePlayer.jar for this.

I've also heard, that if device supports Flash, I will be able to launch SCORMs with Browser - is it true?

Maybe you know some application which can do that? Or library which could help?

Is there anyone with experience in:
1) Java SCORM API:

would paste URL, but I need more reputation

2) Celine

https://code.google.com/p/celine-scorm/

Any help will be appreacieted, not only by me but also by children with different kinds of diseases (we are just students trying to help them).


Solution

  • Javier is almost right. I will nonetheless try to explain this again. Maybe you will gather more information from this.

    Every SCO is basically a zipped webpage. You have to unzip it and look for imsmanifest.xml, find the initial file in there (index.html, player.html, something like this). It will NOT be located under resources. You first have to look at Organizations > Organization > Item > Identifierref, which will give you an ID. Then you have to look at Resources > Resource with the above ID > href value. This is the file you're looking for.

    Example (index.html is the file you need):

    <organizations default="someorg">
      <organization identifier="someorg">
        <title>Some Title</title>
        <item identifier="CourseItem01" identifierref="SCO_Resource_01" isvisible="true">
          <title>SCO Title Here</title>
        </item>
      </organization>
    </organizations> 
    ...
    ...
    <resources>
      <resource identifier="SCO_Resource_01" type="webcontent" adlcp:scormtype="sco" href="index.html">
        <file href="index.html"/>
        <file href="SCORM_API_wrapper.js"/>
    ...
    

    Once you found it, just open it in WebView and it'll try to connect to SCORM API in the parent window. You'll have to provide some dummy functions to fool it into thinking that it did connect to LMS and carry on as usual. Otherwise it will either fail or throw alerts at you.