- Fórumok
- Szoftverfejlesztés
- Java programozás
- (kiemelt téma)
- Poco F8 Ultra – forrónaci
- Samsung Galaxy S25 - végre van kicsi!
- Yettel topik
- One mobilszolgáltatások
- Fotók, videók mobillal
- Honor Magic7 Pro - kifinomult, költséges képalkotás
- Android alkalmazások - szoftver kibeszélő topik
- Xiaomi 17 - még mindig tart
- Google Pixel topik
- Huawei Watch Fit 5 Pro - jó forma
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
Új hozzászólás Aktív témák
-
cigam
titán
Hello,
Nagyon nagyon kezdő vagyok java ban.
Kérdéseim:
Meg lehet e java-val csinálni?
Java e a legjobb választás hozzá?
Hogyan kezdjek hozzá?
Amit szeretnék:
W11 alatt egy desktop organizer , mint a stardock fences, csak sokkal de sokkal kevesebb tudással.
Mit tudjon: asztalon több lenyíló menü amiben indító ikonok vannak ha kinyitom és onnan indítom a programokat, vagy én zárom be, vagy magától össze csuk ha egeret máshová viszem. Asztal felső szélén vannak a menük egymás mellett. Ennyi.
Nem kell semmi csicsa, se semmi.Tudom hogy vannak ilyen progik, de iszonyat drágák.
Fences 3at anno megvettem, de w11 nem kompatibilis, még egyszer meg nem veszem.
Vagy ami ingyenes azok nem tudják amiket írtam. Ezért gondoltam csinálok magamnak.Elég szép küldetés, de ha nulláról indulsz, bele fog törni a bicskád. Nem lehet hogy elég egy ingyenes alternatívát keresni? Vagy itt egy másik megoldás. Ha nem tudja amit szeretnél, hát módosítod a forráskódot. Egyszerűbbnek tűnik mint nulláról megírni egy ismeretlen nyelven. Általában mindenre van már kész program, csak gyakran nehezebb megtalálni, mint megírni egyet

