- Amlogic S905, S912 processzoros készülékek
- Milyen billentyűzetet vegyek?
- Monitor hiba topik
- Gaming notebook topik
- Azonnali informatikai kérdések órája
- Milyen cserélhető objektíves gépet?
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Hogy is néznek ki a gépeink?
- Elveszítette az egyik legnagyobb kínai partnerét az Intel és a Qualcomm
- TCL LCD és LED TV-k
Hirdetés
-
Toyota Corolla Touring Sport 2.0 teszt és az autóipar
lo Némi autóipari kitekintés után egy középkategóriás autót mutatok be, ami az észszerűség műhelyében készül.
-
Akciófigyelő: kedvezményekkel indít az Ulefone Armor tablet/telefon páros
ma Az Armor Pad 3 Pro és az Armor 26 Ultra árából sokat enged a gyártó.
-
Megérkezett a Corsair új M.2-es SSD-je, és mindennek mondható, csak lassúnak nem
ph Az MP szériás konstrukció egyelőre csak 4 TB-os tárhelymérettel tehető kosárba, és lineáris lemezműveletekben bőven 10 GB/s felett teljesít.
Új hozzászólás Aktív témák
-
Karma
félisten
1) A megjelenítéssel az a baj, hogy létrehozol TextView-kat kódban, beállítod a szövegüket, de aztán nem rakod őket sehova se. Azt felejtsd el, hogy kódban csinálsz ilyesmit! Erre való a layout XML, ott rakd össze a felületet!
2) Semmi akadálya annak, hogy a harmadik Activityt a második indítsa. Szabadon építheted láncba őket - ha a második elfinisheli magát a harmadik indítása után, akkor a visszagombbal az elsőre jutsz. Ha nincs finish, akkor 3 -> 2 -> 1 lesz a visszairány.
“All nothings are not equal.”
-
Karma
félisten
Ha kicsiben csinálod, akkor a Nexusok elég jó választásnak számítanak, hiszen sokáig megkapják a legújabb OS-t. Ha viszont komolyabban bele akarsz folyni a piacba, előbb-utóbb célszerű lesz kiszélesíteni a palettádat kis/gyenge telefonokkal és csúcstelefonokkal is, mert egyrészt egy app jó, ha minden vason jól fut, másrészt rengeteg gyártófüggő meglepetést rejt az Android.
“All nothings are not equal.”
-
Karma
félisten
Soha, de soha nem szabad fotókat a createScaledBitmappel skálázni!
Az Android Training külön fejezetet szentel ennek a kérdésnek, azt mindenképpen ajánlom megértésre, aztán meg használj egy kész libet erre a munkára.
Az előbb linkelt Picasso például teljesen jó.
Én meg az Universal Image Loadert szoktam használni.“All nothings are not equal.”
-
Karma
félisten
Sajnos nem ennyire egyszerű. Mi úgy szoktuk csinálni, hogy írunk egy TextView leszármazott osztályt, ami konstruktorban beállítja magának a betűtípust, és ezt az osztályt használjuk a gyári TextView helyett a layoutokban.
Fontos, hogy a betűtípus objektumot lehetőleg csak egyetlen egyszer töltsd be a memóriában assetből, ezért célszerű egy statikus osztályt írni erre a feladatra, akitől el lehet kérni a betűtípus(oka)t.
Ha több egyedi betűtípus is kell, akkor írhatsz egy egyedi XML attribútumot, amivel szabályozhatod, hogy melyik typeface kell. Például akkor, ha külön font fájlod van regular, bold, light, stb. változatokhoz, és nem akarsz emiatt négy subclasst külön.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz WonderCSabo #2579 üzenetére
A nagy hajrában két dolgot hadd tegyek hozzá:
1) Hálózati kommunikációt nem UI szálon kéne csinálni, szerintem az URL.openStream el fog hasalni.
2) A LogHolder.class nem lesz elég, mert a generikus lista típusparamétere addigra elvész. TypeTokent kéne beadni a LogHolderre.[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz WonderCSabo #2581 üzenetére
2) Túlbonyolítod, a LogHoldernek nem kell generikusnak lennie, viszont a TypeTokenre szükség van. Tegnap este telefonon nem volt hangulatom kisakkozni, úgyhogy köszi hogy beírtad
Szóval végeredményben így festene:
public class LogHolder {
List<ArrayElem> ReturnDataSet;
}
gson.fromJson(in, new TypeToken<LogHolder>(){}).getType());[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz WonderCSabo #2584 üzenetére
Hm. Határozottan emlékszem pedig, hogy TypeToken nélkül nekem ez a felállás nem működött, a Listbe ArrayElement példányok helyett Map<string, object>-ek kerültek - ami futásidőben ClassCastExceptiont okozott.
Az egyetlen különbség, amit így ránézésre látok az, hogy én default constructort hagytam az osztályban, míg nálad van egy elements paramétere. Nem tudom, emiatt tudja kitalálni, vagy sem, de mindenképpen érdekes.
Majd kísérletezek én is kicsit.
“All nothings are not equal.”
-
Karma
félisten
válasz WonderCSabo #2588 üzenetére
Elfogadom, valószínűleg a problémás esetben generikus volt a tartalmazó osztály is, de azt már elhomályosította az idő a fejemben.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
Mindjárt megnézem a projektet is, de elöljáróban két nagyon fontos dolgora szeretném felhívni a figyelmed:
1) Miután beraktál valamit a libsbe, azt ne vedd fel a build path-ra, mert automatikusan felkerül. Sőt, továbbmennék, soha ne nyúlj a build path-hoz!
2) Az, hogy "lefagy" ebben a formában nem hordoz információt. Lehet ANR (application not responding), vagy force close; ez utóbbi esetben nézd meg mindig, hogy mit logol az alkalmazásod, mert 99%, hogy ott lesz a kiváltó ok érthető angolsággal.[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
El kellett mennem itthonról, úgyhogy csak most volt lehetőségem megnézni. Nincs fenn Eclipse a gépemen, csak Xamarin Studio (és az általa felrakott Android SDK), de parancssorban le tudtam fordítani az anyagot.
Nekem nem fagy le, nem crashel, meg semmi csúnyát nem csinál. Annyit változtattam csak, hogy a libs mappából töröltem a Picassot (UIL mellett felesleges) és a v4 support libet (az appcompat v7-ben is benne van), majd rátettem a Nexus 7-emre és megy.
Egyébként nagyon rossz forma, sőt mondhatni szigorúan tilos bekódolni azt, hogy "/mnt/sdcard". Csak rosszul sülhet el egy olyan telefonon, aminek nincs belső tárhelye és SD kártyája. Javaslom az Environment osztályt tanulmányozásra.
Zedz: Az AsyncTask osztály, amit az esetek döntő többségében ajánlott használni az ilyen háttérben végzett feladatokhoz, alaphelyzetben egy négy háttérszálból álló poolt használ, amit a framework menedzsel. Szóval igen, a droid intézi
Nagyon ritka az, hogy valami külső/belső okból ez a felállás nem jó, és az AsyncTask helyett más megoldást kell keresni. Az viszont például biztos, hogy Thread vagy Timer/TimerTask osztályokat használni mobilon súlyos hiba, mert van erőforrásbarátabb megoldás.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
Sajnos rossz irányba lépkedsz a megoldás útján Azzal hogy main függvényeket írtál, nem jutottál sehova. Desktopon se jelentene semmit ebben a formában, itt meg végképp nem.
Mindenekelőtt el kéne olvasnod valami Android oktatóanyagot - a developer.android.com-on például van training, de nem biztos hogy jó a tematikája neked.
Esetleg ha vondolod, holnap megírom a feladatod és a kész kódból levonhatod a következtetéseket.
“All nothings are not equal.”
-
Karma
félisten
A portrait módhoz tartozó XML-t a /res/layout/ mappába rakod, a landscape-et pedig a /res/layout_land/ mappába. Lehetőleg ugyanazokat az ID-ket használd az azonos funkciójú elemekhez, és ami sokkal fontosabb: kezeld az adatok kimentését az onSaveInstanceState és onRestoreInstanceState metódusokkal.
“All nothings are not equal.”
-
Karma
félisten
Igen. Mindenre, amire szükséged van.
Alternatívaként használhatsz Fragmentet, aminek a setRetainInstance metódusával meg tudod tartani az adattagokat egy ilyen konfigurációváltás alatt. A layout XML-es történet pontosan ugyanígy működik akkor is, tehát lesz onCreateView hívás, és ott feltöltheted a tagváltozóidból.
[ Szerkesztve ]
“All nothings are not equal.”
-
-
-
Karma
félisten
válasz BalanceR #2728 üzenetére
Jók a megérzéseid, erre nincs lehetőség. Root után is nagyon alacsony szintre kell nyúlkálni, és nem nagyon találok olyan aktívan karbantartott megoldást, ami például Windowson is működik. 2010-ből itt van egy példa.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz kemkriszt98 #2749 üzenetére
Ilyenkor azonnal a Logcatet kéne nézned, mert ott kiírja, milyen exception hatására és hol omlott össze az alkalmazásod. Valószínűleg valami null pointer okozza.
“All nothings are not equal.”
-
Karma
félisten
válasz kemkriszt98 #2817 üzenetére
Ha a szobában próbálkoztál, az egész mérésed egy nagy GPS hiba volt. Kültéren is több méteres a maximális pontosság, hát még beltérben...
Oda kell figyelned az accuracy értékre a mérési pontjaidon, és ha túl pontatlan, azt a pontot ne tedd el, ne vedd bele a számításba.
Ha meg csak megjeleníteni akarod az aktuális sebességet, WonderCSabo ötlete jobban működik.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz plüssgrizzly #2854 üzenetére
Könnyen lehet, hogy nincs szükséged egyáltalán a WebViewra, és hogy JavaScripttel szórakozz.
Sima Android kódban, a HttpClient segítségével tudsz küldeni egy olyan HTTP POST kérést a
http://wifi-gateway.website.hu/ címre, amibe a form mezőit kulcs-érték párokként rakod be (username, password; a "name" attribútumok a HTML-ben). A böngésző is pontosan ezt teszi submitkor.[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
Ez kicsit töményre sikeredett. Mit jelent az, hogy az Activity "használja" az pre- és postExecute metódusokat? Ezek az AsyncTaskok anonim osztályok, belső osztályok, vagy mik?
Ez a felállás biztosan nem jó, akármelyik kombináció is igaz. Ha tényleg muszáj az Activitynek kezelnie a taszkokat, akkor is azok legyenek inkább önálló osztályok, vagy static inner classok, és legyen jól definiált, hogy hogyan adnak eredményt. Vagy interfésszel, vagy busszal (ld. Otto).
Ha a viselkedésüknek van értelmezhető közös része, akkor az AsyncTask osztályok között örökléssel jól meg tudod oldani a közösítést. Csak legyen két külön interfész/buszüzenet hozzájuk.
“All nothings are not equal.”
-
Karma
félisten
-
Karma
félisten
válasz plüssgrizzly #2864 üzenetére
username
Az inputok, pontosabban azok name attribútuma számít.
“All nothings are not equal.”
-
Karma
félisten
válasz kemkriszt98 #2868 üzenetére
Természetesen igen, ha LinearLayoutba rakod őket, a felső layout_widthje 60dp, az alsóé 0dp + layout_weight 1.
“All nothings are not equal.”
-
Karma
félisten
Elaltatni a DevicePolicyManager.lockNow()-val tudsz, ha az alkalmazásodból admin alkalmazást csinálsz - ennek menete is le van írva a dokumentációban.
Feloldani nem tudom viszont, hogy lehet.
“All nothings are not equal.”
-
Karma
félisten
Egy NDK-t nem használó alkalmazásnál nem szabadna gondot okoznia az x86 architektúrának, azonnal mennie kell. Ha van benne natív komponens is, akkor meg több infó kell az appról hogy bármit lehessen mondani.
A logcaten nem látszik semmi hasznos a hiba tájékán?
“All nothings are not equal.”
-
Karma
félisten
válasz kemkriszt98 #2935 üzenetére
Mindenképpen segítene az ügyön, ha byte-onként olvasás helyett nagyobb egységenként haladnál, például 8192 byte, vagy 32768 byte; így nem kéne széthajtani szerencsétlen flash meghajtót.
De amúgy a stream kézzel hajtása helyett használj Apache Commons IO-t, az IOUtils osztály megcsinálja helyetted a lapátolást.
Egyébként remélem, hogy a try/catch/finally és a streamek helyes lezárása csak azért maradt ki, mert a példakódodat rövidítetted, nem mert alapból kihagytad.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz hyperionbabi #2943 üzenetére
A Javahoz pedig épp most volt a testvértopikban jó könyv a kezdéshez.
“All nothings are not equal.”
-
Karma
félisten
válasz doomino #2951 üzenetére
Eddig "HOX"-ot írtál, a HAXM teljesen más. Kérdések: a processzorod támogatja a virtualizációs kiegészítéseket (VT-x vagy AMD-v, gyártótól függően), illetve fut-e Hyper-V a gépeden (például Windows Phone SDK miatt)?
Mert a HAXM-nek kell a CPU támogatása, viszont összeakad más hypervisorokkal.
“All nothings are not equal.”
-
Karma
félisten
válasz lanszelot #2985 üzenetére
Az SQLite a barátod lesz ebben, az adatbázisfájlt gépen is simán meg tudod nyitni (van Firefox kiegészítő például hozzá, meg SQLite Database Browser). A táblát hozzá megírhatod kézzel, vagy használhatsz valamilyen ORM eszközt (pl. ORMLite).
“All nothings are not equal.”
-
Karma
félisten
Találtam korábban ezt a folyamatábrát, célszerű végigkövetni, mert jól összefoglalja, hogy mit milyen körülmények között szabad.
Alapvetően veszélyes szerintem az, hogy egy Fragment példányszinten ismeri a másikat.
“All nothings are not equal.”
-
Karma
félisten
válasz WonderCSabo #3003 üzenetére
Az event bus szerintem még nem oldja meg a helyzetet, Szerintem az üzleti logikát ki kéne mozgatni a fragmentekből en bloc. Persze feliratkozva lehetnek, de ha egy tőlük független entitás (service) tárolja az állapotot, könnyebb újraindítani mindenkit és onnan folytatni, ahol abbamaradt a folyamat.
“All nothings are not equal.”
-
Karma
félisten
válasz BtommyX #3095 üzenetére
Ez egy designbeli kérdés; ha csak magadnak fejlesztesz akkor használd amelyik jobban tetszik, ha meg nem, akkor valaki (ügyfél, designer, stb.) meg fogja mondani.
Itt találsz sablont többféle megvalósításhoz is.
Épp most volt rá nekem is szükségem[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
Ryan a kommentek között elég jó nyomon jár, a saveInstanceState mechanizmus csak újrainduláskor/újrakonfiguráláskor játszik, de ahogy értelmeztem, neked ezekre az értékekre a jövőben is szükséged lenne.
Az onPause-ban kellene kimentened az értékeket SharedPreferencesbe, és onCreate-ben visszahozni.
“All nothings are not equal.”
Új hozzászólás Aktív témák
- Xiaomi 11 Lite 5G NE (lisa)
- Eredeti játékok OFF topik
- Amlogic S905, S912 processzoros készülékek
- Milyen billentyűzetet vegyek?
- Villanyszerelés
- Android alkalmazások - szoftver kibeszélő topik
- Monitor hiba topik
- Gaming notebook topik
- Azonnali informatikai kérdések órája
- Elektromos (hálózati és akkus) kéziszerszámok, tapasztalatok/vásárlás
- További aktív témák...
- MECHANIC PCB repair PAD - 2. generációs kialakítás
- DC csatlakozós ventilátor kábel - 1 utas vagy 3 utas változat
- ÚJ, bontatlan iPad PRO 13 (2024) M4 CHIP! 256GB WIFI asztrofekete, 1 év Apple garancia!
- Samsung Galaxy S22 Ultra 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- HP Victus 16-r1019nt - ÚJ 16" FullHD IPS GAMER notebook - i7-14700HX, 32GB, RTX 4070
- HP OMEN 17.3" FHD 300Hz i7-10750H Nvidia RTX2070 Super 8GB GDDR6 16GB 512SSS 1T HDD
- Spiegen AlignMaster Google Pixel 8 üvegfólia
- Eladó ÚJ 2Drive Executive 1080p FullHD autós fedélzeti kamera/dashcam
- LENOVO IDEAPAD 3 15ALC6 (82KU01JVHV) eladó + ajándék GAMER egér + GAMER fejhallgató
- ENDORFY Fortis 5 ARGB CPU hűtés eladó!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen