Xe5 ve Android geliştirme;Klasörlerin içerini nasıl görürüz?

FireMonkey ve Mobil uygulama (iOS, Android, Windows Phone) ile ilgili sorularınızı bu foruma sorabilirsiniz.
Cevapla
Kullanıcı avatarı
softdestek
Üye
Mesajlar: 155
Kayıt: 17 Eyl 2010 03:53

Xe5 ve Android geliştirme;Klasörlerin içerini nasıl görürüz?

Mesaj gönderen softdestek »

Delphi Xe5 sql lite veritabanı kullanarak android program yazmayı öğrendim fakat sorunum şu:
Programda kullandığımız veritabanı assets/internal diye bir klasöre deploy ediyoruz.
porgramın apk dosyasını kullanıp kurduğumuzda telefonda nereye bu program kaydediliyor.
Cep telefonun yöneticisi ile baktığımızda
/strorage/sdcard0/Android/dataa/com.embarcadero.mysozluk/files

bu klasöründe içi boş görünüyor.

Telefona attığımız programlar nereye kaydediliyor. Bu programların dosyalarını nasıl görebiliriz.Eğer sistem gizliyorsa nasıl bu gizli dosyaları görebiliriz..
Teşekkür ederim.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Xe5 ve Android geliştirme;Klasörlerin içerini nasıl görü

Mesaj gönderen mrmarman »

