Hirdetés
Új hozzászólás Aktív témák
-
Sziasztok! Ha egy tabletbe sd kártyát rakok akkor azt hogyan érem el kódon keresztül?
Ez a sor mindig a "belső sd kártyára mutat", nem amit én rakok bele
->Environment.getExternalStorageDirectory().getAbsolutePath()
-
thon73
tag
Tudja valaki, hogy font esetén az ascent és descent értékeket milyen mértékegységben kell értelmezni?
A Paint.getTextBounds() segítségével áthidaltam megoldottam ugyan a problémát ("y" esetén a bottom érték megadja ezt). DE sem az arány sem az összeg nincs összhangban a kapott ascent/descent értékkel, mely egyébként a mérettől függően változik. (Csak úgy érdekelne a teljesség kedvéért.)Bocs, ha nem androidosnak tűnik a kérdés, de az egyetlen válasz, amit találtam, a DIP volt, amit pl. az Android egészen eltérően értelmez a pl. a Windows-tól. Amúgy ezzel sem tudtam értelmezni.
-
Nestor16
senior tag
Sziasztok!
Nemrég kezdtem bele az Android programozásba.
Most egy olyan programot kell írnom, ami a Wi-Fi SSID-jét és jelerősségét írja ki (eddig megvan) úgy, hogy ha a Start gombot megnyomom akkor a wifiManager.startScan(); folyamatos frissítése során egy CVS fájlba mentse el ezeket az adatokat. Ott akadtam el, hogy nem tudok egy for ciklust csak simán beszúrni, az nem működik, ha jól gondolom azért, mert a függvény szkennelési frekvenciája jóval lassabb (~1 sec). Gondolom ezt a frekvenciát nem lehet felgyorsítani (bár a feladatra jobb hatással lenne, hogy minél gyakoribb legyen a scan) szóval a ciklust kéne ennek a sebességére lassítani.
Ezt nem tudom hogyan lehetne, hogy csak akkor lépjen tovább a ciklusmag, ha megvan az új wifiManager.startScan(); érték.Erre tudtok megoldást?

