Yorumları: 483
Konuları: 80
Kayıt Tarihi: 28-12-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 2.019 Programcı
13-09-2020, Saat: 14:08
(Son Düzenleme: 14-09-2020, Saat: 17:12, Düzenleyen: cinarbil.)
iyi günler.
Samsung A8 tablet
Android 10 yüklü
Geliştirici modu açık
Usb hata aayıklaması açık
Delphi ide Android 32 bit secili yanındaki listede tableti görebiliyorum.
aşağıdaki demoyu veya test amaçlı 1 label olan uygulamayı derlerken aşağıdaki hatayı veriyor.
Tablette veya başka bir yerde ayar mı var.
Fesih beyin daha önceki uyarıları yapıldı.
FMX (Multi platform uygulama geliştirme) alanında hepimiz acemi sayılırız. Bu anlamda kitap size ve sizin gibi bu işe gönül veren DelphiCan'lara oldukça faydası olacaktır.
Örnek uygulamalar bölümüne giriş yetkiniz tanımlanmıştır.
Not: Örnek uygulamaları Android platformunda çalıştırmadan önce mutlaka aşağıdaki işlem adımlarını uygulayın.
1- Android platformu için Project Manager > Android > Android SDK x.x > Libraries üzerinde sağ tuş tıklayıp, Revert System Files to Default menüsünü seçin.
2- Aynı zamanda Project > Deployment penceresinde Revert to Default butonuna tıklayın.
3- Project Manager penceresinde proje üzerinde sağ tuşa tıklayın ve Clean menüsünü seçin.
4- Projeyi Build ile derleyin.
5- Daha sonra çalıştırın.
Delphi de Anroid ayarları
https://www.delphican.com/showthread.php...02#pid2602
Alınan Hata :
\zxing\demo\advancedTestApp\Android\Release\FmxAdvancedTestApp\AndroidManifest.xml:19: error: No resource identifier found for attribute 'requestLegacyExternalStorage' in package 'android'
xml dosyası içeriyi
<?xml version="1.0" encoding="utf-8"?>
<!-- BEGIN_INCLUDE(manifest) -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="%package%"
android:versionCode="%versionCode%"
android:versionName="%versionName%"
android:installLocation="%installLocation%">
<uses-sdk android:minSdkVersion="%minSdkVersion%" android:targetSdkVersion="%targetSdkVersion%" />
<%uses-permission%>
<uses-feature android:glEsVersion="0x00020000" android:required="True"/>
<application android:persistent="%persistent%"
android:restoreAnyVersion="%restoreAnyVersion%"
android:label="%label%"
android:debuggable="%debuggable%"
android:largeHeap="%largeHeap%"
android:icon="%icon%"
android:theme="%theme%"
android:hardwareAccelerated="%hardwareAccelerated%"
android:resizeableActivity="false"
android:requestLegacyExternalStorage="true">
<%provider%>
<%application-meta-data%>
<%uses-libraries%>
<%services%>
<!-- Our activity is a subclass of the built-in NativeActivity framework class.
This will take care of integrating with our NDK code. -->
<activity android:name="com.embarcadero.firemonkey.FMXNativeActivity"
android:label="%activityLabel%"
android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
android:launchMode="singleTask">
<!-- Tell NativeActivity the name of our .so -->
<meta-data android:name="android.app.lib_name"
android:value="%libNameValue%" />
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<%activity%>
<%receivers%>
</application>
</manifest>
<!-- END_INCLUDE(manifest) -->
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Yorumları: 174
Konuları: 21
Kayıt Tarihi: 19-06-2020
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 534 Acemi
14-09-2020, Saat: 02:19
(Son Düzenleme: 14-09-2020, Saat: 02:20, Düzenleyen: hayalyilmaz43.)
(13-09-2020, Saat: 14:08)cinarbil Adlı Kullanıcıdan Alıntı: iyi günler.
Samsung A8 tablet
Android 10 yüklü
Geliştirici modu açık
Usb hata aayıklaması açık
Delphi ide Android 32 bit secili yanındaki listede tableti görebiliyorum.
aşağıdaki demoyu veya test amaçlı 1 label olan uygulamayı derlerken aşağıdaki hatayı veriyor.
Tablette veya başka bir yerde ayar mı var.
Fesih beyin daha önceki uyarıları yapıldı.
FMX (Multi platform uygulama geliştirme) alanında hepimiz acemi sayılırız. Bu anlamda kitap size ve sizin gibi bu işe gönül veren DelphiCan'lara oldukça faydası olacaktır.
Örnek uygulamalar bölümüne giriş yetkiniz tanımlanmıştır.
Not: Örnek uygulamaları Android platformunda çalıştırmadan önce mutlaka aşağıdaki işlem adımlarını uygulayın.
1- Android platformu için Project Manager > Android > Android SDK x.x > Libraries üzerinde sağ tuş tıklayıp, Revert System Files to Default menüsünü seçin.
2- Aynı zamanda Project > Deployment penceresinde Revert to Default butonuna tıklayın.
3- Project Manager penceresinde proje üzerinde sağ tuşa tıklayın ve Clean menüsünü seçin.
4- Projeyi Build ile derleyin.
5- Daha sonra çalıştırın.
Delphi de Anroid ayarları
https://www.delphican.com/showthread.php...02#pid2602
Alınan Hata :
\zxing\demo\advancedTestApp\Android\Release\FmxAdvancedTestApp\AndroidManifest.xml:19: error: No resource identifier found for attribute 'requestLegacyExternalStorage' in package 'android'
xml dosyası içeriyi
<?xml version="1.0" encoding="utf-8"?>
<!-- BEGIN_INCLUDE(manifest) -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="%package%"
android:versionCode="%versionCode%"
android:versionName="%versionName%"
android:installLocation="%installLocation%">
<uses-sdk android:minSdkVersion="%minSdkVersion%" android:targetSdkVersion="%targetSdkVersion%" />
<%uses-permission%>
<uses-feature android:glEsVersion="0x00020000" android:required="True"/>
<application android:persistent="%persistent%"
android:restoreAnyVersion="%restoreAnyVersion%"
android:label="%label%"
android:debuggable="%debuggable%"
android:largeHeap="%largeHeap%"
android:icon="%icon%"
android:theme="%theme%"
android:hardwareAccelerated="%hardwareAccelerated%"
android:resizeableActivity="false"
android:requestLegacyExternalStorage="true">
<%provider%>
<%application-meta-data%>
<%uses-libraries%>
<%services%>
<!-- Our activity is a subclass of the built-in NativeActivity framework class.
This will take care of integrating with our NDK code. -->
<activity android:name="com.embarcadero.firemonkey.FMXNativeActivity"
android:label="%activityLabel%"
android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
android:launchMode="singleTask">
<!-- Tell NativeActivity the name of our .so -->
<meta-data android:name="android.app.lib_name"
android:value="%libNameValue%" />
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<%activity%>
<%receivers%>
</application>
</manifest>
<!-- END_INCLUDE(manifest) -->
açıklama şurada;
https://developer.android.com/about/vers...cy/storage
yapmanız gereken manifest de
requestLegacyExternalStorage = True
Yorumları: 4.224
Konuları: 379
Kayıt Tarihi: 07-07-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 16.975 Üstad
(14-09-2020, Saat: 02:19)hayalyilmaz43 Adlı Kullanıcıdan Alıntı: (13-09-2020, Saat: 14:08)cinarbil Adlı Kullanıcıdan Alıntı: iyi günler.
Samsung A8 tablet
Android 10 yüklü
Geliştirici modu açık
Usb hata aayıklaması açık
Delphi ide Android 32 bit secili yanındaki listede tableti görebiliyorum.
aşağıdaki demoyu veya test amaçlı 1 label olan uygulamayı derlerken aşağıdaki hatayı veriyor.
Tablette veya başka bir yerde ayar mı var.
Fesih beyin daha önceki uyarıları yapıldı.
FMX (Multi platform uygulama geliştirme) alanında hepimiz acemi sayılırız. Bu anlamda kitap size ve sizin gibi bu işe gönül veren DelphiCan'lara oldukça faydası olacaktır.
Örnek uygulamalar bölümüne giriş yetkiniz tanımlanmıştır.
Not: Örnek uygulamaları Android platformunda çalıştırmadan önce mutlaka aşağıdaki işlem adımlarını uygulayın.
1- Android platformu için Project Manager > Android > Android SDK x.x > Libraries üzerinde sağ tuş tıklayıp, Revert System Files to Default menüsünü seçin.
2- Aynı zamanda Project > Deployment penceresinde Revert to Default butonuna tıklayın.
3- Project Manager penceresinde proje üzerinde sağ tuşa tıklayın ve Clean menüsünü seçin.
4- Projeyi Build ile derleyin.
5- Daha sonra çalıştırın.
Delphi de Anroid ayarları
https://www.delphican.com/showthread.php...02#pid2602
Alınan Hata :
\zxing\demo\advancedTestApp\Android\Release\FmxAdvancedTestApp\AndroidManifest.xml:19: error: No resource identifier found for attribute 'requestLegacyExternalStorage' in package 'android'
xml dosyası içeriyi
<?xml version="1.0" encoding="utf-8"?>
<!-- BEGIN_INCLUDE(manifest) -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="%package%"
android:versionCode="%versionCode%"
android:versionName="%versionName%"
android:installLocation="%installLocation%">
<uses-sdk android:minSdkVersion="%minSdkVersion%" android:targetSdkVersion="%targetSdkVersion%" />
<%uses-permission%>
<uses-feature android:glEsVersion="0x00020000" android:required="True"/>
<application android:persistent="%persistent%"
android:restoreAnyVersion="%restoreAnyVersion%"
android:label="%label%"
android:debuggable="%debuggable%"
android:largeHeap="%largeHeap%"
android:icon="%icon%"
android:theme="%theme%"
android:hardwareAccelerated="%hardwareAccelerated%"
android:resizeableActivity="false"
android:requestLegacyExternalStorage="true">
<%provider%>
<%application-meta-data%>
<%uses-libraries%>
<%services%>
<!-- Our activity is a subclass of the built-in NativeActivity framework class.
This will take care of integrating with our NDK code. -->
<activity android:name="com.embarcadero.firemonkey.FMXNativeActivity"
android:label="%activityLabel%"
android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
android:launchMode="singleTask">
<!-- Tell NativeActivity the name of our .so -->
<meta-data android:name="android.app.lib_name"
android:value="%libNameValue%" />
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<%activity%>
<%receivers%>
</application>
</manifest>
<!-- END_INCLUDE(manifest) -->
açıklama şurada;
https://developer.android.com/about/vers...cy/storage
yapmanız gereken manifest de
requestLegacyExternalStorage = True
Konuyu dikkatli okuyun. @ cinarbil bu parametreyi zaten eklemiş.
Yorumları: 4.224
Konuları: 379
Kayıt Tarihi: 07-07-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 16.975 Üstad
14-09-2020, Saat: 13:46
(Son Düzenleme: 14-09-2020, Saat: 13:47, Düzenleyen: TescilsizUzman.)
Yeni bir projede belirttiğiniz hatanın (No resource identifier found for attribute 'requestLegacyExternalStorage' in package 'android') ortaya çıkmaması gerekiyor.
Yeni bir proje, varsayılan olarak ExternalStorage iznine sahiptir.
Yeni bir proje açın.
Form üzerine birkaç bileşen yerleştirin.
Uygulamayı kaydedin ve compile edin.
Projenin bulunduğu dizindeki AndroidManifest.template.xml dosyasını bir metin editöründe açın ve aşağıdaki varsayılan AndroidManifest.template ile aynı olup olmadığını kontrol edin.
Eğer sizin AndroidManifest.template.xml ile buradaki AndroidManifest.template içeriği aynı ise geriye kalan tek şey EksternalStorage'a ulaşmaya çalıştığınız ilk anda dinamik izin talebinde bulunmak. (Dinamik izin talepleri formda bir çok başlık altında anlatılmıştı)
<?xml version="1.0" encoding="utf-8"?>
<!-- BEGIN_INCLUDE(manifest) -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="%package%"
android:versionCode="%versionCode%"
android:versionName="%versionName%"
android:installLocation="%installLocation%">
<uses-sdk android:minSdkVersion="%minSdkVersion%" android:targetSdkVersion="%targetSdkVersion%" />
<%uses-permission%>
<uses-feature android:glEsVersion="0x00020000" android:required="True"/>
<application android:persistent="%persistent%"
android:restoreAnyVersion="%restoreAnyVersion%"
android:label="%label%"
android:debuggable="%debuggable%"
android:largeHeap="%largeHeap%"
android:icon="%icon%"
android:theme="%theme%"
android:hardwareAccelerated="%hardwareAccelerated%"
android:resizeableActivity="false">
<%provider%>
<%application-meta-data%>
<%uses-libraries%>
<%services%>
<!-- Our activity is a subclass of the built-in NativeActivity framework class.
This will take care of integrating with our NDK code. -->
<activity android:name="com.embarcadero.firemonkey.FMXNativeActivity"
android:label="%activityLabel%"
android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
android:launchMode="singleTask">
<!-- Tell NativeActivity the name of our .so -->
<meta-data android:name="android.app.lib_name"
android:value="%libNameValue%" />
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<%activity%>
<%receivers%>
</application>
</manifest>
<!-- END_INCLUDE(manifest) -->
Yukarıdaki işlem adımları ile yeni proje Android 10 SDK sürümünde çalışıyorsa, asıl sorun mevcut projenizdeki AndroidManifest.template.xml dosyasındaki tanımlamalardan kaynaklanıyor demektir. Bu durumda yukarıdaki varsayılan AndroidManifest.template.xml dosyasını kullanın ve uygulamayı çalıştırın. Alınmayan izinler ile ilgili dinamik hata uyarıları ile karşılaşacaksınız. Bu uyarıları bizimle paylaşırsanız, birlikte bir çözüm üretmeye çalışırız.
Yorumları: 483
Konuları: 80
Kayıt Tarihi: 28-12-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 2.019 Programcı
(14-09-2020, Saat: 13:46)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Yeni bir projede belirttiğiniz hatanın (No resource identifier found for attribute 'requestLegacyExternalStorage' in package 'android') ortaya çıkmaması gerekiyor.
Yeni bir proje, varsayılan olarak ExternalStorage iznine sahiptir.
Yeni bir proje açın.
Form üzerine birkaç bileşen yerleştirin.
Uygulamayı kaydedin ve compile edin.
Projenin bulunduğu dizindeki AndroidManifest.template.xml dosyasını bir metin editöründe açın ve aşağıdaki varsayılan AndroidManifest.template ile aynı olup olmadığını kontrol edin.
Eğer sizin AndroidManifest.template.xml ile buradaki AndroidManifest.template içeriği aynı ise geriye kalan tek şey EksternalStorage'a ulaşmaya çalıştığınız ilk anda dinamik izin talebinde bulunmak. (Dinamik izin talepleri formda bir çok başlık altında anlatılmıştı)
<?xml version="1.0" encoding="utf-8"?>
<!-- BEGIN_INCLUDE(manifest) -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="%package%"
android:versionCode="%versionCode%"
android:versionName="%versionName%"
android:installLocation="%installLocation%">
<uses-sdk android:minSdkVersion="%minSdkVersion%" android:targetSdkVersion="%targetSdkVersion%" />
<%uses-permission%>
<uses-feature android:glEsVersion="0x00020000" android:required="True"/>
<application android:persistent="%persistent%"
android:restoreAnyVersion="%restoreAnyVersion%"
android:label="%label%"
android:debuggable="%debuggable%"
android:largeHeap="%largeHeap%"
android:icon="%icon%"
android:theme="%theme%"
android:hardwareAccelerated="%hardwareAccelerated%"
android:resizeableActivity="false">
<%provider%>
<%application-meta-data%>
<%uses-libraries%>
<%services%>
<!-- Our activity is a subclass of the built-in NativeActivity framework class.
This will take care of integrating with our NDK code. -->
<activity android:name="com.embarcadero.firemonkey.FMXNativeActivity"
android:label="%activityLabel%"
android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
android:launchMode="singleTask">
<!-- Tell NativeActivity the name of our .so -->
<meta-data android:name="android.app.lib_name"
android:value="%libNameValue%" />
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<%activity%>
<%receivers%>
</application>
</manifest>
<!-- END_INCLUDE(manifest) -->
Yukarıdaki işlem adımları ile yeni proje Android 10 SDK sürümünde çalışıyorsa, asıl sorun mevcut projenizdeki AndroidManifest.template.xml dosyasındaki tanımlamalardan kaynaklanıyor demektir. Bu durumda yukarıdaki varsayılan AndroidManifest.template.xml dosyasını kullanın ve uygulamayı çalıştırın. Alınmayan izinler ile ilgili dinamik hata uyarıları ile karşılaşacaksınız. Bu uyarıları bizimle paylaşırsanız, birlikte bir çözüm üretmeye çalışırız.
@"Fesih ARSLAN" hocam ilaç gibisiniz. Dediklerinizi yapınca yeni deneme projesi çalıştı.
eski projenin xml dosyasını sildim.
resimdeki gibi ihtiyaç olan izinleri verdim.
1- Android platformu için Project Manager > Android > Android SDK x.x > Libraries üzerinde sağ tuş tıklayıp, Revert System Files to Default menüsünü seçin.
2- Aynı zamanda Project > Deployment penceresinde Revert to Default butonuna tıklayın.
3- Project Manager penceresinde proje üzerinde sağ tuşa tıklayın ve Clean menüsünü seçin.
4- Projeyi Build ile derleyin.
5- Daha sonra çalıştırın.
işlemleri yaptım çalıştı.
Teşekkür ederim Allah c.c razı olsun.
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Yorumları: 120
Konuları: 12
Kayıt Tarihi: 06-06-2020
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 1.331 Programcı
(14-09-2020, Saat: 13:46)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Yeni bir projede belirttiğiniz hatanın (No resource identifier found for attribute 'requestLegacyExternalStorage' in package 'android') ortaya çıkmaması gerekiyor.
Yeni bir proje, varsayılan olarak ExternalStorage iznine sahiptir.
...
Yukarıdaki işlem adımları ile yeni proje Android 10 SDK sürümünde çalışıyorsa, asıl sorun mevcut projenizdeki AndroidManifest.template.xml dosyasındaki tanımlamalardan kaynaklanıyor demektir. Bu durumda yukarıdaki varsayılan AndroidManifest.template.xml dosyasını kullanın ve uygulamayı çalıştırın. Alınmayan izinler ile ilgili dinamik hata uyarıları ile karşılaşacaksınız. Bu uyarıları bizimle paylaşırsanız, birlikte bir çözüm üretmeye çalışırız.
Merhabalar, Fesih beyin yukarıda bildirdiklerinden ve https://developer.android.com/about/vers...cy/storage bağlantısından şunlar anlaşılıyor doğru mudur?
- Internal'da (TPath.GetPublicPath, ...) izinsiz dosya kaydı yapılabiliyor
- External'da (TPath.GetSharedDownloadsPath, ...) kayıt için 10.3 Rio ve sonraki sürümlerde manifeste requestLegacyExternalStorage eklemeye lüzum yok, varsayılan açılıyor
- Android 10'dan itibaren requestLegacyExternalStorage eklemek gerekiyor
- Android 11'de requestLegacyExternalStorage desteği geçici olarak devam ediyor fakat uygulama hedefi Android 11 seçilirse requestLegacyExternalStorage işe yaramıyor galiba Storage access with Android 11
- Google'ın gelişitiricilerin artan şikayetlerine rağmen dosyaları external klasörlere taşımayı her sürümde daha da zorlaştırması düşündüğü söyleniyor. Belki ileride uygulamalar Downloads vs. external klasörlere ulaşamayacak. Böyle bir ihtimal var mıdır, siz ne dersiniz.
saygılar mustafa ֍zgün
Yorumları: 4.224
Konuları: 379
Kayıt Tarihi: 07-07-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 16.975 Üstad
17-09-2020, Saat: 09:44
(Son Düzenleme: 17-09-2020, Saat: 09:45, Düzenleyen: TescilsizUzman.)
(17-09-2020, Saat: 07:01)emozgun Adlı Kullanıcıdan Alıntı: (14-09-2020, Saat: 13:46)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Yeni bir projede belirttiğiniz hatanın (No resource identifier found for attribute 'requestLegacyExternalStorage' in package 'android') ortaya çıkmaması gerekiyor.
Yeni bir proje, varsayılan olarak ExternalStorage iznine sahiptir.
...
Yukarıdaki işlem adımları ile yeni proje Android 10 SDK sürümünde çalışıyorsa, asıl sorun mevcut projenizdeki AndroidManifest.template.xml dosyasındaki tanımlamalardan kaynaklanıyor demektir. Bu durumda yukarıdaki varsayılan AndroidManifest.template.xml dosyasını kullanın ve uygulamayı çalıştırın. Alınmayan izinler ile ilgili dinamik hata uyarıları ile karşılaşacaksınız. Bu uyarıları bizimle paylaşırsanız, birlikte bir çözüm üretmeye çalışırız.
Merhabalar, Fesih beyin yukarıda bildirdiklerinden ve https://developer.android.com/about/vers...cy/storage bağlantısından şunlar anlaşılıyor doğru mudur?
- Internal'da (TPath.GetPublicPath, ...) izinsiz dosya kaydı yapılabiliyor
- External'da (TPath.GetSharedDownloadsPath, ...) kayıt için 10.3 Rio ve sonraki sürümlerde manifeste requestLegacyExternalStorage eklemeye lüzum yok, varsayılan açılıyor
- Android 10'dan itibaren requestLegacyExternalStorage eklemek gerekiyor
- Android 11'de requestLegacyExternalStorage desteği geçici olarak devam ediyor fakat uygulama hedefi Android 11 seçilirse requestLegacyExternalStorage işe yaramıyor galiba Storage access with Android 11
- Google'ın gelişitiricilerin artan şikayetlerine rağmen dosyaları external klasörlere taşımayı her sürümde daha da zorlaştırması düşündüğü söyleniyor. Belki ileride uygulamalar Downloads vs. external klasörlere ulaşamayacak. Böyle bir ihtimal var mıdır, siz ne dersiniz.
Merhaba,
Tüm yazdıklarınıza katılıyorum. Android platformunda varsayılan dizin ve harici diskin kullanımına yönelik tüm detayları sıralamışsınız. Teşekkür ederiz.
Android veya diğer platformlar hangi politikaları zorunlu hale getirirse getirsin Delphi IDE'si bunu bizim adımıza uyguluyor. Sonradan bir müdahaleyi en aza indiriyor.
Örneğin bahsettiğiniz requestLegacyExternalStorage özelliği, Delphi 10.4 IDE'si tarafından varsayılan uygulama parametreleri kısmına doğrudan ekleniyor.
Özetle en güncel Delphi sürümü, en güncel SDK ve platform politikalarını barındırıyor.
Yorumları: 120
Konuları: 12
Kayıt Tarihi: 06-06-2020
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 1.331 Programcı
(17-09-2020, Saat: 09:44)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: (17-09-2020, Saat: 07:01)emozgun Adlı Kullanıcıdan Alıntı: Merhabalar, Fesih beyin yukarıda bildirdiklerinden ve https://developer.android.com/about/vers...cy/storage bağlantısından şunlar anlaşılıyor doğru mudur?
- Internal'da (TPath.GetPublicPath, ...) izinsiz dosya kaydı yapılabiliyor
- External'da (TPath.GetSharedDownloadsPath, ...) kayıt için 10.3 Rio ve sonraki sürümlerde manifeste requestLegacyExternalStorage eklemeye lüzum yok, varsayılan açılıyor
- Android 10'dan itibaren requestLegacyExternalStorage eklemek gerekiyor
- Android 11'de requestLegacyExternalStorage desteği geçici olarak devam ediyor fakat uygulama hedefi Android 11 seçilirse requestLegacyExternalStorage işe yaramıyor galiba Storage access with Android 11
- Google'ın gelişitiricilerin artan şikayetlerine rağmen dosyaları external klasörlere taşımayı her sürümde daha da zorlaştırması düşündüğü söyleniyor. Belki ileride uygulamalar Downloads vs. external klasörlere ulaşamayacak. Böyle bir ihtimal var mıdır, siz ne dersiniz.
Merhaba,
Tüm yazdıklarınıza katılıyorum. Android platformunda varsayılan dizin ve harici diskin kullanımına yönelik tüm detayları sıralamışsınız. Teşekkür ederiz.
Android veya diğer platformlar hangi politikaları zorunlu hale getirirse getirsin Delphi IDE'si bunu bizim adımıza uyguluyor. Sonradan bir müdahaleyi en aza indiriyor.
Örneğin bahsettiğiniz requestLegacyExternalStorage özelliği, Delphi 10.4 IDE'si tarafından varsayılan uygulama parametreleri kısmına doğrudan ekleniyor.
Özetle en güncel Delphi sürümü, en güncel SDK ve platform politikalarını barındırıyor.
Cevabınız için teşekkürler Fesih bey. Uygulamamı external kullanmayacak şekilde değiştiriyorum. Dediğiniz gibi bize sanki Delphi zorlaştırıyor gibi geliyor aslında işi zorlaştıran Google. Bu arada bir sorum daha olacaktı:
internal'a deployment ile dosya yüklemeye çalışıyorum fakat dosyalar bulunamıyor. Delphi'nin XE5 vb. eski sürümlerinde deployment olan örnekler mevcut, fakat son sürümlerinde örnek bulamadım. Sqlite örneklerinde de veritabanı dosyalarını uygulama yüklendikten sonra oluşturmak için genellikle bu kodu eklemişler:
procedure TFireDAC_SQLiteForm.FDConnection1AfterConnect(Sender: TObject);
begin
FDConnection1.ExecSQL ('CREATE TABLE IF NOT EXISTS Task (TaskName TEXT NOT NULL)');
end;
Acaba Android 9 veya 10'dan itibaren Deployment ile ./assests/internal ile artık dosya yüklenemiyor mu?
saygılar mustafa ֍zgün
Yorumları: 120
Konuları: 12
Kayıt Tarihi: 06-06-2020
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 1.331 Programcı
(18-09-2020, Saat: 17:38)emozgun Adlı Kullanıcıdan Alıntı: (17-09-2020, Saat: 09:44)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Merhaba,
Tüm yazdıklarınıza katılıyorum. Android platformunda varsayılan dizin ve harici diskin kullanımına yönelik tüm detayları sıralamışsınız. Teşekkür ederiz.
Android veya diğer platformlar hangi politikaları zorunlu hale getirirse getirsin Delphi IDE'si bunu bizim adımıza uyguluyor. Sonradan bir müdahaleyi en aza indiriyor.
Örneğin bahsettiğiniz requestLegacyExternalStorage özelliği, Delphi 10.4 IDE'si tarafından varsayılan uygulama parametreleri kısmına doğrudan ekleniyor.
Özetle en güncel Delphi sürümü, en güncel SDK ve platform politikalarını barındırıyor.
Cevabınız için teşekkürler Fesih bey. Uygulamamı external kullanmayacak şekilde değiştiriyorum. Dediğiniz gibi bize sanki Delphi zorlaştırıyor gibi geliyor aslında işi zorlaştıran Google. Bu arada bir sorum daha olacaktı:
internal'a deployment ile dosya yüklemeye çalışıyorum fakat dosyalar bulunamıyor. Delphi'nin XE5 vb. eski sürümlerinde deployment olan örnekler mevcut, fakat son sürümlerinde örnek bulamadım. Sqlite örneklerinde de veritabanı dosyalarını uygulama yüklendikten sonra oluşturmak için genellikle bu kodu eklemişler:
procedure TFireDAC_SQLiteForm.FDConnection1AfterConnect(Sender: TObject);
begin
FDConnection1.ExecSQL ('CREATE TABLE IF NOT EXISTS Task (TaskName TEXT NOT NULL)');
end;
Acaba Android 9 veya 10'dan itibaren Deployment ile ./assests/internal ile artık dosya yüklenemiyor mu?
Deployment yüklemede sıkıntı yokmuş. Dahili klasörler koruma altında olduğu (ve root yapılmadığı) için Android dosya yöneticisi göstermiyormuş. FileExists ile yüklenen dosyalar bulunabiliyormuş
if(FileExists(TPath.Combine(TPath.GetDocumentsPath, dosya1)))then
memo1.Lines.Add(dosya1 + ' var')
else
memo1.Lines.Add(dosya1 + ' yok');
saygılar mustafa ֍zgün
|