Mobil cihazınızda ROOT (windows'daki administrator gibidir) değilseniz göremezsiniz..

- Harici SDCard'a kaydetmek istersen, cihazın nedir bilmiyorum ama benim (Sam ... cihaz için :idea:

Kod: Tümünü seç

/storage/extSdCard/veritabani.s3db
dersen External SDCard'ın Rootuna kaydeder. Tabi Projenin Options'daki Permissions'da External Storage için Read ve Write için TRUE izni ayarlamalısın.


Bir de genel bilgi olsun diye TPath ile alınan klasör yollarını bir Memo'ya döktüm. Sizinle paylaşayım..

Cihaz : Samsung i9300 Galaxy S3

Kod: Tümünü seç

System.IOUtils.TPath.GetRandomFileName           =33um0af2.6HB
System.IOUtils.TPath.GetTempFileName             =/storage/emulated/0/Android/data/com.embarcadero.HeaderFooterApplication/files/tmp/tmp.OvOnGl9931
System.IOUtils.TPath.GetTempPath                 =/storage/emulated/0/Android/data/com.embarcadero.HeaderFooterApplication/files/tmp
System.IOUtils.TPath.GetHomePath                 =/data/data/com.embarcadero.HeaderFooterApplication/files
System.IOUtils.TPath.GetDocumentsPath            =/data/data/com.embarcadero.HeaderFooterApplication/files
System.IOUtils.TPath.GetSharedDocumentsPath      =/storage/emulated/0/Android/data/com.embarcadero.HeaderFooterApplication/files
System.IOUtils.TPath.GetLibraryPath              =/data/app-lib/com.embarcadero.HeaderFooterApplication-1
System.IOUtils.TPath.GetCachePath                =/data/data/com.embarcadero.HeaderFooterApplication/cache
System.IOUtils.TPath.GetPublicPath               =/storage/emulated/0/Android/data/com.embarcadero.HeaderFooterApplication/files
System.IOUtils.TPath.GetPicturesPath             =/storage/emulated/0/Android/data/com.embarcadero.HeaderFooterApplication/files/Pictures
System.IOUtils.TPath.GetSharedPicturesPath       =/storage/emulated/0/Pictures
System.IOUtils.TPath.GetCameraPath               =/storage/emulated/0/Android/data/com.embarcadero.HeaderFooterApplication/files/DCIM
System.IOUtils.TPath.GetSharedCameraPath         =/storage/emulated/0/DCIM
System.IOUtils.TPath.GetMusicPath                =/storage/emulated/0/Android/data/com.embarcadero.HeaderFooterApplication/files/Music
System.IOUtils.TPath.GetSharedMusicPath          =/storage/emulated/0/Music
System.IOUtils.TPath.GetMoviesPath               =/storage/emulated/0/Android/data/com.embarcadero.HeaderFooterApplication/files/Movies
System.IOUtils.TPath.GetSharedMoviesPath         =/storage/emulated/0/Movies
System.IOUtils.TPath.GetAlarmsPath               =/storage/emulated/0/Android/data/com.embarcadero.HeaderFooterApplication/files/Alarms
System.IOUtils.TPath.GetSharedAlarmsPath         =/storage/emulated/0/Alarms
System.IOUtils.TPath.GetDownloadsPath            =/storage/emulated/0/Android/data/com.embarcadero.HeaderFooterApplication/files/Download
System.IOUtils.TPath.GetSharedDownloadsPath      =/storage/emulated/0/Download
System.IOUtils.TPath.GetRingtonesPath            =/storage/emulated/0/Android/data/com.embarcadero.HeaderFooterApplication/files/Ringtones
System.IOUtils.TPath.GetSharedRingtonesPath      =/storage/emulated/0/Ringtones
Androidapi.IOUtils.GetExternalFilesDir     =/storage/emulated/0/Android/data/com.embarcadero.HeaderFooterApplication/files
Androidapi.IOUtils.GetFilesDir             =/data/data/com.embarcadero.HeaderFooterApplication/files
Androidapi.IOUtils.GetLibraryPath          =/data/app-lib/com.embarcadero.HeaderFooterApplication-1
Androidapi.IOUtils.GetCacheDir             =/data/data/com.embarcadero.HeaderFooterApplication/cache
Androidapi.IOUtils.GetExternalCacheDir     =/storage/emulated/0/Android/data/com.embarcadero.HeaderFooterApplication/cache
Androidapi.IOUtils.GetExternalCameraDir    =/storage/emulated/0/Android/data/com.embarcadero.HeaderFooterApplication/files/DCIM
Androidapi.IOUtils.GetExternalDownloadsDir =/storage/emulated/0/Android/data/com.embarcadero.HeaderFooterApplication/files/Download
Androidapi.IOUtils.GetExternalMoviesDir    =/storage/emulated/0/Android/data/com.embarcadero.HeaderFooterApplication/files/Movies
Androidapi.IOUtils.GetExternalMusicDir     =/storage/emulated/0/Android/data/com.embarcadero.HeaderFooterApplication/files/Music
Androidapi.IOUtils.GetExternalAlarmsDir    =/storage/emulated/0/Android/data/com.embarcadero.HeaderFooterApplication/files/Alarms
Androidapi.IOUtils.GetExternalRingtonesDir =/storage/emulated/0/Android/data/com.embarcadero.HeaderFooterApplication/files/Ringtones
Androidapi.IOUtils.GetSharedPicturesDir    =/storage/emulated/0/Pictures
Androidapi.IOUtils.GetSharedCameraDir      =/storage/emulated/0/DCIM
Androidapi.IOUtils.GetSharedDownloadsDir   =/storage/emulated/0/Download
Androidapi.IOUtils.GetSharedMoviesDir      =/storage/emulated/0/Movies
Androidapi.IOUtils.GetSharedMusicDir       =/storage/emulated/0/Music
Androidapi.IOUtils.GetSharedAlarmsDir      =/storage/emulated/0/Alarms
Androidapi.IOUtils.GetSharedRingtonesDir   =/storage/emulated/0/Ringtones
Resim
Resim ....Resim
Kullanıcı avatarı
softdestek
Üye
Mesajlar: 155
Kayıt: 17 Eyl 2010 03:53

Re: Xe5 ve Android geliştirme;Klasörlerin içerini nasıl görü

Mesaj gönderen softdestek »

Verdiğiniz bilgiler için teşekkür ederim Muharrem bey,
Aslında sormak istediğim şu biz programları kurduğumuz zaman (her hangi bir program) ben kurulan bu programın hangi klasörde olduğunu merak ediyorum.
Kendi yazdığım veritabanı uygulaması denemelerinde assets/internal diyerek programın veritabanına kaydettiriyorum.

Fakat daha sonra bu yazdığım program cep telefonunda nerde olduğunu bir türlü bulamıyorum...

Sanırım özel bir ayar var..

Eğer yüklenen programların nerde olduğunu görebilirsem telefondan bilgisayarıma dosya kopyalayabilirim.

Telefona attığımız programlar nereye kaydediliyor. Bu programların dosyalarını nasıl görebiliriz.Eğer sistem gizliyorsa nasıl bu gizli dosyaları görebiliriz..

Kısacası telefona yüklenen bir programın dosyalarını bilgisayarıma nasıl kopyala ya bilirim?
ses,resim,db vb...

Şu an için yüklenen programları telefonumdan bilgisayarıma kopyalamıyorum.
Telefonum Samsung s3 mini..
En son softdestek tarafından 27 Oca 2014 04:01 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Xe5 ve Android geliştirme;Klasörlerin içerini nasıl görü

Mesaj gönderen mrmarman »

Dediğim gibi telefonunuz ROOT edilmemiş ise bu kısımları görmenize izin vermiyor.
:!: Bunun için telefonunuzu garanti dışı bırakan bir dizi işlemden geçirmeniz gerekiyor.
Resim
Resim ....Resim
Kullanıcı avatarı
softdestek
Üye
Mesajlar: 155
Kayıt: 17 Eyl 2010 03:53

Re: Xe5 ve Android geliştirme;Klasörlerin içerini nasıl görü

Mesaj gönderen softdestek »

Öncelikle bu soruyu sormamın sebebi olan olay neydi ondan bahsedeyim.
Eşim telefonuna bir ney müziği dinleme programı yükledi.
Bu programdaki ney müziğini telefon zili yapabilir misin dedi.

Kısacası uygulama içindeki müziği almam gerekiyordu..

Çözümüm ise şu oldu...

1)https://play.google.com/store/apps/deta ... ckup&hl=tr
Bu siteden App Backup & Restore adlı bir uygulamayı telefonunuza kuruyorsunuz.
Bu uygulama telefondaki istediğiniz uygulamanın yedeğini sd karta veya beliryeceğiniz yere alabiliyorsunuz.
Yedeği aldığınız zaman yedek dosyanın uzantısı da .apk oluyor.
2)Aldığınız yedek dosyasını 7.zip bne bunu kullnamıyorum onun yerine winrar ile birlikte ilişkilendirip açıyorum.
Bu sayede yedeklediğiniz programın tüm içeriğini dosya dosya elde edebililiyorsunuz.
/storage/sdcardcard0/App_Backup_Restore Hafıza kartı yoksa buraya yedek alıyor.Fakat içi boş

