2012-04-14 6 views
1

Ich mache eine Android-Anwendung, und ich möchte zwei Dateien mit den Namen fsx.xml und xplane.xml hinzufügen. Dies ist der Code, den ich benutze, es läuft perfekt ohne Fehler, aber die /planesim erscheint nur leer. Bitte helfen Sie!Ich kann nicht Dateien von Assets auf externen Speicher kopieren

String planesimFolderName = "/planesim"; 
String fsxFile = "fsx.xml"; 
String xplaneFile = "xplane.xml"; 
String asset; 
File assetDestination; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.splash); 
    final File planesimFolder = new File(Environment.getExternalStorageDirectory() + planesimFolderName); 
    final AssetManager assetManager = getAssets(); 
    for (int fileCount = 1; fileCount == 2; fileCount++) { 
     if (fileCount == 1) { 
      asset = fsxFile; 
     } else if (fileCount == 2) { 
      asset = xplaneFile; 
     } 
     assetDestination = new File(Environment.getExternalStorageDirectory() + planesimFolderName + "/" + asset); 
     try {  
      InputStream in = assetManager.open(asset); 
      FileOutputStream f = new FileOutputStream(assetDestination); 
      byte[] buffer = new byte[1024]; 
      int len1 = 0; 
      while ((len1 = in.read(buffer)) > 0) { 
      f.write(buffer, 0, len1); 
      } 
      f.close(); 
     } catch (Exception e) { 
      Log.d("CopyFileFromAssetsToSD", e.getMessage()); 
     } 
    } 
} 

Danke für Ihre Zeit und Hilfe, zeokila.

Antwort

1

Dies ist Ihr Fehler:

for (int fileCount = 1; fileCount == 2; fileCount++) 

die wie ist:

int fileCount = 1; 
while(fileCount == 2) // never true... 

Die for-Schleife nie (weil 1 != 2) ausgeführt wird, sollte:

for (int fileCount = 1; fileCount <= 2; fileCount++) 
+0

Danke, das gelöst das Problem. –