-
Karma
félisten
válasz
[KgP].Robot
#3694
üzenetére
-
Karma
félisten
válasz
[KgP].Robot
#3692
üzenetére
Egy nagyon súlyos hiba biztosan volt: idetettél egy kilométer forrást a Programkód formázás használata nélkül. Mondjuk ekkora mennyiséget még formázással együtt se dobj be kérlek a jövőben.
-
[KgP].Robot
aktív tag
Sziasztok!
Két hónapja foglalkozom androiddal és lenne egy problémám. A feladat az lenne, hogy egy már meghatározott időpont előtt egy héttel és egy nappal küldeni egy notifikációt. Ezután vannak napok, amiken szintén ugyanezen időpontban küldeni kell notifikációt. 4.4.4-es készülékem van, amin működik. 4.1-es tesztkészüléken működik. Samsung S6 Android 6-on először működött, de egy ideje már nem jönnek meg. Tudnátok egy kis helpet adni, hogy mi lehet a baj az alábbi kóddal?
Bármilyen ötletet nagyon megköszönök!
Üdv,
Robot[ Módosította: Karma ]
-
Orionk
senior tag
Hello!
Tegyük fel, hogy okostelefonra, androidra le van fejlesztve egy alkalmazás, aminél a nyitó képernyőn van egy felhasználó és jelszó mező és egy belépés gomb.
Szerintetek milyen test case-eket lenne szükséges írni, hogy sok hibát ki tudjunk szűrni és megfelelően működjön az oldal?
Én az alábbiakra gondoltam:
- figyelni, hogy ne juttassuk el az adatbázis felé a kérést, ha egyik mező üres.
- jelezni a felhasználónak, ha nincs internet elérhetőség.
- ha lenne regisztráció is, akkor ha a megadott min. karakterszámú jelszót nem adott meg, akkor javítsa.
- ha egyik mezőt nem tölti ki, akkor jelezni ezt a felhasználónak.Nektek milyen ötletetek lenne még?
köszönöm -
Karma
félisten
válasz
DrojDtroll
#3687
üzenetére
A hivatalos dokumentációban meg tudod nézni, hogy egyes API-k melyik verzióban jöttek be. A support libraryk ezt eléggé felborítják, rengeteg dolog visszavihető 2.3-ig (de miért tennél ilyet?).
-
DrojDtroll
veterán
MI határozza meg egy programnál, hogy melyik android verziókkal kompatibilis?
Össze van ez valahol szedve, hogy ha ezt és ezt beleteszem egy programba akkor min. ez a verzió kell?
-
thon73
tag
MotionEvent/getPressure kapcsán lenne kérdésem:
DOWN kapcsán csak egyetlen MotionEvent értéket kapok. MOVE csak akkor kezd el tüzelni, ha egy bizonyos távolságra elmozdulok.
Nekem az egyetlen és nem mozduló "DOWN" érintés nyomásváltozására lenne szükségem. Meg tudom szerezni ezt az értéket valahonnan?
(A hardver legalább szimuláltan (getSize) tud értéket szolgáltatni, szóval a mozgásban változó nyomásértékeket kapok. A másik készülék Wacom tollal DOWN esetén is folyamatosan tüzel, nyilván fel van készítve a toll nyomásváltozásainak érzékelésére.)
Esetleg játékot készítők találkoztak már a problémával? Vagy van valami mód az érintés lekérdezésére (MotionEvent, azaz onTouchEvent() nélkül)?
Köszönöm! -
Karma
félisten
válasz
DrojDtroll
#3683
üzenetére
Egyáltalán nem értek egyet az előző következtetéssel, a RenderScript-alapú megoldás elég hatékony.
Persze, egyszeri firka-alkalmazásnál eljátszható, hogy a képet különböző blur paraméterekkel legyártod, de egy valós alkalmazásnál (ahol például az alkalmazásodat felkészítetted mindenféle felbontásra és DPI-re) nem járja, hogy ilyen kombinációkkal hízlalod az APK-t gigászi méretekre.
Sok nagyméretű kép betöltögetése emellett memóriában is elég megterhelő, és egyáltalán nem gyors. Persze mindig az esethez mérlegelni kell, hogy mennyi fér bele. Ki kellene mérni és az alapján dönteni.
-
Gerzsi
tag
válasz
DrojDtroll
#3681
üzenetére
Igen az utóbbi kevesebb erőforrást igényel.
-
-
Gerzsi
tag
válasz
DrojDtroll
#3679
üzenetére
Könnyen találni hozzá kódot googleben.
-
DrojDtroll
veterán
Sziasztok!
Egy programban a háttér különböző szintű elmosására van szükségem.
Van erre függvény ami elmossa a programom hátterében szereplő képet a megfelelő mértékben? Esetleg nekem kell megcsinálom a különböző mértékben elmosott háttereket és azokat cserélgeti a program.?
-
Sianis
addikt
Üdv!
Lehet bugyuta kérdés lesz. Normális dolog az, hogy egyazon id-t nem lehet többször felhaszniálni xml-be ágyazott fragment esetében? Tehát van két Activity, mindkettő XML-jében egy-egy fragment, id-t ugyanazt adtam meg nekik. Nos a második Activity az már nem volt hajlandó megtalálni a fragment-et. Érdekesen el van ez még mindig szúrva úgy látom.
-
dirkam
tag
Erre valakinek lenne tippje?
-
Sziasztok! Hatalmas köszönet Karma és WonderCSabo kollégának, sikerült megoldanom a problémámat. A LeakCanary bevált, megmutatta a lehetséges leak helyeket és Karmának igaza volt, valóban nem állítottam le mindent az activity elhagyásakor, egy Timer futott a háttérben. Mivel sokszor indul és csukódik be ez az activity, ezért szépen lassan felzabálta a memóriát és amikor 60-64mb körül volt a memóriahasználat, akkor egyszerűen nem hozta be az UIL a képeket. Most hogy leállítottam a Timert, a Leakcanary sem jelez hibát és rögtön visszaesett átlag 18-22mb-ra a memóriahasználat.
-
Koszonom a valaszokat! Mivel a forraskod nem az enyem, marmint "jogilag", nem akarom kozszemlere bocsajtani
Legnagyobb problemam az, hogy egyedul fejlesztem az appot, a megfelelo tudas nelkul. Ezen a cegen belul tok massal foglalkoztam amikor jott a fonok otlete, hogy irjam meg ezt az appot. Ekkor voltam 2. feleves a proginfo alapszakon, meg kb. semmit nem ertettem a programozashoz. Autodidakta modon a gugli segitsegevel raktam es rakom ossze most is a szoftvert es tudom, hogy sok mindent valoszinuleg nem igy kene csinalnom benne, de sajnos nincs senki akitol tanacsot kerhetnek a cegen belul vagy aki ranezne a kodomra es megmondana mi a szar benne, esetleg mit irjak at mire. Kicsit off, de ezert is gondolkodom mar jo ideje munkahely valtason, nem erzem hogy megfeleloen fejlodnek, jo lenne ha lennenek olyan emberek mellettem, akik tudnak jol programozni. Egyebkent kb. 1 ev fejlesztes utan az ELTE-n levo kemeny 3db java-s targyat kb. kiraztam a kisujjambol, sajnos nem a suliban fogok megtanulni mindent, erre hamar rajottem.Az android studioban par eszkozt mar probaltam, mar le tudom csekkolni hogy mennyi memoriat allokal a szoft, latom a futo szalakat is. Kicsit kinai meg nekem, de probalom megerteni.
Kepeket probaltam mindig az Universal Image Loaderrel meghivni, amikor vege az activitynek akkor az imageLoaderen meghivom a memoria es cash felszabaditasara vonatkozo metodusokat is.
A threadeket leallitom, mielott kilepek az activityrol. Bar ez a leallitas nem tudom mennyire valid, de nalam ugy zajlik, hogy a threadnek irok stop metodust, ami csak egy boolean flaget allit at falsera, igy a run() reszben futo dolgok nem hajtodnak vegre. Azt hiszen ezt igy tanultuk programozasi technologiakbol anno.
Hasznalok nehany sajat, nem statikus osztalyt.
LeakCanary-ra is ranezek holnap