Eğer hafıza kartınız varsa N:\App_Backup_Restore gibi bir klasöre alıyor.



Bu sayede root edip telefonu garanti dışı yapmaya da gerek kalmıyor.

Not: Eğer telefonuzda hafıza kartı takılı değilse program yedek almada sorun çıkıyor.
M:\App_Backup_Restore
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Xe5 ve Android geliştirme;Klasörlerin içerini nasıl görü

Mesaj gönderen mrmarman »

Israr ediyorum.

Bir çok yedekleme programı var. Hepsinde ortak seçenek (1) APP, (2) APP+DATA, (3) DATA . Hepsinde de der ki, DATA opsiyonları ROOT gerektirir. Bunlardan en güçlüleri Titanium Backup ve GOBackup. Onlar da aynı kaderi paylaşıyor..

Hani bir ses dosyasından bahsettiniz ya, indirilen dosyalar sandığınız gibi projenin özel data klasörüne indirilmezler. Bu zaten beklenmez. Dahili hafızada Download klasörü varsayılan tercihtir. EPosta eklentileri dahi önizleme yapabilmek için burayı kullanır.

İndirme yaptığınız program kendine özel klasör de açmış olabilir. Bunu da yine ilgili programın ayarlar kısmından saçilebilen ulaşılabilir sd bölmesinde yer alır. Bu ya dahili SD ya da harici SD bölümüdür.

İlk olarak size önerdiğim de budur. :idea:
softdestek yazdı:Öncelikle bu soruyu sormamın sebebi olan olay neydi ondan bahsedeyim.
Eşim telefonuna bir ney müziği dinleme programı yükledi.
Bu programdaki ney müziğini telefon zili yapabilir misin dedi.

Kısacası uygulama içindeki müziği almam gerekiyordu..

Çözümüm ise şu oldu...

1)https://play.google.com/store/apps/deta ... ckup&hl=tr
Bu siteden App Backup & Restore adlı bir uygulamayı telefonunuza kuruyorsunuz.
Bu uygulama telefondaki istediğiniz uygulamanın yedeğini sd karta veya beliryeceğiniz yere alabiliyorsunuz.
Yedeği aldığınız zaman yedek dosyanın uzantısı da .apk oluyor.
2)Aldığınız yedek dosyasını 7.zip bne bunu kullnamıyorum onun yerine winrar ile birlikte ilişkilendirip açıyorum.
Bu sayede yedeklediğiniz programın tüm içeriğini dosya dosya elde edebililiyorsunuz.
/storage/sdcardcard0/App_Backup_Restore Hafıza kartı yoksa buraya yedek alıyor.Fakat içi boş

Eğer hafıza kartınız varsa N:\App_Backup_Restore gibi bir klasöre alıyor.



Bu sayede root edip telefonu garanti dışı yapmaya da gerek kalmıyor.

