Hirdetés

2024. április 27., szombat

Gyorskeresés

Hozzászólások

(#1351) thon73 válasza dmc (#1350) üzenetére


thon73
tag

Jól elvitatkoztunk ugyanarról :))
(((Nyelvtani ugyan a megjegyzés: nem az sdk-t, hanem a benne lévő egy-egy megoldást tituláltam félkésznek stb. És kivétel nélkül sikerült is megkerülni valahogy mindet. Én csak csodálkozom, hogy egy ilyen egyszerű dolgot, mint pl a 64 bites rendszert - ami egyébként kész, és nyilván nem kevés munkaidő van benne - egy utolsó kis buktató miatt hónapok/évek óta nem oldanak meg. Bizonyára volt más dolguk is, és végeredményben egész helyre kis programokat lehet alkotni rajta...)))

dmc! Nem sikerült a 32 bites Java/ 32 bites Android SDk / 64 bites Win7 kombináció sem? :F Csak úgy érdekelne... Ha hozzájutok a géphez, kipróbálom én is az up-to-date rendszerekkel.
Az Ubuntu+KDE egyébként nagyon jó, csak ajánlani tudom!

(#1352) thon73 válasza thon73 (#1351) üzenetére


thon73
tag

No, megvan. Jó hírek minden Win7 használónak, rossz hírek dmc-nek...

A gép Toshiba Portege R830 (ez gondolom, nem lényeges).
Rendszer: Windows 7 Professional Service Pack 1
Összes korábbi JAVA törölve a programok vezérlőpulton, a gépen nincs JAVA könyvtár, nincs JAVA a PATH-ban sem.
Indításkor a megszokott, "nem találom a JAVA-t" üzenet fogad.

Oracle honlapról: jdk-7u45-windows-x64.exe letöltve, telepítve a felajánlott c:\program files\java könyvtárba, gép újraindítva. Path NEM tartalmaz Java elemeket!

Android Developres honlapról a felajánlott file letöltése: adt-bundle-windows-x86_64-20131030.zip, egyszerűen TC-vel kicsomagolva. Az alkönyvtárból indítom az Eclipse-t, az indítja az SDK Manager-t (szintén műxik)

És minden működik, a próba project fut a virtuális gépen.

:R Bocsánat Google, az előző kiadás óta javították a 64 bitet...

((Megjegyzés: Az előző verziót is fent hagytam (API 17). A korábbi (6/33) Java 32 bites részének eltávolításakor összeomlott, az SDK Manager már nem ment (fekete ablak), az új Java verzióval pedig egyáltalán nem ment. :F ))

Esetleg még a USER menüben lévő .android könyvtár törlése segíthet a hibás beállítások törlésében.

(#1353) dmc válasza thon73 (#1352) üzenetére


dmc
aktív tag

Köszönöm szépen!!!!
Végül is mint írtam Virtualboxal megoldottam és tökéletesen működik.
Nekiállhatok tanulni :D

(#1354) SektorFlop


SektorFlop
aktív tag

Ha váltogatok két Fragment között, melyik életciklussal tudom újralétrehozni a view-t? Van egy listám, azt egyik fragmenten bővítem, a másikon pedig ListView-ban meg akarom jeleníteni a dolgokat. Csak amikor fragment-et váltok sehogy se tudom frissíteni a listát :(

"Amikor már azt hittem kint vagyok, ezek mindig visszarántottak..."

(#1355) lordjancso válasza SektorFlop (#1354) üzenetére


lordjancso
senior tag

Amikor beállítod a ListView adapterének az új elemeket, utána hívj meg egy frissítést az adapteren:
adapter.notifyDataSetChanged();

Rip and cut and mutilate the innocent, his friends, and again and again and on and on.

(#1356) SektorFlop válasza lordjancso (#1355) üzenetére


SektorFlop
aktív tag

köszi :)

"Amikor már azt hittem kint vagyok, ezek mindig visszarántottak..."

(#1357) thon73 válasza SektorFlop (#1354) üzenetére


thon73
tag

Én ugyanezt egy Loader-rel oldottam meg. A konkrét esetben egy CursorLoader-rel, ami nagyon szépen működik automatikusan. Van benne egy filterként működő EditText, ott restartLoader-rel ki tudom kényszeríteni, hogy újra elkészítse a listát.

Korábban ListActivity-ben volt szükségem hasonló megoldásra. ((A kikeresett elemet átszínezte.)) Ott a list.invalidateViews() segített. Ez egy kicsit más oldalról működik, de végső soron ez is újra lekérdezi a megjelenítendő adatokat az adapter-től.

Ha szükséges, este kódokat is tudok küldeni.
Addig ezt érdemes elolvasni: Is there any difference between `ListView.invalidateViews()` and 'Adapter.notifyDataSetChanged()'?

(#1358) TheProb


TheProb
veterán

Sziasztok!

Gondolom már páran hallottatok a mobiltárca tesztről, amikor ugye telefont használunk fizetésre (NFC-vel), na most, ez a drága szervezet és a szolgáltatók nem vettek bele a tesztbe egy HTC telefont sem és eléggé pipa vagyok, hogy a csúcskategóriás HTC One-omat nem tudom erre használni... Szerintetek meglehet úgy pimpelni az .apk-t, hogy beengedje a telefonomat? A gond ott van, hogy feltelepül az app és regelni kéne a telefont. Megkell adni a tfon számot és 1 jelszót az alkalmazáshoz, majd küld SMS-ben egy kódot amit be is ír magának. Na itt van a gond, hogy itt írja ki a hibákat. Vagy netán rootolni kéne a telefont és átírni a systemben a build.prop-ban valamit? (sajnos nem ugrok be a neve, itt vannak a készülék releváns adatai)

Szerintetek kivitelezhető lenne valahogy?

[ Szerkesztve ]

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

(#1359) Sianis válasza TheProb (#1358) üzenetére


Sianis
addikt

Nem az van, hogy ehhez a szolgáltatók kitáltak még valami speckó SIM kártyát is és neked meg ilyen nincs?

Sianis

(#1360) TheProb válasza Sianis (#1359) üzenetére


TheProb
veterán

Megvan már a simkártya, amit írtam az az egyetlen korlát :/

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

(#1361) Sianis válasza TheProb (#1360) üzenetére


Sianis
addikt

Azt mondod, hogy akkor azért nem megy, mert ők azt hiszik, neked NFC-d? Mellesleg küldjed nekik szépen a leveleket, hogy srácok ilyenkor mi van?

Sianis

(#1362) TheProb válasza Sianis (#1361) üzenetére


TheProb
veterán

Mint írtam egyik szolgáltató se vette bele a tesztbe egyik HTC telefont se, ezért gondoltam h meglehetne pimpelni az appot hogy beengedjen

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

(#1363) SektorFlop válasza thon73 (#1357) üzenetére


SektorFlop
aktív tag

Csak küszködök, így belemegyek részletesen.

Van egy Fragment1, és Fragment2, PagerTabStrip formájában jelenik meg egy Activityn. Plusz egy sqlite db-m, és egy ArrayList-em amibe beletunkolom az adatbázisról a dolgokat objektum formájában.

Fragment2: ListView szépen létrejön minden a helyén. ✓
Átlapozok Fragment1-re, kitöltöm amit kell és gombnyomásra bővítem az adatbázis tartalmát. ✓
Az ArrayList kiegészül az újonnan felvitt adatokkal. ✓

Innentől káosz minden:
Visszalapozok Fragment2-re ügyebár nem látszik a listán az új sor, és sehogy se sikerül összehoznom hogy frissüljön ListView.

"Amikor már azt hittem kint vagyok, ezek mindig visszarántottak..."

(#1364) rgeorge


rgeorge
addikt

Van arra elegáns módszer, hogy egy eszköz valódi SD kártyájának elérési útvonalát meghatározzam? Az eszköznek van külső tárolója beépítve is, tehát az Android external storage erre mutat, nem a valódi SD kártyára. Fényképezni kell és a valós SD-re szeretném a képeket menteni. Az a megoldás nem tetszik, hogy a valós SD-t beállítom a kamerában és az utoljára mentett képet keresem meg.

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."

(#1365) thon73 válasza SektorFlop (#1363) üzenetére


thon73
tag

A segítségnyújtáshoz esetleg egy kis kódot tudsz küldeni?

((Az ArrayList miatt nem a tökéletes megoldás számodra, de a CursorLoader-ről találtakat itt foglaltam össze: [link] Főleg a beillesztett külső cikkek miatt írtam ide.))

Még annyi jutott eszembe, hogy az Adapter által látott ArrayList-et leellenőrizted? Biztosan belekerült az adat?
Üdv!

(#1366) thon73 válasza rgeorge (#1364) üzenetére


thon73
tag

Ezt olvastad? [link]

(#1367) rgeorge válasza thon73 (#1366) üzenetére


rgeorge
addikt

Igen. Ez minden, csak nem elegáns.

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."

(#1368) Karma válasza rgeorge (#1367) üzenetére


Karma
félisten

Ezt most úgy mondod, mintha a feladat amit teljesíteni akarsz bármilyen szempontból elegáns lenne. :U Konkrét célmodell van, vagy mindenféle dzsunka telefonon is ki kéne találnod az SD elérést?

“All nothings are not equal.”

(#1369) rgeorge válasza Karma (#1368) üzenetére


rgeorge
addikt

Van konkrét célmodell is (Samsung GT-7710, azaz XCover 2), de szeretném az általános megoldást is megkeresni. Szerintem nem olyan bonyolult dolog ez, hogy ilyen nyakatekert módon kelljen megoldani.

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."

(#1370) Karma válasza rgeorge (#1369) üzenetére


Karma
félisten

Nem lenne bonyolult, de nem rendeltetésszerű használat. Az alkalmazásoknak odáig szabadna foglalkozni az üggyel, hogy internal vagy external storage – az API is ezt tükrözi. Ha szembemész a rendszerrel, az mindig ilyen taknyolást hoz.

Amúgy mit csinálnál olyan telefonon, ami nem bővíthető SD-vel?

“All nothings are not equal.”

(#1371) thon73 válasza rgeorge (#1367) üzenetére


thon73
tag

Az előző linket pont azért tettem be, mert azt boncolgatja, hogy nem triviális a megoldása.

Én ezzel a problémával egy szótár-adatbázis kapcsán találkoztam. Hová tegyem? Végül abban maradtam magammal, hogy ez az external cardon kívül a felhasználó dolga - aki a konkrét esetben én magam vagyok. Annyi segítséget tettem bele, hogy az utoljára kiválasztott könyvtárat megjegyzi. Én meg annyit jegyeznék meg, hogy az új tabletemben nincs sd-kártya, viszont beépített 16 Gb, ami több mint elég. Így az elgondolás "bejött".

Még egy ötletem van: ha betölteni akarsz nagy v. sok file-t, akkor a file-ok alapján lehetne esetleg megkeresni a könyvtárat. Mentésnél ez persze nem segít...

Még egy: Elixir2 - elég ügyes program, de nem tud különbséget tenni "külső" és "belső" sd között

[ Szerkesztve ]

(#1372) SektorFlop válasza thon73 (#1365) üzenetére


SektorFlop
aktív tag

Holnap megosztom a kódot, az ArrayList-et ellenőriztem kiegészűl az új sorral.

"Amikor már azt hittem kint vagyok, ezek mindig visszarántottak..."

(#1373) rgeorge válasza Karma (#1370) üzenetére


rgeorge
addikt

Abszolút rendeltetésszerű lenne, hogy olyan telefonon, ahol kétféle external storage van, mindkettőt elérhessem, és ugyanolyan könnyedén. Az Android csak az external storage fogalmat ismeri és publikálja, az meg általában a belső. Nyilván konkrét eszközön van más módszer is, engem az általános érdekel.

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."

(#1374) Karma válasza rgeorge (#1373) üzenetére


Karma
félisten

Csak az a baj, hogy ezt nem Te döntöd el, hanem a Google tette – a Te károdra.

“All nothings are not equal.”

(#1375) thon73 válasza rgeorge (#1373) üzenetére


thon73
tag

Hm. Lehet, hogy találtam valamit. Bár elegánsnak - hát kérdéses... :F

Az Android valójában egy linux. A Linux nem drive-ként látja az egyes részeket (vs. windows), hanem egyetlen nagy fában, amibe be-mountolja az egyes file-részeket. Ebben az értelemben egyébként az sd-kártya alap-könyvtárát sem kellene közölnie, hiszen az is "csak" egy könyvtár.

Ugyanakkor linux alatt is van mód az egyes összetevők lekérdezésére, legegyszerűbben talán a mount paranccsal. Ebből ugyanis kiderül, hogy melyik "drive" hova került becsatolásra. A mount elérhető android alatt is (én root-olt készüléken használtam, de csak olvasásra talán nem-rootolt masinán is működik.)

A kimenetet nem egyszerű megszerezni, de itt van a módja: [link]

Sok nyitott kérdés marad: pl. hogyan szeded szét a mount elemeket; ill. én nem is foglalkoztam behatóan a parancssorok elérésével, ezért kódot sem tudok adni. De ha ez tényleg ilyen fontos, akkor talán ezen az úton el lehet indulni. ((Én, a magam tapasztalatából megelégednék az external könyvtárral, és nem foglalkoznék azzal, hogy eltávolítható-e, vagy sem.))

(#1376) rgeorge válasza thon73 (#1375) üzenetére


rgeorge
addikt

Én inkább átalakítottam a feladatot, mert eredetileg azért kerestem az SD kártyát, mert az adott céleszközben az a legnagyobb kapacitású tároló, és arra kell menteni. A legnagyobb kapacitású tárolót viszont már könnyebb megtalálni ("/storage" alatti elemek közül kiválasztani a legnagyobb kapacitásút, amire az alkalmazás képes írni)).

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."

(#1377) RexpecT


RexpecT
addikt

Ha nincs rootolva a készülék, akkor ugye az alkalmazáshoz tartozó sharedpreferencest csak az adott alkalmazás tudja olvasni? :R

(#1378) thon73 válasza rgeorge (#1376) üzenetére


thon73
tag

Jó ötlet, de bátorkodlak figyelmeztetni, hogy nem általánosan használható.
SGSII Android 2.3.6 alatt nekem NINCS /storage folderem! (lehet, h. az újabb verziókban már van) 4.1.2 Note-on, ott van.

(#1379) fatal` válasza RexpecT (#1377) üzenetére


fatal`
titán

Amennyiben Context.MODE_PRIVATE-tel hozod létre, igen.

(#1380) rgeorge válasza thon73 (#1378) üzenetére


rgeorge
addikt

Szerencsére min. 4.1 a követelmény, annál lejjebb nem kell menni.

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."

(#1381) rgeorge válasza thon73 (#1378) üzenetére


rgeorge
addikt

A megoldás működik /mnt alól keresve is, ez pedig, gondolom, univerzális.

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."

(#1382) RexpecT válasza fatal` (#1379) üzenetére


RexpecT
addikt

:R

(#1383) WonderCSabo válasza fatal` (#1379) üzenetére


WonderCSabo
félisten

API 17 óta a MODE_WORLD_READABLE és a MODE_WORLD_WRITEABLE már deprecated, nagyon helyesen.

[ Szerkesztve ]

(#1384) fatal` válasza WonderCSabo (#1383) üzenetére


fatal`
titán

Jogos, nem is figyeltem, sosem használtam ezeket.

(#1385) -PLevi-


-PLevi-
senior tag

Sziasztok!

Lenne egy kérdésem, remélem kapcsolódik a topik témájához.
Arról lenne szó, hogy megoldható-e, hogy egy 4.0+ igényű app, elinduljon 2.3.7-es rendszeren? Régebben valahol olvastam olyat, hogy igen (Nova launcherről volt szó, azt írták, hogy működik, kivéve az alkalmazásfiókban a widget fül), de nem tudom, hogy ez mennyire volt megbízható információ.

(#1386) Karma válasza -PLevi- (#1385) üzenetére


Karma
félisten

Ez inkább az Android alkalmazások topikhoz tartozik, de azért megválaszolom a kérdést ahogy sejtem a helyzetet. Ha megvan az APK, akkor annak visszafejtésével (pl. Virtuous Ten Studio segítségével) és a manifest átírásával elvileg a telepítési korlátot át tudod hágni. Aztán futtatáskor, amint az első magasabb szintű API-t, témát, akármit megpróbál használni, game over.

“All nothings are not equal.”

(#1387) fatal` válasza -PLevi- (#1385) üzenetére


fatal`
titán

A Nova a 4.0-s alap launcherre épül, szóval igen erősen csodálkoznék, ha működne.

(#1386) Karma: A Manifest átírása után nem kell újraforgatni a csomagot?

[ Szerkesztve ]

(#1388) Karma válasza fatal` (#1387) üzenetére


Karma
félisten

Dehogynem, de ez nem nagyobb wasistdas, mint a kibontás és visszafejtés a bináris alakról. Konkrétan a VTS-ben egy gombnyomás az egyik, még egy gombnyomás a másik lépés.

“All nothings are not equal.”

(#1389) fatal` válasza Karma (#1388) üzenetére


fatal`
titán

Én az osztályok újrafordítására gondoltam, mert nem fog lefordulni, ha nem találja a 4.0-s függvényeket.

(#1390) Karma válasza fatal` (#1389) üzenetére


Karma
félisten

Miért ne fordulna? Szerinted amikor minSDK 8, targetSDK 19-cel fordítasz valamit, az melyik SDK-val készül? És egyébként Java fordításra nincs szükség egyáltalán.

[ Szerkesztve ]

“All nothings are not equal.”

(#1391) kisguly


kisguly
tag

Sziasztok!
Lenne egy olyan kérdésem, hogy a készülék bekapcsolásakor megjelenő első képet, ami általában a készülék gyártmánya, miként lehet kicserélni? Mekkora szakértelmet kíván, milyen típusú és méretű kép kell hozzá? Esetleg mi a menete.

(#1392) fatal` válasza Karma (#1390) üzenetére


fatal`
titán

Jogos, azt hittem a targetet is átíratod vele :)

(#1391) kisguly: Vagy a kernelben van, vagy egyáltalán nem cserélhető. Nem érdemes vesződni vele.

[ Szerkesztve ]

(#1393) kisguly válasza fatal` (#1392) üzenetére


kisguly
tag

Cserélhető, Ugyanis ez egy Navon Platinum Exploler 3g, és A cégnek a logojával indul akitől kaptam.

(#1394) -PLevi- válasza Karma (#1386) üzenetére


-PLevi-
senior tag

Köszönöm!
Szóval ha jól értem, a megfelelő módosítás után lehetne telepíteni, de amint olyan funkciót szeretnék használni, amihez 4.0-s API kell, jönne a Force Close?

(#1387) hunfatal
Értem. Túl sok reményt én sem fűzök hozzá, csak nem hagyott nyugodni a gondolat. :)

(#1391) kisguly
Link
Blade esetében külön, fájlrendszer nélküli partíció van fenntartva a számára a ROM-on.

[ Szerkesztve ]

(#1395) kisguly válasza -PLevi- (#1394) üzenetére


kisguly
tag

Huh! Köszönöm.
Nekem azt hiszem ez egy kicsit kínai. Amúgy annyira nem lehetett bonyolult. Vagy 6-700 gépen cserélték ki a képeket.
Én naivan arra gondoltam, hogy csak egyszerűen kicserélem a képet. De azt hiszem ez felejtős nekem.

(#1396) thon73


thon73
tag

Készített már valaki SQLite JOIN paranccsal összekapcsolt táblákból CursorLoader-t és List-et? Egész messzire jutottam (végül is van lista), de nem teljesen tiszta, hogy mikor kell teljes (table.column) és rövid (column) formában megadott adatbázis-oszlop neveket használnom.

Konkrétan az adapter hibát dob, ha teljes (table.column) nevet adok meg: requesting column name with table name -- ... java.lang.Exception. (A cursorLoader meg akkor, ha rövidet...)
DE!
A program vígan továbbfut, mintha mi sem történt volna.
ÉS:
Ha nem használhatok teljes nevet, akkor hogyan tudok lekérdezni a két külön táblában lévő azonos nevű elemet (pl. _id) ?

Ha valaki tapasztalt tudna ilyen irányban segíteni, szívesen küldök kódot is.

(#1397) thon73 válasza thon73 (#1396) üzenetére


thon73
tag

Néhány próbálkozás után tapasztalati úton megválaszoltam magamnak: JOIN táblák esetén:
- A lejérdezés (qurey) minden formája (tehát értelemszerűen ContentProvider, Loader stb-be épített is) EGYEDI oszlopnevet kíván (tehát helyes a TELJES nevet megadni "table.column" formában). Logikus, hiszen különben nem tudja különválasztani az azonos nevűeket.
- Most jön a csavar: A Cursor NEM fogadja el a TELJES nevet, hanem az oszlopot CSAK a rövid, táblán belüli oszlopnévvel azonosítja. Ez nem akadályozza meg, hogy pl. két "_id" oszlop legyen. Ilyenkor persze név alapján nem lehet lekérdezni.

((Hát egy újabb órát vakargattam a fejem, mire rájöttem, hogyan tudom kiszedni a két _id-t :o ))

(#1398) rgeorge válasza thon73 (#1397) üzenetére


rgeorge
addikt

SQLite-ban nem vagyok teljesen otthon, de alias neveket nem lehet használni? Pl. "t._id as tid".

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."

(#1399) thon73 válasza rgeorge (#1398) üzenetére


thon73
tag

Jó ötlet! kipróbálom!
A query oldalán biztos, hogy működik. A kérdés az, hogy a Cursor átveszi-e ezt, vagy az oszlop "gyári" nevét használja. Majd meglátjuk...

(#1400) fatal` válasza thon73 (#1397) üzenetére


fatal`
titán

Ilyen rengeteg helyen előfordul, pl. a .netes datagridviewban is, ott pl. eleve elszáll, ha egyforma nevű oszlopokat használsz.

Használj aliast nekik :)

Copyright © 2000-2024 PROHARDVER Informatikai Kft.