Zugriff auf Samba Server

T

Twissi

Ambitioniertes Mitglied
4
Hallo,
ich schreibe gerade an einer App welche zum einen alle lokalen Dateien anzeigt und öffnen kann (geht bereits) und auch einen Samba Server ansprechen können soll und auf dem das gleiche wie lokal machen können soll. Also alle Dateien auflisten und öffnen.
Nur will das nicht so wirklich funktionieren...

Ich habe bereits versucht mit der JCIFS Libary zu verbinden aber dort bekomme ich nur:

Code:
java.lang.ExceptionInInitializerError

Und auch einfach via:

Code:
File file = new File("smb://name:pass@server/share/");

kommt auch nichts zu stande.

Hat vielleicht schonmal jemand von euch etwas in der Richtung entwickelt und kann mir weiterhelfen?

Danke :)
 
wegen Dummheit gelöscht!
Ich habs zwar gelesen, aber gleich wieder vergessen ;-)
 
Zuletzt bearbeitet:
Hi,
Wenn du meinen Post nochmal liest wird dir auffallen das ich JCIFS bereits versucht habe und es in dem lustigen error geendet hat. Aber danke für die Antwort :)

Lg

Nachtrag: Habe mal ein wenig getestet. Also JCIFS scheint nur auf meinem Transformer nicht zu gehen. Auf meinem Defy läuft es Oo Gibt es da bekannte Probleme mit Android 3.2 oder so?

Nachtrag Nr. 2:

Hab den Fehler gefunden! :D (Da muss man erstmal drauf kommen):

Es gibt in Android 3.2 wohl eine Blockade die es dem Thread irgendwie nicht direkt erlaubt Dinge wie SMB auszuführen. Man muss die Policy ändern damit es geht:

Code:
ThreadPolicy tp = ThreadPolicy.LAX;
StrictMode.setThreadPolicy(tp);

Danke :)
Gesendet mit der Android-Hilfe.de-App
 
Zuletzt bearbeitet:
Hi, ich möchte auch einfach nur die Dateien aus einem Ordner im Netzwerk auflisten.

Dazu nutze ich jCIFS. So. kurz und knapp: Timeout Exception :(

hier mein kleiner und kurzer code:

Code:
package com.dima.wbrowser;

import jcifs.smb.SmbFile;
import android.app.Activity;
import android.os.Bundle;
import android.os.StrictMode;
import android.os.StrictMode.ThreadPolicy;
import android.view.Menu;

public class Main extends Activity {

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		ThreadPolicy tp = ThreadPolicy.LAX;
		StrictMode.setThreadPolicy(tp);
		
		String path = "smb://192.168.178.20/Share/";
		SmbFile sFile;
		try {
			sFile = new SmbFile(path);
			System.out.println(sFile.getType());
			
			SmbFile[] sfs = sFile.listFiles();
			System.out.println(sfs.length);
			System.out.println("Done");
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.activity_main, menu);
		return true;
	}
}

Die permissions in der manifest datei sind:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE"/>



Der Code scheint bei dem "getType" zu haken. Ich habe aber auch ähnliches schon ausprobiert, mit listFiles() - da war das gleiche Problem. Der Ordner ist freigegeben und jeder darf dort alles. Funktioniert der Code bei jemandem? Oder was mache ich falsch?

Vielen Dank.
 

Ähnliche Themen

M
  • MikelKatzengreis
Antworten
5
Aufrufe
133
swa00
swa00
Jansenwilson
Antworten
1
Aufrufe
762
swa00
swa00
B
Antworten
4
Aufrufe
495
bb321
B
Zurück
Oben Unten