2012-03-24 4 views
4

Ich habe einige Dateien, die von meiner Anwendung verwendet werden müssen, wenn es auf dem Gerät ist. Im Moment kann ich das nur tun, indem ich diese Dateien kopiere und direkt in das Gerät einfüge, indem ich den Computer manuell benutze.Packen Sie Dateien in apk?

So ist es eine Möglichkeit, diese Dateien in apk zu packen oder zu kopieren und wenn auf dem Gerät installieren und Das Programm fügen Sie sie Ordner in dem Gerät angeben, automatisch

Die Dateien, die ich packen wollen, sind Das Modell für Sphinx Spracherkennung

Vielen Dank.

+0

Ja, sollte es sein. Ein APK ist nur eine verherrlichte Zip-Datei. Mit libGDX haben wir APIs, um auf Dateien aus dem Dateisystem zuzugreifen, die dies tun. – ashes999

Antwort

4

können Sie legen Sie die Dateien im/assets Verzeichnis des Projektes, die sie direkt in die apk bauen, und dann Zugriff auf die Datei, um sie zu kopieren oder was auch immer Sie brauchen mit der getAssets() Methode auf ein Context Objekt zur Laufzeit:

InputStream input = context.getAssets().open("your_file_name"); 
String outPath = "/some/path/your_file_name"; 
OutputStream output = new FileOutputStream(outPath); 

// transfer bytes from the inputfile to the outputfile 
byte[] buffer = new byte[1024]; 
int length; 
while ((length = myInput.read(buffer)) > 0) { 
    output.write(buffer, 0, length); 
} 

// Close the streams 
output.flush(); 
output.close(); 
input.close(); 
+0

Es ist nicht notwendig den Ausgabestrom vor dem Schließen zu spülen, close() wird immer zuerst geleert – kdt