-
Karma
félisten
Kevéssé lepődtem meg, amikor olvastam a kérdésed. Mivel a konkrét forráskód ismerete nélkül nem lehet megoldani a helyzetet, pár ötletem van:
1) Az Android Studio által nyújtott eszközöket nézted már?
2) Használsz Bitmapeket? Mindenképpen hívj rajtuk .recycle()-t, miután végeztél a használatukkal, különben nem szabadul fel a terület.
3) Leállítasz, elengedsz mindent amikor elhagysz egy Activityt?
4) Használsz nem statikus osztályokat? Ezekkel pofon egyszerűen lehet leakelni Viewkat és kontextusokat, ugyanis a tartalmazó objektumra erős referenciát birtokolnak. Ha egy ilyen classt használsz listenernek valami külső osztálynál (például location figyelés), az egész pereputty nem tud felszabadulni. -
Sziasztok! Eszi az appom a memóriát, valahol leak van, de nem tudom kideríteni hol. Android studio monitorozásakor csak azt látom, hogy egyre jobban fogy... A thread, heap, allocation tracker cumókkal meg nem igazán tudom kideríteni, hogy konkrétan milyen objektum az ami bennragad vagy ilyesmi.
-
Viszonylag komplex az app. Van egy szerver és több kliens tablet. Egy buszba vannak telepítve a tabletek és powerbankről fut egy router. A kliensek alap infókat látnak a default activityn, itt böngészhetik a dolgokat. Ha a busz befut egy adott GPS zónába akkor a szerver érzékeli, wifin jelet küld a klienseknek, a klienseknek pedig elindul egy media activity videóval, képekkel, infókkal stb. Amint kiértek a zónából visszalép a szoftver automatikusan a default activityre.
-
Karma
félisten
"Esetemben garantálva van, a felhasználó mindenképp visszatér a főképernyőre (nincs választása
)."Tán valami kiosk jellegű alkalmazás? Akkor se garantálja senki, különösen nem az Android, hogy ugyanazt az Activity példányt hozza vissza. Főleg ha közben történik egy újrakonfiguráció mondjuk elforgatás miatt (pl. kamera).
Az onResume meghívódik első induláskor és újrainduláskor is, remek hely az ilyen UI cuccok indítására.
-
Esetemben garantálva van, a felhasználó mindenképp visszatér a főképernyőre (nincs választása
).Akkor először is ránézek a service kezelésre, mert ez nekem totál új sajnos. Másodszor az UI-s dolgokat megállítom az onPause-ban. Amikor visszatér az activityre akkor az onResume() hívodik meg ugye?
-
Karma
félisten
Igen. Senki se garantálja, hogy valaha ide visszatér a felhasználó, a háttérszálak meg csak a processz kilövésekor állnak le.
Alapvetően sokkal jobban jársz, ha azokat a dolgokat, amik valódi háttérfolyamatok és nincs UI vonzata (pl. location), kiszervezed egy bound/hybrid service-be. A UI-osokat meg onPause-ban állítsd meg.
-
Sziasztok! Ha van egy activitym amin futnak kulonbozo threadek (pl. slideshow, locationmanager, stb.) es rainditok egy masik activityt akkor le kellene stoppolnom ezeket a threadeket amig a felhasznalo a masik activityn mozog?
-
karip78
újonc
Üdvözlet mindenkinek ! Keresem azt az embert aki tudna nekem segíteni webview alkalmazásban kellene egy hibát javítani. Képeket nem tölti fel illetve meg sem nyitja a telefonon android verziótól függetlenül. Ha valaki tud ebben segíteni keressen meg és a többit megbeszéljük. Köszönöm !
-
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?
-
Sianis
addikt
Üdv!
A következő kérdésem lenne, őszintén bevallom még nem olvastam utána az angol fórumokon.
Android gyári kamerával készíttetek egy fényképet, azt elmenti a kért helyre. Visszajön a futás az app-ba, de a kért helyen a fájl mérete 0 bájt. Kb 3-4 másodpercig biztosan. Ez valami normális működés lett egy ideje? Mert anno emlékszem, hogy ilyen problémám nem volt.
Illetve ennek a problémának a kivédésére mi a bevett szokás nálatok?
Köszi!
-
fatal`
titán
válasz
WonderCSabo
#3659
üzenetére
Annyit tennék még hozzá, hogy (nyilván nem túl elegáns megoldás) ha régebbi targetSdk-t használ (lollipop vagy kisebb) akkor marad a régi működés.
-
bucsupeti
senior tag
válasz
WonderCSabo
#3659
üzenetére
koszonom mindkettotoknek!
-
WonderCSabo
félisten
válasz
bucsupeti
#3657
üzenetére
Android 6-tal megvaltozott a permission kezeles. Bizonyos "veszelyes" permissionok eseten nem eleg a manifest-be beirni, hanem a permission altal vedett szolgaltatas meghivasa elott a permissiont explicite kerni kell a felhasznalotol. Ezt a felhasznalo jovahagyjatja de el is utasithatja. Ha jovahagyta, kesobb barmikor visszavonhatja. Ezert ezentul futasidoben mindig ellenorizni kell a permissiont, es kerni, ha szukseges. Tobb info itt.
Na a mese irasa alatt megeloztek.
-
bucsupeti
senior tag
egy specialis de egyszeru sms kuldo appot kellett keszitenem es a kovetkezo problemaba utkoztem.
nekem nexus 5 keszulekem van amin mindig a legfrisebb factory rom van. jelenleg az android 6 januati updateje. ezen szoktam elso korben futtani az appokat. az sms kuldest smsmanager segitsegevel csinaltam, ahogy a nagykonyvben meg van irva. manifestben a permission megvan. ennek ellenere futaskor az sms kuldesnel leall azzal a problemaval hogy nincs neki sms kuldesre permission.az app samsung note4-en kell hogy fusson, es azon fut is.
szoval van valakinek otlete hogy miert nem megy nexus-on?
-
Sianis
addikt
-elsődlegesen 3 vagy több db legördülő menüből kellene kiválasztani, hogy éppenséggel hol vagyok (ezt egy másik részlegbe fel kellene tölteni)
Nem probléma. Spinner a megoldás.
Szerkeszthető ablakocska alatt mit értünk? Szövegmezőt? Nem probléma.
4 db fényképet sem nehéz csinálni.
A visszalépegetés sem probléma, pl ha Fragmentek vannak szépen egymás után rakva a history-ban, akkor ez automatikus kb.
Hajrá!
-
Shoo
senior tag
Sziasztok!
Előre leszögezném, hogy a témában kezdő vagyok, de van programozási tapasztalatom.
Az lenne a kérdésem, hogy nehéz-e megírni egy programot a következő feltételekkel:-elsődlegesen 3 vagy több db legördülő menüből kellene kiválasztani, hogy éppenséggel hol vagyok (ezt egy másik részlegbe fel kellene tölteni)
majd ezek után egy ciklikus rész jönne:
- kellene egy vagy kettő szerkeszthető ablakocska
- majd 4db fényképet kellene készíteni mindig ugyanarról a 4 dologrólOlyan lehetőség kellene még bele, hogy vissza lehessen lépni, ha valamit elrontunk használat közben.
Egyenlőre ez ami megszületett a fejembe, van egy hasonló programunk már, de nincs meg a forráskódja és szeretnék egy sajátot.
A lényege az, hogy távvezetékvonalat kell végigjárnunk és felmérni az oszlopok állapotát és fényképezni.
Előre is köszönöm a válaszokat!
-
thon73
tag
Elég kevés adat is elég a szinkronizáláshoz. Töltsek fel Google Drive-ra egy kis file-t, amit a másik program leszed? Egyébként nekem is ez a "felhő" megoldás a legszimpatikusabb.
De mit tegyek akkor, ha nincs net (külföld pl.)? Bluetooth? Mennyire lehet ezt automatizálni? Gondolom a BT eszközt kézzel kell bekapcsolnom, mert azt nem engedi (nyilván) a rendszer a programnak, de a többit már lehet programozni? Bocs, de ilyesmivel még semmi tapasztalatom nincs, bluetoothban kb. az autó hifi-rendszeréig terjedek... De ezt is el kell kezdeni valahol. -
Karma
félisten
Személy szerint nem erőltetném ezeket a proximity megoldásokat, inkább bevonnék egy Dropboxot vagy Google Drive-ot köztes tárolónak. Androidon a Google fiók elég gyakori, főleg Play Store-os alkalmazás esetén

Nem tudok róla sajnos, hogy a Google adna olyan egyszerű megoldást a szinkronizálásra, mint az iOS-en az iCloud Sync, Windowson meg a roaming settings... De szívesen venném, ha kijavítana valaki.
-
laziale
csendes tag
Sziasztok,
Android fejlesztőt keresek hosszútávú együttműködésre projekt/megbízás alapon.
Vannak kisebb és nagyobb projektjeink.
Ha bárkinek van tapasztalata és kapacitása akkor írjatok.
Köszönöm -
thon73
tag
Készítettem egy e-book reader-et (tudom, van már sok), és azon gondolkozom, mi lenne a leghatékonyabb módszer arra, hogy a tablet és a telefon között szinkronizáljam, hol tartok az olvasásban. Ez egyébként más programoknál is hasznos funkció lehet. Alapfeltétel, hogy nem mindig vannak hálózat-közelben; bár ha igen (és ez gyakori), akkor mindkettő azonos hálózaton. NFC nincs az egyikben (bár ez sem kizáró szempont). Fontos szempont (lenne) viszont, hogy a lehető legkevesebb külső beavatkozással történjen a szinkronizálás. (Vagyis pl. ne kelljen kézzel bluetooth-pair-t csinálni, wifi tetheringet stb.) Esetleg a szituációtól függően kombinálva ezeket?

Köszönöm, ha elmondjátok a véleményeteket! -
gaben0211
tag
Smart launcherhez szokott valaki témákat csinálni? Kezdő vagyok nagyon és nemlátok bele a dolgokba
-
Zedz
addikt
Köszönöm a linkeket, kiindulásnak tökéletesek.

Szerk.:
(#3646) Karma: Még nem tudom mi legyen a szerver oldalon, csak kóstolgatom ezt a világot. Vagy php vagy lehet python lesz.
-
#39560925
törölt tag
-
Zedz
addikt
Sziasztok,
Regisztrációhoz és loginhoz ismertek valami jó libet, vagy magatok írtátok meg?
-
thon73
tag
Megint belefutottam egy érdekes problémába:
A billentyűzet (Service) automatikusan elindul amikor a gépet újraindítom. Amikor viszont a service újraindul, akkor az adatokat is újra be akarja tölteni az SD kártyáról, ami viszont ebben a fázisban még nem elérhető. Értelemszerűen hiányzó adatok üzenettel megáll.
Miként tudhatom vajon meg, hogy újraindítás (vagy pl. kártyacsere) van folyamatban, és várakoznom kell a kártya megjelenésére? Ill. azt, hogy a kártya már él? Azt fontos lenne elkülönítenem, hogy ne is számítsak adatokra, mert pl. nincs SD kártya ill. hogy jelenleg éppen ugyan nem elérhető, de várhatóan hamarosan lesz sd kártya.
((Az "adatok" természetesen nem a futó billentyűzet adatait jelenti, hanem a billentyűzetet leíró szöveges file-t, aminek alapján a billentyűzetet legenerálja. Szóval ezt szeretném az SD-n hagyni, mert ott könnyebb vele - pl. egy szövegszerkesztővel - dolgozni.))
Előre is köszönöm!
-
aprokaroka87
nagyúr
az létezhet hogy egy alkalmazás fejlesztője megtudja úgy csinálni az appot hogy az reklámblokkoló megléte esetén letiltja az adott alkalmazás működését?
ha jól tudom erre a google play api-n keresztűl van lehetőség -
Sianis
addikt
Sziasztok!
Fragment életciklusában az onDestroy() tekinthető úgy, hogy ebből az állapotból már semmilyen formában nem próbálja meg a rendszer visszahozni? Hanem biztosan új példányt csinál amennyiben szükséges?
Köszi!
-
aprokaroka87
nagyúr
üdv!
Androidra lehetne olyan alkalmazást fejleszteni ami kikapcsolt képernyő esetén naplózza a hálozati eseményeket,melyik app mikor és hova csatlakozott fel,mennyi adatforgalmat generált. -
fatal`
titán
válasz
WonderCSabo
#3624
üzenetére
Ha holnap jönne az is késő, vagy 3 év mire elterjed az N, addigra már java 9-10 lesz. Ezért is fogok kotlinra váltani szerintem, ha véglegesítik a nyelvet és a standard libet.
-
thon73
tag
válasz
WonderCSabo
#3631
üzenetére

