- Minden a BlackBerry telefonokról és rendszerről
- Egy kabaré volt az Edge 50 család belgrádi bemutatója
- Mobil flották
- Samsung Galaxy Fit 3 - keveset, de jól
- Android alkalmazások - szoftver kibeszélő topik
- Samsung Galaxy Note20 Ultra - a tollnak nincs ellenfele
- Honor Magic5 Pro - kamerák bűvöletében
- Touroll J1 - amikor az átlagos is elég
- Ezek a OnePlus 12 és 12R európai árai
- Ilyen lesz a Honor 200 és 200 Pro
Hirdetés
-
Warhammer 40k: Space Marine 2 - Középpontban az egyjátékos és a multi mód
gp A készítők a minap két új előzetessel jelentkeztek a sokak által várt programhoz.
-
Jó dolog az AI, de emberek nélkül nincs játékfejlesztés
it A Tomb Raider franchise tulajdonosa szerint egy dolog az AI térhódítása – de a sikeres játékfejlesztéshez emberi kreativitás kell.
-
Olcsó és visszafogottan elegáns kompakt AIO jön az ID-Cooling berkeiből
ph Az előzetes tesztek alapján korrektül teljesítő modellnek nem kenyere a cicoma, és akár titkos favorit is válhat belőle a kategóriájában.
Új hozzászólás Aktív témák
-
Karma
félisten
válasz h1ght3chzor #2228 üzenetére
Szerintem egy class diagram és egy activity diagram bőven sok is, de leírható velük minden simán. Sequence-et nem javasolnék, mert sokkal terebélyesebb az activitynél, miközben kvázi ekvivalensek.
“All nothings are not equal.”
-
Karma
félisten
Ezt a leírást nézd végig és tartsd be. Az AOSP nem egy olyan dolog, amit csak úgy szétkap és tákol az ember.
“All nothings are not equal.”
-
Karma
félisten
válasz trisztan94 #2243 üzenetére
Ez Dalvik assembly, úgyhogy annyira nem jársz messze.
A VTS-ben a projekt beállításai között van egy opció, hogy Java forrás generálása (checkbox), ezt billentsd be, majd buildeld újra az APK-t.
Így is maradhatnak benne "hülyeségek".
Vagy ahogy WonderCSabo írta
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz kemkriszt98 #2250 üzenetére
installLocation elem kéne a manifestbe.
“All nothings are not equal.”
-
Karma
félisten
válasz h1ght3chzor #2254 üzenetére
De komolyan? Nem desktopon, középiskolai programozásórán vagy, hogy időzítve várakozzál eseményekre. De ha nagyon akarod, akkor a Thread.sleep() metódus jó erre.
“All nothings are not equal.”
-
Karma
félisten
válasz h1ght3chzor #2257 üzenetére
Az előbb még várakoztatni akartad a szálat... Inkább azt írd le, hogy mit szeretnél csinálni, minthogy implementációs részleteken pörögjünk egy fél oldalon át.
Egyébként ha már implementáció, a Handler postDelayed egy sokkal jobb válasz. Ha eltekintünk attól, hogy minden ami ciklikusan ismétlődik, mobilon nem jó.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz h1ght3chzor #2260 üzenetére
Heh, ez pont ugyanaz mint amit az előbb írtál.
Tégy egy lépést hátrébb és azt írd le, hogy mire lesz ez jó.“All nothings are not equal.”
-
Karma
félisten
válasz h1ght3chzor #2264 üzenetére
Jézus ereje... Ezt így semmiképpen se hagyd, ezért még desktopon is felnégyelnek, teljesen jogosan. Nézd meg a telefon CPU használatát a DDMS perspektíván, szép lesz...
Ne erőltesd a végtelen ciklust, szerintem elég volt a játékból. Írj egy Runnable-t és használj Handlert! Nincs Android környezetem most kéznél, de valahogy így nézne ki:
public class FapapucsActivity extends Activity {
private Handler mHander = new Handler();
private Runnable mScheduled = new Runnable() {
public void run() {
Log.d("FapapucsActivity", "PING!");
mHandler.postDelayed(mScheduled, 60000);
}
};
public void onResume(...) {
mHandler.postDelayed(mScheduled, 60000);
}
public void onPause(...) {
mHandler.removeCallbacks(mScheduled);
}
}Az ismétlődés kulcsa, hogy a Runnable végén újra felírja önmagát.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz h1ght3chzor #2274 üzenetére
"Azt nem mondták, hogy nem a foga fáj!"
Mondjuk ettől még a busy wait továbbra se járja. Van szofisztikáltabb megoldás: Timer és TimerTask például, amik Androidon nem szerencsések, de desktopon elfér.
“All nothings are not equal.”
-
Karma
félisten
válasz szunyi777 #2285 üzenetére
Ennél azért lényegesen bonyolultabb a folyamat, a lefordított kódot vissza és újra kell fordítanod, amire az ApkTool önmagában nem hiszem, hogy elég lenne.
Először is kéne a pontos, eredeti nyelvű szöveg, mert így lehetetlen megtalálni a kiindulási pontot.
“All nothings are not equal.”
-
Karma
félisten
A konfigurációs fájljában, ami a projekt gyökerében van alaphelyzetben, tudod hangolni a működését. Mondjuk fontos, hogy bárminek, ami a manifestben látszik (pl. Activity-k, Service-ek) nem szabad megváltoztatni a nevét, mert úgy az Android nem találná meg, és nyekkenés lenne a vége.
Ugyanez vonatkozik mindenre, amit reflexióval hozol létre.
“All nothings are not equal.”
-
Karma
félisten
válasz kemkriszt98 #2307 üzenetére
A koordináta a szöveg alsó szélét adja meg. Vízszintesen meg az igazítástól függően bal sarok, középpont vagy jobb sarok.
A szöveg magasságát, amivel a megfelelő számításokat el tudod végezni, a Paint getTextBounds hívásával kapod meg.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz kemkriszt98 #2317 üzenetére
Egy ötletem van: teljesen véletlen nem használtál ékezetes neveket az osztályaidnak, vagy bármit a manifestben?
“All nothings are not equal.”
-
Karma
félisten
válasz kemkriszt98 #2319 üzenetére
Igen, ezért is kérdeztem: Windows és OSX/Linux között mozgatáskor bekavarhat az eltérő karakterkódolás. (Többek között ezért is fontos, hogy ne a Java kódba legyenek beégetve a magyar feliratok ).
De sajnos így hirtelen nincs más ötletem. A LogCaten semmi se látszik? Debuggerrel futtatva breakpointon megáll a kód, amikor képernyőt kéne váltani?
“All nothings are not equal.”
-
Karma
félisten
Ismert hiba. Szerintem nem tudsz vele mit csinálni, inkább próbáld meg átverni az ügyfelen, hogy hátrafelé a platform hibája miatt nem fog működni, csak előre.
“All nothings are not equal.”
-
Karma
félisten
Mi alapján feltételezed, hogy háttérszálról hívja meg? Minimális tervezéssel (például AsyncTaskok használatával) egyébként is teljesen felesleges kézzel hívogatni a runOnUiThreadet.
Viszont annyit mindenképp meg kéne nézni, hogy a logcaten látszik-e bármi. Meg mondjuk breakpointtal megnézni, egyáltalán meghívódik-e az a sor.
És jó lenne látni valamit a kódból és a layoutból.
Lehet írni kéne egy topik összefoglalót, amiben ezek a közös kötelező körök benne vannak.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz WonderCSabo #2351 üzenetére
Azért egy kicsit meglep, hogy hogy lehet a this egy Class<Activity> példány Nekem ott valami nagyon sántít.
_kovi_: Kérlek másold be az osztályod elejét (public class...), és ennek a konkrét gombkezelőnek is az elején, hogy lássuk a típusokat és a paramétereket.
Vagy másold be az egész osztályt Pastebinre, és akkor lehet, hogy a TextView-s problémádra is látunk valami megoldást. A vakvilágba nem szeretnék sorokat írogatni.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
Ha API level 9 és afölötti Androiddal dolgozol (mással nem is nagyon van ma már értelme), akkor használhatod a Normalizer osztályt a Unicode szabványnak megfelelő ékezetlebontáshoz és -nyíráshoz. Itt a mikéntje.
“All nothings are not equal.”
-
Karma
félisten
válasz Just_Reboot #2360 üzenetére
Szerintem ezt az érintettektől kéne megkérdezni - különösen a CM fejlesztőktől.
“All nothings are not equal.”
-
Karma
félisten
válasz WonderCSabo #2363 üzenetére
Kiegészíteném annyiban, hogy a targetSdkVersion számít ebben az esetben. Ha az app minSdkVersionje 8 is, akkor is célszerű a legújabb targetet használni (de legalábbis a 18-ast), így már látja az Eclipse az osztályt, de warninggal aláhúzza, hogy csak 8 fölött érhető el.
“All nothings are not equal.”
-
Karma
félisten
válasz WonderCSabo #2365 üzenetére
Hmm. Jogos, nem jutott eszembe - én mindig szinkronban tartom a kettőt
“All nothings are not equal.”
-
Karma
félisten
Az alacsony targetSdkVersionnek egyébként van egy olyan mellékhatása, ami azért fenéken tud harapni a jövőben: 11-es API szint felett tilos UI szálon hálózati kommunikációt végezni (NetworkOnMainThreadException dobódik), de ha a targetSdkVersion kisebb ennél, az új androidos eszközök se akadnak fenn miatta - hogy ezáltal a régi, nem frissített alkalmazások ne dőljenek össze.
“All nothings are not equal.”
-
Karma
félisten
válasz WonderCSabo #2388 üzenetére
Arról lehet tudni valamit, hogy az új, Materialhoz kapcsolódó API-k platformban jönnek, vagy compat lib/play services formájában? Mert ha csak L-en érhető el, akkor már nem is érdekel...
“All nothings are not equal.”
-
Karma
félisten
Egészen pontosan mit szeretnél csinálni? A saját alkalmazásodban használni valamire a proximity sensort, vagy a telefonon valamit "automatizálni" vele, de nem feltétlen önálló alkalmazásként?
Az előbbihez a SensorManager osztály lesz a barátod, amivel fel kell iratkoznod a proximity sensor változásaira, és az onSensorChanged metódussal azt csinálsz, amit akarsz.
Az utóbbit meg a Taskerrel össze lehet kalapálni. Ennek van külön topikja.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
Igazából Ubuntun is próbálkozhatsz, ha az eszközön tesztelést be tudod lőni (sok múlik a szerencsén, meg ha más nem, az udev konfigon, amit az internet leír).
Választanod kell, hogy az Eclipse vagy az IntelliJ IDE szimpatikusabb - én már lehet, hogy az utóbbival mennék neki, sokkal okosabb -, az előző két link a komplett csomagokra visz.
A teljesség kedvéért meg hagy oldjam fel a rövidítéseket:
SDK: az a csomag, ami az IDE-től függetlenül a fejlesztéshez kell. Tipikusan egy Android alverzió = egy API level, és ilyen szintenként van SDK külön; de ezeket kézzel nem fogod kezelni, hanem a csomagban lévő SDK Manager programon keresztül rakhatod fel azt, ami kell. A legújabb benne van a bundle-ben.
NDK: olyan fordító meg headercsomag, amivel C/C++ részeket lehet fordítani az alkalmazásodhoz. Szerintem a letöltésével is bőven ráérsz, miután a Java oldalt (mondjuk az Android életciklusait, mechanizmusait) már kívülről fújod.
ADT: ez az Android fejlesztéshez szükséges Eclipse plugin neve. Felrakhatod az előbb linkelt bundle-lel (Eclipse + ADT + egy Android SDK), meg ha kitartó vagy, saját Eclipse-be is egy update site-on keresztül. De tanulni egyszerűbb a kész csomaggal szerintem.
Android Studio: ez meg az az IntelliJ-alapú környezet, ami teljesen kiváltja az ADT-t, és sok szempontból még így bétaként is jobb annál (pl. új Gradle-alapú buildrendszer).
“All nothings are not equal.”
-
Karma
félisten
válasz sylvia_1988 #2446 üzenetére
Ez egy érdekes és felettébb veszélyes aknamező. Nem vagyok jogász, de azt tudom, hogy az ilyen sztárok imázsát rengeteg védjeggyel bástyázzák körül: a nevet, a jellegzetes mondatokat, sőt néha a pózokat, még extrémebb esetekben a ruházatot is levédetik.
Ha ezeket megsérted és észreveszik, levetetik Playből azonnal (idáig biztos), és az ügyvédeiken múlik, hogy megúszod figyelmeztetéssel, vagy perrel jönnek - legalábbis amikor amerikai a jogsértő. Nemzetközileg nem tudom, hogy megy.
Mindenesetre nagy körültekintőség kell.
“All nothings are not equal.”
-
Karma
félisten
válasz sylvia_1988 #2448 üzenetére
A neve a legnagyobb céltábla, hiszen könnyen (automatizáltan) kereshető, és 1000%, hogy levédték.
Itt tudsz keresni az USA-ban érvényes védjegyek között.Ha sikeres az alkalmazásod, szinte biztos, hogy nem lesz jó vége
Esetleg a paródiával lehetne takarózni, ha olyan jellegű a program, de inkább csináld generikusan.[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
Mondjuk úgy látom, hogy egy éve kezdte el ezeket a videókat, akkor még én is az ADT-t javasoltam volna
Azt nem tudom, hogy a videók és a kód milyen minőségűek, de a tartalomjegyzék alapvetően rendben van. Az ActionBarSherlock helyett mondjuk már ott van az AppCompat - de ez csak apróság.
Személy szerint nagyon nem szeretem az ilyen kód-oktató videókat. Sokkal jobban értékelem, ha cikkeket írnak videó helyett, könnyebben navigálható és sokkal kevesebb idő feldolgozni. De ez csak magánvélemény
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz vazee00 #2455 üzenetére
A ProGuard, ami az Android SDK része is, tudja obfuszkálni a metódusokat és változókat a kódodban, megnehezítve a visszafejtést. Ha 4.1-es Android fölé targetelsz, még az APK-t is titkosíthatod, ami kvázi lehetetlenné teszi az illetéktelen kibontást.
Viszont. Ahogy sztanozs is írta, ezeket ne használd egy potenciálisan végzetes biztonsági hiba palástolására!
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz levente1227 #2460 üzenetére
Ezt a kérdést inkább az Androidos tablet topicban tedd fel, mert az alkalmazásfejlesztéshez nincs sok köze. Köszi.
“All nothings are not equal.”
-
Karma
félisten
A közelmúltban semmiképp, mert sértené a kauzalitás elvét, és kiszámíthatatlan következményei lennének az univerzumra.
Viszont az a helyzet, hogy abszolút nulla háttérrel a közeljövőben se valószínű, hogy megvalósítható a dolog. Könnyebb lenne az ötlet ismeretében nyilatkozni, de az írott angol nyelv értését, a Java programozási nyelv ismeretét, se az alapvető szemléleteket és fogalmakat nem nagyon lehet megspórolni.
Ha például elkezded olvasni az Android Traininget, ami a Java ismeretében egy egész jó bevezető (és némely kérdésben irányadó) anyag, és kínainak érzed, akkor inkább keress tovább olyan embereket, akiknek tetszik az ötleted.
Ebben mondjuk tényleg segítene az ötlet megosztása.
“All nothings are not equal.”
-
Karma
félisten
válasz BtommyX #2477 üzenetére
Semmi jogi gond nincs azzal, ha leírod. Mondjuk az se árt, ha tudod mit jelent, és hogy ennek leírása már nem szükséges (Wikipédia alapján, nem vagyok jogász).
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
-
Karma
félisten
Semmiképp se mátrixszal! Úgy kiszaladsz a memóriából, mint a huzat!
Helyette a BitmapFactory.Options.inSampleSize lesz a barátod, ezzel csak minden n-edik pixelt dolgozza fel az Android a képből, nagyságrendekkel csökkentve a memóriaigényt.
Ezt elmulasztani a halálfejes hibák egyike.
“All nothings are not equal.”
-
Karma
félisten
Ez a jó megoldás
Azzal a Canvasszal csak onDrawban rajzolhatsz, különben nem lesz hatása. Nem szabad referenciát eltenned arra a példányra.
Viszont nincs akadálya annak, hogy saját Canvast hozz létre egy saját Bitmap köré, mint például ez az átméretezetted, amire akkor rajzolsz amikor akarsz.
Itt van egy kis infomorzsa.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
-
Karma
félisten
Virtuous Ten Studiót használok erre mindig.
“All nothings are not equal.”
-
Karma
félisten
Mindenképp. Az alapokkal tisztában kell lenni akkor is, ha webes technológiával megy neki a fejlesztésnek az ember; ehhez meg célszerű ismerni legalább egy platform lelkivilágát meg mondjuk az MVC alapelveket.
Egyébként az Ionic Frameworkkel elég jó tapasztalataim vannak.
“All nothings are not equal.”
-
Karma
félisten
Igen, bekerülnek, amikor az R újragenerálódik (Anttal fordítás elején, Eclipse-ben azonnal kellene a fájlváltozáskor, de legrosszabb esetben egy Refresh után a res könyvtáron).
Ezen kívül semmilyen dolgod nincs, csak megfelelően hivatkoznod kell (név alapján) az új fájlokra. Pl. XML-ben <include> tag, és benne @layout/uj_layout_file, ha pl. a layoutod neve az volt, hogy uj_layout_file.xml. Java kódban meg R.layout.uj_layout_file lesz a konstans.
“All nothings are not equal.”
-
Karma
félisten
Egy kérdés, ami nagyon kikívánkozik: ezt a kódot, különösen a break labeleket, te írtad kézzel? Meg a static változóba lerakott adattagokat? Vagy ez egy visszafejtett projekt, amit elkezdtél kézzel reszelni?
Mert ha bármelyikre is igen a válasz, sőt, még anélkül is, nagyon javaslom hogy kuka az egész adatkezelésre és oldd meg rendesen. Például JSON-re a manuális feldolgozás helyett használd a Gson-t a modell osztályoddal és majd ő kitölti a mezőket.
A 173-as sort egyébként tényleg nem lehet elérni, hiszen előtte ott a return vagy a break minden esetben. A 202-essel ugyanez a helyzet, ott van előtte a return. A sor így felesleges. Egyben indikátora, hogy itt gondok vannak, nem kicsit.
“All nothings are not equal.”
-
Karma
félisten
Valószínűleg túlkomplikáltad fejben. Ahány input meződ van, annyiszor hívd meg a putExtrát, más-más kulccsal. Ez a "user" kulcs nem tudom honnan jön, valószínűleg valami üzenettel kapcsolatosat akartál volna írni a kódodban.
Célszerű egyébként az extrák kulcsait public static final Stringekben tárolni, és változóként hivatkozni rájuk, mert akkor kisebb az elgépelés esélye.
Megpatcheltem a példád:
public class MainActivity extends Activity {
public static final String EXTRA_MESSAGE = "com.valami.MainActivity.EXTRA_MESSAGE";
public static final String EXTRA_TARGET_USER = "com.valami.MainActivity.EXTRA_TARGET_USER";
Button _button1;
EditText _messageText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
_button1 = (Button) findViewById(R.id.button1);
_messageText = (EditText) findViewById(R.id.editText1);
_button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String message = _messageText.getText().toString();
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra(EXTRA_MESSAGE, message);
intent.putExtra(EXTRA_TARGET_USER, ...); // peldaul
startActivity(intent);
}
});
}
}Bátorkodtam a magyar megnevezéseidet és inkonzisztens kis-nagybetűidet egységesíteni. Mindenkivel jót teszel, különösen magaddal, ha csak egy nyelven és csak egy stílusban írsz kódot.
“All nothings are not equal.”
-
Karma
félisten
válasz laslie92 #2519 üzenetére
Egy értesítéseket fogadó alkalmazáshoz alapvetően három dolgot kell összekapcsolnod: a PHP-s webalkalmazásodat (továbbiakban webapp), a Google Cloud Messaging szolgáltatást (GCM), és az újdonsült Android alkalmazást (mobilapp).
A folyamat nagy vonalakban így néz ki:
1) A Google Developers Console-on regisztrálod magadat, és létrehozol egy azonosítót a webappnak (azaz a küldő félnek).2) A webappot kiegészíted két modullal:
a) az egyik a felhasználókat, azon belül a telefonjaikat gyűjti egy adatbázisba (innen fogod tudni, hogy hova kell küldeni az értesítéseket), és ehhez nyújt valamilyen web service-t a mobilappnak;
b) másrészt a tényleges küldést is a webappban kell megírnod: ha valaki kap egy új üzenetet, akkor meg kell nézni a DB-ben a hozzá tartozó telefont, és arra/azokra lőni egy üzenetet a GCM-en keresztül. Ez egyébként nem bonyolult, csak kell a webapp azonosítója, a címzett, meg a tartalom.3) Megírod a mobilappot.
a) Nem árt, ha a push fogadáson túl van más funkciója is, de ez most mellékes.
b) A mobilappnak regisztrálnia kell a GCM-hez (ez kód szempontjából egyszerűen, egy BroadcastReceiverrel és pár hívással megoldható). A GCM ad a telefonnak ad egy egyedi azonosítót, amit el kell juttatnod a 2a) pontban írt web service-en keresztül a szerverednek, hogy mostantól meg tudja címezni a telefont. A regisztrációnak egyébként illik minden alkalmazásinduláskor lefutnia, és az appnak frissítenie a szerveren a címét, mert változhat. Az se árt, ha közben belecsempészed a felhasználó nevét is.
c) Meg kell írnod, hogy mi történjen, amikor jön egy értesítés, például felraknod egy értesítést az értesítési sávra, vagy ha fut a program, egy dialógust feldobni. Az Android semmit se csinál meg helyetted.És igazából ennyi.
Vannak meglévő szolgáltatások, amivel a folyamat egyes részei felgyorsíthatóak/leegyszerűsíthetőek. Kettő jutott eszembe hirtelen, mert ezeket elég sűrűn használom: a PushBullet és az Azure Notification Hub.
A PushBullet egy önálló alkalmazás és pushküldő szolgáltatás, amivel regisztráció után bármit lehet küldözgetni magadnak az eszközeid, szervereid között. Ha csinálsz a webappodhoz egy modult, ami össze tud kötni egy felhasználót egy PB fiókkal, akkor tudnak értesítéseket fogadni iOS-en, Androidon és asztali böngészőkben is - és akkor nem kell saját appot írnod.
Az Azure Notification Hub meg a 2)-es pontot tudja lényegesen leegyszerűsíteni. Elvégzi az eszközök begyűjtését, karbantartását, és még a GCM-mel is beszél helyetted, cserébe használat alapon fizetni kell érte. De nagy tételben elég jó dolog.
Azt te tudod, hogy a konzerv social networködet mennyire tudod módosítani kézzel, nem tudom megítélni azt se, mennyi elszántságod van hozzá. Azzal nyugodtan számolhatsz viszont, hogy egy ilyen fejlesztés hatszámjegyű tétel, ha valakit keresel hozzá.
Egyébként ez milyen PHP motor? Több helyen láttam, de mindenhol már átírták benne a neveket, nem tudom mi az eredeti.
“All nothings are not equal.”
Új hozzászólás Aktív témák
- Mesterséges intelligencia topik
- Linux kezdőknek
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Internet Rádió építése (hardver), és programozása
- Skoda, VW, Audi, Seat topik
- Gyúrósok ide!
- ThinkPad (NEM IdeaPad)
- HiFi műszaki szemmel - sztereó hangrendszerek
- Hobby elektronika
- Ukrajnai háború
- További aktív témák...
- ThinkPad T14 Gen3 14" FHD+ IPS i5-1245U 16GB 256GB NVMe SSD gar
- Iphone 11 Pro 64Gb Gold + kiegészítők
- HUAWEI MATEBOOK 13 2020/2021
- DELL G15 5510 - 15,6"FHD IPS 120Hz - i5-10200H - 8GB - 512GB - GTX 1650 - Win11 - Garancia
- Ipad Pro 12.9" 3.Gen ( 2018 ) WIFI+ Cellular. 1 TB !!! , Üzletből, Garanciával, beszámitás
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Ozeki Kft.
Város: Debrecen