7

Harici depolama birimine erişmesi gereken özel bir bileşik görünümü geliştiriyorum. Dış tarafları, yani Faaliyet veya Parçayı içermeden izin işlemeyi nasıl uygularım?Etkinlik ve Fragman dışında izin istekleri nasıl kullanılır?

Görünümün içeriğini kullanarak izinler isteyebilirim, ancak Görünüm'ün içinde onRequestPermissionsResult()'u nasıl kullanabilirim? Bu mümkün mü?

Bu mümkün değilse, böyle bir şeyle başa çıkmak için en şık çözüm ne olurdu?

cevap

5

Ben Harici depolama

IMHO erişmesi gereken özel bir bileşik Görünüm geliştiriyorum, yani bir mimarlık böcek. Bir View, kullanıcıya bir şeyler görüntülemek içindir ve bazen de düşük seviyeli giriş olaylarını toplamak ve bunları daha yüksek sıralı yapılara (örneğin, tıklamalar, geçişler) çevirmek içindir. Bir View dosya, veri tabanı vb. Ile herhangi bir bağlantıya sahip olmamalıdır. MVC, MVP, MVVM ve benzeri GUI mimari modellerine bakın. Buna uymayan WebView, sonuç olarak (ana uygulama iş parçacığı üzerinde disk G/Ç işlemi yapmak gibi) sorunlara neden olur.

Dış tarafları, yani Etkinlik veya Fragmanı içermeyen izinleri nasıl ele alabilirim?

Yapamazsınız. Muhtemelen görüşünüzün bu verilere ihtiyacı olmadan önce izin istemek, etkinlik veya parçanın sorumluluğundadır.

Böyle bir şeyle başa çıkmak için en şık çözüm ne olurdu?

veri erişimi ile ilişkili parçacığı, izinleri ve diğer iş yönetilebilir aktivite veya fragmanı, tarafından yönetilen başka bir şeye bu View veri erişim bölümünü çıkarın.

-1

Yalnızca Etkinlikler ve Fragmanlar bölümünde mümkündür.

Yapabilecekleriniz, Görünümünüze public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) kopyalayın ve söz konusu yöntemi, İçeriğin bulunduğu Etkinlik veya Fragman bölümünde karşılık gelen şekilde arayın.