Tyű! Pontosan ezt szerettem volna, csak nem tudtam, hogy ezt szeretném. Vagyis, hogy ezt így hívják. Így viszont már találtam is plugint, ami ki is rajzolja; majd kipróbálom. Azért ezzel még kell egy kicsit játszanom, mert igen sok adat van benne...
Nagyon köszönöm! -
thon73
tag
válasz
WonderCSabo
#3629
üzenetére
2. Bookmarks! Ez az! Pont erre volt szükségem! Remek. Nem tudom, miért nem láttam ezt idáig, pedig kerestem, igaz, nem ezzel a szóval.
1. A Find Usages nagyon jó, azt használom is, csak van néhány osztályom, ami "egymásba ágyazódik". Pl. Van egy közös alap-adatokat tartalmazó Data, van benne néhány billentyűzet-layout Board, van benne sok-sok billentyű Button, abban meg néhány felirat Title. Nomármost: mindenki az előzőt látja, nem az összeset. A Data ismeri (egy interface-en keresztül) magát a fő Service-t. Ahhoz, hogy a Title hozzáférjen a Service által biztosított metódusokhoz, vissza kell nyúlni a saját Button, annak a Board osztályán keresztül a közös Data osztályig, aki biztosítja számára a Service által megvalósított interface-t. Igazából a valóságban egyszerűbb, mint így leírva.
Arra gondoltam, hogy van-e esetleg olyasmi, ami ezt valami hasonló módon felrajzolja. Mert ugye elvileg látnia kell, hogy pl. a Button osztályban van Board hivatkozás, de pl. Data hivatkozás nincs.
Aztán persze lehet, hogy őrületes butaság, amit kérdezek, és nem is létezik ilyen, vagy én csinálok valamit apokrif módon... -
thon73
tag
Apró technikai kérdések:
Az Android Studio tud-e olyat, hogy az osztályok közötti összefüggéseket kikeresi? Vagyis: ki hivatkozik kire. Eddig papíron csináltam, de lehet, hogy van erre valami szofisztikáltabb módszer is.
A másik pedig, hogy lehet-e esetleg a Studion belül megjelölni szövegrészeket? Most egy csomó hely között ugrálok, és ebből néhány ráadásul egy osztályon belül van. Olyan jó lenne, ha egy mozdulattal tudnék ide-oda menni, és nem kellene keresgetni a sorok között, hogy visszataláljak. Eddig csak olyat találtam, ami az előző helyre visz el, de ilyen ugrálósat nem láttam.
Köszönöm, ha valaki látott már ilyet! -
artiny
őstag
Alcatel OneTouch Watch-ra lehetne írni programot ami kepes megjeleniteni a szoveget, olvasni rajta txt documentumot?
-
#39560925
törölt tag
válasz
WonderCSabo
#3624
üzenetére
Megnéztem alaposabban a forrást, emiatt a fájl miatt gondoltam elsőre, hogy Java 8, de streameket meg nem találtam, ami rossz előjel.
-
#39560925
törölt tag
Android N-be jön a Java 8 támogatás. [link]
-
IO.sys
őstag
Sziasztok!
Programozóként kérdeznék tőletek valami cifrát. Androidban nem fejlesztettem soha, a firmware átalakításával kapcsolatos a kérdés. Bocs, ha rossz helyen kérdezek, de nem találtam más aktív, magyar közösséget, angolul meg nem tudok annyira. ROM főzésben van némi tapasztalatom, sokat kalapáltam cyanogenmod romokat, de alapvetően nem ez az én pályám. Az unpack-repack megy simán, Ubuntun fel van állítva a környezet az akciókhozVan egy nobranded noname kínai tabletem, ami mögött egész szép hackerközösség épült fel, de a kérdésemre valamiért még senki nem gondolt. A belső tárat szeretném a telepítő image-ben kicserélni az emulált sd kártyára. Vagy legalább a belső tár méretét megnövelni. Azt szeretném, hogy így települjön. 4 napig szórakoztam vele, mire rájöttem, nem úgy van az...
Ez egy Allwinner A23 Q8H v1.2 board-os tablet, Android 4.4v2 fut rajta. A belső tár 1 gigás sincs, ami nagyon gyorsan elfogy. A lényeg az, hogy nem megy rajta a Link2SD sehogy se, pedig alaposan utánajártam és csináltam, amit kellett.
- Kicsomagoltam a telepítőt, próbáltam állítgatni a sys_partitions.fex-et, nem volt semmi hatása. Már eleve ezt se értem, hogy akkor az minek van.
- Az init.rc-ben cserélgettem a mount pontokat, ezzel annyit értem el, hogy az emulált 5 gigás belső SD-t ki tudtam kapcsolni, de a /data partíciót (vagy mi az) nem tudtam állítani, legfeljebb elrontani. (cat /proc/mount-tal ellenőriztem a történéseket)
- Elvileg egy 8 gigás memóriát szabdal szét magának, kerestem, ahol csak tudtam, hogy ezt hol csinálja, de nem találtam. Kibontottam a bootloadert (elvileg boot.img), a recovery-t, meg mindent, amit csak tudtam a neten fellelhető útmutatók alapján, de nagyon úgy érzem, a valódi történések helyszínére nem jutottam be, vagy csak nagyon rossz helyen kerestem. Gyanítom, hogy az init programban van a megoldás, de arról még infót se találtam, hogy egyáltalán kibontható-e olvasásra.Van esetleg tippetek, hogy amit akarok, ahhoz merre kell továbbindulnom? Előre is köszönöm.

