- 200 milliárd dollárt önt a memóriagyártásba a Micron
- Elképesztő mértékben tömörítenék be a nagy nyelvi modelleket
- Radeon RX 9060 XT: Ezt aztán jól meghúzták
- Atomenergiával dübörögnek tovább az Amazon adatközpontok, SMR-ek is jöhetnek
- Macron betiltatná az EU-ban a közösségi médiát a 15 év alattiaknak
Új hozzászólás Aktív témák
-
urandom0
senior tag
válasz
Aethelstone #12179 üzenetére
Most egyelőre úgy néz ki, marad a projekt a mostani barebone PC-n, mert a vezetőség azt mondta, nincs pénz RPi-re... de azért köszi. Nagyon kíváncsi leszek, hogy fog futni Raspberry-n, ha egyszer eljutunk odáig.
Más.
GraalVM native image készítésről ki tudna mesélni? Mennyire használható? A végeredmény mennyire kicsit méretre, és mennyivel gyorsabb (ha gyorsabb egyáltalán)?
Én kb. 1 évvel ezelőtt próbálgattam, hát elég körülményes, illetve le sem fordult teljesen a projektem, a java.net.http csomagra panaszkodott folyamatosan. -
-
mate317
tag
Sziasztok,
többféle notification küldésére miért ajánlják a decorator patternt? Ha csak az a cél, hogy bővíthető legyen a kód az eredeti módosítása nélkül, majd a hívó kódban kiválasztható legyen, milyen notification kell, nem lenne elég lecopyzni az eredeti pl email notif osztályt és pl sms-es változatot csinálni belőle? Ez csak plusz egy class, és nem látom mivel tud kevesebbet, mint a decoratoros megoldás. Pizza topping use case az vili, ott a wrappelésnek van hozzáadott funkcionalitása, de notif küldést nem értem miért visszatérő példa tutorialokban. -
Szmeby
tag
válasz
btraven #12173 üzenetére
A monad egy magányos lélek, ki csendben, magába fordulva, mindentől elzárkózva lebeg az éteri mezők felett. A monad nem foglalkozik a külvilággal. A monad csak befelé figyel. Ha a monad mondjuk egy gömbként éli életét, bár mélyen legbelül forrong is, ő továbbra is egy gömb formájában létezik. Akkor és csakis akkor mutat változást kifelé, amikor beteljesíti rendeltetését, eljő érte a terminal operator, megszűnik létezni, miközben hamvaiból egy kocka emelkedik fel. Az a kocka már nem feltétlenül egy monad. Általában nem az.
Amikor egy mondjuk stringre ráhívod a parseInt metódusát, ő voltaképpen egy lépésben válik egyikből a másikká. A változás kívül megy végbe, azonnal, szemmel jól láthatóan.
A stream egy monad, a legtöbb operátora a belső lelkivilágát alakítja, kívülről láthatatlan, ezért is tükrözik az elnevezések ugyanezt. A map nem a monad külsejét akarja megváltoztatni, hanem a belsejében található tartalmat alakítja, esetedben egy-egy stringet. A mapToInt úgyszintén. A max operátor ellenben terminálja a monadot és ebből a sejtelmes lényből csinál egy számot, ami már kívülről is láthatóvá válik, miközben a monad meghal.
A java nyelvben nem csak egyféle lény él. A különféle lények eltérően viselkednek és a viselkedésüket csak kontextusukban érdemes értelmezni.
-
btraven
őstag
Stream.of("a1", "a2", "a3") //step1
.map(s -> s.substring(1)) //step2
.mapToInt(Integer::parseInt) //step3
.max()
Tényleg zavaros a mapToInt elnevezés, nem inkább makeIntStream kellett volna? -
urandom0
senior tag
Sziasztok,
van esetleg valakinek tapasztalata abban, hogy egy JavaFX-et és/vagy Apache POI-t projekt mennyire problémásan futtatható Raspberry Pi-ról? -
Foglalt név
addikt
válasz
Foglalt név #12168 üzenetére
Utálom, ha valaki nem írja be a választ, ha megtalálta egy kérdésre.
Az EnvironmentRepositoryConfiguration-ben ConditionalOnMissingBean babok, amikkel ki lehet váltani valami értelmessel a gyári implementációt.
Biztos én vagyok vak, de egy vak hangot nem találtam erről (sem) a dokumentiációban. -
Foglalt név
addikt
Felvenném a fonalat az eszement framework-el.
Próbálnék összehozni egy Spring Cloud Config szervert AWS backend-el. A dolog egész jól működik, ameddig a saját bejelentkezésemet használja. Azonban hozzá kéne adnom egy Role-t, hogy lássa a felhőt magától is.
A 2.26-os aws sdk egy generált trutyinak tűnik és nem látom, hogyan tudnám elhiteteni vele, hogy a Primary Bean-nek megadott StsAssumeRoleCredentialsProvider-t használja.
Az egész kód úgy néz ki, hogy csak a Default-ot tudja, használni és persze annyira "szolid", hogy minden private, nehogy bele tudjak nyúlni szépen.
Mivel Spring, gondolom van egy nem dokumentált paraméter, függvény valahol, amivel egy sorból meg lehet oldani és nem kell a fél SDK-t újraírni hozzá. Vagy a Bootstrap registry-be behekkelni. Minél "tisztább" az ötlet, annál jobb. Köszi előre is! -
floatr
veterán
válasz
urandom0 #12165 üzenetére
Bár nem vagyok képben go és rust tekintetében, de a kotlin support kimagasló a java ökoszisztémában. Az architektek/tech leadek húzzák a szájukat, az ügyfelek nem is hallottak róla, a középvezetők meg találnak rá indokot. Aztán fejest ugranak valami eszement frameworkbe, amit ugyanúgy senki nem tud használni...
Igazából csak amiatt bosszant a dolog, mert egy generációs ugrás lenne, de marad inkább a "bevált" getterszetter-lombokotsehasználj-jóvanazúgy megoldás, örül az ember ha eljutottak már java 11-ig -
floatr
veterán
válasz
Aethelstone #12163 üzenetére
Csináltam egy kis "piackutatást" állásinterjúkon. Azért nem használnak kotlint, mert kevés a fejlesztő, azért kevés a fejlesztő, mert nem használnak kotlint
-
floatr
veterán
válasz
Aethelstone #12160 üzenetére
Kotlint kell használni, az még tutibb
-
Ablakos
őstag
válasz
Aethelstone #12160 üzenetére
Igen, erre jutottam végül. Ha 15 felett kikerült a javascript a jdk-ból, hiába kérek 1.8-as kódot a 23 -asban.
Köszönöm mindenkinek.
-
Lortech
addikt
válasz
Aethelstone #12158 üzenetére
Ezért van külön source, target és release compiler beállítás. A source az, amit te írtál, a target és a release (9-es verziótól) pedig az, amire Ablakosnak van szüksége, ha 1.8-as runtime-mal kompatibilis (és azon is futni képes) kódot szeretne kapni úgy, hogy 23-as verzión buildel.
-
Ablakos
őstag
Egy compiler option kérdésem van. Mivel >15-ös jdk-ból kikerült a java script motor visszatértem a 8-as openjdk-ra. Ha 23-as jre környezetben, de 1.8 (8-as java) kódot állítok akkor nem teljesen 8 -assal megegyező kódot kellene kapnom?
-
Szmeby
tag
válasz
Ablakos #12154 üzenetére
Valószínűleg azért találja meg a második megoldásod, mert ott explicite kikötöd neki, hogy az src-ben keresse a fájlt, és ugyanezen okból hiszem azt, hogy az az
Excluded: resources/
lesz a ludas.Ugyanis ezzel azt mondod az ecplise compilerének, hogy a resources mappát hagyja figyelmen kívül, ne tegye át a bin alá, és amikor futtatod, valószínűleg a kódod a bin-ben keresi a fájlt. Töröld azt az exclusiont, ellenőrizd, hogy átkerültek-e a fájlok a bin-be a fordítás során, és hogy működik-e immáron az első megoldás. Remélem igen, mert ha nem, akkor hülyeséget beszélek.
-
Ablakos
őstag
-
urandom0
senior tag
válasz
Ablakos #12151 üzenetére
A resources mappának a classpath-ban kell lennie, különben a Javanak fogalma sem lesz róla, hogy hol keresse a fájlaidat.
Ha a resources mappát hozzáadtad a classpath-hoz, akkor így hivatkozz rá a fájlodra:URL fxmlUrl = this.getClass().getClassLoader().getResource("fxml/sayhello.fxml");
Elméletileg legalábbis...
-
Ablakos
őstag
Miért nem talál erőforrást az URL objektum? A buildPath: /src
(8-as javafx-re van a tutorial, de 23-ast használok)@Override
public void start(Stage stage) throws IOException {
// Construct a URL for the FXML document
URL fxmlUrl = this.getClass().getClassLoader().getResource("resources/fxml/sayhello.fxml");
// Load the FXML document
VBox root = FXMLLoader.<VBox>load(fxmlUrl);
Scene scene = new Scene(root);
stage.setScene(scene);
stage.setTitle("Hello FXML");
stage.show();
}
Ez a project fa.
-
lanszelot
addikt
válasz
lanszelot #12143 üzenetére
Sikerült megtalálnom a hibát.
LocaleHelper .java file -ban véletlen töröltem egy betűt a package name -bőlAmi érdekesség, hogy nincs instantiate .
Amit nem értek, hogy hogyan.
java tudáom szerint ez kellene:LocaleHelper localehelper = new LocaleHelper();
Ha beírom ezt a sort, akkor nincs vele baja és azt a localehelper -t használja
De ha nem írom be, úgy ahogy a linknél van, úgy is jó.A másik ami még szemet szúrt, hogy sokan if n-él nem használják a kapcsos zárójelet, és úgy is jó.
pl:if(vmi)
//code
else
//code
Hogy pelda is legyen: 19:22 -nél [link] -
lanszelot
addikt
válasz
bambano #12146 üzenetére
Hello,
Ezt nem értem. Mi az hogy en local?
Es hol van az en_US.UTF8?
A lokalizációra gondolsz?
Ha igen, Androidban nem így működik.
string.xml -ből kell többet létrehozni, amennyi nyelv van, és létrehozatalnál kiválasztani a nyelv lokalizációt. Ezután a telefon nyelvét ha váltogatod, akkor automatikusan váltja a program nyelvét.
Viszont ha gombbal szeretnéd, akkor meg lehet mondani hogy mely lokalizációval induljon.
Csak itt jön a csavar, hogy erre sincs egy fix módszer, mint ahogy semmire se Androidban, mivel folyamatosan változik, ezért találd ki most épp hogyan kell.
5 projektem van ami mind becsődölt ez a folyamatos "most már ez nem müködik, franc se tudja hogy lehet most" -
lanszelot
addikt
válasz
urandom0 #12144 üzenetére
Igen, egyet értek, rettenet az egész android programozás.
De nekem nincs célom vele, csak hobbi.
Csinálgatom kicsit, és váltok másra.
Mindig alap dolgokat hasznáolk, pl web develop-nál js -t, phph-t és ennyi, sose érdekelt a jqueri meg a többi. Androidnál is így vagyok Csak java , és semmi más. Ha nme lehet azzal, akkor nem érdekel.
Xml nem lenne gáz, ha rendesen lehetne java -val kezelni. De nem lehet.
Borzasztó korlátolt a java. Főleg, hogy az egész folyamatosan úgy változik, hogy pl 1 éve még működött Android 12 vel, most meg már egyikkel se.
És folyamatosan ezekbe akadok: pl Volley Implementation.
1 éve még működött api 26 felett ma már kuka. -
urandom0
senior tag
válasz
lanszelot #12143 üzenetére
Ez az xml-es bohóckodást én is utáltam Androidban. Sőt, az igazat megvallva, az egész Android fejlesztést utáltam elejétől a végéit. Van egy cikk ebben a témában angolul, ezt szoktam ajánlgatni: https://rmirabelle.medium.com/the-android-sdk-is-the-worst-thing-on-earth-c3aaebbd2e6d
Százával vannak még hasonló írások: https://news.ycombinator.com/item?id=41062292
https://news.ycombinator.com/item?id=40742719Aki ezt az xml-es faszkodást kitalálta, annak remélem külön bugyra van a pokolban. Lehet egyébként procedurálisan is csinálni az egészet, de ahhoz közel nulla dokumentáció van.
Mondanám, hogy térj át inkább Kotlinra, és tanuld meg a Jetpack Compose-t, de csak akkor mondanám, ha rosszat akarnék neked (és ha nem tudnám, mi az a declarative UI nevű lázálom). Én azért hagytam abba az Android fejlesztést, mert egy tragédia az egész, elejétől a végéig.Csak egy dolgot mondok neked, ha egy framework doksijában olyanokat látsz, mint pl. hogy "less code", "intuitive", "it simplifies...", "makes it easy", akkor sovány vaddisznó vágtában menekülj onnan. Sőt, ha jót akarsz magadnak, a nagyvállalati cuccokat, úgy, ahogy vannak, kerüld el.
-
lanszelot
addikt
Hello,
Esetleg ha ért valaki hozzá meg tudná mondani miért hibás a java kód? [link]
context = LocaleHelper.setLocale(MainActivity.this, "en");
Ezzel van gond a MainActivity -ben
LocaleHelper -ben lévő LocaleHelper class belüli setLocale -t hívja meg, de
olyan mintha a class nem lenne instantiate -va.
LocaleHelper pirosA gond az, hogy nem tudom hogy kell Android-ban instantiate -t csinálni.
/nem tudom hogy van magyarul a instantiate , sose tanultam magyarul kódolni/btraven:
ez nekem? Nem a java val van gondom. Az Androiddal.
Mint a fenti példa is mutatja, java-ban tudom hogy kell csinálni, de Androidban nem úgy kell. Vagy hogyan lehet elérni ezt meg azt xml-ből java val.
Hogy lehet egyik xml-t a másikba rakni..stb
De sehol se kóddal csinálják, hanem manuálisan.
Alig használják a java-t ,én meg csak azt szeretném. -
btraven
őstag
Ezt a Java könyvet ajánlom
-
lanszelot
addikt
Helo,
Tudom ez nem teljesen java, de kicsit mégis.
Rengeteg beginner to advanced tutorial-t néztem. Yt, udemy,
de sehol se találtam normálisat.
Android Studio -ban vagy kezelő felülettel húzgálják össze egérrel.[link]
És a kódból mit sem látni. /ok, értem, csináljam utána és ott lesz a kód/
Vagy nagyon alapokat mutatnak.
Xml-ben össze rakják, és java -val kezelik.
De sehol sincs olyan amikor a java -val hozzák létre.
Pl van pár json file-om, abból legenerálni az oldalt.
pl legenerál egy lista nézetet a nevekből, és képekből, fent keresőben lehet keresni és a névre nyomva ki adja az ahhoz tartozó adatot.
Ez nem egy nagy dolog, html css js -ben ripsz ropsz össze lehet dobni.
De itt azt se tudom hogy kezdjek neki.
Hogy generálok lista nézetbe itemeket. Pláne, hogy generálok egy oldalnyi adatnak való különböző "view"-ket az adatok megjelenítéséhez.
No, az meg, hogy az itemeket xml-be rakjam java -val /1:40 [link] /, és úgy rakja be.
Java xml -ről semmi. /lehet nem lehet java -val xml -t kezlni azért? /Nem érdekel kotlin.
Tudna valaki segíteni, hogy mire keressek, vagy hogy keressem ?
Vagy nem lehet generáltatni? -
urandom0
senior tag
válasz
lanszelot #12138 üzenetére
Mindig tedd hozzá, hogy milyen platformon fejlesztesz, mert anélkül nem lehet pontos választ adni. Az Android processzkezelése egész más, mint mondjuk egy asztali Java alkalmazásé vagy egy Spring Boot appé, mert ugye Androidon intentekkel meg activitykkel kell játszani. Ott valami ilyesmi megoldást kell csinálnod (nem értek hozzá, én is csak úgy copyztam):
Context ctx = getApplicationContext();
PackageManager pm = ctx.getPackageManager();
Intent intent = pm.getLaunchIntentForPackage(ctx.getPackageName());
Intent mainIntent = Intent.makeRestartActivityTask(intent.getComponent());
ctx.startActivity(mainIntent);
Runtime.getRuntime().exit(0);Vagy ilyet:
public static void triggerRebirth(Context context, Intent nextIntent) {
Intent intent = new Intent(context, YourClass.class);
intent.addFlags(FLAG_ACTIVITY_NEW_TASK);
intent.putExtra(KEY_RESTART_INTENT, nextIntent);
context.startActivity(intent);
if (context instanceof Activity) {
((Activity) context).finish();
}
Runtime.getRuntime().exit(0);
}De lényegében ez is arról szól, hogy új processzként elindítod saját magad, magadból pedig kilépsz, és az új processz pedig fut tovább.
-
lanszelot
addikt
-
urandom0
senior tag
válasz
lanszelot #12136 üzenetére
Android? Ha igen, akkor az Android topikban kellene feltenni a kérdést, mert ott más megoldás kell (újrahívni az intentet, vagy nem tudom, nem értek hozzá).
Ha asztali program, akkor több lehetőség is van, pl. ProcessBuilder-rel elindítasz egy új példányt a programodból, a jelenlegiből pedig kilépsz System.exit()-tel. Vagy a Runtime.getRuntime().exec() metódussal indítasz egy új példány, és kilépsz a jelenlegiből.
Vagy ha kicsit softosabb újraindítás kell, akkor csinálhatod azt, hogy a main() metóduson belül egy másik metódusba (pl. launch) rakod a programod lényegi részét, és ezt a metódust bármikor újra tudod hívni.
De végső soron visszaállíthatsz mindent alapra egy metódussal, de ezzel kapcsolatban nekem vannak kétségeim, elég könnyű hibázni, főleg, ha vannak statikus metódusaid is.Nyilván a konkrét megvalósítás erősen függ attól, hogy pontosan mit és hogyan csinál a programod.
-
lanszelot
addikt
Hello,
Java ban ha lefutott a program és újra gombbal elölről akarom futtatni azt tudom, hogy mindent egyesével alapba állítok egy method-al.
Az érdekelne van e egyszerűbb mód?
JS-ben pl location reload, csak azért írtam példát, hogy érthető legyen mit szeretnék. -
lanszelot
addikt
válasz
urandom0 #12131 üzenetére
Köszönöm szépen a választ.
Nem segített. Minden ugyanúgy inaktív.
Ha vissza nezel a fent említett poszthoz, ott láthatod, hogy volt debugging, csak eltűnt.
Ugyanennél a projectnél volt, semmit se módosítottam.Más:
Ebben tudna valaki segíteni miért 12?
4 -es - counter 2, hogy lép be a counter 3-as feltételnél?
Azt hittem nem nullázódik, de nullázódik, és 2-es az értéke.
[link] -
urandom0
senior tag
válasz
lanszelot #12130 üzenetére
Ha itt is azt fogod csinálni, mint a PHP-s topikban, elég hamar kiidegeled a népet
Ezt figyelmesen, alaposan olvasd át:
https://developer.android.com/studio/debug/index.htmlSzerintem a Attach the debugger to a running app rész kell neked, ott csúszhatott el a dolog.
-
lanszelot
addikt
Hello,
Bocsánat, hogy megint off topikot írok, de megőrjít az Android Studio bug-jai.
Most pl eltűnt a debug.
Hiába nyomok a debug-ra, elinditja a programot és ennyi.
Nincs lent a debugging window.
Ha ki is nyitom , semmit se ér.
A változók értékeit nem mutatja.
Minden szürke. Csak a pause gomb aktiv.
Ha rá nyomok, akkor a "MessageQueue.java" nyílik meg.
Eddig jól működött, de gondolt egyet és nem működik.
Újra indítottam a gépet, nem segít. -
lanszelot
addikt
Hello,
452 sor : 5 + 5 miért 0 ?
-
lanszelot
addikt
válasz
Ablakos #12123 üzenetére
Ez nem igaz.
A programom majdnem kész van.
Design van már csak ami unalmas. Pl, kep animáció gombnyomáskor.
Semmit se másoltam, semmi külső dolgot nem használtam.
Nem is szoktam. Saját ötleteimet valósítom meg, sose másoltam.
Mint írtam más a célunk. Én addig bingyózom míg megoldom.
Van időm, nem sietek. Volt, hogy hetekre félre raktam a projektemet, mert nem volt kedvem. /nem ezt, ezt nemrég kezdtem/Android Studio bug-okkal küzdök.
pl:`@layout/activity_main` does not contain a declaration with id `beteszEgyparBtn`
Ezt a hibát dobta. Fogalmam se volt mi a gond.
Rákerestem a neten mi a baj, és míg kerestem eltűnt a baj anélkül, hogy bármit csináltam volna. És csinál még ilyeneket.
Undo -t is próbáltam, nem jön elő a hiba. Pedig 10 percen át volt. -
-
lanszelot
addikt
Az, hogy valaki megír helyettem dolgokat, és én azt sajátként adom el, az kis kapu.
Én hobbiból csinálom. Teljesen más a célom mint pl neked.
Ezért nem értesz. Illetve ezen felül én más szempontból is teljesen más vagyok mint az átlag.
Ezek miatt teljesen félre érted a dolgokat. Amit megértek, és semmi gond.
Megpróbálom elmagyarázni:
Van aki vesz egy modell készletet, és profi módon gyönyörűen össze rakja, festi stb és a végeredmény kiállításra kerül.
És van aki vesz pár gyufát, kiborítja, vagdal, ragasztgat, és ha kész kirakja a polcra, amit csak a család lát. Nem profi munka, és nem bámulják millióan, de más volt a cél.
Ha a gyufás srác a profitól kérdez a neten a profi a nem fogja érteni hogy miért nem hallgatja meg a műanyag ragasztásáról.
Meghallgatta, csak neki nem kell műanyag, se airbrush.
Bocsánat a bugyuta magyarázatért -
válasz
lanszelot #12120 üzenetére
Te Android fejlesztés specifikus kérdéseket tettél fel most, nem java-st. Androidra pedig már a Google szerint a kotlin first az irányelv. Amúgy 1-1ben alakítható a java-kotlin ide-oda. De továbbra is csak egy nyelv, teljesen mindegy milyen nyelven írod a natív alkalmazásod, főleg mert a linkelt videó xml alapú anim resourceok használatát mutatja be.
Szerintem egyáltalán nem érted és nem is akarod érteni a mögöttes dolgait annak amit csinálsz, így pedig nehéz segíteni. Másképp nem írnál ilyet, hogy "kiskapu".
Amúgy lehet csak pure Java-val is. Csinálsz egy CustomView-t és annak az onDraw metódusában azt rajzolsz ami jól esik.
Ha ilyet akarsz, akkor javaslom, hogy az alap OO programozás könyvek mellé egy Számítógépes grafika könyvet is tolj végig. -
lanszelot
addikt
Először is köszönöm szépen a választ.
Te kotlin-ról írtál.
Én java -t használok. Azért is írok ide.Azért írtam Android Studio -t, mert ez a java topik.
Csak java-val nem lehet animálni.
Azért dobtam css linket, hogy mit értek animálás alatt.
Mert az lett volna a kérdés, hogy mit értek animálás alatt.PWA nem érdekel. Se AI se semmi más.
Android Studio és java, ennyi.Gradle Scripts - build.gradle(module.app) /implementation/
Ide 2 sort beszúrva már lehet, ezt is tudom.
De nem tudom az hogy működik.
Kell e majd az app nak net, ha oda bemásolom a 2 sort.Vagy animated vector drawable-t készítek. És maga a kép animált.
Az érdekelne, hogy csak Android Studio / java lehet -e animálni elemeket. Vagy mindenképp kiskapu kell?
-
válasz
lanszelot #12118 üzenetére
Hello,
Nem android studio specifikus, az csak egy IDE.
XML-ben is van amit tudsz animálni, de ha ilyen egyedi rajzolást szeretnél, akkor canvas-re kell rajzolnod és ott megoldani.Ne is hasonlítsd a CSS-hez, ami a webes világban van. Ha amúgy csak ennyi a célod, akkor jobban jársz egy PWA-val androidra, mert azt írhatod tetszőleges webes toolokkal és lényegében egy weboldal aminek van ikonja a launcheren.
Továbbra is javaslom, hogy az alapokat értsd meg programozásból. Amúgy Google első találat: https://www.youtube.com/watch?v=8rF_8wIrpL4
-
lanszelot
addikt
Hello,
Ha valaki használ Android Studio -t kérem segítsen már.
Hogyan lehet animációt hozzá adni egy elemhez?
Pl egy kép 2szer megforduljon gombnyomáskor.
Itt egy példa css-ben hogy kell: [link]
No de Androidban hogy kell? Sehol se találom.
Azért css mert nem tudom elmagyarázni , így egyszerűbb. -
lanszelot
addikt
Először is köszönöm szépen a választ.
Ez így teljesen más.
Nekem változók értékét kell megváltoztatni a methodon belül.
De nem "egy" kerül be, hanem vagy "egy", vagy "ket", vagy "har"Tehát a te példádban a method-nak semmi értelme, mert ha tudom mi változik, akkor
egy = true;
És kész is.No de nem tudom hogy melyik valtozik.
Azt a methodban beadott parameter tudja.
Methodban létrehozott switch -el meg lehet oldani.
Ezt is tudom.
"if" -el is meg lehet oldani.De nem egyszerűbb ha parameterel viszembe és akkor tudom a methodon belül, hogy melyik változik, és nem kell switch vagy if.
Tehát tudom, hogyan oldjam meg. Method helyett copy paste is megoldás.
De most tanulom, és most kell megértenem hogyan lehet hatékonyan használni.A nyelvet szoknom kell. Rá kell álnom a gondolat menetére, hogyan gondolkodjak java-ban. Más nyelvben masként kell gondolkodni. De ezt csak a gyakorlás adja majd meg.
Sok sok gyakorlás. -
válasz
lanszelot #12114 üzenetére
Értéket adsz át primitív típusoknál (int, boolean, double, stb) nem referenciát, szóval ez így nem fog működni. Fogalmam nincs, hogy körülötte mi van, nyilván van sokféle megoldás OO/wrapper esetben, de ha csak egy rövid scriptként nézzük akkor ez csinálja azt amit szeretnél. Sok értelme mondjuk nincs.
boolean egy = false;
egy = myMethod();
public boolean myMethod(){
return true;
}
Amúgy javaslom, hogy legalább olvass el 1-2 programozás alapjai cikket vagy könyvet, mert az oké, hogy nem érted az specifikus android vagy mélyebb tudást igénylő dolgokat, de itt az alapokkal is gondok vannak, úgy pedig nagyon nehéz haladni.
Vagy ha más nem, akkor másold be chatgpt-be mondjuk és kérd meg h magyarázza el a kódot vagy írd meg neki mit szeretnél. -
lanszelot
addikt
Hello,
A method-ban az "f" parameter, és a mthod-ban az "f" nem ugyanaz.
tehát "egy" nem lesz true.
Hogyan kell ezt helyesen ?boolean egy = false;
boolean ket = false;
boolean har = false;
myMethod(egy);
public void myMethod(boolean f){
f = true;
} -
lanszelot
addikt
válasz
lanszelot #12111 üzenetére
Hello
Sikerült megoldani:
Az egész "setOnCheckedChangeListener" -t be kellett raknom a methodomba.
Én csak a benne lévő "if" -et próbálgattam, de úgy nem lehet, és ez volt a gond.
Már semmi ötletem nem volt, és gondoltam mit veszíthetek, ha megpróbálom az egészet bele rakni, és így működik -
lanszelot
addikt
Először is köszönöm szépen a választ.
A scope miatt nem tudom kintebb rakni.
Ami fura nekem, ha létre hozok egy üres projektet, abba létre tudok ott hozni saját method-ot.
De a projekten amin dolgozom ott nem.
Nem értem miért.
Mi történt a projektemben, hogy nem engedi?
#12100 posztomban ott a project. -
válasz
lanszelot #12109 üzenetére
Hello,
Ötletem sincs miért akarod inner methodnak. Simán tedd egy szintre az onCreate-tel és hívhatod az osztályban bárhol this.yourmethod()-dal.
Amúgy van megoldás arra is amit szeretnél, lambda, anonymus vagy local class kifejezésekkel találsz rá megoldást. De Java-ban ez nem egy követendő irány, mint néhány funkcionális nyelvben. (pl Python). -
lanszelot
addikt
Hello,
Minden projectben létre jön egy main java class
Azon belül van az "on create" method.@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
On create method -on belül hogyan tudok saját methodot létrehozni?public void yourmethod(){
// your code here
}
Így nem lehet, pirossal alá van húzva, és az ajánlat csak delete. -
lanszelot
addikt
válasz
axioma #12107 üzenetére
Először is köszönöm szépen a segítséget.
Igen at tudom írni a tipust
Csak mint írtam még kezdő vagyok és összezavarna.
Így ránézésre azonnal tudom, hogy az image, vagy text.
Nekem még kellenek ezek.
Azért is rakom tele megjegyzéssel.
Számomra sokkal jobban átlátható.
Pl ha nincs időm 2 napig rá, akkor ezek segítenek mi merre. -
axioma
veterán
válasz
lanszelot #12106 üzenetére
Nezd, en elvet adtam at, nem megoldast. Igy lehet az elozo kerdesedben szereplo ertekadast [letrehozassal egyutt] megoldani. Egy tipust csak at tudsz irni... mobilrol ket masik tennivalo kozott ezt tudtam beszurni.
Visszanezve az elozmenyeket, az imageviewx-ek letrehozasat lehet ugy meguszni, h ahol most az imageview1 = stb sorok vannak, oda azt irod hImageView[] viewNr= new ImageView[5];
viewNr[0]=findViewById(R.id.Egyes);
<stb>
es utana csak a tombbol hasznalod oket csak. -
lanszelot
addikt
válasz
axioma #12105 üzenetére
Először is köszönöm szépen a segítséget.
Így én bis tudom, csak az úgy nem jó.
Ahol létrehozzon ott még nincs imageView1-5
Tehát ott nem tehetem bele.
Csak ott tehetem bele ahol már léteznek.
Azt írtad ott kint hozzam létre, azért tettem oda ki.
Viszont én nem tudom, és nem találtam, hogy lehet egybe hozzá adni az elemeket. Ezért kérdeztem.A tipus az ImageView, nem View.
Így tanultam, és mindenhol így is van.
TextViewnek is TextView és nem View.
És minden tipusnak önmagát adják meg.
Kezdő vagyok, így lehet, hogy lehet másképp, de össze zavar és inkább úgy csinálom ahogy tanultam. -
axioma
veterán
-
lanszelot
addikt
válasz
axioma #12101 üzenetére
Switch - valóban
Azt el is kezdtem átnézni kell e még, de jött a postás, és huss elfelejtettem
viewNr scope miatt. Az imageView nem érhető el kintről.
For ciklus nem lesz. Egyesével lesznek meghivva if -hez kötve, többször, többféleképpen.
Emiatt lehet kell majd a randSzam, így nem nyúltam hozzá. -
axioma
veterán
válasz
lanszelot #12100 üzenetére
Jaaa, akkor felreertettelek. OK, nevezzuk imageNumber-nek, az imageId az alfanumerikusra utal inkabb.
Szoval az altalad "one" id-val ellatott resource-hoz az R resource class hozzarendelt egy imageNumber-t, ami int, es ezt tarolja az R.drawable.one alatt. Igy mar talan ertheto.A teljes switch elhagyhato. Az ertelme annyi, mintha a teljes
switch(r) {...}
helyett azt irnad, hogyviewNr[v].setImageRescource(imgId[r])
(mondjuk nincs default agad, igy annyi kulonbseg azert van, hogy ha a v nem [0..5], akkor a switch lefut csak semmit nem allit be, az egysoros meg hibat ad)Van tobb aprosag amit lehetne me'g javitani. Pl. a viewNr letrehozas miert kerult be a listenerbe, es miert ket lepesben kap erteket?
ImageView imageView1 = findViewById(R.id.Egyes);
viewNr[0] = imageView1;
ehelyettviewNr[0] = findViewById(R.id.Egyes);
A randszam feleslegesen van inicializalva randomra, azt nem hasznalod, felulirja a for ciklusban - ez gondot nem okoz csak kod-olvashatosagot, mire gondolhatott a kolto alapon...
Új hozzászólás Aktív témák
Hirdetés
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- HP Elitebook 840 G3 laptop (14FHD/I5-G6/8GB/256SSD/Matricázott) - Akku X
- Asus Rog Strix Gamer laptop makulátlan állapotban
- ThinkPad T14 Gen4 14" FHD+ IPS érintő Ryzen 5 PRO 7540U 16GB 256GB NVMe ujjlolv IR kam gar
- 16GB-os SODIMM (notebook) DDR4 RAM bazár - nézz be, lesz, ami kell neked!
- HP 15-af105nh laptop (15,6FHD/AmdQuad/4GB/128SSD/Magyar) - Akku X
- Honor Pad X8a 64GB Wifi,1 év Garancia
- Bowers/Wilkins Px7 S2 fejhallgatók
- Bomba ár! Lenovo ThinkPad L480 - i5-8GEN I 16GB I 256GB SSD I 14" FHD I HDMI I Cam I W11 I Gari!
- Samsung Flip 2.0 PRO 65" WM65R + Connectivity tray + Gurulós állvány
- Prémium PC házak akár 20-40% kedvezménnyel eladók garanciával, számlával!
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: PC Trade Systems Kft.
Város: Szeged