Not: Eğer telefonuzda hafıza kartı takılı değilse program yedek almada sorun çıkıyor.
M:\App_Backup_Restore
Resim
Resim ....Resim
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Re: Xe5 ve Android geliştirme;Klasörlerin içerini nasıl görü

Mesaj gönderen sadettinpolat »

softdestek yazdı: Telefona attığımız programlar nereye kaydediliyor. Bu programların dosyalarını nasıl görebiliriz.Eğer sistem gizliyorsa nasıl bu gizli dosyaları görebiliriz..
Telefonunuza yuklediginiz programlarin APK dosyalarini bilgisayariniza ROOT islemi yapmadan indirmeniz mumkun.
Ben bunun icin Airdroid uygulamasini kullaniyorum. Airdroid ile telefona baglanip App kismindan telefona yuklu olan APK dosyalarini gorup istedigim APK yi download secenegi ile bilgisayarima alabiliyorum.

Istediginiz dosya APK icindeyse bu sekilde erisebilirsiniz.
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Kullanıcı avatarı
softdestek
Üye
Mesajlar: 155
Kayıt: 17 Eyl 2010 03:53

Re: Xe5 ve Android geliştirme;Klasörlerin içerini nasıl görü

Mesaj gönderen softdestek »

O programı kurmuştum telefona fakat ilk baştaki yöntemle yapınca gerek kalmadı;
İlginiz için teşekkür ederim.
Kullanıcı avatarı
mcuyan
Üye
Mesajlar: 28
Kayıt: 04 Eki 2010 10:47

Re: Xe5 ve Android geliştirme;Klasörlerin içerini nasıl görürüz?

Mesaj gönderen mcuyan »

uses a System.IOUtils ekleyin.. Xe 10.2 Berlin de çalışan kodlardır.. Size Delphinin bulabileceği tüm pathlerin listesi.. Win, Android ve IOS çalışır..

procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Loaded;
end;

procedure TForm1.Loaded;
begin
inherited Loaded;

Form1.ListBox1.Items.Add ('GetTempPath: '+TPath.GetTempPath);
Form1.ListBox1.Items.Add ('GetHomePath: '+TPath.GetHomePath);
Form1.ListBox1.Items.Add ('GetDocumentsPath: '+TPath.GetDocumentsPath);
Form1.ListBox1.Items.Add ('GetApplicationPath: '+TPath.GetFullPath ('Form1'));
Form1.ListBox1.Items.Add ('GetSharedDocumentsPath: '+TPath.GetSharedDocumentsPath);
Form1.ListBox1.Items.Add ('GetLibraryPath: '+TPath.GetLibraryPath);
Form1.ListBox1.Items.Add ('GetCachePath: '+TPath.GetCachePath);
Form1.ListBox1.Items.Add ('GetPublicPath: '+TPath.GetPublicPath);
Form1.ListBox1.Items.Add ('GetPicturesPath: '+TPath.GetPicturesPath);
Form1.ListBox1.Items.Add ('GetSharedPicturesPath: '+TPath.GetSharedPicturesPath);
Form1.ListBox1.Items.Add ('GetCameraPath: '+TPath.GetCameraPath);
Form1.ListBox1.Items.Add ('GetSharedCameraPath: '+TPath.GetSharedCameraPath);
Form1.ListBox1.Items.Add ('GetMusicPath: '+TPath.GetMusicPath);
Form1.ListBox1.Items.Add ('GetSharedMusicPath: '+TPath.GetSharedMusicPath);
Form1.ListBox1.Items.Add ('GetMoviesPath: '+TPath.GetMoviesPath);
Form1.ListBox1.Items.Add ('GetSharedMoviesPath: '+TPath.GetSharedMoviesPath);
Form1.ListBox1.Items.Add ('GetAlarmsPath: '+TPath.GetAlarmsPath);
Form1.ListBox1.Items.Add ('GetSharedAlarmsPath: '+TPath.GetSharedAlarmsPath);
Form1.ListBox1.Items.Add ('GetDownloadsPath: '+TPath.GetDownloadsPath);
Form1.ListBox1.Items.Add ('GetSharedDownloadsPath: '+TPath.GetSharedDownloadsPath);
Form1.ListBox1.Items.Add ('GetRingtonesPath: '+TPath.GetRingtonesPath.Empty);
Form1.ListBox1.Items.Add ('GetSharedRingtonesPath: '+TPath.GetSharedRingtonesPath);

end; // Loaded //
M.Cihan UYAN
SNC Tech&Soft
Cevapla