-
thon73
tag
Nagy-nagy köszönöm!

már olvasgattam egy ideje, de még egyik cikk sem foglalta össze ilyen jól! (Vagy valószínűleg túl részletes volt.)Konkrétan egyébként továbbra is a billentyűzet téma, ami az egyik gépemen tökéletesen működik, a másikon tökéletesen nem - mert nem ad onTouchEvent jelet, ha nincs mozgás.
Az "leütés" után hosszabb a várakozási idő, mint az ismétlések között = ez egyszer két időintervallum. Bizonyos billentyűk nem ismétlik önmagukat, hanem két jelentésük van. Az egyik mód a másodlagos jelentés előhozására, ha hosszan tartom. Ilyenkor a két jelentés váltakozik, de mindig a "hosszú" idő után. A logikus számomra az volt, hogy meghívom a "jelentést", vagyis amit a billentyű csinál, és az adja vissza, hogy a továbbiakban hosszú vagy rövid várakozás kell a következő tick-hez.
De a fentiek alapján már prímán meg fogom tudni csinálni, köszönöm!Érdekes egyébként, hogy a billentyűzettel kapcsolatos dolgokról alig van valami szó ((jó, ez a kérdés nem pont billentyűzettel kapcsolatos)); és rengeteg illogikus vagy rosszul dokumentált rész van benne. Pedig nagyon izgalmas része lenne egy érintőképernyőnek.
-
Karma
félisten
"Akkor a custom View osztályban lesz egy mHandler = new Handler(); rész. Ha jól értem, ez rácsatlakozik az UI thread által létrehozott looper-re."
Igen és igen.
Hogyan tudom ezt az egészet megállítani? Kiadok egy mHandler.removeCallbacks() utasítást?
Igen. Ha megnézed a metódus szignatúráját, láthatod, hogy meg kell adni azt a Runnable példányt, aminek az ütemezését vissza akarod vonni.
"1. De mi lesz ebben a runnable? Vagy egy runnable-vel meg tudom csinálni a fenti sort?"
Ha kicsit konkretizáltad volna, hogy mit csinál a View-d és miért kell hozzá két ütem, nem kellene ennyire a levegőbe beszélnünk. Mindenesetre az biztos, hogy a késleltetett kódrészlete(ke)t ki kell raknod tagváltozó(k)ba, mert így tudsz a konkrét Runnable példányokra hivatkozni - melyek egyébként tipikusan lambdák vagy anoním osztályok.
Például (kicsit pszeudokód lesz, mert most nincs előttem IDE):
private Handler mHandler = new Handler();
private Runnable mDelayedStep = new Runnable() {
public void run() {
Log.w(TAG, "BOOM!");
}
};
public boolean onTouch(View v, MotionEvent event) {
mHandler.removeCallbacks(mDelayedStep);
mHandler.postDelayed(mDelayedStep, 5000);
return true;
}És ezzel írtál is egy mini játékot, amiben akkor robban a bomba, ha a felhasználó öt másodpercig nem nyúl a telefonhoz
Amíg simogatja, elodázza a végzetét.Retrolambdával egyébként egy kicsit tömörebb:
private Runnable mDelayedStep = () -> Log.w(TAG, "BOOM!");2. Azonnal megáll a végrehajtás, vagy a következő "tick" még lefut?
Azonnal hat, tehát nem fog lefutni, amit kivettél.
3. Ha leállítom, akkor rögtön indíthatok egy ugyanilyen ütemet, ugyanezekkel a példányokkal?
Persze. Sőt, ha az lenne az igény, egy Runnable-t többször is beütemezhetsz, mert a message queue-ba többször is bekerülhet ugyanaz a példány. Fontos megjegyezni, hogy a removeCallbacks az összes hozzá tartozó üzenetet kiveszi.
-
thon73
tag
Bocs, én csak amatőr programozó vagyok, és csak egyszer használtam ilyet.
Valamiért az volt bennem, hogy lesz egy háttér "ütemadó" szál; de ez a válasz teljesen megvilágított. Így akkor el sem hagyom az UI-thread-et! Végül is teljesen logikus. Köszönöm!

