Hirdetés

2024. április 28., vasárnap

Gyorskeresés

Hozzászólások

(#1651) eastsider válasza WonderCSabo (#1649) üzenetére


eastsider
nagyúr

köszi! akkor jól értettem alapból a dolgot, de mégis zavart (látszik, hogy nem értem még teljességgel aza ctivity életciklusait. tanulmányozom még az irodalmat :R

bAtt001: WonderCSabo megfejtette, azt amit végülis sejtettem, de mégse... :R

na mindegy, így is rengeteg mindenre rájöttem ebből a gyakorlatból

[ Szerkesztve ]

(#1652) RexpecT


RexpecT
addikt

Szeretnék javadoc-ot generálni Eclipse alól, de nem sikerül (ilyen hibaüzenetet kapok az ékezeteknél):
error: unmappable character for encoding UTF-8

Elvileg ez lenne a megoldás, de nálam nem működik:
export -> javadoc -> next -> in extra vm options write
-encoding UTF-8 -charset UTF-8 -docencoding UTF-8

:Y

[ Szerkesztve ]

(#1653) Karma válasza RexpecT (#1652) üzenetére


Karma
félisten

Az Eclipse-edben a fájloknál ugye UTF-8 kódolást használsz? Project (vagy default értékhez Window) -> Preferences -> Resource -> Text File Encoding is legyen UTF-8, különben jogos a hiba.

Windowson az alap kódolás CP1250, ami nem kompatibilis az UTF-8-cal.

“All nothings are not equal.”

(#1654) Degeczi válasza eastsider (#1651) üzenetére


Degeczi
nagyúr

érdekes, én is pont ilyen feladattal kísérleteztem a hétvégén :D

(#1655) RexpecT válasza Karma (#1653) üzenetére


RexpecT
addikt

Köszi. :R
Beállítottam, de így meg minden dokumentációs megjegyzésnél az ékezetet � -re cserélte. :W

(#1656) WonderCSabo válasza RexpecT (#1655) üzenetére


WonderCSabo
félisten

Ez természetes, mert a CP-1250 ékezetes karaktereit nem ismeri az UTF-8. Vmi szövegszerkesztővel konvertáld át a CP-1250-et UTF-8ba. Persze az a legjobb, ha nem használsz ékezeteket, sőt, angolul írsz.

(#1657) RexpecT válasza WonderCSabo (#1656) üzenetére


RexpecT
addikt

Az lesz :R .

(#1658) Karma válasza RexpecT (#1657) üzenetére


Karma
félisten

A Notepad++ elég jó erre, a "Convert to UTF-8 without BOM" parancs csodákra képes. Én egyébként úgy szoktam legacy projekteknél csinálni, hogy parancssorban írok egy for ciklust, és az iconv nevű toollal alakíttatom át a fájlokat.

“All nothings are not equal.”

(#1659) thon73


thon73
tag

Csak egy apró kérdés: gondoltam kimérem az sd kártya műveletek idejét.
A programciklus végtelenül egyszerű: egymásba ágyazott BufferedReader/InputStreamReader/FileInputStream olvas hátrafelé (getChannel/position() beállításával) egy kb 7 megás file-t, mindig ugyanazt. Kiírás (képre, logra) nincs, csak mérés SystemClock.elpsedRealTime()-mal. A program UI szálon van, végig előtérben.

De miért van az, hogy ugyanaz a program, ugyanazt csinálja, ugyanazon a file-on - és mégis valami irgalmatlanul szór? Ennek nem kellene egy közel konstans értéknek lennie? :F
(Pontosabban: az irgalmatlanul az közel 1000 ms)

[ Szerkesztve ]

(#1660) thon73 válasza thon73 (#1659) üzenetére


thon73
tag

Elkészültem az első mérésekkel. A szórás ugyan nem változott, de a pufferelt és nem pufferelt beolvasás között több nagyságrendi különbség van. Még file-ban való ugrálás és rövid stringek esetén is, és még utf-8 átalakítással együtt is nyer a pufferelt változat. :C
Én legalábbis nem gondoltam volna, hogy ekkora különbség van...

(#1661) eastsider


eastsider
nagyúr

Sziasztok
ez az explicit intent nem akar összejönni (az implicit elsőre ment)
mi lehet a gond?

A
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK)
if(requestCode==GET_TEXT_REQUEST_CODE)
mUserTextView.setText(data.getStringExtra(Intent.EXTRA_TEXT));

B
Intent inText = new Intent();
inText.putExtra(Intent.EXTRA_TEXT,savedData);
this.setResult(RESULT_OK, inText);
finish();

az intentben benne van a string, de a másik activity onActivityResult metódusa már nem hívódik meg. a finish() nem jó? de jónak kellene lennie :F
már vagy 1.5 órája szenvedek rajta (persze közbe rengeteg mindenre rájöttem, de ez nem jó)
előre is köszönöm.
az is jó, sőt a legjobb az lenne, ha anyagot küldtök, amiből rájövök

[ Szerkesztve ]

(#1662) WonderCSabo válasza eastsider (#1661) üzenetére


WonderCSabo
félisten

startActivityForResult-al indítottad el a B Activity-t? A requestCode jó volt? A setResult-os kód lefutásra került? Ezeket ellenőrizd.

Anyag, anyag.

[ Szerkesztve ]

(#1663) eastsider válasza WonderCSabo (#1662) üzenetére


eastsider
nagyúr

simán startactivityval :W
ú köszi!! megy (tök nem ott kerestem a hibát). fú degáz :W

azt hiszem ideje aludni
köszönöm mégegyszer

[ Szerkesztve ]

(#1664) WonderCSabo válasza eastsider (#1663) üzenetére


WonderCSabo
félisten

Semmi gond ezekbe mind belefutottunk amikor kezdtük (én legalábbis igen). :)

(#1665) thon73 válasza Karma (#1573) üzenetére


thon73
tag

Visszatérek egy korábbi beszélgetéshez, mert ígértem, hogy számot adok az eredményeimről (ezt egy rövid részben már megtettem). Bocs, egy kicsit hosszabb lesz, aki nem érdeklődik, ugorjon nyugodtan! :P
Másrészt kicsit Java topicba kívánkozik, de mivel a mérések célja az Android felderítése volt, (no meg itt kezdtünk bele), inkább itt folytattam.

A probléma: indexelt utf-8 kódolású fileban ugrálni (seek) ide-oda, és rövid részeket beolvasni. Az első ötlet a Reader, a második ötlet a puffer használata volt. Mindkettő jó, de az alap osztályokkal nem megvalósítható.

fis = new FileInputStream( file ); // byte alapú beolvasás
isr = new InputStreamReader( fis, "UTF-8" ); // már karakteralapú, dekódolt és pufferelt (fix puffer)
br = new BufferedReader( isr ); // readLine is van, és még nagyobbra állítható puffer

fis.getChannel().position(pos) segítségével seek megvalósítható. DE! Amíg van a pufferban elem, azt használja. A puffer nem törölhető, az available() sem implementált, amivel skippelni lehetne. Egy megoldást láttam: minden seek után újranyitni a file-t. További hátrány: a puffert teljes egészében dekódolja, ha kell, ha nem.

Megoldás: puffereléssel és utf8 dekódolással bővített Reader osztály (én valójában a RandomAccessFile-t használok a háttérben, de FileInputStream ugyanúgy jó. A "kimenet" azonban Reader lesz.) Ez már másnak is eszébe jutott ITT, én ezt az ötletet fejleszettem tovább.

A tesztben hátulról előre 100 byte-onként végzek lineRead()-et egy 3,8 megás, rövid sorokat tartalmazó szöveges file-ban. Az eredmények megdöbbentőek (sajnos eléggé szórnak) A nem-pufferelt (egyébként azonos osztály) 20000 ms körül teljesített. Ugyanez puffereléssel: 600-900 ms

Kimértem a különböző pufferméreteket is (ez a szórás miatt nehezebben meghatározható). DE! Az jól látszik, hogy 500 byte puffer alatt rosszabb a teljesítmény (800-1000 ms); 500-2000 byte között a legjobb (700-750 ms), 2000 felett pedig konstansan romlik (800-900 ms).

Ez utóbbi eredmények között lényegi különbség (szerintem) nincs, vagyis nincs értelme sokat változtatni a 8192 standard pufferméreten. (((A régi szép időkben ismert szektornyi "raw" readhez amúgy sem enged oda a rendszer)))
A pufferelt/nem pufferelt közötti különbséget sokkal kisebbnek gondoltam. Érdekes, hogy ennek ellenére nincs pufferelésre (gyári) lehetőség RandomAccessFile esetén. 20x különbség nagyon sok.

Ha esetleg már valaki küzdött ezzel, és megosztaná a véleményét, nagyon örülnék. :R

(#1666) thon73 válasza RexpecT (#1655) üzenetére


thon73
tag

JAVADOC: Én is próbálkozom most JavaDoc-kal. A beállítás utf-8, mégse jelenik jól meg. De a hiba nem a mentésben van, az szabványos, hanem a html-ben nincs benne a kódolás. Ha a browsert explicite Utf-8-ra állítom, akkor működik. Talán ez segít...

(#1667) PandaMonium


PandaMonium
őstag

Azt tudom, hogy M.o. -ról (még mindig...) nem lehet fizetős app-okat feltenni a Play Store-ra, viszont azt esetleg el tudja nekem mondani valaki, hogy ingyenes appot lehet-e reklámmal vagy IAP -val feltenni "'itthonról"?
Fontos volna, mert ettől függ, hogy a következő pár évben Android vagy iOS lesz a fő platformom. :U

[ Szerkesztve ]

What I cannot create, I do not understand

(#1668) fatal` válasza PandaMonium (#1667) üzenetére


fatal`
titán

IAP nincs, ahhoz ugyanúgy merchant account kell, reklámot úgytudom tehetsz bele.

(#1669) PandaMonium válasza fatal` (#1668) üzenetére


PandaMonium
őstag

Köszöntem. :R

What I cannot create, I do not understand

(#1670) eastsider


eastsider
nagyúr

Sziasztok!
az mitől lehet, hogy a HAXM egy idő után kékhalált dob? amúgy atomstabil a gépem. 2x fordult elő..
megy szuper gyorsan, és egyszercsak BSOD...
esetleg más alternatíva? vagy mi lehet a gond? :F W8.1/64
ahúgy nézem w8.1 related a dolog :W

[ Szerkesztve ]

(#1671) RexpecT válasza thon73 (#1666) üzenetére


RexpecT
addikt

Köszi, azóta már sikerült megoldani szerencsére.

Hogy lenne érdemes megvalósítani a GPS pozíció folyamatos lekérését úgy hogy külön szálon fusson a lekérés?
Ahogy néztem Handler és a Looper osztályokkal kellene jobban megismerkednem.
Illetve van aki tud valami jó anyagot ajánlani az agilis szoftverfejlesztésről(Scrum)? :R

(#1672) Karma válasza RexpecT (#1671) üzenetére


Karma
félisten

Ehhez a feladathoz szerintem egyikre sincs szükséged. A Looperek kezelését hagyd meg a rendszernek, Handler meg inkább a UI szálon aszinkron hívásokhoz praktikus.

A helymeghatározásnál ha a PendingIntentes megoldást használod, mondjuk egy Service-ből*, akkor már jó leszel szerintem.

* A Service is a main szálon fut alaphelyzetben, de ez kisebb probléma, mint hogy a szálkezelést nem az általad említett ponton kéne elvágni.

[ Szerkesztve ]

“All nothings are not equal.”

(#1673) RexpecT válasza Karma (#1672) üzenetére


RexpecT
addikt

Tehát annak ellenére, hogy a Service is a main szálon fut, jobb lenne ez a megoldás? Jelenleg egy külön osztályban van a helymeghatározás, igazából jól is működik, de tudom, hogy ez így nem a legjobb megoldás.
A Servicetől akkor jobb megoldás lenne az IntentService ami már külön szálon fut, vagy tévedek(bár ahogy most rákerestem, stackoverflow-n is a sima Service-t ajánlják)?

(#1674) eastsider


eastsider
nagyúr

sziasztok!

Camera API-hoz van valamerre valami jó anyag a hivatalos mellett?:)

[ Szerkesztve ]

(#1675) XperiaP


XperiaP
csendes tag

Sziasztok!
Van egy programom, ami szövegfájlokat olvas be, de mikor ékezetes karakterekkel találkozik a fájlnévben, ilyesmikké változtatja őket: %4d.
Ezért magát a fájlt a hibás név miatt már nem találja.
Elvileg az Intent.getData().getEncoddedPath()-tól már ilyen formában kapja meg. Van itt valami megoldás?

-----Törölt felhasználó-----

(#1676) Karma válasza RexpecT (#1673) üzenetére


Karma
félisten

Az IntentService-szel annyi a baj, hogy terv szerint addig él, amíg a kliensek kérésein dolgozik, aztán leáll magától. Ha az kell, hogy az alkalmazás többi részétől függetlenül tekerjen, a Service-ből kellene kiindulnod.

Egyébként ha akkor is követni akarod a felhasználót, amikor nem a te activityjeid vannak elöl, akkor semmi baj nincs a main szálon futtatással. Ha igen, és a pozíciófrissítés utáni számolgatás, DB, stb. miatt lagot okoznál, akkor is átrakhatod csak ezt a feldolgozást háttérszálra egy AsyncTaskkal.

“All nothings are not equal.”

(#1677) Karma válasza XperiaP (#1675) üzenetére


Karma
félisten

Használd az URLDecoder osztályt az URL visszaalakításához.

“All nothings are not equal.”

(#1678) RexpecT válasza Karma (#1676) üzenetére


RexpecT
addikt

Köszönöm szépen :R .

(#1679) rgeorge válasza RexpecT (#1678) üzenetére


rgeorge
addikt

Ismét felteszem kérdésemet: Androidból webservice hívással kapcsolatban mik a tapasztalatok? Vállalati környezetben kellene használni, illetve az eddigi vizsgálódásaimra építve inkább lebeszélni a megrendelőt ilyen megoldás erőltetéséről, mert a Windows/.NET világból nézve csak bonyolult és rugalmatlan megoldásokról olvastam eddig.

Picard: "What we leave behind is not as important as how we've lived. After all, Number One, we're only mortal." Riker: "Speak for yourself, sir. I plan to live forever."

(#1680) Sianis válasza rgeorge (#1679) üzenetére


Sianis
addikt

Én próbálkoztam vele egy időben, nem tett boldoggá. Én inkább a REST API-kat szeretem, ha megnézed, szinten minden nagy cég aki nyitott API-t csinál, ilyet csinál.

Sianis

(#1681) WonderCSabo válasza Sianis (#1680) üzenetére


WonderCSabo
félisten

Ráadásul REST kliensre több nagyszerű megoldás van Androidon.

(#1682) Sianis válasza WonderCSabo (#1681) üzenetére


Sianis
addikt

Igen, azok meg külön-külön megérdemelnének egy-egy cikket is akár a Logoutra. :)

Sianis

(#1683) Karma válasza rgeorge (#1679) üzenetére


Karma
félisten

Láttam már lábbalhajtós megoldást: a SOAP envelope egy string resource, amibe kód rakja bele a generált XML törzset, kifelé meg sima parsolás, minden metódushoz kézzel megírva... Na ez igen fájdalmas, rugalmatlan és értelmetlen is.

Látni láttam hogy van ksoap2-android, ami talán szofisztikáltabb, de sose használtam. Meg mondjuk nem segít, ha egy AXIS 1.4-es WS-hez kell kapcsolódni, amit semmilyen mai lib nem támogat...

Ha a megrendelő rugalmas, mindenképp menj a rendes REST API irányába!

“All nothings are not equal.”

(#1684) rgeorge válasza Karma (#1683) üzenetére


rgeorge
addikt

Köszönöm Neked is, és mindenkinek, aki válaszolt. Az ügyfél, legalábbis a jelenlegi SAP BO-t használ, ott készen vannak (=olcsón elkészíti a tanácsadó cég) webservice-k, azokat kellene használnunk. A REST API-t megnézem, később jól jöhet még.

Picard: "What we leave behind is not as important as how we've lived. After all, Number One, we're only mortal." Riker: "Speak for yourself, sir. I plan to live forever."

(#1685) XperiaP válasza Karma (#1677) üzenetére


XperiaP
csendes tag

Nagyon köszönöm! :R

-----Törölt felhasználó-----

(#1686) lac14548


lac14548
aktív tag

Hello,

Egy adatbázist kezelő app kellene nekem (hasonló mint egy szótár), de programozni nem tudok.
Segítene valaki ebben?

Ha kell mondom a részleteket.

thx

/Motorola V2288/Siemens C35/Siemens MT50/Nokia 6600/HTC Touch Cruise/ZTE Blade/Samsung Galaxy S+/Xiaomi Redmi 1S/Xiaomi Redmi 2 Pro/Xiaomi Redmi Note 6 Pro/Realme 8 ...

(#1687) Karma válasza lac14548 (#1686) üzenetére


Karma
félisten

Ha nincs gyakorlatod egyáltalán ilyesmiben, akkor gyanúsan nem segítség kell, hanem valaki aki megcsinálja. :U Ingyen nem valószínű, hogy sokan leállnának ilyesmin rugózni; de azért szórhatnál némi részletet róla. Még az is lehet, hogy valakinek jó gyakorlás.

“All nothings are not equal.”

(#1688) XperiaP


XperiaP
csendes tag

Sziasztok!
Még egy kérdésem volna. Hogy tudom megoldani, hogy a fájlból
kiolvasott sztringet UTF-8 kódolásban jelenítse meg?

-----Törölt felhasználó-----

(#1689) Karma válasza XperiaP (#1688) üzenetére


Karma
félisten

Ennek így nem sok értelme van. :F A Java mindig kiegészített UCS-2-vel dolgozik, így ha valamit megjelenítesz, az is Unicode lesz praktikusan. Az adott Unicode szöveg UTF-8 kódolt alakja annyira nem izgalmas/hasznos.

Nem UTF-8 szöveget akarsz inkább dekódolni és megjeleníteni?
Mert erre több lehetőséged is van: ha byte tömbbe olvastad a fájlt, akkor a new String(byte[], Charset) konstruktort használhatod. Ha meg Streamed van (jobban megéri, mint a teljes anyagot betölteni és alakítani, pazarolva a memóriát és a GC időt), akkor egy InputStreamReader kell, aminek szintén van Charsetes konstruktora.

[ Szerkesztve ]

“All nothings are not equal.”

(#1690) XperiaP válasza Karma (#1689) üzenetére


XperiaP
csendes tag

Arra gondolok, hogy én egy fájlból csak kérdőjeleket látok, a TC-Editorja pedig rendes karaktereket.
Egyébként köszönöm, megpróbálom amit írtál.

-----Törölt felhasználó-----

(#1691) thon73 válasza lac14548 (#1686) üzenetére


thon73
tag

Speciel nekem van egy szótár (egyfajta saját adatbázis alapján) és egy sqlite adatbázist használó keretprogramom is.
Egy ilyet összerakni tényleg nem rövid idő és nem is kevés munka. De a fentiek nagyjából készek. A szótár amúgy is érdekel, ha az átalakítás nem olyan vészes, akkor abban tudok segíteni. Kis java/android tudás azért a megértéséhez sem hátrány.

(#1692) lac14548


lac14548
aktív tag

Jól látjátok, én valóban nem értek a programozáshoz.
De aki tud ilyet annak szerintem nem gond egy ilyen egyszerü program összerakása.
Másrészt, ha jól sikerül, akkor mehet akár a Marketra is, mert biztosan mást is érdekelne.

A lényeg:

Egy E szám kereső appot szeretnék.
http://hu.wikipedia.org/wiki/E-sz%C3%A1mok

Rengeteg van, de egy se magyar.

Tulajdonképpen 3 adat egy rekord.

Szám, megnevezés, leírás

- a szám egy 3-4 jegyű szám esetleg betű is a végén néha

- a megnevezés az az (itt lehet több is felsorolásszerűen, mert néha több név is van ugyanarra)

- leírás ez hosszabb szöveges rész.

A program maga annyiból kell, hogy álljon, hogy feldob egy keresőt amiben a fentiek közül a számra és a megnevezésre lehet keresni.
A találat megjeleníti az adott e számhoz tartozó összes adatot (név, szám, leírás).

Tulajdonképpen ennyit kell tudnia.
Ja, mindezt offline-ban és utólag módosíthatóan, bővíthetően.

/Motorola V2288/Siemens C35/Siemens MT50/Nokia 6600/HTC Touch Cruise/ZTE Blade/Samsung Galaxy S+/Xiaomi Redmi 1S/Xiaomi Redmi 2 Pro/Xiaomi Redmi Note 6 Pro/Realme 8 ...

(#1693) TheProb


TheProb
veterán

Sziasztok!

Mit tanácsoltok, java alapok nélkül mennyire célszerű elkezdeni android fejlesztéssel kapcsolatos könyveket olvasni/tanulni?

"Boba is Mickey, Mickey is Boba" - Finkle Einhorn | PC Rig: https://pcpartpicker.com/b/bBy48d

(#1694) thon73 válasza lac14548 (#1692) üzenetére


thon73
tag

Akkor jó, ezt alapból tudja. A megnevezéseket kell átírni, meg bevinni egyszer az adatokat.
((Amúgy egyáltalán nem (volt) egyszerű feladat. Pontosabban egyszerű, de nem rövid feladat. Android alatt van egy príma sqlite adatbáziskezelő, de nincs összekötve a felszínnel (mármint a képernyővel), tehát meg kell írni a listázós/űrlapos részeket is.))

Küldd el, kérlek, pontosan milyen mezők kellenek! A megnevezéseket uis. a kódban tudom megváltoztatni. És milyen "végtermék" kellene? Forrás-project eclipse alá? Vagy csak a kész progi?

Egyébként van kész, és szabadon beállítható adatbáziskezelő a marketen: pl. Memento Database. Ez a feladat azzal is tökéletesen elvégezhető.

A saját programnak mások az előnyei: speciális részek is beépíthetőek (pl. ékezetes keresés, összekötés naptárral) stb. A kívánt feladatot egyébként ebben is könnyen meg tudom csinálni.

(#1695) thon73 válasza TheProb (#1693) üzenetére


thon73
tag

Mi akadálya van előtte elolvasni egy java könyvet is?
A saját tapasztalatom az volt, hogy C alapok mellett elég volt két rövid jegyzetet elolvasni, és utána a Java-val együtt az Androidot elkezdeni. Nem akarok keveset mondani, de a Java-val nem volt semmi komoly gondom 2-3 hónap után. Az Android 2 év után is produkál számomra átláthatatlan kérdéseket. Bár bizonyára én sem vagyok kellő módon képzett... :N

(#1696) TheProb válasza thon73 (#1695) üzenetére


TheProb
veterán

Jelenleg C-t tanulok még az egyetemen és azután lehet felvenni a java-t, ezért voltam rá kíváncsi.

"Boba is Mickey, Mickey is Boba" - Finkle Einhorn | PC Rig: https://pcpartpicker.com/b/bBy48d

(#1697) eastsider válasza TheProb (#1696) üzenetére


eastsider
nagyúr

kezdd el! annyival könnyebb lesz (kezdetekben) a java!

(#1698) Antibazsi


Antibazsi
aktív tag

Sziasztok!
Tudja valaki, hogy Genymotion 2.1.1-ben hogyan tudok bármilyen appot felvarázsolni akármelyik készülékre Play nélkül? Próbáltam rádobni apk-t de úgy nem megy és egyetlen leírást sem találtam a műveletről.
Ugyan nem kifejezetten programozással kapcsolatos a kérdésem, de remélem így is kapok választ.

Üdv, Balázs

(#1699) Sianis válasza Antibazsi (#1698) üzenetére


Sianis
addikt

Ugyanúgy adb kell neki.

Sianis

(#1700) fatal` válasza Antibazsi (#1698) üzenetére


fatal`
titán

A rádobás is megy, de adb-n keresztül sincs probléma vele.

Az eclipsehez és az intellij-hez van plugin is.

Copyright © 2000-2024 PROHARDVER Informatikai Kft.