Plusz, ha jól tudom, az Asztal natív kezelése (pl. ikonok mozgatása, overlay ablakok) nem érhető el közvetlenül Java-ból
-
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.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] -
bambano
titán
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.van en locale?
en_US.UTF8 szokott lenni, vagy en_GB.UTF8 -
urandom0
őstag
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.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.
-
urandom0
őstag
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.
-
urandom0
őstag
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.
-
hoopy
csendes tag
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]i = 5 körben:
counter = 0
5 = cars[j] három esetben teljesül ezért counter = 3
j = 2,3,4
Ebből jön hogy 4*3 = 12 -
urandom0
őstag
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.itt egy video, hogy nincs debugging: [link]
Pedig volt: #12125 képen látszik -
Sirpi
senior tag
-
axioma
veterán
-
Ablakos
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
A github oldalon rengeteg project van, amelyeket csak be kell húzni az android studióba. Azokból (főleg az egyszerűbbekből) nagyon sokat lehet tanulni kezdőként. A semmiből alkotni elég nehézkes és sok a kudarc. (A művészet is az utánzással kezdődik.)
-
hoopy
csendes tag
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?
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. -
hoopy
csendes tag
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.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
-
fatal`
titán
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.
Nem a nyelv dönti el, az csak egy eszköz.
Ahogy fentebb is írták, olvass el legalább 1-2 programozás alapjairól szóló cikket vagy könyvet, vagy nézz meg 1-2 tananyagot.
-
hoopy
csendes tag
É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
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.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.Tegnap létre tudtam hozni az üres projektben a methodot, ma már nem.
Tehát sehogy se tudom létrehozni onCreate-ben.Na, mindegy copy paste -val megcsinálom.
Ugyanaz , csak sokkal hosszabb lesz a kód. -
hoopy
csendes tag
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.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). -
axioma
veterán
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.
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. -
axioma
veterán
-
axioma
veterán
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á.imageView1 =... ahol most van neked, oda tennem a tomb deklaraciot es kozvetlen kitolteset, az onclick meg csak hasznalja
[nem is nez ki jol, h minden onclick csinal egy pont ugyanolyan tombot - bar nyilvan konkretan itt nem rontja el a performanciat...] -
axioma
veterán
de nem int-et adtam meg.
one, two, three, four, five - ezek az id-k amiket megadtam.itt a progi.
Persze nem így lesz, csak most for -al csináltam, hogy azt is gyakoroljam.
De a for nem jó, for helyett method kell nekem majd.ImageView viewNr[] = new ImageView[5];
int imgId[] = new int[]{R.drawable.one, R.drawable.two, R.drawable.three, R.drawable.four, R.drawable.five, R.drawable.six};
public void kockaAkcio(int v, int r){
switch(r) {
case 0:
viewNr[v].setImageResource(imgId[0]);
break;
case 1:
viewNr[v].setImageResource(imgId[1]);
break;
case 2:
viewNr[v].setImageResource(imgId[2]);
break;
case 3:
viewNr[v].setImageResource(imgId[3]);
break;
case 4:
viewNr[v].setImageResource(imgId[4]);
break;
case 5:
viewNr[v].setImageResource(imgId[5]);
break;
}
}
@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;
});
Random random = new Random();
ImageView imageView1 = findViewById(R.id.Egyes);
ImageView imageView2 = findViewById(R.id.Kettes);
ImageView imageView3 = findViewById(R.id.Harmas);
ImageView imageView4 = findViewById(R.id.Negyes);
ImageView imageView5 = findViewById(R.id.Otos);
Button button01 = findViewById(R.id.Dobas);
button01.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int[] kockak = new int[5];
int randSzam = random.nextInt(5);
//itt hozom letre a kepek helyenek a valtozot es tombbe rakom tombben
viewNr[0] = imageView1;
viewNr[1] = imageView2;
viewNr[2] = imageView3;
viewNr[3] = imageView4;
viewNr[4] = imageView5;
for (int i =0; i<5; i++){
randSzam = random.nextInt(5);
//itt rakom be a dobast
kockak[i] = randSzam;
//itt hivom a methodot
kockaAkcio(i, randSzam);
}
}
});
}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...
-
axioma
veterán
-
axioma
veterán
Nagyon szépen köszönöm a segítséget.
Így sikerült:
ImageView viewNr = imageView1;
int imgId = R.drawable.one;
viewNr.setImageResource(imgId);Így már be tudom rakni for ciklusba, tömbbe, method-ba.
Viszont ezzel teljesen felborul az adat tipusok.
Mivel ebben az esetben int nem egész szám.
Ha viszont azt nézem hogyan használja, akkor minden boolean, mert a cpu 0 és 1 -eseket értelmez.
Tehát nem értem hogy int a String, ami nincs idézőjelben.Milyen ertelemben nem egesz szam? az egy egesz, pontosabban az adott nyelv int-je (az egeszek egy reszhalmaza) - a rendszer hozzarendelt ahhoz a megadott (kephez, ha jol ertem) egy azonositot, amit ezentul az R.drawable.one uton ersz el. Ha egy masik eleme't erned el a resource osztalynak, akkor annak (jo esellyel) mas tipusa lenne.
Amugy ha most kezd mar osszeallni, akkor tekintsd meg a switch-edet. A dobas 0-5 kimenetelehez rendelsz egy masik szamot, amit elore tudsz. Tehat az egesz kicserelheto arra, hogy csak indexeled oket egy elemeivel definialt tombben:int[] imageIds = new int[] {R.drawable.one, R.drawable.two... };
randszam = ...;
viewNr.setImageResource(imageIds[randszam]);
Igy meg kulon fuggveny se fog kelleni. -
axioma
veterán
Először is köszönöm szépen a választ mindenkinek.
Azt láttam hogy int -et kér.
De ez "R.drawable.one" hogy int?
Int az egész szám.
Az meg String. Az a kép ID megadása. Az id "one" az is string.Most nagyon meg vagyok kavarodva.
Nem tudom hogy adhatok int -et.hoopy: este ha haza érek megpróbálom.
hogy int: hat az int x =5; utan az x is int... de amugy 1. ott az ide, menj az utolso tag [one] fole, nem jon fel buborekban, h mi az? 2. log-old ki az erteket
az R.drawable.one _nem_ string, egy azonosito [ok, egyszerusitve], nem egyezik az "R.drawable.one" stringgel. Igen, backend-es voltam vilag eletemben de hallottam hiret hogy frontend egyes technologiaiban ez csiki-csuki... itt nem [ill. kerulendo, mint korabban angolul is, meg tolem is elhangzott].
csinalj csak ennyit:int imageId = R.drawable.one;imageView1.setImageResource(imageId);
Ha ez elfut, akkor menjunk tovabb. Ha nem, hibauzenetet mutasd.
[az termeszetesen _nem_ varhato, hogy az imageId -nak barmi koze lesz a 'one'-hoz, lehet h csak nemletezo id-val probaltad, az id nem feltetlen folytonos, sot, az inkabb index nevet kapna] -
hoopy
csendes tag
Biztonság kedvéért kipróbáltam, de egyik se működik.
Vagy én csinálok valami hülyeséget, vagy nagyon rosszul mondom el.imageView1.setImageResource(R.drawable.one);
Ez a sor szent és sérthetetlen.
Semmit se lehet benne változtatni.
Nem használhatok változót, se kikérést, se függvényt, semmit.imageView1.setImageResource(myFunc())
Tehát ez nem működik. /myFunc()/
Az "R.drawable.ID" -nek kell ott lenni. Semmi mást nem fogad el.
Igen, létre hoztam a method-ot returnnal ami azt a sort adja vissza. Próbáltam rengetegféle képpen, de nem.Vagy nem így kell beírni. Lehet össze kell fűzni.
Php-ban ponttal fűzöm össze, JavaScript -ben +. -erre gondolok.
Tudom, hogy html-t js-el, de nem fogad el semmit.
Valahogy másképp kell.Az
setImageResource(int) metódusba be tudsz írni egy olyan függvényt, aminek a visszatérési értéke int.
Nem néztem végig a teljes kódod, de valami ilyesmi fog kelleni neked:public void setImageResourceBasedOnValue(ImageView imageView, int value) {imageView.setImageResource(getDrawable(value));}private int getDrawable(int value) {switch (resourceId) {case 0:return R.drawable.one;case 1:return R.drawable.two;default:return R.drawable.three;}} -
axioma
veterán
Biztonság kedvéért kipróbáltam, de egyik se működik.
Vagy én csinálok valami hülyeséget, vagy nagyon rosszul mondom el.imageView1.setImageResource(R.drawable.one);
Ez a sor szent és sérthetetlen.
Semmit se lehet benne változtatni.
Nem használhatok változót, se kikérést, se függvényt, semmit.imageView1.setImageResource(myFunc())
Tehát ez nem működik. /myFunc()/
Az "R.drawable.ID" -nek kell ott lenni. Semmi mást nem fogad el.
Igen, létre hoztam a method-ot returnnal ami azt a sort adja vissza. Próbáltam rengetegféle képpen, de nem.Vagy nem így kell beírni. Lehet össze kell fűzni.
Php-ban ponttal fűzöm össze, JavaScript -ben +. -erre gondolok.
Tudom, hogy html-t js-el, de nem fogad el semmit.
Valahogy másképp kell.En nem vagyok androidos fejleszto, igy altalanossagban (es szerkezeteben) probaltam segiteni. Most rakerestem, ez a fuggveny ennyi:
public void setImageResource (int resId)
Ez azt jelenti, hogy nalad isintlett a myFunc() visszateresi tipusa? -
axioma
veterán
Először is köszönöm szépen a segítséget.
Folyamatosan agyalok azon amit írtál.
Van pár dolog amit nem értek.
Nagyon kezdő vagyok valószínűleg azért.fg - ez nem tudom mi. Függvényre gondolnék, de én nem tudok java-ban függvényéről. Method és class -ról tudok csak.
Map az miért lenne jó?
Map az érték párok bevitele, módosítása stb -re jó.
Nekem fix értékek vannak amik sohase változnak, és sohase kell hozzáadni. Minden fix.
Akkor miért lenne jó a map?a fuggveny/eljaras es ezek angol neve attol fugg, ki mikor es melyik nyelven szocializalodott a programozasba
igen, method-ra gondoltamAmit az angol nyelvuben irnak, az ket dolog.
1. meg lehet oldani elvben amit elsore lekodoltal (azaz a string alapjan "kiertelmezve" elkerni az objektumot), de nagyon antipattern, tehat azt az iranyt el se kezdtem
2. map-et meg ugy akart, hogy helyette van egy fix map-ed, ami a "one" stringhez hozzarendeli az R.drawable.one objektumot stb, es attol kered el
(de ha kicsit tavolabbrol nezed a kodot, ez a 0-hoz rendeled az obj-ot modon is hasznalhato, az meg csak egy indexeles egy tombben - ide gondoltam hogy idovel eljutunk, csak kisebb lepesekkel) -
axioma
veterán
Nagyon szépen köszönöm a segítseget.
Sajnos nincs semmi ami ismétlődne.
public class MainActivity extends AppCompatActivity {
@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;
});
Random random = new Random();
ImageView imageView1 = findViewById(R.id.Egyes);
ImageView imageView2 = findViewById(R.id.Kettes);
ImageView imageView3 = findViewById(R.id.Harmas);
ImageView imageView4 = findViewById(R.id.Negyes);
ImageView imageView5 = findViewById(R.id.Otos);
Button button01 = findViewById(R.id.Dobas);
button01.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int[] kockak = new int[5];
//elso kocka
int randSzam = random.nextInt(5);
kockak[0] = randSzam;
switch(randSzam) {
case 0:
imageView1.setImageResource(R.drawable.one);
break;
case 1:
imageView1.setImageResource(R.drawable.two);
break;
case 2:
imageView1.setImageResource(R.drawable.three);
break;
case 3:
imageView1.setImageResource(R.drawable.four);
break;
case 4:
imageView1.setImageResource(R.drawable.five);
break;
case 5:
imageView1.setImageResource(R.drawable.six);
break;
}
//masodik kocka
randSzam = random.nextInt(5);
kockak[1] = randSzam;
switch(randSzam) {
case 0:
imageView2.setImageResource(R.drawable.one);
break;
case 1:
imageView2.setImageResource(R.drawable.two);
break;
case 2:
imageView2.setImageResource(R.drawable.three);
break;
case 3:
imageView2.setImageResource(R.drawable.four);
break;
case 4:
imageView2.setImageResource(R.drawable.five);
break;
case 5:
imageView2.setImageResource(R.drawable.six);
break;
}
//harmadik kocka
randSzam = random.nextInt(5);
kockak[2] = randSzam;
switch(randSzam) {
case 0:
imageView3.setImageResource(R.drawable.one);
break;
case 1:
imageView3.setImageResource(R.drawable.two);
break;
case 2:
imageView3.setImageResource(R.drawable.three);
break;
case 3:
imageView3.setImageResource(R.drawable.four);
break;
case 4:
imageView3.setImageResource(R.drawable.five);
break;
case 5:
imageView3.setImageResource(R.drawable.six);
break;
}
//negyedik kocka
randSzam = random.nextInt(5);
kockak[3] = randSzam;
switch(randSzam) {
case 0:
imageView4.setImageResource(R.drawable.one);
break;
case 1:
imageView4.setImageResource(R.drawable.two);
break;
case 2:
imageView4.setImageResource(R.drawable.three);
break;
case 3:
imageView4.setImageResource(R.drawable.four);
break;
case 4:
imageView4.setImageResource(R.drawable.five);
break;
case 5:
imageView4.setImageResource(R.drawable.six);
break;
}
//otodik kocka
randSzam = random.nextInt(5);
kockak[4] = randSzam;
switch(randSzam) {
case 0:
imageView5.setImageResource(R.drawable.one);
break;
case 1:
imageView5.setImageResource(R.drawable.two);
break;
case 2:
imageView5.setImageResource(R.drawable.three);
break;
case 3:
imageView5.setImageResource(R.drawable.four);
break;
case 4:
imageView5.setImageResource(R.drawable.five);
break;
case 5:
imageView5.setImageResource(R.drawable.six);
break;
}
}
});
}
}Másik fórumon ezt írták, de egy szót sem értek belőle /nem az angol miatt/
"Do you want to have a dynamic drawable resource ID? If yes, there is a way to get the ID by the resource name. However, I strongly suggest you think carefully before taking this path. Having a map where you associate static resource IDs with another value might be better."ne a switch-ben set-eld csak
a szamBetuvel mintajara egy objektumnak adj erteketja egybol return jobb
fg-ben az int randszam-tol csakcase 0: return R.drawable.one;
stilus, majd foprog-ban:imageView1.setImageResource(myFunc());...imageView5.set...A map hasznalata me'g korai, ezt bogozd ki es ertsd meg elobb, aztan ki lehet a switch-et o[timalizalni ahogy emlitettem..
[megj. lehet olyat is h forditva, a fg parametere h imageViewN, es annak allitod a switch-ben, de ott me'g kene elobb egy ertek v ref. szerinti atadas gyostalpalo, maradj az egyszerubben programozhatonal]
-
axioma
veterán
Pont ez a bajom, hogy nem tudom se függvényében, se for ciklusba tenni.
Mert nem pontosan ugyanazt kell végrehajtani.
Az "imageView" - t és az ID -t is módosítani kell.
De nem tudom, mert se paramétert, se változót nem tudok beletenni.Többel is ugyanaz, kikérést se tudok bele tenni.
Nem tudom hogyan kell.azt emeled ki fg-be ami ugyanaz lenne
irdd meg 2-re a 'hosszut'
ami egyforma [szam kitalalas, szambol object switch] az s fg, visszaadja az objektumot, te meg 5x hivod 5 valtozoba setImageResource-olva az eredmenyt [a parameter maga egy fg-hivas]
ha elakadsz, szurd be hogy allsz ne csak meta-beszelgessunk rola -
axioma
veterán
Ez jó lenne, de ebben az esetben iszonyat hosszú kódot kell írnom.
Generálok egy szamot,
Switch berakja imageView1 -esbe
Majd
Generálok egy számot
Switch berakja imageView2-esbe
Stb
Mindent 5ször ismétlek.Mint ahogy írtad, majd a végén azt szeretném, hogy for ciklus végig szalad rajta.
De még tanulom, így igaz, hogy ez megoldás, de nem tanulok.
Nem tudom hogy tudok oda változót berakni.
Azért van tömbből a változó, hogy majd tovább haladhassak a tanulással.Elnézést, hogy kuszán írok. Még kezdő vagyok.
ez ketfelekeppen is meguszhato
1. a kivalasztast megirod fuggvenyben, nem kodmasolas
2. androidot sose csinaltam, de az imageView-k nem lehetne szamozott valyozok helyett eleve tomb? ha nem, tedd tombbe... es ahhoz adj hozza -
axioma
veterán
Ennyi a kód.
Tanulok. Hogyan lehet változót használni ahelyett hogy én írom be.
Random generál egy számot 0-5 között.
Switch ezt a vectror image nevére át váltja.
Beilleszti az imageView-ba.
Telefonon megjelenik a kép.
Kész.
Semmit se csinál.Még csak most tanulom. Az én agyam nem úgy működik mint az atlagé. Nekem így kell tanulnom.
Tudom fura másoknak.
nem jo az elkepzeles [szam->nev->obj]
miert nem a switch csinal obj-ot? az ne szamBetuvel lehyen, hanem az R.drawable.one tipusaval legyen egy valtozod, es annak adj a switch-ben a szamtol fuggo erteket
[advanced megoldas: tomb beloluk es csak indexeled] -
axioma
veterán
Először is köszönöm szépen a választ.
71 es sor - "cannot resolve symbol 'kockak' " hibát dob
Gondolom azért mert idézőjelben rakja be:
"four" nem pedig four.
De ezt csak gondolom.For ciklus azért nem jó, mert "imageView" 1-5 ig van, tehát a végén a számot változtatnom kellene, de azt se tudom hogy kell.
Csak azzal már nem akartam bővíteni a kérdéseim számát.69 sor már nem dob hibát, hogy adtam alap értéket.
Azt sikerült javítani.
"" Értéket adtam a létrehozásnál..Switch-ben a default -ot nem szeretem használni, mert sok galibát tud okozni. Volt már vele szerencsém. Így sokkal egyszerűbb a hibát megtalálni, ha nincs default

adj mar teljes kodot, igy csak talalgatni lehet
plusz azt h mit akarsz elerni... igy nehez tslalgatnija azt nem ertettem miert akarsz betusiteni - az nem megy hogy igy symbol-kent akarod hasznalni... es nem igy kene megoldani
-
axioma
veterán
zold: sztem mert nem ertelmes angol szo
69. hiaba tudod h mindig erteket kap a szamBetuvel, az ott statikus kodelemzes alapjan lehet inicializalatlan
[vagy legyen default ag, vagy a deklaracional irj egy ="" -t, akkor mar csak letezo erteket irsz felul]mit csinalj: ha 5 kockadobas kene, akkor a for ciklusban kene beirni [nem latszik h az-e az a blokk] az eredmenyeket
-
lanszelot
addikt
-
hoopy
csendes tag
-
hoopy
csendes tag
Hello,
Segítséget szeretnék kérni.
Csak hobbiból készítettem egy oldalt magamnak ezzel az API -val [link]
Szeretném ha magyarul írna ki mindent, de a google fordító api már nem működik.
Nem találom, hogy milyen mondatokat tartalamzhat, így switch-el nem tudom lecserélni se.
Mar néztem ott a fordítást , de nem a weboldal felöli mondatok vannak az exelben, hanem a kikérő kulcsszavak /aminek nem látom értelmét lefordítani/
Hogyan tudnám megoldani, hogy magyarul írja ki a mondatokat?/pl description: "Partly cloudy throughout the day with rain."
vagy
"Partly cloudy throughout the day with a chance of rain throughout the day."/
Nem naponta váltja, ma már ez nemtudom hanyadik különböző leírás.
De több mindent kell fordítani, nem csak a leírást.Magyar nyelvi kóddal lekérés nem megfelelő? Abban magyarul vannak a description mezők.
[link]lang (optional) – Sets the language of the translatable parts of the output such as the conditions field. Available languages include: ar (Arabic), bg (Bulgiarian), cs (Czech), da (Danish), de (German), el (Greek Modern), en (English), es (Spanish) ), fa (Farsi), fi (Finnish), fr (French), he Hebrew), hu, (Hungarian), it (Italian), ja (Japanese), ko (Korean), nl (Dutch), pl (Polish), pt (Portuguese), ru (Russian),, sr (Serbian), sv (Swedish), tr (Turkish), uk (Ukranian), vi (Vietnamese) and zh (Chinese). In addition passing in ‘id’ will result in the raw descriptor IDs.
pl:
description":"Részben felhős egész nap."
Új hozzászólás Aktív témák
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Fórumok
- Szoftverfejlesztés
- Java programozás
- (kiemelt téma)
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Kezdő fotósok digitális fényképei
- Poco F8 Ultra – forrónaci
- Építő/felújító topik
- MasterDeeJay: Low budget (50.000 forint) light gémer gép összerakása
- Samsung Galaxy S25 - végre van kicsi!
- Új Intel CPU-kkal jön a Surface Pro 12 és a Surface Laptop 8 for Business
- Digitális Állampolgárság Program DÁP
- Okos otthon - Home Assistant, openHAB és más nyílt rendszerek
- Mibe tegyem a megtakarításaimat?
- Nem kell még temetni: 2 éves órajelcsúcsot döntöttek meg Raptor Lake-kel
- További aktív témák...
- Új MSI 16 Sword WUXGA 144Hz i7-14650HX 5.2Ghz 16mag 16GB 1TB SSD Nvidia RTX 4070 8GB Win11 Garancia
- Legújabb Thinkpad T14 gen6 - Bontatlan + magyar! - Core Ultra 7 255U - 16/32GB - 512GB - Gyártói gar
- Fujitsu 27" B27-9 TE Full HD 1920x1080 hófehér monitor - több db - gari számla - állítható magasság
- Kingston HyperX és FURY 16Gb (20-22k) és 32GB DDR4 (47k) laptop ramok párban is 2666Mhz/3200Mhz
- Lenovo Thinkpad T14s gen 6 - Teljesen új - Ryzen AI 7 PRO 350 - 32GB - 512GB - 2028 októberig gari!
- Samsung Galaxy S23 FE 128GB,Újszerű,Dobozaval,12 hónap garanciával
- 27% - iiyama ProLite XUB2763QSU-B1 IPS Monitor! 2560x1440 / 100Hz / 2ms / FreeSync
- Samsung Galaxy S23 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- Bomba ár! Lenovo TP Yoga 370 - i5-7G I 8GB I 512SSD I 13,3" FHD Touch I Cam I W11 I Gari
- Apple iPhone 17 Pro 256GB & 512GB & 1TB Bontatlan Független Összes Szín / 27% áfás ár
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest





Azt el is kezdtem átnézni kell e még, de jött a postás, és huss elfelejtettem 