Még egy apró (és alap) kérdésem lenne:
Akkor a custom View osztályban lesz egy mHandler = new Handler(); rész. Ha jól értem, ez rácsatlakozik az UI thread által létrehozott looper-re.
Amikor érintés történik, akkor kiadok egy mHandler.postDelayed() utasítást. Az ebben lévő runnable csak meghívja a custom View egyik metódusát, ill. utána ismét kiad egy mHandler.postDelayed() utasítást, amivel a saját maga után érkező "tick"-et indítja.Hogyan tudom ezt az egészet megállítani? Kiadok egy mHandler.removeCallbacks() utasítást? 1. De mi lesz ebben a runnable? Vagy egy runnable-vel meg tudom csinálni a fenti sort? 2. Azonnal megáll a végrehajtás, vagy a következő "tick" még lefut? 3. Ha leállítom, akkor rögtön indíthatok egy ugyanilyen ütemet, ugyanezekkel a példányokkal?
Előre is köszönöm, és bocsánat az alapvető kérdésekért. De nekem nagyon sokat segítettetek!
-
thon73
tag
válasz
WonderCSabo
#3615
üzenetére
Találtam ilyet: Timer, ami helyett a ScheduledThreadPoolExecutor-t ajánlja. Ill. ilyet: TimerTask (és még CountDownTimer-t is.) Meg persze a Handler.
Szóval a Handlert érdemes választani.
-
thon73
tag
"a vizsgakon csak olyan kerdes teheto fel, amire a valasz megtalalhato a tantargy hivatalos jegyzeteben." - ezt minden egyetemen tudják? Amúgy egyetértek. Azzal főleg, hogy kell szólni a tanárnak, legalább visszajelzése legyen.
Nekem viszont lenne egy kifejezetten Android kérdésem:
Melyik időzítő mechanizmust a legjobb használni, ha az UI szálon 50-300 ms-ként kell egy metódust triggerelni? Fontos, hogy az időzítést meg lehessen szakítan.
((A bőség zavara. Háttér: Az onTouchEvent MINDEN érintés le/érintés mozgás/érintés fel-re reagál, de az egy helyben tartott érintésekre csak akkor, ha egy bizonyos minimális mértékben előtte mozdult. A "minimális mérték" sajnos gépfüggő és nem módosítható beállítás, esetemben elég nagy. Emiatt a "repeat" érintések nem érzékelhetőek, erre keresek egy kerülő utat: érintés le indítja az ütemjelet, érintés fel megszakítja.))
-
-
_kovi_
aktív tag
Nemrég indult a tárgy. Az előadásokon pedig csak gyakorlat volt.
Szóval, itt most az a helyzet, hogy oldd meg, ahogy tudod címszó.
A nagyobb baj az egyébként, hogy csak néhány magyar nyelvű könyv jelent meg mélyebben az Android programozásról, az Ekler Petiék féle BME-s az megvan, nagyon jó könyv, de erről a tételről amit írtam pont szinte semmi sincs a könyvben.
Az angolon rajta vagyok, de nem vagyok már fiatal, abban az időben még nem erőltették a nyelvet annyira mint az utóbbi néhány évben a fiataloknak.

