#programowanie #androiddev Mam pytanko odnośnie Intentów. Ostatnio robiłem błąd z generowaniem intentu ciągle o tym samym ID. Okazało się, że intent "trzymał" dane z pierwszego wywołania. Jak więc to jest z Intentami, zostają gdzieś w pamięci? GC wywala je gdy jest taka potrzeba? (⌐͡■͜ʖ͡■)
@nocneszczury: Hmm ja coś ciut podobnego miałem w C#. W foreach-u odpalałem pewne coś, przekazując setter i getter do którego podawałem property z aktualnego itemu foreach-a. Pomogło coś takiego:
foreach(ItemType a in someList) { ItemType a = a;
doSomething(a); }
Nie wiem co tam u Ciebie i też to że tam Java, ale może akurat tego typu problem tam istnieje.
Edit: kur*a, czemu tag kodu nie działa, a zamiast tego
@nocneszczury: nie za bardzo rozumiem. możesz opisać co robiłeś dokładnie? jak wskazuje pierwsze zdanie z dokumentacji intent to tylko sposob uruchomienia czegos. wiec jak cos ci siedzi w pamieci to zapewne activity. chyba ze mowisz o intentservice ktory sie nie konczy?
An intent is an abstract description of an operation to be performed.
@jablo: Robie notyfikację, dane dołączam przez PendingIntent w ten sposób:
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, i, 0);
Po nacisnieciu na notyfikacje otwieramy jakieś activity do którego przekazujemy dane z tego Intentu. W kolejnych przypadkach dostajemy dane z pierwszego intenta.
@nocneszczury: to normalne że PendingIntent nie tworzy nowego. Obczaj sobie flagę NO_CREATE podczas tworzenia PendingIntent - jak ją ustawisz i PI nie był wcześniej stworzony to z tą flagą statyczne metody get.... będą zwracać nulle.
Mechanizm został stworzony by np. nie zasypać AlarmManagera czy NotificationManagera niepotrzebnymi zadaniami. Załóżmy że chcesz poakzywać powiadomienie po 5 minutach od ostatniej akcji w aplikacji. Bez tego byś musiał za każdym razem odwoływać wcześniej ustawiony PI
Pamiętacie pizzerię z Jagodna, która dowoziła oczekującym na głosowanie 300 pizz? Otóż Konfedepisowcy do tej pory nie mogą im tego wybaczyć i są wyzywani, a ich auta oblewane farbą.
#edukacja #szkola #chwalesie Takie świadectwo mi synek przyniósł w tym roku na koniec 6 klasy. No niestety z wfem sobie obniżył średnią, ale chłopak jest taki, że nie prosi się o szóstkę dla idealnej średniej. Nie jest asem sportu, ale nie można być dobrym we wszystkim. Dumny jestem z niego.
Mam pytanko odnośnie Intentów. Ostatnio robiłem błąd z generowaniem intentu ciągle o tym samym ID. Okazało się, że intent "trzymał" dane z pierwszego wywołania. Jak więc to jest z Intentami, zostają gdzieś w pamięci? GC wywala je gdy jest taka potrzeba? (⌐ ͡■ ͜ʖ ͡■)
foreach(ItemType a in someList) {
ItemType a = a;
doSomething(a);
}
Nie wiem co tam u Ciebie i też to że tam Java, ale może akurat tego typu problem tam istnieje.
Edit: kur*a, czemu tag kodu nie działa, a zamiast tego
Po nacisnieciu na notyfikacje otwieramy jakieś activity do którego przekazujemy dane z tego Intentu. W kolejnych przypadkach dostajemy dane z pierwszego intenta.
Mechanizm został stworzony by np. nie zasypać AlarmManagera czy NotificationManagera niepotrzebnymi zadaniami. Załóżmy że chcesz poakzywać powiadomienie po 5 minutach od ostatniej akcji w aplikacji. Bez tego byś musiał za każdym razem odwoływać wcześniej ustawiony PI