Android SD Kart
- barisatalay
- Üye
- Mesajlar: 398
- Kayıt: 02 Nis 2013 05:43
- İletişim:
Android SD Kart
Merhabalar,
Bu Sd kartın yolunu almak için sabit bir fonksiyon var mıdır ? Nette bir çok şekilde almaya çalışmış çoğu kişi ama hiç birinde olumlu sonuç alamadım da
Bu Sd kartın yolunu almak için sabit bir fonksiyon var mıdır ? Nette bir çok şekilde almaya çalışmış çoğu kişi ama hiç birinde olumlu sonuç alamadım da
Yeni bloğum: http://brsatalay.blogspot.com.tr/
Re: Android SD Kart
uses
System.IOUtils,
...
procedure TForm1.Button1Click(Sender: TObject);
begin
TPath. buradan istediğim adresi alabilirsin
end;
System.IOUtils,
...
procedure TForm1.Button1Click(Sender: TObject);
begin
TPath. buradan istediğim adresi alabilirsin
end;
- barisatalay
- Üye
- Mesajlar: 398
- Kayıt: 02 Nis 2013 05:43
- İletişim:
Re: Android SD Kart
Hepsini denedim Cihaz hafızasındakiler hakkında oradaki hepsi
Yeni bloğum: http://brsatalay.blogspot.com.tr/
Re: Android SD Kart
Buradaki dökümana göre burak_489'un yazdığı yöntemle SD Kartın yolunu da alabiliyormuşsunuz.
Acaba programın izinlerinde bir eksiklik olabilir mi? Harici kartta erişmek için READ_EXTERNAL_STORAGE ve WRITE_EXTERNAL_STORAGE izinlerini verdiniz mi?
Acaba programın izinlerinde bir eksiklik olabilir mi? Harici kartta erişmek için READ_EXTERNAL_STORAGE ve WRITE_EXTERNAL_STORAGE izinlerini verdiniz mi?
There's no place like 127.0.0.1
- barisatalay
- Üye
- Mesajlar: 398
- Kayıt: 02 Nis 2013 05:43
- İletişim:
Re: Android SD Kart
@SimaWB sıfırdan açılan projelerde manuel olarak onlar zaten işaretli gelmekte bende boş bir projede deniyorum.
Peki hata benden kaynaklı olabilir mi?
Cihazım Galaxy S4
Cihazın üzerinde gelen Dosya yöneticisi programından Giriyorum Tüm Dosyalara tıklıyorum:
"Dizin: /storage"
**Alt dizinler hafılarım yani**
SD memory card = "Dizini: /storage/extSdCard"
Device storage = "Dizini: /storage/emulated/0"
Dosya dizinleri böyle.
Verdiğiniz linkte;
GetExternalRingtonesDir -> External Memory
A typical result is: '/storage/emulated/0/Android/data/<application ID>/files/Ringtones'
diyor ve benim cihazdaki yerel hafıza yolunu gösteriyor ?
Peki hata benden kaynaklı olabilir mi?
Cihazım Galaxy S4
Cihazın üzerinde gelen Dosya yöneticisi programından Giriyorum Tüm Dosyalara tıklıyorum:
"Dizin: /storage"
**Alt dizinler hafılarım yani**
SD memory card = "Dizini: /storage/extSdCard"
Device storage = "Dizini: /storage/emulated/0"
Dosya dizinleri böyle.
Verdiğiniz linkte;
GetExternalRingtonesDir -> External Memory
A typical result is: '/storage/emulated/0/Android/data/<application ID>/files/Ringtones'
diyor ve benim cihazdaki yerel hafıza yolunu gösteriyor ?
Yeni bloğum: http://brsatalay.blogspot.com.tr/
Re: Android SD Kart
Denemişsindir muhtemelen ama buradaki gibi basit bir örnek yapıp TPath'in tüm fonksiyonlarının ne değer döndürdüğüne bakabilirsin...
There's no place like 127.0.0.1
- barisatalay
- Üye
- Mesajlar: 398
- Kayıt: 02 Nis 2013 05:43
- İletişim:
Re: Android SD Kart
Aynen dediğiniz gibi onlarıda denedim fakat hala harici hafıza kartımın yolunu alamadım
Yeni bloğum: http://brsatalay.blogspot.com.tr/
- barisatalay
- Üye
- Mesajlar: 398
- Kayıt: 02 Nis 2013 05:43
- İletişim:
Re: Android SD Kart
Tekrar merhabalar,
Sorunu bir şekilde olsa halletmiş bulunmaktayım 1-2 tane fonksiyon hazırladım bunun için.
1.Fonksiyon her cihazın root dizini farklı olabileceği için Root dizini bulmaya yarıyor.
2. Bulduğumuz Root dizindeki dosyaları listelemek için artık gerisi size kalmıştır
Örnek kullanım:
Sorunu bir şekilde olsa halletmiş bulunmaktayım 1-2 tane fonksiyon hazırladım bunun için.
1.Fonksiyon her cihazın root dizini farklı olabileceği için Root dizini bulmaya yarıyor.
Kod: Tümünü seç
function GetRoot: String;
function KacTane(Seperator,Str: String):Integer;
begin
Result := 0;
while Pos(Seperator,Str) >0 do
begin
System.Delete(str,1,Pos(Seperator,str) );
Inc(Result);
end;
end;
var
Tmp: String;
begin
Tmp := AnsiReverseString(TPath.GetSharedMusicPath);
while KacTane('/',Tmp) > 1 do
begin
System.Delete(Tmp,1,Pos('/',Tmp) );
end;
Tmp := AnsiReverseString(Tmp);
Result := Tmp + '/';
end;
Kod: Tümünü seç
procedure GetDizin(Str: String);
var
FileList: TStringDynArray;
s: string;
begin
ListBox1.Items.Clear;
FileList := TDirectory.GetDirectories(Str);
for s in FileList do
ListBox1.items.Add(s);
end
Örnek kullanım:
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
var
tmp: string;
begin
tmp := GetRoot;
ShowMessage('Root dizin: '+ tmp);
GetDizin(tmp);
end;
Yeni bloğum: http://brsatalay.blogspot.com.tr/