{ "type": "class",
  "qname": "org.apache.royale.storage.providers.AndroidExternalStorageProvider",
  "baseClassname": "org.apache.royale.events.EventDispatcher"
  ,
    "description": "The AndroidStorageProvider class implements the IPermanentStorageProvider interface for saving files to a Android external storage.",
  "tags": [
  {  "tagName": "royalecordovaplugin",
         "values": ["cordova-plugin-file"]},
      {  "tagName": "playerversion",
         "values": ["Flash 10.2", "AIR 2.6"]},
      {  "tagName": "productversion",
         "values": ["Royale 0.0"]},
      {  "tagName": "royaleignorecoercion",
         "values": ["FileEntry", "FileWriter", "window", "Blob"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "org.apache.royale.storage.providers.AndroidExternalStorageProvider",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor.",
        "tags": [
        {  "tagName": "param",
               "values": ["target The target dispatcher for events as files are read and written."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.0"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": [{ "name": "target", "type": "org.apache.royale.events.IEventDispatcher"}]}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "org.apache.royale.events.IEventDispatcher",
        "qname": "target",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The target dispatcher for events as files are read and written.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.0"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "readTextFromDataFile",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "A convenience function to read an entire file as a single string of text. The file is storaged in the application's data storage directory. Dispatches a FileRead event once the data is available.",
        "tags": [
        {  "tagName": "param",
               "values": ["fileName The name of the file."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.0"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "fileName", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "openInputDataStream",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Opens an input stream into a file in the data storage directory. A Ready event is dispatched when the stream has been opened. Use the stream to read data from the file.",
        "tags": [
        {  "tagName": "param",
               "values": ["fileName The name of file."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.0"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "fileName", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "writeTextToDataFile",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "A convenience function write a string into a file that resides in the application's data storage directory. If the file already exists it is replaced with the string. Dispatches a FileWrite event once the file has been written.",
        "tags": [
        {  "tagName": "param",
               "values": ["fileName The name of file.", "text The string to be stored."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.0"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "fileName", "type": "String"},
        { "name": "text", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "openOutputDataStream",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Opens an output stream into a file in the data storage directory. A Ready event is dispatched when the stream has been opened. Use the stream to write data to the file.",
        "tags": [
        {  "tagName": "param",
               "values": ["fileName The name of file."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.0"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "fileName", "type": "String"}]}
      ]
  }






