Öznitelik tam olarak ne için taskAffinity
kullanılır? İçinden geçti belgelere ama çok anlayamadık.
Görev yakınlığını meslekten olmayan terimlerle açıklayabilir mi?
Öznitelik tam olarak ne için taskAffinity
kullanılır? İçinden geçti belgelere ama çok anlayamadık.
Görev yakınlığını meslekten olmayan terimlerle açıklayabilir mi?
Yanıtlar:
Android Görev Yakın İlgi Alanı ne için kullanılır?
Bir android uygulamasında, kart destesi gibi bir yığın oluşturan Etkinlikler bulunur. Bir android uygulaması başlatırsanız ve beş etkinlik başlatırsanız A, B, C, D, E. Bir yığın oluşturacaklar
E - chat view
D - weather screen
C - map view
B - weather screen
A - login screen
E, başlatılacak en son Aktiviteydi ve gösteriliyor. E'yi kapatırsanız, D gösterilecektir. D'yi kapatırsanız, C gösterilecektir. vb.
Aktiviteler B
ve D
aynı aktivite olduğuna dikkat edin . Ya kullanıcı üzerinde bazı değişiklikler yapıp D weather screen
, etkinliği kapatmaya karar verip, sonra C Map view
?
Daha sonra kullanıcı hava durumu ekranına geri dönecek ve seviyede yapılan değişiklikler seviye D weather screen
olarak kaydedilmediği için kullanıcı mutsuz olacaktı B weather screen
. Aynı aktivite olmasına rağmen, bu aktivitenin farklı bir DURUMU.
Kullanıcı 5 katmanlı etkinlik yığınına sahipti ve bunlardan ikisi aynı etkinlikti. Yığının 5'ini birden patlatmak, aynı aktivitenin iki farklı versiyonuyla etkileşime gireceğiniz fenomeni yaratacaktır ve oldukça kafa karıştırıcı olabilir.
Kullanıcılar genellikle katı bir faaliyet yığını olarak düşünmezler. "Ooh hava durumu görünümünde orada bir değişiklik yapacağım" diye düşünüyorlar ve ardından Harita görünümüne geri dönmek istiyorlar. Ardından, Oturum Açma ekranına geri dönmek istedikleri için tekrar yedekleyin. Neden B weather app
gösteriliyor ve neden ayarları seviyeden kaydetmedi D
?
Programcı, Etkinlikler B
ve D
durumla bağlantılıysa bazı karışıklıkları giderebilir . Bu şekilde biri diğerini değiştirir. Kullanıcı yeni bir hava durumu ekranı her açtığında, hava durumu ekranının tek bir örneğini gizlice açar.
Bu durumlarda, Aktivitenin görev Yakınlığını değiştirmek arzu edilebilir. Kullanıcı D düzeyini değiştirir. Sonra B düzeyine geri döner ve B'de D'ye yapılan değişiklikleri görür.
Program, yedekleyebileceğiniz bir yığın tutar, bu güzeldir ve kullanıcı aynı etkinliğin X örneğini rastgele yerlerde açtığında, hepsi birdir.
Daha fazla açıklama içeren slayt gösterisi: http://www.slideshare.net/RanNachmany/manipulating-android-tasks-and-back-stack
singleInstance
Kullanmak yerine 'yi kullanırsanız nasıl olur taskAffinity
?
taskAffinity
değinmiyor :-( Açıklama belirsiz. Bu cevapların bu kadar çok olumlu oy alması şaşırtıcı.
taskAffinity
Aktivitenin içinde çalışmayı tercih ettiği görevin adını belirtmek için kullanılır. Bir Intent
bayrak içerdiğinde FLAG_ACTIVITY_NEW_TASK
, aktivite daha sonra bu özel göreve yerleştirilir (tarafından tanımlanır taskAffinity
).
Although it's the same activity, it's a different STATE of that activity.
"Bu , bu aktivitenin başka bir örneği " derdim .
Yakınlık, bir etkinliğin hangi göreve ait olmayı tercih ettiğini gösterir.
Yakınlık iki durumda devreye girer:
Bir etkinliği başlatan amaç FLAG_ACTIVITY_NEW_TASK bayrağını içerdiğinde.
Bir etkinliğin allowTaskReparenting özniteliği "true" olarak ayarlanması durumunda.
Lütfen http://developer.android.com/guide/components/tasks-and-back-stack.html bakın
Bu ayrıntılı sunumda tüm vakaları (ve bazen uç vakaları) bulabilirsiniz.