- Samsung Galaxy Watch7 - kötelező kör
- Megindult világhódító útjára az új Samsung fülhallgató
- Fotók, videók mobillal
- Hat év támogatást csomagolt fém házba a OnePlus Nord 4
- Mobil flották
- Yettel topik
- Huawei Watch Fit 3 - zöldalma
- Külföldi SIM-ek itthon
- Apple iPhone 15 Pro Max - Attack on Titan
- Azonnali navigációs kérdések órája
Új hozzászólás Aktív témák
-
bandi0000
nagyúr
Köszi, de gondolom nem csak a szokásos órás ébresztésre lehet használni
Nekem gyakorlatilag arra kell, hogy fel lehessen íratkozni több időpontra(dátumra), amit ha bekövetkezik, akkor írjon egy értesítést, de nem csak jelzés hanem konkrét adatokat kiírni, gyakorlatilag mint egy emlékeztető
Ez amúgy hogy fut a háttérben? app bezárása milyen hatással van rá?
-
vlevi
nagyúr
Na, ma viszont szívtam mással.
Rávettem magam, hogy az Alcatel által 2 éve nem frissített telefonomra LineageOS-t (lánykori nevén cyanogen) rakjak, mert az valami miatt még frissül, decemberben került fel az xda-developers-ra. Ez természetesen teljes törlést, format system-et jelent, ahogy kell.
Namármost, ettől az alkalmazásom megőrült (meg én is). Nem hajlandó működni, eltelt egy kis idő, mire rájöttem, hogy azért, mert a telefon régi ROM-ja 5-ös volt, az újabb pedig 7.1-es, és itt már nem elég a manifestben beálltani a jogokat, az app-nak használat előtt ezeket meg is kell kérnie. Úgyhogy vehettem elő az android studiot, amivel már jó ideje nem foglalkoztam, hát persze, hogy előtte egy jó ideig frissítgetett, meg gradle-re panaszkodott, hogy elavult, meg tököm, meg miafene, mire bele tudtam írni azt a két sornyi kódot a jogosultságok megkérésére... -
vlevi
nagyúr
"a a targetSdk-t leveszed alacsonyra"
Nekem le volt véve, mert az akkori telefonomon 4.2.1 volt, a tabletemen 5, az Androidos TV boxon pedig 4.4
Lefordult 4.2-es target sdk-val is, csak a telefon, amikor ehhez a kódrészhez ért, és nem volt benne azif (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)
, akkor lehalt. -
Benex
senior tag
Kiprobáltam és ugyan úgy egyiken megy , másik eszközön már nem. Prinscreen fomában megosztom a kód releváns részét, ami olyan azokat kivágtam a képről. A képen látzsik , hogy formázom a date-t és az outputstring teljesen jó viszont utánna már amikor date objectté alarom castolni vissza tért a rossz formába. Lehetséges, sőt biztos hogy valami kis hibát vétek amit még nem látok. remélem tudotok segiteni.
Előre köszönöm!
-
[KgP].Robot
aktív tag
Szia!
AsyncTask: kap context-et es nem null-t. Ha null lenne, akkor sztem mar a progressbar peldanyositasanal kiakadna null referenciara valo hivatkozassal, de ilyen nem tortenik. (itt: dialog = new ProgressDialog(context)
OkHttp: jsonData = response.body().string(); Itt kiszedem a body-bol a valaszt, amiben hasonlo valasz szokott szerepelni:
Response{protocol=http/1.1, code=504, message=Gateway Time-out, url=http://XY.com/v1.0/query/login}
Egy protocoll, egy message es egy url.
En erre a "message" tag-re gondolok. Itt most "Gateway Time-out" szerepel, de a szervertől azt kapom vissza, hogy "A szerver nem válaszol!".
Viszont ezt az üzenetet valahogy elfedi az OkHttp, de nekem erre lenne szükségem. -
thon73
tag
Sianis tette fel a kérdést:
"Hogyan lehet a stílusokat úgy használni, hogy hasonlítsanak a különböző API verzió között?"Erre nem érkezett válasz, de én is erősen csatlakoznék a kérdezők táborához. Csak tanulgatom a material design megjelenést, de nekem két készülékem sem egymáshoz sem a példához nem hasonlít... A maga nemében persze mindegyik működik, csak olyan jó lenne érteni, hogy hogyan...
-
fatal`
titán
Egyelőre még csak ismerkedem vele, 1-1 mini projektet portoltam át javaról, de a hivatalos doksi elég jó abból "táplálkozom" nagyrészt, meg elolvastam 1 kotlin for scala developers cikket is (minimális scala tapasztalatom van, ezt is a kotlinlang.orgon találtam).
Ha nem játékokkal foglalkozol, akkor az anko libraryt érdemes még mellé megnézni.
-
Karma
félisten
A legutolsó projektemben, ahol fényképet kellett készíteni, az alábbi kódot használtam (kicsit kipontozva a specifikus részeket):
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File photoFile = new File(...);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile));
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
} else {
... // hibakezeles ha nincs kamera >_<
}...aztán onActivityResultban megjött a sikeres jelzés, én meg frissítettem a RecyclerView adapterét, és megjelent szépen a kép.
Mit csinál a kódod a fájllal közvetlenül visszatérés után?
-
bucsupeti
senior tag
ez így igaz, csak valahogy nehezen hihető hogy mi a fenéért nem tartalmazhat több layoutot, amikor pl bármilyen egyéb view- bol bármennyit rápakolhatok.
nem is az értelmezéssel vo,t a problémám, hanem valamiféle mintát szerettem volna kérni, ha már csak egy direct child lehet benne....
-
thon73
tag
Nem drag&drop, hanem egy billentyűzet. A billentyűzeten az ujj felemelése nélkül (is) lehet gombokat megnyomni. A tapasztalat azt mutatta, hogy a layout-váltó gombokat is jó lenne ebbe belevenni. Ezt csak úgy lehet megoldani, ha a View azonos marad (mert különben az érintés CANCEL-lal megszakad), csak a layout/méret változik.
Ez az egész tökéletesen működik, kivéve, hogy a layout-váltó elérésekor kiadom a parancsot a layout módosítására, de az nem történik meg azonnal; ki se tudom kényszeríteni, hogy azonnal megtörténjen. Persze ki lehetne kerülni az egész onMeasure mérést, hiszen a képméret ismert, és a futás során nem változik (legfeljebb a két szélesség váltakozik, de akkor tényleg meghívásra kerül az onMeasure.)Végül a lényeg csak annyi, hogy a requestLayout() kiadása után egy csomó onTouchEvent (40-50 db!) még a régi View-n történik. Ezzel számolni kell.
-
Sianis
addikt
Válaszolok én, hátha valakit érdekel.
~/.gradle/init.gradle fájlba
gradle.projectsLoaded {
rootProject.allprojects {
buildDir = "/tmp/${rootProject.name}/${project.name}"
}
}ezzel gyakorlatilag a tmp-be lett száműzve az összes build tartalom. Töröltem projekten belül minden build mappát, majd clean, build és assambleDebug, hogy apk is képződjön. build mappa projekten belül nem jött létre, csak a /tmp-ben.
fstab-ban pedig nekem ez van
tmpfs /tmp tmpfs defaults,noatime,nodiratime,mode=1777,size=30% 0 0 -
Karma
félisten
Így mindjárt érthető
Szerintem alapvetően a pullon nem lehet változtatni, hiszen a többi komponens leáll. El lehet viszont fedni, ha Ottót használsz, azon belül pedig a @Produce annotációt: a beállítások kezelését vidd ki egy started Service-be, az meg szórja ki a beállításokat a buszon keresztül.
-
Karma
félisten
Számomra se teljesen világos, hogy ezzel milyen valódi problémát készülsz megoldani (mert most is csak kifejtetted az implementációt, nem a szándékot mögötte); mindenesetre SharedPreferencesben tárolhatnál egy timestampet, amit az onResume-ban összevethetsz egy tagváltozóval - ha a prefben újabb van, akkor változott az adat => újratöltés.
-
thon73
tag
Igen, én is láttam ezt az elrendezést; de valamiért bizalmatlan voltam. Nem fordulhat elő, hogy a fragment még nincs becsatolva, de az activity már elindult? Pl. a fekvő képernyőn van egy plusz fragment? Persze ez egy sokkal egyszerűbb helyzet.
De lehet, hogy túlkomplikáltam a dolgot. -
thon73
tag
-
TomMusic
őstag
Az a szörnyű, hogy ha mindent defaultban indítok el, akkor sem jó neki, tehát egy full szűz projekt is már hibás alapból. Pedig android SDK-nak az Android Studio által letöltött SDK-t tallóztam ill. állítottam be, mert gondolom az már csak jól tölti le. Egyébként azzal jól is menne a dolog, csak hát kevés hozzá a gépem..
Egyébként most úgy tűnik, ha a projekt létrehozásakor mindenhova Android 6.0-t állítok be (mármint Eclipsenél), akkor nincs hiba, meg nem is rakba be az appcompat_v7 akármicsodát. Viszont ezzel meg nem megyek semmire, mert Android 2.3.8-on is futnia kéne... Ahhoz meg aszem kell az az appcompat cucc. -
TomMusic
őstag
Köszi a választ!
Igen, SSD jó lenne nekem is, de erre a laptopra már nem akarok költeni, szóval majd inkább egy újat veszek, mert efölött már eljárt az idő (pedig Intel Core Duo 2GHz + 2GB DDR2 RAM van benne..).
Közben mégis visszapártoltam az Eclipse-hez, mert az AndroidStudio még power save módban is nagyon fogja a gépet.
Viszont itt meg előjött egy olyan hiba, hogy mikor új projektet hozok létre, akkor az "appcompat_v7"-nél a values-v21-> 'styles_base.xml'-nél rengeteg ilyen jellegű hibát ír ki:
C:\Users\Tomi\workspace_a\appcompat_v7\res\values-v21\styles_base.xml:75: error: Error retrieving parent for item: No resource found that matches the given name 'android: Widget.Material.ActionButton'.
Régebben is találkoztam már ezzel, de végül nem sikerült megoldani, ami eléggé elsozmorított, de nem akarom feladni..
Valami ötlet? (Aki esetleg meg tudja oldani, annak személyesen fizetek egy sört vagy hasonló jóságot! (feltéve, hogy pesti))
-
thon73
tag
Köszi! Ez egy príma ötlet! (Eltekintve az engedélyek megadásától...)
Egyébként pont az engedélyek miatt nem lesz az ideális. Egy sima billezetnek ilyen spéci engedélyek kellenek; az gyanús.
Végül inkább azt találtam ki: egy gomb rögzíti az éppen aktuális programot (vagyis, amelyikbe írunk/írhatunk), és oda tud visszatérni. Apró hátrány, hogy input-box nélkül nem látszik a billezet...
-
Scale
őstag
Próbáltam, nem jött össze. Főleg azért mert int tömbben tárolom a színeket és akkor az onclickbe a gettag tostringnél az int memóriacímét adott vissza, vagyis nem biztos de egy random számot.
String tömbben próbáltam tárolni de azzal nem jött össze ez az egész randomizálás. -
fatal`
titán
Nem. Csak library projectben a tömbös könyvtármegadás (jniLibs.srcDirs []) nem megy, mert nem csomagolja az apkba, csak a jniLibs.srcDir. A fő projektben lévő .so-kat mindkét módszerrel behúzza.
Ha library projectből több könyvtárból kéne az so fájlokat összehúzkodni, na az problémás. Gondolom ez egy bug az android gradle pluginban, biztos javítják majd.
-
lanszelot
addikt
Betettem és gondja van a paraméterekkel:
Ebben a sorban android:layout_alignParentBottom="true"teljes:
<Button
android:id="@+id/saveButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="@string/save" />
</LinearLayout>No és ezzel is: android:layout_above="@+id/saveButton">
teljes:
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/saveButton"><LinearLayout
-
lanszelot
addikt
Hello!
Neked jól működött a program?
Nekem erre a részre azt írja hibás:.setError("mező kitöltése kötelező");
Ha oda klikkelek javítja is magától.
Nem tudom, hogy a program beállításaival van-e gond, vagy tényleg hiba.
Lehet, hogy nálam a magyar betűkkel van a gondja?Sajnos nem tudom tesztelni, mert a rendszeremen nem működik a HAX
-
lanszelot
addikt
Mint írtam ma reggelre oda termett a mappa, ami valószínű az esti kikapcsolás miatt történhetett.
Előtte sokat meg volt nyitva, és birizgáltam, de nem volt, se es file kezelővel, se gépre csatlakoztatva.
Most bemásoltam, és csak az xml formátumot fogadja el. Érdekesnek is találtam az xls-t. Pedig az online formátum készítője xls-t ment csak. Na de innen már egyenes az útKöszönöm a segítséget
Ui: A megírt progit nagyon köszönöm, mivel azzal meg fogom tudni csinálni önálló programnak is, még ha nem is hiszitek
-
Karma
félisten
Találtam korábban ezt a folyamatábrát, célszerű végigkövetni, mert jól összefoglalja, hogy mit milyen körülmények között szabad.
Alapvetően veszélyes szerintem az, hogy egy Fragment példányszinten ismeri a másikat.
-
lanszelot
addikt
Először is köszönöm, hogy megírtad!
A html csak példa volt, hogy hogyan gondoltam a megírást.
Megnéztem amit küldtél, és írtam is mivel nem program nyelven van, így nem tudok mit kezdeni vele.
Ha program nyelven lenne, akkor simán megcsinálnám ami nekem kell.
Nekem egy 30-40 kérdésből álló kérdőívet kell majd kreálnom, csak össze gyűjtöttem, hogy milyen bevitelek vannak benne, és abból meg tudjam majd csinálni a kérdőívet.
Amit küldtél az nekem kínai. Azt se tudom mit kezdjek vele. A programnyelvet simán megértem, de a lefordított programot nem tudom vissza fejteni.A hitetleneknek írnám, hogy többre vagyok képes, mint gondolnák. Ha nem akarnak segíteni, akkor nem kötelezi őket semmi. Ez egy fórum, és semmi ide nem illőt nem kértem. Nem kértem, hogy írja meg vki nekem a programot, hanem segítséget kértem benne. Valahol el kell kezdeni, szerintem senki sem profinak születik!
ODK halott dolog, nagyon össze van csapva az oldala, és sehol se találok leírást. Azt részletesen leírták, hogy a play áruházból telepíteni, de azt, hogy hogyan használd.... másold be a telefonon az ODK mappájába....ja, de nincs olyan rajta, és a programban pedig keresés lehetőség nincs. És ha még be is másolnám, ki tudja hogy működik! Lehet feleslegesen ölöm bele az órákat. Azt a részt lezártam, zsákutca.
-
lanszelot
addikt
Valamit félre értettél.
"<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title></title>
</head>
<body>
egyszerű szöveg<br>
</body>
</html>"Ez html -ben van írva. Így gondoltam a megírást.
Mivel nem tudom mi az android nyelve, így írtam is, hogy Android Studio-ban, mivel gondolom html-ben is meg lehet írni.
Amit küldtél, azt akár gépikódban is küldhetted volna, nekem kb annyit ér.
Karma ötlete lehet, hogy jó, de semmit sem értek az adatbázishoz, így az SQLite kilőve.Viszont, ha vki megír egy programot, mint fent tettem, abból tudok tanulni, és képes vagyok elindulni.
Kerestem tutorialokat, amiből van kép elforgatás, gomb kihelyezés, meg minden amire nincs szükségem, de semmi ami nekem kellene. -
WonderCSabo
félisten
Így a masteren csak a nagy lépések lesznek, a branch-ek pedig részletezik a lépcsőket.
Izé, ez nem igazán így van. A masteren is ugyanott ott lesznek a commitok. Az csak a git log parancs paraméterétől függ, hogy nálad csak a merge commitjaidat listázza ki. Igazából git-ben a branch csak egy pointer egy commitra, a commit pedig ismeri az őt megelőző commit(ok)at. Ha úgy lenne, ahogy te mondanád, eltűnnének a commitok.
A feature branchek viszont tényleg nagyon jók, de nem a commitok számának csökkentésére találták ki őket.
thon73: feature brancheket lehet törölni mergeölés után, és igazából illik is. Ha van merge commit, akkor látszódni fog a logban, hogy branchről lett mergelve, akkor is, ha az eredeti branch már törölve lett.
-
thon73
tag
Köszönöm! Ez jó ötlet. És akkor az egyes brancheket kell csak átnéznem, ha a "nagy" változtatásokra vagyok kíváncsi.
Egyébként a "master" szál commit-jait a legvégén ki tudom törölni? Vagy csak amíg nem töltöttek le belőle (hiszen én magam fogom letölteni mindig a másik gépen)? Vagy akkor az "oldal"-branchok sem tudnak hoova kötődni? Vagy ez hülyeség, és úgy kell hagyni, ahogy van?
Bocs, de tényleg csak az alaplépéseket ismerem a gitből, az AS meg absz. erre támaszkodik. Ami amúgy egyáltalán nem baj, mert minden segédeszköz nélkül a kék égen közlekedik az anyag... -
WonderCSabo
félisten
A generált dolgoknak korrekt neve, és tényleg nem duplikátum? Mindenesetre ilyen akkor lehet, hogy ha rossz a build.gradled, vagy volt valami régi is, és még két helyen vannak meg a classok. Clean nem segített rajta?
Mindenesetre a kövi build.gradle kell:
buildscript {
repositories {
mavenCentral()
}
dependencies {
// replace with the current version of the Android plugin
classpath 'com.android.tools.build:gradle:1.0.0'
// replace with the current version of the android-apt plugin
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'
}
}
repositories {
mavenCentral()
mavenLocal()
}
apply plugin: 'com.android.application'
apply plugin: 'android-apt'
def AAVersion = 'XXX'
dependencies {
apt "org.androidannotations:androidannotations:$AAVersion"
compile "org.androidannotations:androidannotations-api:$AAVersion"
}
apt {
arguments {
androidManifestFile variant.outputs[0].processResources.manifestFile
// if you have multiple outputs (when using splits), you may want to have other index than 0
resourcePackageName 'com.myproject.package'
}
}
android {
compileSdkVersion 19
buildToolsVersion "20.0.0"
defaultConfig {
minSdkVersion 9
targetSdkVersion 19
}
}Azt is csekkold le, hogy nem manuálisa addsz hozzá source foldereket a build.gradle-ben, ezt hagyd az android-apt plugin-ra.
-
thon73
tag
Bocs a késői válaszért...
Teljes mértékben egyetértek, én is így szoktam megadni.
De most kivételesen egy xml-szerű, human-readable leíró fájlból érkeznek az adatok, többek között a színek is. A számok (tehát a színkódok is) long pontossággal kerülnek feldolgozásra.
Amúgy eddig a részig prímán működik -
WonderCSabo
félisten
Ezt benéztem srácok, tök jól működik a multiline inputType-al, csak utána én a kódból felülírtam azt...
-
Ryder1
senior tag
Jó cikk, van benne valami.
De még annyira kezdetleges az ötletem, hogy felesleges felmérésekkel, reklámokkal, üzleti dolgokkal foglalkozni. Nem mondom, hogy nem lenne jó gyorsan sok pénzt keresni vele, de leginkább magamtól szeretném megcsinálni az alkalmazást, mert tetszik a téma. Mint a hackerek, akik nem pénzért csinálják, hanem a kihívásért.
-
WonderCSabo
félisten
Teljesen egyezik a véleményünk a dizájnról. Nekem picit iOS7-es, de alapvetően tetszik. Ami picit visszatetsző, hogy azért elég helypazarló a dizájn. Pl. az új Gmail appban eggyel kevesebb sor fér el, mint a Holosban. Az animációk nagyon jók, de ehhez nagyon frankó API támogatás kell, mert pl. ha a mostani API-val szeretnénk olyan minőségű appokat gyártani mint pl a Play Music, ahhoz rengeteget kell melózni.
Ez a JobSchedule jó dolog lesz, ez már régóta hiányzott. Az ART elvileg sokkal gyorsabb lesz, mint a Dalvik, de erről se kaptunk egyelőre sok információt. A grafikus cuccok biztos érdekesek, de ehhez a részhez annyira nem értek, és nem is érint.
Heads up értesítés szerintem ok, ez már a Facebook Messenger app eddig is csinálta. A floating action button érdekes, de szerintem picit felesleges. A Play Services-ről is beszéltek valamit, de nem sokat.
Alapvetően nekem a legnagyobb bajom, hogy iszonyat köd maradt az első nap után. Ez az Android "L"-ezés meg sztem röhejes.
-
Karma
félisten
-
-
WonderCSabo
félisten
Egyrészt valóban a lifecycle callback metódusokra lehet hagyatkozni, de el lehet kérni a running proccesseket is.
-
thon73
tag
Thx. Mindkettőtöknek!
Shared prefsre én is gondoltam, de eredetileg függetleníteni akartam a context-től. Végül is nem gond; úgy oldottam meg, hogy a könyvtár alapból beállított adatokkal már működik; ha meg változtatni akarok rajta futás közben, akkor ahhoz kell context is.
Amúgy ha a process eltűnik, akkor az Application is eltűnik, nem? Vagyis mindent újra kell indítani. Vagyis ideális alternatíva lenne globális adatok elhelyezésére (speciel most nekem nem erre kell, csak belső adatok tárolására voltam kíváncsi). Ennek ellenére azt olvastam, hogy nem ajánlott elrendezés, mert nehéz tesztelni...
És csak a teljesség kedvéért: ha csinálok egy singletont, ami valójában egy példány, csak saját magára való hivatkozást tárol, akkor az hogy létezik, hogy az Activity-vel együtt eltűnik? (És nem az Applicationnel. Vagyis memória kevés, háttérben Activity bezár, Application marad, de a singleton is eltűnik.) Ezt egyébként több helyen olvastam, és már én is tapasztaltam. Annak nem kéne a process végéig megmaradni?? Vagy az önhivatkozás máshogy számítana?? Ennek a kérdésnek ugyan már semmi köze az eredeti problémához, csak érdekel...
-
-
thon73
tag
Először is mindenkinek köszönöm a GIT-es útmutatókat; kezdem átlátni, hogy mit is kell csinálni. Kis trouble, hogy itt proxy mögött vagyok, de sebaj, majd otthon linux alól. Mellékesen jegyzem meg, hogy az AIDE tableten (használja vki?) elvileg a menüsorból tudja az egészet, ezért gondoltam hogy könnyebb lesz. ((Igaz, még azt sem próbáltam, csak láttam)) Köszönöm!
to Sianis:
Szerintem az a hiba, hogy a BackStack NEM a fragmentet, hanem az oda vezető utat tárolja. A->B azt jelenti, hogy az A-B replace kerül a stackra. Amikor ezt C-ről hívod, akkor - elvileg - a B->A replace-t végzi el újra. Nagy a gyanúm, hogy a lejátszás már ott elakad, hogy nincs meg a B fragment. Replace-t én ugyan ritkán használtam, de ha kettébontod remove-ra és add-ra, akkor talán könnyebb felderíteni a hibát.
Én azt gondolom, hogy az add(B) részt felesleges a Stackra tenni, csak a remove(A)-t tedd rá! Ha ezt a tranzakciót játszod vissza, akkor - elvileg - meg kell jelennie A-nak. Elvileg. És szerintem. De nem tudtam kipróbálni.
((Bocs, még annyi, hogy természetesen a remove(B) és remove(C)-re is szükség van a megfelelő helyen, csak nem a visszapörgetésben.))
Új hozzászólás Aktív témák
Hirdetés
- Dji Mavic Pro fly more combo
- iPad Pro 11" M4 wifi Silver hibátlan akku 100% 3 hónap jótállás!
- ASUS ROG Strix GeForce RTX 4070 Ti OC 12GB GDDR6X 192bit Videokártya
- RX570-es, RX580-as és RX5500XT eladó videó-kártyák - Garancia
- Canon EOS 1300D gép szettek, objektívekkel, kiegészítőkkel (1400 - 7900 expos gépek, újszerűek! )
- Bomba ár! Dell Latitude 5310 - i5-10GEN I 16GB I 256SSD I HDMI I 13,3" FHD I Cam I W11 I Garancia!
- Realme 7i 64GB, Kártyafüggetlen, 1 Év Garanciával
- LG 32SQ700S-W - 32" VA Smart - 3840x2160 4K UHD - 62Hz 5ms - WebOS - Wifi + BT - USB-C - Hangszórók
- Bomba ár! Dell Latitude 7420 - i7-1185G7 I 16GB I 512SSD I HDMI I 14" 4K I Cam I W11 I Garancia!
- Apple iPhone 14 Pro Max / 256 GB / 88% akkumulátor / 1év Garanciával / Gyári Független
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest