Android'deki intens'ler, birleştirilmemiş bileşenler arasındaki iletileri iletmenin zarif bir yoludur, ancak Niyet ile daha fazla veri göndermek isterseniz ne olur? Farklı değer türleri ve Parcelable'ı gerçekleştiren nesneleri ekstralar olarak ekleyebileceğinizi biliyorum, ancak bu, kullanıcı tanımlı türlerin yerel olarak (örneğin, uzak arabirim üzerinden değil) gönderilmesi için gerçekten uygun değildir. Herhangi bir fikir?Android'de Intents ile özel veri nesneleri nasıl gönderilir?
cevap
Yerel olarak söylediğinizde, bu, aynı APK'ya ait olan Etkinlikler/yerel Hizmetler genelinde kullanıcı tanımlı türlerin gönderilmesi anlamına mı geliyor? Kullanıcı tanımlı tipler ayrıştırılabilir olduğu sürece, amaç olarak ekstralar olarak gönderilebilir ve hizmet/etkinlik onStartCommand() 'da işlenebilir.
Eğer kendi Application
korumak için küresel durumunu uygulayabilirsiniz tek bir işlem içinde nesneleri geçmek istiyorsanız: Küresel uygulama durumunu korumak için ihtiyacı olanlar için
Taban sınıfı. Sen o sınıf application/paketi için işlem oluşturulan olduğunda sizin için örneği olmasına neden olan, sizin AndroidManifest.xml en etiketinde adını belirterek yaparak kendi uygulama sağlayabilir.
senin tipinde
ile transfer etmektir, bu yüzden Uygulamayı paylaşılan veriler için bir çeşit komisyoncu/depolama olarak kullanın. – MalcomTucker
tam olarak, ihtiyacınız varsa bir depo olarak uygulayabilirsiniz –
, sen Serializable
arabirimini uygulayan ve niyet dahil etmek Intent.putExtra(String, Serializable)
yöntemini çağırabilirsiniz. Benzer bir sorun için kendimi yaptığımı düşünmüştüm, ancak verileri bir paket halinde vermeyi tercih ettim çünkü benim türümün yalnızca iki alanı vardı ve bu sadece çabaya değmezdi.
Bu Foo üzerinde Serializable
uygulayan varsayarak işe yarayabilir nasıl: Aynı süreçte
Foo test = new Foo();
test.Name = "name";
test.Value = "value";
Intent intent = new Intent();
intent.putExtra("test", test);
AIDL yoluyla değil gibi Yerel
- 1. androidde greyview için özel adaptör
- 2. androidde openssl nasıl kurulur
- 3. Uygulama boyutlarını bilirken androidde özel görünümler ekleme
- 4. HttpClient kullanarak nasıl veri gönderilir?
- 5. Android Intents: Aynı sharedUserId
- 6. Spring Framework'de parametre ile ajax isteği nasıl gönderilir ve gönderilir?
- 7. Python ikili dağıtımı ile veri dosyaları nasıl gönderilir?
- 8. Android intents havuzu
- 9. Bundle'ı Tamsayıya Dönüştür (Intents)
- 10. PHP'de file_get_contents kullanarak nasıl veri gönderilir?
- 11. Bir parçadan bir etkinliğe nasıl veri gönderilir?
- 12. Express.js kullanarak HTML'ye nasıl veri gönderilir?
- 13. Veri Aktarımı Nesneleri, Etki Alanı Nesneleri ve Depoları
- 14. Özel hata sayfaları Zend Framework'e nasıl gönderilir?
- 15. socket.io ile bir istemciye nasıl mesaj gönderilir
- 16. Düğme ile datagridview'e nasıl değer gönderilir?
- 17. Websocketpp ile mesajlar nasıl gönderilir
- 18. HEAD isteği HtmlUnit ile nasıl gönderilir?
- 19. Tepki yerli androidde Coach işareti nasıl uygulanır?
- 20. androidde shift-jis kodunu çözme
- 21. Android NFC Intents, aktivitemde başlamıyor
- 22. Özel Çekirdek Veri SectionNameKeyPath
- 23. SmsManager ile sms, Android'de özelleştirilmiş thread kimliği ile nasıl gönderilir?
- 24. Nesneleri underscore.js ile yineleme
- 25. Web API'sinde özel hata nesneleri döndürün
- 26. Zynq'de AXI-Stream'e yazılım aracından nasıl veri gönderilir?
- 27. WebSockets ile socket.io'ya bağlanırken çerezler nasıl gönderilir?
- 28. PhantomJS ile nasıl bir form gönderilir?
- 29. Phoenix framework ile e-postalar nasıl gönderilir
- 30. arraybuffer Websocket ile ikili olarak nasıl gönderilir?
ve hepsi aynı uygulama. Şey, karmaşık özel veri türleri için parcelable uygulanması gerçekten acı verici olabilir, tek yapmam gereken bir nesneyi bir Intent ... – MalcomTucker