Hirdetés

2024. május 5., vasárnap

Gyorskeresés

Hozzászólások

(#2201) Sianis válasza thon73 (#2200) üzenetére


Sianis
addikt

Application-nek van onCreate() metódusa. Azzal tudod mikor kell újrainicializálni. Ellenkező esetben pedig szerintem a static dolgok megmaradnak, amíg ki nem kukázza teljesen az app-ot a rendszer.

Sianis

(#2202) thon73 válasza Sianis (#2201) üzenetére


thon73
tag

Köszönöm! Szóval ez olyan szinten van, mint az Application.

(#2203) Sianis válasza thon73 (#2202) üzenetére


Sianis
addikt

Látszólag ez egy jól megfogalmazott körbejárása a dolognak.

Sianis

(#2204) WonderCSabo


WonderCSabo
félisten

A statik mezők értéke addig marad meg, amíg a proccess él. A proccesst mostanában az Android ritkán lövi ki, de kevés memória esetén lehetséges, tovább a user is kilőheti.

SharedPrefben egyébként lehet, hogy jobb lenne tárolni ezeket a cuccoat.

Szerk.: A Sianis által linkelt válasz pontosabb amit én írtam.

[ Szerkesztve ]

(#2205) letepem


letepem
aktív tag

Sziasztok!

Az lenne a kérdésem hogy GTFS [katt] menetrendet, hogy tudok android-ban real time vagy nem real time lekezelni, esetleg sgllite-ba feltölteni?

Köszi a segítséget már hetek óta egy helyben toporgok emiatt :)

látok, hallok, érzek és gondolkodom.

(#2206) Karma válasza letepem (#2205) üzenetére


Karma
félisten

Mit szeretnél vele csinálni, egy kicsit pontosabban? Mert azért nem hiszem, hogy egy szöveges fájl feldolgozásán heteket kéne ülni.

“All nothings are not equal.”

(#2207) letepem válasza Karma (#2206) üzenetére


letepem
aktív tag

BKV menetrend GTFS-ben van megadva és szeretném kezelni a menetrendet! Veheted úgy is , hogy egy saját bkv menetrendet szeretnék írni +feature-ökkel! Úgy heteket, hogy ezt az alkalmazást hobby szinten fejlesztem :))

[ Szerkesztve ]

látok, hallok, érzek és gondolkodom.

(#2208) thon73 válasza Sianis (#2203) üzenetére


thon73
tag

Thx. Mindkettőtöknek!

Shared prefsre én is gondoltam, de eredetileg függetleníteni akartam a context-től. Végül is nem gond; úgy oldottam meg, hogy a könyvtár alapból beállított adatokkal már működik; ha meg változtatni akarok rajta futás közben, akkor ahhoz kell context is.

Amúgy ha a process eltűnik, akkor az Application is eltűnik, nem? Vagyis mindent újra kell indítani. Vagyis ideális alternatíva lenne globális adatok elhelyezésére (speciel most nekem nem erre kell, csak belső adatok tárolására voltam kíváncsi). Ennek ellenére azt olvastam, hogy nem ajánlott elrendezés, mert nehéz tesztelni...

És csak a teljesség kedvéért: ha csinálok egy singletont, ami valójában egy példány, csak saját magára való hivatkozást tárol, akkor az hogy létezik, hogy az Activity-vel együtt eltűnik? (És nem az Applicationnel. Vagyis memória kevés, háttérben Activity bezár, Application marad, de a singleton is eltűnik.) Ezt egyébként több helyen olvastam, és már én is tapasztaltam. Annak nem kéne a process végéig megmaradni?? Vagy az önhivatkozás máshogy számítana?? Ennek a kérdésnek ugyan már semmi köze az eredeti problémához, csak érdekel...

(#2209) WonderCSabo válasza letepem (#2207) üzenetére


WonderCSabo
félisten

És hol akadtál el?...

thon73: Amúgy ha a process eltűnik, akkor az Application is eltűnik, nem?

Természetesen, az Application objektuma egy sima Java objektum ami ott csücsül a process memóriaterületén, ha a proccess leáll, a területe kipucolódik.

És csak a teljesség kedvéért: ha csinálok egy singletont, ami valójában egy példány, csak saját magára való hivatkozást tárol, akkor az hogy létezik, hogy az Activity-vel együtt eltűnik?

A Singleton a proccess végéig megmarad, a garbage collector nem tudja kidobni, hiszen van egy hivatkozási pont (getInstance()) ami egy nem null objektumra mutat, és később elkérhető. Baj lenne, ha nem így lenne.
Egyébként itt jegyezném meg, hogy a Singleton nem egy túl szerencsés minta, alapvetően kerülendő. Persze sok esetben nem lehet megúszni nélküle.

[ Szerkesztve ]

(#2210) letepem válasza WonderCSabo (#2209) üzenetére


letepem
aktív tag

szimplán a gtfs sgllite feltöltésénél mivel egy 300 megás zipről beszélünk!

látok, hallok, érzek és gondolkodom.

(#2211) WonderCSabo válasza letepem (#2210) üzenetére


WonderCSabo
félisten

Az adat nagyrésze kidobható, talán nézd meg a specifikációt. Pl. biztos vagyok benne, hogy az összes járat összes útvonalának részletes GPS adatai nem kellenek egy menetrend apphoz. Tovább egy sqlite db-ban sokkal hatékonyabban lehet tárolni az adatokat a szövegnél, pl. egy nagyobb számhoz nem karakterenként egy byte-ot foglal le, hanem összesen 4-et, stb.

[ Szerkesztve ]

(#2212) letepem válasza WonderCSabo (#2211) üzenetére


letepem
aktív tag

geocatch-csel vissza tudom fejteni a megálló neveit?

látok, hallok, érzek és gondolkodom.

(#2213) WonderCSabo válasza letepem (#2212) üzenetére


WonderCSabo
félisten

Azt nem igazán javasolnám.

(#2214) letepem válasza WonderCSabo (#2213) üzenetére


letepem
aktív tag

mármint a hosszúsági/szélességi adatokat a nevek alapján? (bocs az érthetetlen fogalmazásért :D)

látok, hallok, érzek és gondolkodom.

(#2215) WonderCSabo válasza letepem (#2214) üzenetére


WonderCSabo
félisten

A válaszom ugyanaz.

(#2216) eastsider válasza letepem (#2214) üzenetére


eastsider
nagyúr

hát.... az kemény meló lenne... lehet inkább tényleg kéne csinálnod egy saját sqlite db-t, jobban jársz, aztán onnantól jó kis gráfos feladat megoldani az átszállásokat, hogy lehessen vele tervezni is stb...

(#2217) Sianis


Sianis
addikt

Sziasztok!

Arra tudtok valami megoldást, hogy hogyan lehetne vizsgálni mikor van az alkalmazás előtérben, háttérben? Első körben arra gondoltam, hogy egy AtomicInteger számlólót bevezetek, amikor egy-egy Activity onResume lefut akkor növeli, onPause esetében csökkenti a számlálót. Csökkentés, növelés után kiküldök egy Otto értesítést, hogy ellenőrizze az értéket. Ha 0 akkor háttérben van az alkalmazás, hogy nem akkor előtérben. Érzem, hogy ez még közel sem tökéletes, mivel minden Activity váltásnál 2x fut le az ellenőrzés, egyszer látja, hogy 0-ra vált (onPause), majd újra megnő (onResume). Illetve abban sem vagyok biztos, hogy az onPause hamarabb végez, mint egy onResume. Legyünk ugye gyanakvóak.

Valami tipp, hogy hogyan lehetne ezt tökéletesre megírni?

Köszi!

Sianis

(#2218) WonderCSabo válasza Sianis (#2217) üzenetére


WonderCSabo
félisten

Egyrészt valóban a lifecycle callback metódusokra lehet hagyatkozni, de el lehet kérni a running proccesseket is.

(#2219) Sianis válasza WonderCSabo (#2218) üzenetére


Sianis
addikt

Tehát, ha mondjuk azt mondom, hogy onPause után isApplicationSentToBackground true-val tér vissza, akkor egyetlen Activity sem fut előtérben, tehát háttérben van az app. Ha onResume lefut bármikor akkor meg egyértelműen előtérben fut, igaz?

Sianis

[ Szerkesztve ]

(#2220) WonderCSabo válasza Sianis (#2219) üzenetére


WonderCSabo
félisten

Igen, bár az onResume után lehet hirtelen egy onPause is megint, stb.

(#2221) Sianis válasza WonderCSabo (#2220) üzenetére


Sianis
addikt

Igen, de ha mondjuk mindkettő esetében ugyanazt a syncronized metódust hívom akkor már tuti, hogy onPause nem előzi be az onResume-ot. Az meg, hogy esetleg emiatt egyszer egyszer egy ilyen gyors ki/bekapcsolás történik az megeshet. Csak alapetően nem akarom, hogy gyakran kapcsolgassam a kapcsolót le, fel.

Sianis

(#2222) WonderCSabo válasza Sianis (#2221) üzenetére


WonderCSabo
félisten

A szinkronizáció nem hiszem, hogy kell ide, az életciklus metódusok mind a main szálon futnak, nem lapolódhatnak át.

(#2223) Karma válasza Sianis (#2217) üzenetére


Karma
félisten

Szerintem egy implementációs problémán kezdtél el részleteiben rugózni, miközben a kérdésfeltevés már a gyökerében rossz. Mit szeretnél elérni ezzel és miért?

Egyébként az átlapolódást én is akartam írni, tényleg nem tud előfordulni az egy szál miatt.

[ Szerkesztve ]

“All nothings are not equal.”

(#2224) Sianis válasza Karma (#2223) üzenetére


Sianis
addikt

Egy backend service-t akarok írni, ami a háttérben hallgatózik location változás után. Ha előtérben fut az app, akkor figyeli a GPS-t, háttérben csak percenként, 100 méteres elmozdulással network alapú helymeghatározással figyel. Ezt akarom kapcsolgatni.

Az most más kérdés, hogy mennyire etikus, hasznos, hogy egy az app állandóan figyeli, hogy merre jár a user. Ez a feladat. :) Amúgy úgy akarom megcsinálni, hogyha nincs netkapcsolat akkor leáll a service, mert értelmetlen a futása. Aztán majd, ha visszatér a hálózat, újra elindul.

Sianis

(#2225) Karma válasza Sianis (#2224) üzenetére


Karma
félisten

Szerintem a Service-ben csináld meg azt a számlálót, amit írtál is, és 0, >0 váltásoknál billentsd a kapcsolódat, ahogy írtad is. Annyi, hogy tegyél késleltetést egy Handleren keresztül a váltás elé, így ha két Activity között megy át az app, nem billeg feleslegesen.

“All nothings are not equal.”

(#2226) h1ght3chzor


h1ght3chzor
őstag

Milyen uml diagram(ok) amit érdemes lenne generálnom android alkalmazás forráskódjából?

Kérlek tisztelj meg azzal, hogy válaszolsz a privát üzenetre.

(#2227) eastsider válasza h1ght3chzor (#2226) üzenetére


eastsider
nagyúr

ez engem is érdekelne.
anno szoptunk ezzel java-nál. valahogy tudott generálni az osztályok alapján de nem volt tökéletes.. bezzeg a visual studio... :D

(#2228) h1ght3chzor válasza eastsider (#2227) üzenetére


h1ght3chzor
őstag

Visual paradigm tud, a kérdés inkább arra irányult, hogy milyet érdemes? Mi mutatná be legjobban az alkalmazásomat?

Kérlek tisztelj meg azzal, hogy válaszolsz a privát üzenetre.

(#2229) Karma válasza h1ght3chzor (#2228) üzenetére


Karma
félisten

Szerintem egy class diagram és egy activity diagram bőven sok is, de leírható velük minden simán. Sequence-et nem javasolnék, mert sokkal terebélyesebb az activitynél, miközben kvázi ekvivalensek.

“All nothings are not equal.”

(#2230) tboy93


tboy93
nagyúr

Hali!

Github projectet hogyan tudok importálni eclipsbe? Konkrétan a Google camera appját szeretném :K

(#2231) WonderCSabo válasza tboy93 (#2230) üzenetére


WonderCSabo
félisten

Ha nem akarsz git-el foglalkozni, akkor kattints rá a "Download ZIP" gombra, és kész. Ha akarsz git-el foglalkozni, akkor git clone.

(#2232) tboy93 válasza WonderCSabo (#2231) üzenetére


tboy93
nagyúr

Itt bal oldalt kiválasztom a legfrissebb verziót, de csak tar-ba tudom letölteni :((

(#2233) WonderCSabo válasza tboy93 (#2232) üzenetére


WonderCSabo
félisten

Dehát ez nem is GitHub.Tarral mi a baj? Mindesetre itt is csak a git clone marad, ha nem jó a tar...

(#2234) tboy93 válasza WonderCSabo (#2233) üzenetére


tboy93
nagyúr

Az, hogy ha beimportálom Eclipse tele lesz minden hibával + csak egy része importálódik be. :DDD

(#2235) WonderCSabo válasza tboy93 (#2234) üzenetére


WonderCSabo
félisten

Hát gondolom tele van dependenciákkal.

(#2236) tboy93 válasza WonderCSabo (#2235) üzenetére


tboy93
nagyúr

Igazából nem is kéne az eclipse, ha tudnám, hogy hogyan tudom lefordítani mondjuk parancssorból. AMit módosítani akartam a forrásfájlban már megtettem Notepad-ban, csak újra kéne fordítani. Ebben esetleg tudsz segíteni?

(#2237) WonderCSabo válasza tboy93 (#2236) üzenetére


WonderCSabo
félisten

Ez egy NDK-s project. Fogalmam sincs hogyan kell fordítani.

(#2238) Karma válasza tboy93 (#2236) üzenetére


Karma
félisten

Ezt a leírást nézd végig és tartsd be. Az AOSP nem egy olyan dolog, amit csak úgy szétkap és tákol az ember.

“All nothings are not equal.”

(#2239) tboy93 válasza Karma (#2238) üzenetére


tboy93
nagyúr

Már ott megbukik a dolog hogy Linux :DDD Mindenesetre köszönöm a leírást, végig fogom olvasni. Linuxból milyet lenne érdemes telepíteni? Nem nagyon vagyok otthon ebben a témában, de ha muszáj akkor muszáj :)

Szerk: már megvan :DDD

[ Szerkesztve ]

(#2240) trisztan94 válasza tboy93 (#2239) üzenetére


trisztan94
őstag

Hát személyes és kollégák tapasztalatával azt tudom mondani, hogyha komolyan akarsz foglalkozni Android fejlesztéssel (meg több mindennel, itt van pár példa: Java, Ruby stb), akkor állj át egy UNIX alapú rendszerre. Nagyon sok szívás tud lenni Windowssal ilyen téren sajnos.

Erre a legjobb megoldás jelen pillanat a Vagrant, ha nem akarod lecserélni a Windowst.

https://heureka-kreativ.hu

(#2241) brumi1024


brumi1024
veterán

Sziasztok!

Bluetooth kezeléssel kapcsolatban lenne kérdésem: van egy kezdőactivitym, ami az alkalmazás funkciói közti navigálást oldja meg. Mind a 3 ebből indítható Activity igényel BT kapcsolatot, méghozzá ugyanahhoz az eszközhöz, de egyelőre mind a 3-nál külön kell csatlakozni, minden induláskor. Hogy tudnám megoldani, hogy a főactivitymben történjen a BT csatlakozás, és ezt a kapcsolatot "átadjam" minden egyéb activitymnek? A BT kezelés AsyncTask-el megy, így elég egyszerű megoldani a különböző adatkezeléseket a különböző activitykhez.

Előre is köszi a segítséget.

[ Szerkesztve ]

(#2242) thon73


thon73
tag

Bocsánat, hogy a sok magas szintű fejlesztés mellett egy nagyon kezdő kérdéssel állok elő. :B
A multithread-ek világában próbálok elmélyedni. Tudna valaki egy olyan kódot/linket adni, ahol specifikusan Android-on a happens-before eseményt tudnám tanulmányozni; vagyis amivel el tudom érni, hogy a thread-ek biztosan megkeveredjenek?
Specifikusan egy olyan ötlet kellene, hogy a thread a saját cache-ében tárolja el a globális változómat, és nemigen tudom, hogyan lehetne ezt kikényszeríteni.
Nem a helyes megoldásra van szükségem (arról rengeteg okos ötlet van), hanem magát a hibajelenséget szeretném látni.
Előre is köszönöm! :R

(#2243) trisztan94


trisztan94
őstag

Hali!

Visszafejtettem egy APK-t Virtuous Ten Studio segítségével, kaptam sok-sok .smali fájlt. Ki lehet ezekből valahogyan VTS-ben generálni Java osztályokat, hogy ne ezt a binary közeli izébizét (inkább assemblyhez hasonló, de lehet, hogy irdatlan nagy hülyeséget mondok most) kelljen értetlenül néznem? :)

Nincs az APK-ban se Proguard, se DexGuard védelem.

Próbáltam a Smali2Java nevű kis programmal, az nagyon szépen visszafejtette, de több helyen hülyeség van, ezért gondoltam, hogy ha tudja ezt a VTS, akkor inkább azzal csinálnám. Na meg ott a szerkesztő felület is jobb :)

Köszönöm! :R

https://heureka-kreativ.hu

(#2244) WonderCSabo válasza trisztan94 (#2243) üzenetére


WonderCSabo
félisten

Jobb gomb a projekten - > generate java sources. Ha ez lefutott, jobb gomb az adott fájlon - > open java source.

(#2245) Karma válasza trisztan94 (#2243) üzenetére


Karma
félisten

Ez Dalvik assembly, úgyhogy annyira nem jársz messze.

A VTS-ben a projekt beállításai között van egy opció, hogy Java forrás generálása (checkbox), ezt billentsd be, majd buildeld újra az APK-t.

Így is maradhatnak benne "hülyeségek".

Vagy ahogy WonderCSabo írta :)

[ Szerkesztve ]

“All nothings are not equal.”

(#2246) trisztan94 válasza WonderCSabo (#2244) üzenetére


trisztan94
őstag

Köszi!

Ezeket a hibaüzeneteket kapom (bocs, hogy képként, de valahogy nem sikerül innen kimásolnom a szöveget)

Mit csináltam rosszul? :F

Neked is köszönöm, Karma :R

https://heureka-kreativ.hu

(#2247) WonderCSabo válasza trisztan94 (#2246) üzenetére


WonderCSabo
félisten

Töröld ki kézzel a fájlt, indítsd újra a VTS-t, stb.

Mondjuk fura, mert nekem a JAD illetve JD-GUI van Java source code generator toolnak VTS alatt.

(#2248) brumi1024 válasza brumi1024 (#2241) üzenetére


brumi1024
veterán

Valami ötlet esetleg erre?

[ Szerkesztve ]

(#2249) Karma válasza brumi1024 (#2248) üzenetére


Karma
félisten

Persze. Tenyerelj rá a shiftdelre, töröld ki az Activityjeidből a BT logikát, és írj hozzá Service-t.

“All nothings are not equal.”

(#2250) kemkriszt98


kemkriszt98
aktív tag

Sziasztok, mitől függ az, hogy az alkalmazásom áthelyezhető-e sdkártyára? Csak mert az én alkalmazásaim nem helyezhetőek át, ezért gondoltam, hogy azt valahol (manifestben v. ilyesmi) be kell állítani...
Amúgy annyira nem tiszta ez nekem de ha jól tudom amikor az alkalmazáskezelőben azt írja, hogy Áthelyezés SD kártyára akkor a telefon memóriájának "külső" részére érti. Tévedek?

"Tigris, tigris, csóvafény éjszakáknak erdején, mily kéz adta teneked szörnyü és szép termeted?" -William Blake-

Copyright © 2000-2024 PROHARDVER Informatikai Kft.