von SD Karte o.ä. lesen - mit openFileInput(String string) nicht möglich..

  • Antworten:4
  • Bentwortet
Tobias
  • Forum-Beiträge: 33

01.08.2010, 22:54:28 via Website

Hallo,

ich bin gerade dabei eine Applikation zu schreiben, bei der es von entscheidener Bedeutung ist, dass die Benutzer am Computer (Text-)Dateien erstellen können, die die Software dann einließt.

Ich habe dies bisher mit der openFileInput(String string) Methode gemacht, die aus dem Data Ordner der jeweiligen Software liest.
Leider musste ich nun feststellen, dass man auf einem Android Handy (sofern es nicht geroutet ist) gar nicht die Schreib- und nicht einmal die Leserechte für dieses Verzeichnis besitzt. Dadurch ist meine Software eig. unbrauchbar.

Bei openFileInput(String string) ist eine Pfadangabe leider nicht möglich. Gibt es denn eine andere Methode mit der es möglich ist, zum Beispiel von der SD-Karte zu lesen, wo eine Pfadangabe also erlaubt ist? Das muss doch möglich sein! Ich finde nur leider nirgendwo, auch in keinem Buch einen Hinweis darauf, nur in Verbindung mit dem Abspielen von Mediadateien.

Ich wäre also jeden Tip äußerst dankbar ;)

LG und Vielen Dank im Voraus,
Tobias

Antworten
Dominic Bartl
  • Forum-Beiträge: 180

01.08.2010, 23:14:50 via Website

Ich bin grad auf windows aber wenn ich wieder ubuntu boote kann ich dir etwas code schicken was dir weiterhilft (morgen oder so)
schick mir einfach eine email das ich nicht vergesse xD
domiii.1992@gmail.com

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

02.08.2010, 12:21:38 via Website

Dafür müsstes du mal beschreiben wie du das machst! Ohne Code ist das wenig zu helfen.
Der File zugriff ist gegenüber standart Java anders, ja, aber nicht sonderlich, hier mal ein ansatz: https://www.nextpit.de/de/android/forum/thread/401022/Ist-Datei-vorhanden-ueberpruefen


Grüsse von den Kanaren,
Mac

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

Antworten
Gelöschter Account
  • Forum-Beiträge: 5.136

02.08.2010, 12:33:15 via Website

Aus dem Data Verzeichnis solltest Du derartige Dateien sowie so nicht lesen.

Bei solchen Dateien sollte der Austausch mit dem PC über die Verzeichnisse auf der SD - Karte erfolgen. (Alleine um den Telefonspeicher zu schonen) und da gibt es zig Beispiele im Netz zu finden. Ich selber hab auch schon oft über SD Karte Dateien eingelesen .. das funktioniert einwandfrei.

Geht z.B. so :

try{

File f = new File(Environment.getExternalStorageDirectory()+"/filename.txt");

fileIS = new FileInputStream(f);

BufferedReader buf = new BufferedReader(new InputStreamReader(fileIS));

String readString = new String();

//just reading each line and pass it on the debugger

while((readString = buf.readLine())!= null){

Log.d("line: ", readString);

}

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e){

e.printStackTrace();

}


Beispiel ist nicht von mir, ich hab es nur aus einer der zahlreichen Quellen im Netz der Beispielhaftigkeit halber kopiert ...

lg Voss

Antworten
Tobias
  • Forum-Beiträge: 33

11.08.2010, 11:58:47 via Website

tut mir leid, dass ich mich erst so spät melde.

Danke, es funktioniert wunderbar so, es waren im Endeffekt tatsächlich nur 2 Zeilen Code die geändert werden mussten.

LG,

Tobias

Antworten