-
eami
veterán
pedig érdemes lenne ráfeküdni a témára ha már ilyesmivel foglalkozol...
de hogy vmi on is legyen... ha államvizsga tétel akkor kell hogy legyen mögötte olyan könyv, szakirodalom, egyetemi/főiskolai hivatalos jegyzet amiből oktatták ezt a témát és amiből el kell tudni sajátítani. Mindezt magyarul.
-
_kovi_
aktív tag
válasz
WonderCSabo
#3608
üzenetére
Igen, angolul sok van, de nem vagyok penge angolból sajnos...

-
thon73
tag
Ezekbe a hibákba mindig csak én futok bele!? 
Ezt találtam:
[touch slope]Úgy tűnik, az egyik gépemen elég "nagy", a másikon meg elég "kicsi", ezért a működésbeli különbség. Ettől függetlenül szívesen meghallgatnám, ha másnak van vele tapasztalata.

-
_kovi_
aktív tag
Sziasztok!
Tudnátok tanácsot adni, hogy ehhez az államvizsga tételhez hol találok magyar leírást:8. Többnyelvű alkalmazások tervezési lépései. (XML leírók jellemzése, Location osztály)
Ekler Peti könyve megvan az talán a legismertebb Android fejlesztői könyv, de abban erről szinte semmi sincs.
Köszi
-
thon73
tag
Találkozott valaki ilyesmivel?
Van egy custom view egy custom onTouchEvent kezelővel. Az egyik készüléken (Note 8) a program kifogástalanul működik.
Egy másik készüléken (SGSII 4.1.2) ugyanaz a program az "álló" érintésekre csak néha hívja meg az onTouchEvent-et. Minden más tökéletesen megy, az összes mozdítás/fel/le, de ha az ujj megáll; nincs hívás - én meg nem tudom az ismétlést figyelni.
Írtam rá direkt egy tesztprogramot, biztos rossz a készülék. Az meg megy. Na most akkor?
Hol lehetne tovább menni az onTouchEvent vonalán, és korábban ellenőrizni, hogy egyáltalán hol akad el az érintés? Foglalkozott valaki ilyesmivel? Minden jótanácsot szívesen veszek!
-
Karma
félisten
Töröltem az utolsó hozzászólásokat, mert se a poltikai helyzet méltatása, se az adórendszer kijátszása nem a fórumra, de különösen nem egy szakmai topikba való téma.
-
vlevi
nagyúr
Köszi a rész!etes választ. Ezek szerint nincs normális megoldás. Gondolkodtam azon, hogy megpróbálhatnám visszaállítani a környezetet olyanra, mint volt korábban. pl. android 6 helyett csak 5-s sdk telepitek. De szerintem nem érne semmit, mert pl a buold tools-ból is kellene a régi, az meg ugylatom, már nincs. Lehet tényleg 1xűbb összegereblyézni egy új és egy régi gradlet

