Android Einbindung von externen Dateien in Eclipse Projekt

GGK_01

Bekanntes Mitglied
Hallo,

ich lesen Daten aus einer Datei ein ("sdcard/Android/Titles.txt") ein.
Wie kann ich diese Datei in mein Eclipse Porjekt packen, so dass diese auch beim Export in der apk verfügbar ist?

Danke und LG
GGK
 

E99

Aktives Mitglied
Du gehst im aktuellen Projekt auf:

--> File
--> Import
--> FileSystem auswählen...
---> Pfad im obersten Textfeld eingeben... (evtl. weitere Einstellungen vornehmen)
OK!

wenn du jetzt das Projekt als .jar exportierst, müsste die Datei enthalten sein...

hoffe ich konnte helfen!
 

schlingel

Gesperrter Benutzer
Nicht ganz. Du musst das File das Verzeichnis res/raw geben und kannst es dann von dort auslesen. Siehe dazu auch die Doku.

So wird es auch vom Google Build Tool das im Hintergrund von Eclipse läuft in's APK gepackt.
 

GGK_01

Bekanntes Mitglied
Hallo,

danke für Eure Tipps...aber ganz komm ich damit nicht klar. Mir ist noch sehr unklar, wo in Android die Dateien abgelegt werden und wie ich diese auch über meinen Code auch ansprechen kann.

Ich habe die Dateien nun in Eclipse importiert, der Zugriff auf diese Daten bleibt mir jedoch verwehrt (laut Doku kann ich im res/raw nur Dateien ablegen, nicht in diese wiederum Daten schreiben):

LogCat: FileNotFoundException

Die Files liegen im obersten Verzeichnis meines Android Packages (gleiche Ebene wie die AndroidManifest.xml).
Java:
File file = new File("Titles.txt");
	    FileReader freader = new FileReader(file);
	    BufferedReader reader = new BufferedReader(freader);
		String line;
		while ((line = reader.readLine()) != null) {
			Log.i(TAG,line);
			items.add(line);
		}
		freader.close();

Ich kann die Datei nur über "sdcard/Android/Titles.txt" ansprechen...aber das bringt mir für andere Installationen nichts.

Danke

GGK
 
Zuletzt bearbeitet:

schlingel

Gesperrter Benutzer
laut Doku kann ich im res/raw nur Dateien ablegen, nicht in diese wiederum Daten schreiben
Stimmt, du hast auch nur vom Lesen geschrieben ;-)

Am saubersten wäre es IMHO so:
- Du gibst ein Default-File im RAW-Ordner mit. Dieses File sollte so klein wie möglich sein und nur dazu dienen die kleinste funktionierende Möglichkeit des Files darzustellen.
- Beim ersten Start der Applikation packst du dieses File auf die SD-Karte. Falls es keine SD-Karte gibt, packst du es in den Internal Storage. Dann merkst du dir noch in deinen App-Preferences wohin du es gepackt hast.
- Auf dieses File führst du dann deine Operationen aus.

Dann erschlägst du gleich 2 Fliegen mit einer Klappe:
- Du hast dein File
- Du belegst nicht unnötig Platz im kostbaren Internal Storage.

Eine andere Möglichkeit wäre natürlich auch anstatt des Default-Files alles in eine Klasse zu packen und die dann als Vorlage zu verwenden. Das macht das resultierende APK wieder ein wenig kleiner, könnte aber - je nach dem wie die Daten aussehen - Updates etwas aufwendiger machen.
 

GGK_01

Bekanntes Mitglied
OK...so könnte ich das machen.

kannst du mir noch sagen, wie ich die Dateien anspreche, die ich über den Eclipse Import abgelegt habe...
Meine Datei liegt initial im gleichen Ordner wie die AndroidManifest.xml....wie gebe ich den Pfad dahin in meinem Code an?

Danke

GGK
 

schlingel

Gesperrter Benutzer
Verschiebe es in den RAW-Ordner. Ob es anders zuverlässig funktioniert kann ich dir nicht sagen, aber so schreibt es die Doku vor.
 

GGK_01

Bekanntes Mitglied
ganz kann ich noch nicht locker lassen :D

ich baue folgenden Code in mein Programm ein:
Java:
String FILENAME = "hello.file";
String string = "hello world!";

FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();

ich kann die Datei "hello.file" nicht auf meinem Gerät finden....wo finde ich denn die Datei?

GGK
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Problem mit Einbindung einer externer Bibliothek Android & Cross-Platform Mobile Apps 2
rafi072001 Java API um HTML Elemente von externen Websiten zu bekommen Android & Cross-Platform Mobile Apps 2
M File der externen SD-Karte herausfinden Android & Cross-Platform Mobile Apps 3
T Android Externen Speicher beschreiben Android & Cross-Platform Mobile Apps 3
Meeresgott Android Best Practices zum Laden von Dateien Android & Cross-Platform Mobile Apps 0
V Kennt jemand ein Programm , um .DEX Dateien zu öffnen, bearbeiten und wieder speichern? Android & Cross-Platform Mobile Apps 2
J Android String in andere Java-Dateien überführen Android & Cross-Platform Mobile Apps 1
B Dateien Speichern Android & Cross-Platform Mobile Apps 6
T Android Wie kann man bei WebView Dateien hochladen? Android & Cross-Platform Mobile Apps 6
domjos1994 Große Dateien aus Soap-Objekt Android & Cross-Platform Mobile Apps 10
F Android Effizientes Laden von Dateien Android & Cross-Platform Mobile Apps 8
Anfänger2011 Speichern von bereits gefüllten Dateien Android & Cross-Platform Mobile Apps 8
B Android Dateien senden von assets Ordner? Android & Cross-Platform Mobile Apps 7
U MediPlayer: Wave Dateien aus "Music"-Ordner abspielen Android & Cross-Platform Mobile Apps 3
M Dateien in apk z.B. Texturdaten Android & Cross-Platform Mobile Apps 1
@ .jar Dateien auf Android Gerät (Motorola RAZR XT910) Android & Cross-Platform Mobile Apps 6
P dateien laden nur aus jar? Android & Cross-Platform Mobile Apps 7
T Kann man JAD bzw. JAR Dateien auch auf meiner HP öffnen? Android & Cross-Platform Mobile Apps 2
G Auf vorhandene Dateien zugreifen Android & Cross-Platform Mobile Apps 6

Ähnliche Java Themen

Neue Themen


Oben