- Milyen okostelefont vegyek?
- Nem fogy a Galaxy S25 Edge?
- iPhone topik
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Samsung Galaxy S24+ - a személyi asszisztens
- Google Pixel topik
- A Galaxy Z Fold7, minden színben és oldalról
- Samsung Galaxy A54 - türelemjáték
- Google Pixel 8 Pro - mestersége(s) az intelligencia
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
Új hozzászólás Aktív témák
-
trisztan94
őstag
Nagyon szépen köszönöm!
Arra esetleg valami egyszerű megoldás, hogy két specifikus body között történt-e ütközés?
Most úgy csinálnám, hogy:
if(fixtureA == "valami" && fixtureB == "masik" || fixtureA == "masik" && fixtureB == "valami"){
//do
}Tehát ugye fordítva is meg kell néznem. Mondjuk ez nem olyan nagy dolog, de ha mégis van rá valami egyszerű megoldás, akkor azt használnám
(libgdx box2d dokumentációja sajnos nagyon sok helyen "coming soon"
)
-
trisztan94
őstag
Lehet megnézem majd ezután a projekt után, köszi
Más:
A universal tween engine-t szeretném belerakni utólag a libgdx-es projektembe. Ugye ez az, amit a setup ui felajánl a projekt létrehozásakor egy checkbox formájában. (csak akkor úgy gondoltam, hogy ez nekem nem kell)
Letöltöttem a két .jar fájlt az oldalukról . Hogy tudom most ezt hozzáadni a projektemhez?
-
trisztan94
őstag
Hát akkor már inkább libgdx
Igaz, AndEngine-nek sosem néztem utána, de sokkal "mature"-ebbnek néz ki a libgdx. Meg azért ott van dokumentáció.
Más:
Lehet rá tudom venni magam és az ügyfelem, hogy átlálljunk unity3d-re. A free version miben korlátoz? Nem kellenek nekem bele unity-t reklámozó dolgok, tudjam deploy-olni droidra, stbstb.. Vagy ehhez mindenképp a pro kell? (arra meg nincs keret)
-
pittbaba
aktív tag
Na soronkénti Log.v segítségével kiderítettem, hogy itt száll el:
inputStream = new BufferedReader(new InputStreamReader(dc.getInputStream()));
Kérdés, hogy miért csak akkor amikor a Timer elindítja a bluetooth pásztázást (sikeresen elindul). Ha viszont kikommentelem a startDiscovery()-t akkor megjön az eredmény szépen, ahogy kell.
-
pittbaba
aktív tag
Logcat mondja:
06-04 10:22:42.079: E/AndroidRuntime(24879): FATAL EXCEPTION: main
06-04 10:22:42.079: E/AndroidRuntime(24879): java.lang.NullPointerException
06-04 10:22:42.079: E/AndroidRuntime(24879): at org.json.JSONTokener.nextCleanInternal(JSONTokener.java:116)
06-04 10:22:42.079: E/AndroidRuntime(24879): at org.json.JSONTokener.nextValue(JSONTokener.java:94)
06-04 10:22:42.079: E/AndroidRuntime(24879): at org.json.JSONObject.<init>(JSONObject.java:154)
06-04 10:22:42.079: E/AndroidRuntime(24879): at org.json.JSONObject.<init>(JSONObject.java:171)
06-04 10:22:42.079: E/AndroidRuntime(24879): at com.example.thedoor.MainActivity$1GetTask.onPostExecute(MainActivity.java:133)
06-04 10:22:42.079: E/AndroidRuntime(24879): at com.example.thedoor.MainActivity$1GetTask.onPostExecute(MainActivity.java:1)
06-04 10:22:42.079: E/AndroidRuntime(24879): at android.os.AsyncTask.finish(AsyncTask.java:631)
06-04 10:22:42.079: E/AndroidRuntime(24879): at android.os.AsyncTask.access$600(AsyncTask.java:177)
06-04 10:22:42.079: E/AndroidRuntime(24879): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
06-04 10:22:42.079: E/AndroidRuntime(24879): at android.os.Handler.dispatchMessage(Handler.java:99)
06-04 10:22:42.079: E/AndroidRuntime(24879): at android.os.Looper.loop(Looper.java:137)
06-04 10:22:42.079: E/AndroidRuntime(24879): at android.app.ActivityThread.main(ActivityThread.java:4931)
06-04 10:22:42.079: E/AndroidRuntime(24879): at java.lang.reflect.Method.invokeNative(Native Method)
06-04 10:22:42.079: E/AndroidRuntime(24879): at java.lang.reflect.Method.invoke(Method.java:511)
06-04 10:22:42.079: E/AndroidRuntime(24879): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
06-04 10:22:42.079: E/AndroidRuntime(24879): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:558)
06-04 10:22:42.079: E/AndroidRuntime(24879): at dalvik.system.NativeStart.main(Native Method) -
pittbaba
aktív tag
Szia!
Megint csak nem baj, ha root kell. Ajtónyitót csinálok, a telefon meg az ioio egy dobozban fog csücsülni, így a root-al nincs gond. A módszer érdekelne, mert csak azt találom mindenhol hogy impossible. Van egy megoldás, de az már a permission-ök miatt nem működik elavult megoldás, nekem nem is sikerült.
Engem pont ez mozgat, hogy van egy csomó call blocker program, én meg nem tudom megoldani...
-
schipe
csendes tag
A hivatalos álláspontot ismerem. De nem lehet valahogy ügyeskedve mégis?
Itt van egy kisebb elméleti fejtegetés róla:
http://pcforum.hu/tarsalgo/95535/Android+fizetos+alkalmazas+feltoltese+Mo+-rol.htmlA kérdésem az lenne hogy gyakorlatban megy-e? Külföldi ismerős mindenképp kell hozzá?
-
pittbaba
aktív tag
Nekem root-al tökéletes lenne, mert csak annak a telefonnak kellene tudnia ezt, amelyik folyamatosan az IOIO-n lóg egy dobozban
Több helyen láttam már hogy GPS-t és 3G-t is lehet ki be kapcsolni pl anti stolen progiknál, ráadásul érdekes módon én most fel tettem egy programot, amivel root nélkül is tudom kapcsolgatni az usb debug módot, nem értem, hogyan. Nem kérte a jogot, még is kapcsolgat. ( Nem, mégsem, megnéztem, és csak illúzió volt, nem dolgozik a gomb )
-
shinodas
tag
package com.example.tuts;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.content.BroadcastReceiver;
import android.content.Intent;
import android.content.IntentFilter;
public class DiscoveryActivity {
IntentFilter discoveryFilter = new IntentFilter(BluetoothAdapter.ACTION_DISCOVERY_FINISHED);
registerReceiver(_dicoveryReceiver, discoveryFilter);
IntentFilter foundFilter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
registerReceiver(_foundReceiver, foundFilter);
private BroadcastReceiver _foundReceiver = new BroadcastReceiver(){
public void onReceive(Context context, Intent intent){
//keresés eredménye
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
//eredmény listába tétele
_device.add(device);
//lista megjelenítése
showDevices();
}
};
private BroadcastReceiver _dicoveryReceiver = new BroadcastReceiver(){
public void onReceive(Context context, Intent intent){
unregisterReceiver(_foundReceiver);
unregisterReceiver(this);
_discoveryFinished = true;
}
};
}Egy tutorial szerint haladok ezzel, azt írja, kéne neki működnie
-
thon73
tag
Kötözködés nélkül, és csak a teljesség kedvéért: single-tap esetén csak A_DOWN generálódik először, és csak mozdítás után A_MOVE. A konkrét példában ez nem látható (tehát igazad van), de ha az else-t kivesszük, akkor megfigyelhető, mert közeli érintésre (és nem mozgásra) is mozdul a joy.
A megelőző példában viszont először én sem tettem be az A_DOWN-t, és érintésre nem jelentek meg a karikák, csak mozgatásra. -
Sianis
addikt
Én arra tippelnék, hogy unspecified fallback fog történni. Nem tudja értelmezni az értéket, ezért az alapértelmezettet fogja használni. Egyéb XML paramétereknél is ez szokott lenni, hogy ami az új API-ban jött be, de a régi nem érti, akkor választ egy alapértelmezettet. Talán a match_parent - fill_parent páros ilyen. A match_parent-es layoutok is működnek API 7-en.
Sianis
-
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.
-
thon73
tag
Pontosan. Ha onPause-ban bezárom, akkor nem lesz.
DE:
onPause után a rendszer bármikor bezárhatja a programot, és akkor az onStop ill. onDestroy nem kerül meghívásra. Ha a zárás az onDestroy-ban van, akkor soha nem kerül meghívásra és bezárásra.Ez a helyzet sokkal gyakoribb, mint gondolnánk. Most próbáltam tesztelni: ha home-mal lépek ki a programból, és utána egy csomó minden mást elindítok (ez azért gyakori), akkor az eredeti program figyelmeztetés nélkül bezár ((egyébként a gyakorlatban ez az onStop után következik be, elméletileg már az onPause után is bekövetkezhetne))
Azt nem tudom, zavarja-e az adatbázist és a cursor-t, ha nyitva marad. Szerintem nem, mert adapterről van szó, tehát csak olvasásról.
Zavarja-e a rendszert, ha nyitva marad az adatbázis? Mem-leak?
Vagy ne foglalkozzak az egésszel, mint ahogy a legtöbb példaprogram teszi.Egy ideje olvasgatok erről, de sehol nem találtam korrekt módszert a zárásra. Kivéve az onPause-onResume párosát, de annak meg más baja van. (vagyis túl gyakran kerül meghívásra.) Szerintem az egyik legnagyobb hiba az Android tervezésében, hogy az onPause után megengedett a rendszernek az erőltetett kilépés. Mi a nyavajáért nem fejezheti be ilyenkor a dolgát a program!?
((A listView esetén sajnos teljes activity-ben kell gondolkodni: amíg a listview látszik, addig az adapter aktív, tehát kell a nyitott cursor és adatbázis is.)) -
Sianis
addikt
CursorLoader? Benne van a support-v4 libben és azt állítja magáról, hogy kezeli a cursor teljes életciklusát, nem kell foglalkoznod a bezárással.
Sianis
-
thon73
tag
Na, pont ezért kellene írni egyet
de nem erőltetem, csak ötlet volt.
Ezt viszont nem tudtam megoldani: tényleg lehet egy adatbázist az apk telepítésével együtt feltölteni? Tehát nem egy statikus adathalmazból áttölteni az sqlite-ba, hanem közvetlenül az adatbázist sqlite file formájában a program saját területére áthelyezni? Létezik erre megoldás? (Azno kívül, hogy a pl. raw-ban tárolt adatokat a program saját maga egyesével egy adatbázisba helyezi.) -
thon73
tag
Ami nekem hiányzik: Palm/Garnet OS alatt ez úgy működött, hogy a kész adatbázist (most sqlitenak felel meg) a program telepíthette fel, és rögtön kész adatok álltak rendelkezésre.
Felmerült, hogy az adatok a res/assetsben legyenek, és induláskor áttölti sqlite-ba, de ez dupla hely.
Az sd-vel a legnagyobb baj, hogy adatbázis-kezelő helyett használom, ill. nemigen tudom, hogyan fogja egy felhasználó oda másolgatni a szükséges adatokat. Hm. Ennek ellenére ezt találtam a legjobbnak.
Más: nincs kedved a játékfejlesztésről, surfaceview-ről - egy egyszerűbb játék kapcsán tutorialt írni? CoolBoy-nak igaza van, magyarul szinte semmi nem érhető el, utána még mindig meg fog küzdeni az api-k megértésével. De talán, ha van kiindulópont, akkor könnyebb… Én biztos nem fogok mostanában játékot írni.
-
thon73
tag
Erről lehet, hogy érdemes egy kicsit beszélgetni, mert nem találtam jó megoldást.
Az assets meg a res az vili. Csakhogy azokban az adatokban nem lehet ugrálni, csak folyamatos beolvasást találtam.
Ha menet közben készül az adat, arra jó az sqlite.
De mi van akkor, ha van egy aránylag nagy (és kész) adatbázisom, amit bővítenem kell időnként?
Most pl. pont egy szótár, százezer feletti szócikkel?
Erre találtam legjobbnak az sd-n való tárolást, kétségtelen, ki lehet venni, meg egyéb problémák is felléphetnek, amire figyelni kell.
De ha van egyéb megoldásra ötlet, annak nagyon örülnék! (Dupla tárolás, pl. asset-ből beolvasni, kizárva uis. legfontosabb, hogy azonnal reagáljon.) -
thon73
tag
Ez jogos. Én az adataimat (alkamanként 5-6 mega) az external mem-ban tárolom, aminek elsődleges oka, hogy random elérésre van szükségem. (Az sqlite jó lenne, de az meg nem tölthető fel automatikusan.) Van ennek a megközelítésnek hátulütője is, pl. a hibakezelés, de csak egyszer kell megírni.
A lényeg, hogy emiatt nem tűnt fel, a másolási idő. Én csak akkor vártam, amikor az adathalmazt elhelyeztem…CoolBoy: hova küldjem? Küldesz pü-t?
-
thon73
tag
Ops. Ezt nem nagyon értem. Most nem a tervezetten Bluestacks-os készüléknél vagyok, ezért nem tudtam még kipróbálni. De igazából a saját Android készülékemen (valós, nem virtuális) minden fordítás azonnal fut, ill. a debug is azonnal megy. Csak úgy érdeklődésképpen kérdem: van ahol/akinél kell várni?
Amúgy - ha már egyszer elindult - a Google AVD sem túl lassú, persze én nem teljesítmény-éhes dolgokat készítek, hanem főleg szövegfeldolgozást...
De ez a Bluestack igen ígéretesnek hangzik! -
fps8
senior tag
Rendben, az menni fog mert 3 hét múlva kint fogok dolgozni.
Egyébként szerinted lenne értelme nyitni egy vállalkozást, hogy segítsem a magyarokat alkalmazásaikból bevételhez? Megbízhatóságom alapján, talán lennének jelentkezők akik rajtam keresztül tennék fel a fizetős alkalmazásaikat mint egy szolgáltatás, és akkor szerződésben rögzítenénk a feltételeket, juttatás arányosságát stb. -
pittbaba
aktív tag
Köszi!
Azóta már még több problémám keletkezett.
Elsőre a megoldás :
line = line.replaceAll(",(?=,)", ",NULL");Ekkor az lett a baj, hogy a vesszők közötti értékek közül is a stringeknek kell ' ' vagy " " így könyebbé vált a helyzetem:
line.replaceAll(",","','");
Ekkor jött a meglepetés, miszerint vannak olyan tartalmak ahol egy cellának az értéke:
y,x,"Kis,Pál utca",a,bEbből ez lesz:
'y','x','"Kis','Pál utca"','a','b'Így a Kis, Pál utca stringet kettévágtam, csúszik az adat feltöltése az adatbázissal, több tartalom lesz mint cella stb..
Ez sem jó...Egy olyan reg.expr kellene nekem ami megoldja a fenti problémámat:
Ha vesszőt lát, tegyen a két oldalára aposztrófot, kivéve ha úgy lát vesszőt, hogy az két " " közötti szöveget választ el, akkor ne csináljon a vesszővel semmit.
Tipp?Biztos megoldható...
-
thon73
tag
Csak megjegyzés: az ADT Bundle - a névjegye szerint - Eclipse 3.7.2-t, azaz Indigót használ. Úgy láttam. Egyébként ugyanaz, csak rondább a 'splash-screen', már amit eddigi rövid ismeretségünk alapján tapasztaltam. Előnyök: kisebb méret, könnyebb telepítés - egyik se jelentős előrelépés.
-
thon73
tag
Nem úgy működik, hogy a java fordító a forráskódból byte-code-ot csinál, és a .class-ból készít az Android SDK .dex-et? Vagyis az elején kell lennie egy java fordítónak (a jdk-ból) és csak az eredményből lesz Dalvik VM-hez való kód. Ezért mégsem értem, hogy az AIDE a fordítás első felére mit használ fel? ((Mert egyébként teljesen kompatibilis az Android SDK/Eclipse IDE -vel))
A kérdésem igazából windows alatt sem más, uis. - az írások szerint - az Oracle/Sun Java 7 sem megfelelő a fordításhoz. (Na jó, 99%-ban megfelel.) Ott (Win alatt) egyébként abban különbözik a helyzet, hogy a 7-es és 6-os verziókat nehezebb párban használni, legalábbis nehezebb beállítani/átlátni, hogy melyiket használja a rendszer. (Az Eclipse dokumentációja szerint a környezeti változókat nem használja.) Viszont a 6-os egyre inkább ki lesz téve biztonsági réseknek, tehát pl. bankolásra egyre kevésbé illik használni. (Még két hétig ez persze nem igaz
)
Bocsánat, hogy a kákán is csomót keresek; csak izgat a kérdés. Belefutottam ebbe az elméleti problémába, és sehol nem találok választ.
Igaz, az is egy válasz, hogy használjam az OpenJDK-t vagy a SunJava 7-t, lesz-ami-lesz alapon. Ha hiba jelentkezik, elég majd akkor foglalkozni vele. Én azért örülnék, ha inkább az előbbit tudnánk tisztázni.Több infom nincs a fentiekről, nem jártatom tovább a számat, csak fülelek a válaszokra! Köszi!
-
andyTM
őstag
- rendben, én még leszek
más:[Agyhullám - PHP & MySQL] akit érdekel, gyakorlati példákkal, tényleg jó kis könyv, szájbarágósan taglalja a dolgokat/ nem is tudtam, hogy nekem ez megvan
-
thyrpacia
csendes tag
Igen valóban eléggé leegyszerűsítettem az okot. A valóság az hogy az alap virtuális gép nem használ semmiféle hardveres virtualizációs technológiát. Az egészet szoftveresen oldja meg, így nem szükséges hogy a fejlesztő gép támogasson bármilyen hardveres virtualizációt. Látható hogy igen erőforrás igényes egy nagy részben konfigurálható gépet teljes egészében szoftveresen működtetni. Mivel ARM processzort virtualizálunk így az összes utasítást át kell fordítani másik utasításkészletre.
Itt jön a képbe az x86-os képfájl. Itt lecserélték az emulátor (Android) Linux kernelének ARM specifikus utasításait az x86 os utasításkészletre így már nem szükséges egy teljes ARM processzort virtuálisan működtetni. Az utasítások mehetnek közvetlenül a hoszt processzorának, nyilván felügyelten (ehhez kell hogy a hoszt támogassa a hardveres virtualizációt).Persze nem állítom hogy az x86 os kép minden esetben gyorsabb. Nálam óriási a különbség a kettő között. Míg az alap alig akart elindulni és a menüt is 3 perc volt behozni addig az x86 os pikk pakk ment mintha telefonon futtattam volna.
Nem tudom a bluestacks mit használ és hogyan működik mert nem próbáltam még, amint lesz egy kis időm mindenképpen megnézem mert nagyon jó cuccnak tűnik, de egészen biztos vagyok benne hogy ilyen szintű testreszabásra mint az alap emulátorban biztosan nincs lehetőség. Így optimalizálni is könnyebb.
-
pakriksz
őstag
az szofveres cucc, preamp. Az magát a fájlból kiolvasott hangerőadatokhoz ad hozzá/von, csökkentve a dinamikát(ha addig ki volt használva a teljes 16bites tartomány). (kiolvas egy samplét 16bites, és hozzáad vagy kivon belőle, annyit amennyi be van állítva a preamp-ban)
Equalizer is hasonló, én most azt használom kényszerből, az működhet globálisan, mindegyik sáv -7,5 db. De az nyilván jobban zabálja az akksit mintha rendesen a hardveres erősítést lehetne rendesen vezérelni... -
pakriksz
őstag
igen az api a hibás amibe valami barom 15 lépést rakott ok nélkül.
amúgy ja senki sem foglalkozik vele:
[link]
[link]
úgy néz ki a galaxy s2 is ugyan ezzel a "hibával" küzd
[link]
de még lehetne találni.De ha nem az api hibás, akkor magyarázd el, hogy külön app miért tud sokkal halkabb hangot beállítani? Mert ezen elég könnyen átsiklasz.
Hogy miért nincs nagyobb visszhangja, az egyszerű: az emberek igénytelenek. Meg lehet nézni a legtöbb már olyan halláskárosodott, hogy nem alacsonyabb, hanem még nagyobb hangerő kell nekik mint amit a gép tud adni. A max hangerőnél tényleg hardveres korlát van, de aközött, és a teljes csend között nincs
-
pakriksz
őstag
nem, nem a hardver korlátoz... értsd már meg hogy az említett program tud kisebb hangerőt adni.
az 1-es lépcső NEM a minimum hangerő az a hulladék apiban beállítható minimum.
A framework módosítás nem jelent semmit, mert lehet ott is ugyan az a minimum van korlátozva mint a 15 lépcsősnél és azt máshol kell módosítani...
Nincs ilyen 15 lépcsős korlátozás semmilyen hardverben, sem a linuxban, sehol főleg nem egy okostelefon SOC-ban amikor ős kőtbuta mp3 lejátszók 2x ennyi fokozatot tudtak kisebb hangerővel. Ez szoftveres korlát. -
pakriksz
őstag
-
pakriksz
őstag
vagy egyszerűen alapon gyenge a kimenet a telefonodon, és a maximum hangerő is halkabb.
Egyébként fülestől is függ... nagyobb fülhallgatónak több kakaó kell, így azok ugyan azon a hangerőn halkabbak. De az is lehet hogy te is halláskárosult vagy
Szarul implementálva az androidban van, azzal hogy 15 fokozat van... még egy buta mp3 lejátszó is 30 fokozatot tudott 7 éve...
-
pakriksz
őstag
Igen láttam egy framework moddolós megoldást(system-en belül valamit felülír) erre, de nem mertem kipróbálni még, rootolva sincs a telefon, de ezek szerint meg kéne tennem és kipróbálni.
Viszont van ez a fine volume control app (a bloatware), na azzal 1%-os lépésekben lehet szabályozni, és nem kell hozzá a root.
Új hozzászólás Aktív témák
Hirdetés
- Debrecen és környéke adok-veszek-beszélgetek
- Milyen billentyűzetet vegyek?
- EAFC 25
- Milyen okostelefont vegyek?
- Fortnite - Battle Royale & Save the World (PC, XO, PS4, Switch, Mobil)
- Metal topik
- Sütés, főzés és konyhai praktikák
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- AMD vs. INTEL vs. NVIDIA
- Bambu Lab 3D nyomtatók
- További aktív témák...
- Új MSI KATANA 17 Gamer Tervező Laptop 17,3" -35% i7-13620H 10Mag 16/1TB RTX 4060 8GB FHD 144Hz
- Apple Iphone 13 128gb csillagfény színű OLCSÓN . Csere/beszámítás
- OnePlus Pad 2 + OnePlus Pad 2 billentyűzet + Extrák
- AKCIÓ!!! GAMER PC: Új i5-14400F +RTX 4060/5060/4070/5070 +Új 16-64GB DDR4! GAR/SZÁMLA! 50 FÉLE HÁZ!
- HP EliteBook 855 G8, 15,6" FHD, Ryzen5 PRO 5650U CPU, 16GB DDR4, 256GB SSD, WIN 11, ( olvasd végig )
- Csere-Beszámítás! RTX Számítógép játékra! I5 13400F / 32GB DDR5 / RTX 4070 Super / 1TB SSD
- AKCIÓ! ASUS B650M R5 7600X 64GB DDR5 1TB SSD RTX 3080Ti 12GB Be Quiet! Pure Base 500FX ASUS 1000W
- Csere-Beszámítás! Asus Rog Strix G731GU Gamer Noti! I7 9750H / GTX 1660TI / 16GB D4 / 512 SSD
- Telefon felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- ÚJ Lenovo Legion Pro 5 16IRX9 - 16" WQXGA 165Hz - i5 14500HX - 32GB - 1TB - RTX 4060 - 3 év garancia
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged