Hirdetés
-
Igencsak szerény méretekkel rendelkezik az Aetina Xe HPG architektúrás VGA-ja
ph Az 50 wattos modellt beágyazott rendszerekbe, MI-vel kapcsolatos munkafolyamatokhoz és edge applikációkhoz szánták.
-
A személyre szabott reklám lehet a streaming következő slágere
it A jobb célzott hirdetések érdekében adatplatformot indít a Warner Bros Discovery.
-
Érkezőben a Poco M6 4G
ma 5G-s és 4G-s Pro modell már van, hamarosan lesz Poco M6 4G-s alapváltozat is.
Új hozzászólás Aktív témák
-
Karma
félisten
APK szerkesztéshez (és akár reverse engineeringre) a Virtuous Ten Studio-t szoktam használni. Nem tudom a témaAPK-ban mi van, mindenesetre a tiszta kibontáshoz és visszacsomagoláshoz jól jöhet. [link]
Tippre kell lennie egy XML fájlnak ami a témát írja le, hasonlóan a manifesthez. Majd megnézem ha lesz egy kis időm.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
Én Windows 8-on jártam ugyanígy,de sajnos nem sikerült megoldani, újrahúztam végül az egész hóbelebancot. Azt hiszem próbáltam az update site-on keresztül foltozni, de nem sikerült neki.
A dolog kellemetlenségét fokozza, hogy a legújabb bundle-ben az Eclipse összefosta magát (nem találta meg a saját bundle-jeit), amint feltelepítettem a Subclipse-et. Na ilyet látott már valaki?
“All nothings are not equal.”
-
Karma
félisten
válasz Victoryus #512 üzenetére
Vagy az Eclipse-ben is tudsz APK-t exportálni, ha a File -> Exportot választod.
A target és a minimum SDK-t jól állítottad be? Mert hasonló hibát ad pl. ha egy JB minimum projektet akarsz futtatni 4.0-án vagy előbbin...
Pigster: egy utility függvény miatt felesleges leszármaztatni az Applicatiönből. A második megoldás a jobb a kettőből (legalább egy önálló egysègbe kerül a kód).
Az alternatíva az, hogy a műveletet amit ide raknál, abba az osztályba rakod amihez kapcsolódik. Persze ez beépített típusoknál nem pálya.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
-
Karma
félisten
Ezt nem tudom, de a Play helyett használhatnád a TestFlightot a tesztelés alatt.
“All nothings are not equal.”
-
Karma
félisten
-
Karma
félisten
Megjegyzés: a Sun JVM a nagyon rövid stringeket cacheli, tehát pl. egy három hosszúságú stringnél előfordulhat, hogy a == igaz lesz. A Dalvik nem tudom csinál-e ilyet, de még ha csinál is, erre nem szabad alapozni. Egyenlőség tesztelésre csak az equals való.
“All nothings are not equal.”
-
Karma
félisten
Ezt a leírást most találtam, kevés fájdalommal lehet egy gépen Hyper-V és HAXM is, noha nem is egy időben Főleg hasznos, mert VMware-t is szeretnék néha használni.
“All nothings are not equal.”
-
Karma
félisten
válasz pittbaba #622 üzenetére
Nem vagyok nagy guruja a témának, de a Google kitalálta az ilyen felhasználáshoz az ADK-t, és vannak fain kulcsrakész lapok az ilyen hobbifejlesztéshez.
“All nothings are not equal.”
-
Karma
félisten
És megy is a HAXM? Azaz emulátor indításkor írja az AVD Manager, hogy HAX is working and emulator runs in fast virt mode? Mert enélkül nem ér semmit
Nekem egy 4.2.2-es image hidegindítása tíz másodperc jelenleg. Mondjuk elég erős a gépem is - de nagyságrendi eltérésnek nem szabadna lennie. Még a tabletemen is feléled húsz alatt.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz shinodas #804 üzenetére
Két dolog maradt ki:
1) Semmit se konfiguráltál be az Intenten. Vagy egy action stringet adj neki (amit manifestben regisztráltál a célactivityhez), vagy használd a setClass metódust hogy Java osztály szinten hivatkozz a másikra.Utóbbi pl.: intent.setClass(ValasztoActivity.this, CsatlakozoActivity.class);
2) Az Intentet el kellene küldened, anélkül semmit se ér ValasztoActivity.this.startActivity(intent); kéne a finish() elé.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
Persze, ha az eszközválasztó activity-t valaki ForResulttal indítja, akkor a hívónak visszazongorázza az intentet, ő meg majd indít amit akar vagy csinál amit akar. Én csak az itteni részletből indultam ki és a panaszból
Az indításhoz azért releváns lehet amit írtam
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
Az mindenképpen nagy előny.
Egyébként szerintem semmi baj nem lenne szépségileg azzal se, ha a fájlnevet (vagy egy azt wrappelő osztályt, ha van értelme) passzolgatsz az objektumok között; inkább mint megpatkolni egy könyvtárbeli entitást olyannal, amihez semmi köze.
“All nothings are not equal.”
-
Karma
félisten
-
Karma
félisten
válasz negyedes #899 üzenetére
Már megint, a PatientData ne legyen Context! Semmi köze hozzá.
Az előzményeket most kezdem olvasni...Mein Gott. A staticet ebben a környezetben vagy felejtsd el teljesen, vagy csinálj egy saját Application osztály, aminek az onCreate metódusában inicializálod a PatientData statikus mezőit. Ugyanis ez a leghamarabbi pillanat, amikor application contextet tudsz szerezni, ami az SQLite-nak kell.
(WonderCsabo valamiért ezzel a dependenciával nem számolt.)
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz WonderCSabo #903 üzenetére
Szerintem adatbáziskezelésből itt nem sokat láttunk, a dolognak már sokkal hamarabb véres a torka. Az életciklus, meg hogy ki hivatkozik kire elég fontos Androidon, különösen mert ilyen lábbalhajtós.
Ezzel együtt egyetértek, egy jó androidos mintából jobb kiindulni, mint egy desktopJava gondolatvilágból.
“All nothings are not equal.”
-
Karma
félisten
válasz negyedes #906 üzenetére
Lassíts egy kicsit. Egy iPhone-nyi képernyőn nem akartam regényt írni, ezért utalgattam csak a követendő irányra, de akkor most konkrétabban.
Kezdjük ott, hogy gondold át, hogy az alkalmazásod mit csinál, milyen képernyői vannak (jó közelítéssel ezek az Activityjeid); és ezekből melyik fér hozzá a DB-hez, mit csinál vele és mennyi ideig. Ha ezt a topikba leírod, bár nem kötelező, még hasznos is lehet. Ez azért kell, mert ez alapján tudod eldönteni, hogy ki legyen az adatbázis gazdája. Mint pár héttel ezelőtt említettem, ez különösen fontos - ezért is vár Contextet első paraméterként.
Ideális esetben, mondhatni alapelvként, a DB-hez csak nagyon ritkán fordulj, és sose fuss több kört mint szükséges, mert egyszerűen lassú.
Két primitív stratégiát felvázolok addig is, amíg gondolkodsz rajta.
1) (a kettőből ajánlott) Amelyik Activity adatbázist használ, az kezeli magának. Az onCreate metódusban hozod létre a DatabaseHandlert, contextként pedig this formájában az Activity-t adod meg. OnDestroyban meg bezárod. A kód többi részében pedig feltételezed, hogy a DB objektum nyitva van, és használod békésen.
2) Az alkalmazásod ugyebár több Activityből áll össze, de az Application objektum közös. Az Application osztály is Context, bár korlátozottabb jogokkal rendelkezik (nem nyúlhat a UI-hoz vagy az aktív Activity-hez például). Az adatbázishoz viszont pont elég.
Ezáltal meg tudod oldani azt, hogy induláskor egyszer kinyitod a DB-t (Application onCreate metódusban, a context ismét this), és majd a végén bezárod. Közben meg az Application egy tagváltozójában tárolod a handlert.
Van sok gány megoldás arra, hogy hogyan teszed elérhetővé az Activity-k felé: castolhatod az getApplicationContext() eredményét, csinálhatsz static mezőket, követheted a singleton mintát... Vagy használhatsz IoC jellegű logikát is.A lényeg az, hogy legyen meg a teljes életciklus fejben.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz negyedes #928 üzenetére
Szerintem adatbázis, mert elég jól definiálható az emailekhez tartozó séma, és eléggé rekord-alapú. Bár az se baj ha átgondolod pár soron, akarod-e újra feltalálni a kereket...
Széljegyzet és más téma: ha legközelebb adatbázisoznom kell, a persistence elnevezésű libet lehet felpróbálom. Valaki járt már el hasonlóan? Vagy valami mást használt ORM-hez?
“All nothings are not equal.”
-
Karma
félisten
Amikor a telefonon bekapcsolod az USB debugging módot (fejlesztői eszközök alatt), és összekötöd kábellel a gépeddel, az Eclipse-ben a "Logcat" elnevezésű ablakban (legegyszerűbben a DDMS perspektíván) láthatod az összes üzenetet, amit a telefonon futó alkalmazások dobálnak.
Ezt le tudod szűrni a saját alkalmazásodra package név alapján.
Az üzenetek között valószínűleg látni fogod, hogy a Google Maps API authentikációs hibát dob, mert rossz a kulcs amivel aláírtad az APK-t, vagy a kulcs amit megadtál.
“All nothings are not equal.”
-
Karma
félisten
válasz trisztan94 #936 üzenetére
Jobbkattolj az alkalmazásprojekteden a Package Explorerben, és ott válaszd a Run as...-t és az Android Applicationt. Akkor megcsinálja a launch configot automatikusan.
Ha nem akarná, akkor File menü Export, és ott tudsz APK-t létrehozni kézzel.
A parancssoros eszközökhöz tényleg a PATH-t kéne beállítani jól, az SDK-d tools, platform-tools mappáinak mindenképp benne kell lennie.
“All nothings are not equal.”
-
Karma
félisten
válasz trisztan94 #940 üzenetére
Nem is kötelező parancssorból fordítanod
“All nothings are not equal.”
-
Karma
félisten
válasz trisztan94 #945 üzenetére
A DDMS perspektíván látod az eszközt? Logcatat ír?
Ha nem, a kerneled látja az ADB imterfészt? Bedugás után érdemes lehet megnézni a dmesg kimenetét, hogy mit lát és mihez kezd vele.Linux alatt csak a szopás van az ilyesmivel... Nem írt semmit/mindent megcsináltál, amit a Google oldala írt? Régen volt, hogy az udev konfigurációjába bele kellett piszkolni pl.
“All nothings are not equal.”
-
Karma
félisten
Ugye nem UI szálon akarod ezt a kódot használni, pl. egy gomb eseménykezelőjében, vagy onCreate-ben?
4.0-tól kezdve ez hibát dob, szigorúan kötelező háttérszálat használni a hálózathoz! Ez lehet AsyncTask, Executor, de akár egy sima Thread is.
Csak legyen külön. Mellesleg ha az exceptiont idemásoltad volna, még csak tippelgetni se kéne.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz WonderCSabo #967 üzenetére
Olyan nincs, hogy nem csinál semmit*, maximum tenni kell hogy látszódjon. Debuggerrel a kérdéses résznél akkor is azonnal világítana az exception, ha azt lenyeleti egy üres try-catch-csel (ami gondolom pont így van).
*: egy ilyen komplexitású kód legalábbis
“All nothings are not equal.”
-
Karma
félisten
válasz trisztan94 #976 üzenetére
Hogy őszinte legyek, nem egészen értem se a kérdésed, se hogy mit akarsz elérni. A RelativeLayoutnak (mint ahogy bármely más ViewGroup típusnak) megvan a maga helye; és közös bennük, hogy View osztályokat tudnak valamilyen elv szerint rendezni.
Ha most a libGDX-szel saját rajzolásod van, ahhoz semmi köze a VG-knek.
Azt csak nagyon remélni tudom, hogy nem View-k tologatásával készítesz játékot - az se nem gyors se nem jó.Szóval egy kis részletet nem bánnék. Vagy egy vázlatot.
“All nothings are not equal.”
-
Karma
félisten
válasz negyedes #1002 üzenetére
Eggyel több nullt írtál a szükségesnél, így szerintem a CancellationSignallal végződő, 16-os API-t hívod meg véletlen.
Megszámoltam, tényleg. (10 paraméter vs. 7-9).
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz negyedes #1004 üzenetére
Amikor rakod össze a WHERE feltételt, az egyenlőségjel jobb oldalát aposztrófok közé kell tenni. Ez okozza az egészet.
Pl. az idézett querynél: KEY_SENDER + "=" + sender helyett KEY_SENDER + "= '" + sender + "'".
Vagy az egyébként jóval bonyolultabb SQLiteProgram osztályokkal meg tudod oldani, amit hunfatal mond.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz negyedes #1036 üzenetére
A DB-ben az oszlopodat gondolom Sendernek hívják, a KEY_SENDER csak a tagváltozó/konstans a Java segédosztályodon. Ha tényleg kézzel akarod összerakni a select hívást (amit nem értek miért tennél), a valódi oszlopneveket kell használnod.
Azaz pl.
String selectQuery = "SELECT " + DBConstants.KEY_SENDER + ", " + DBConstants.KEY_RECEIVER + ", " ...;
Cursor cursor = mDb.rawQuery(selectQuery, null);“All nothings are not equal.”
-
Karma
félisten
válasz negyedes #1041 üzenetére
Módosítsd a findViewById hívásokat, most valószínűleg az activity-d metódusát hívod. Ha tippelnem kéne, belső nem-static osztályt írtál az adapternek.
TextView send = (TextView) parent.findViewById(R.id.sender);
TextView date = (TextView) parent.findViewById(R.id.date);
TextView subject = (TextView) parent.findViewById(R.id.subject);[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz negyedes #1043 üzenetére
Ó. Megnéztem a doksit, persze hogy nem jó ez se, hiszen a parent az a ListView. Amit te inbox_listnek neveztél, az a megnyomott elem...
Onnan próbáld meg a findViewById-t.De igazából sokkal jobb lenne, ha az egészet kidobnád a francba, s a parent.getItemAtPosition(position) hívással megszereznéd az adatobjektumodat, és onnan vennéd ki a három mezőt. Tudod, MVC meg ilyenek...
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz negyedes #1062 üzenetére
A SimpleAdapternek van egy List<Map<...,...>>-je, amibe az adatokat rakod. Ez a lista magától nem fog frissülni, a DB mellett abból is ki kéne venni a sort a notify hívás előtt.
És átgondolni, hogy miért fából csinálsz vaskarikát.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz negyedes #1064 üzenetére
Hát, ennyi kód ismeretében csak általánosan megy...
Amikor az adaptert létrehoztad, egy listát adtál neki data gyanánt. Ezt a listát tedd el tagváltozóba, és használd a remove metódusainak egyikét a törlendő elemmel vagy annak indexével.
Mivel ilyen naivan sikerült az adaptert megcsinálni, először meg kell keresned egy ciklussal a helyes indexet...
Erősen javaslom, hogy nézd meg a SimpleCursorAdaptert a kézzel varázslás helyett. Csak több munkát keversz magadnak...
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz PandaMonium #1078 üzenetére
Azért ez a "semmit se tanul" kijelentés igen erős, tekintve hogy a Unity milyen népszerű és erős. Programozni azzal is kell .
Ha pénz van a dologban, és be van tervezve a licencköltség, akkor mindenképp a Unity. Ilyen esetben saját engine-t írni öngyilkosság; de legalábbis nagyon sötét megrendelőre utal ha belemegy.
Hobbiismerkedésnél persze más a helyzet.
“All nothings are not equal.”
-
Karma
félisten
válasz trisztan94 #1143 üzenetére
Keystore, nem keystroke. Privát-publikus kulcsokat tároló fájl.
Kiadáskor az APK-t alá kell írni egy RSA kulccsal, ami a fejlesztőt azonosítja. A Play Store-ba feltöltéskor fontos ez, mert ha egy verzió kikerül, onnantól minden frissítést ugyanezzel a kulccsal kell feltenni, vagy hibát dob.
Egyszer kell ilyet generálnod Play Store fiókonként praktikusan, kitöltve a kulcs adatait pontosan.
Az Alias a kulcs neve lesz ebben a keystore-ban, bármi lehet, de praktikus ha egyszerű és könnyen felidézhető. A validity a kulcs érvényessége, ha lejárna, nem telepíthető az APK. Mivel apponként nem változtatható a kulcs, jó távoli időt kell megadni (25 év+). De lehet erre a Play is figyelmeztet.
A kiterjesztés nem számít amúgy. Az AVA hiba sajnos nem tudom mi lehet.
“All nothings are not equal.”
Új hozzászólás Aktív témák
- LG NanoCell 55NANO766QA Halvány píxel csík
- Philips 58PUS8545/12 1 ÉV GARANCIA Játék üzemmód
- Tyű-ha! HP EliteBook 850 G7 Fémházas Szuper Strapabíró Laptop 15,6" -65% i7-10610U 32/512 FHD HUN
- Bomba ár! HP EliteBook 840 G5 - i5-8G I 8GB I 128GB SSD I 14" FHD I HDMI I Cam I W10 I Gari!
- The Last of Us Part I Ps5