Új hozzászólás Aktív témák
- GYÖNYÖRŰ iPhone 13 Mini 128GB Midnight - 1 ÉV GARANCIA -Kártyafüggetlen, MS4071
- BESZÁMÍTÁS! Apple iPhone 12 Mini 64GB mobiltelefon garanciával hibátlan működéssel
- GYÖNYÖRŰ iPhone 13 mini 128GB Starlight -1 ÉV GARANCIA -Kártyafüggetlen, MS3892
- GYÖNYÖRŰ iPhone 12 Pro 256GB Pacific Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS4155,100% Akksi
- Telefon felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
->


Legnagyobb problemam az, hogy egyedul fejlesztem az appot, a megfelelo tudas nelkul. Ezen a cegen belul tok massal foglalkoztam amikor jott a fonok otlete, hogy irjam meg ezt az appot. Ekkor voltam 2. feleves a proginfo alapszakon, meg kb. semmit nem ertettem a programozashoz. Autodidakta modon a gugli segitsegevel raktam es rakom ossze most is a szoftvert es tudom, hogy sok mindent valoszinuleg nem igy kene csinalnom benne, de sajnos nincs senki akitol tanacsot kerhetnek a cegen belul vagy aki ranezne a kodomra es megmondana mi a szar benne, esetleg mit irjak at mire. Kicsit off, de ezert is gondolkodom mar jo ideje munkahely valtason, nem erzem hogy megfeleloen fejlodnek, jo lenne ha lennenek olyan emberek mellettem, akik tudnak jol programozni. Egyebkent kb. 1 ev fejlesztes utan az ELTE-n levo kemeny 3db java-s targyat kb. kiraztam a kisujjambol, sajnos nem a suliban fogok megtanulni mindent, erre hamar rajottem.
)."


Amíg simogatja, elodázza a végzetét.

Ezekbe a hibákba mindig csak én futok bele!? 


