2012-03-28 20 views
0

Ich muss alle meine Dateien aus dem Asset-Ordner meiner App auf die SD-Karte kopieren, so dass ich in diesen Ordner über Updates von meinem Web-Service schreiben kann. Ich kann jedoch nicht den richtigen Weg finden. Im Folgenden ist der Code ich bin derzeit mit, die eine Datenbank über kopieren funktioniert:android - Kopieren von Dateien aus Asset-Ordner

public PluginResult execute(String arg0, JSONArray arg1, String arg2) 
{ 
    String[] resourseFileNames = {"file1.html","file2.html"}; 
    final int length = resourseFileNames.length; 

    try 
    { 
     String pName = this.getClass().getPackage().getName(); 
     this.copyOriginal("Databases.db","/data/data/"+pName+"/app_database/"); 
     this.copyOriginal("0000000000000001.db","/data/data/"+pName+"/app_database/file__0/"); 
     for(int i=0; i<length; i++) 
     { 
      this.copyOriginal("file:///android_asset/www/" + resourseFileNames[i],"file:///SDCard/MYAPP/www/" + resourseFileNames[i]); 
     } 
    } 
    catch (IOException e) 
    { 
     System.err.println("Caught IOException: " + e.getMessage()); 
    } 
} 

void copyOriginal(String file, String folder) throws IOException 
{ 
    File CheckDirectory; 
    CheckDirectory = new File(folder); 
    if (!CheckDirectory.exists()) 
    { 
    CheckDirectory.mkdir(); 
    } 

    OutputStream out = new FileOutputStream(folder+file); 
    InputStream in = this.ctx.getAssets().open(file); 
    byte[] buf = new byte[1024]; 
    int len; while ((len = in.read(buf)) > 0) out.write(buf, 0, len); 
    in.close(); 
    out.close();  
} 

hier Jede Hilfe sehr geschätzt werden würde, ich glaube, ich bin in der Nähe, es ist der Dateipfad ich glaube, ist falsch, wie ich das immer halten Fehler (Logcat -. 'meine Dateipfad defienet' (Keine solche Datei oder das Verzeichnis)

Dank

Antwort

0

Es schien, dass? Mein oben angegebener Code war korrekt, der Grund, warum er nicht funktionierte, lag daran, dass die Dateigröße meiner Übertragung zu groß war. Die einfachste Lösung war, meine Firmware zu aktualisieren 2.3.3 +

0

haben Sie diese Zeile in Ihrer Manifest-Datei

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
+0

Ja, ich habe das, blank in minf das oben funktioniert beim Kopieren der Datenbankdateien, aber für den Rest der Dateien fehlschlägt, z. die Datei1.html danke –

Verwandte Themen