- antikomcsi: Való Világ: A piszkos 12 - VV12 - Való Világ 12
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- gban: Ingyen kellene, de tegnapra
- Szevam: Érzelmi magabiztosság/biztonság - miért megyünk sokan külföldre valójában?
Új hozzászólás Aktív témák
-
Frigo
őstag
válasz SektorFlop #23 üzenetére
-
socketbind
csendes tag
válasz SektorFlop #35 üzenetére
Csak hobbiprojektre de használtam már egyszer.
Tulajdonképpen arra ad lehetőséget hogy HTML5+CSS+Javascript alapú alkalmazásokat lehessen fejleszteni. Ez a gyakorlatban úgy valósul meg, hogy az alkalmazásod a felhasználó számára egy "teljes képernyős keret nélküli böngészőben" (WebView van mögötte) jelenik meg, a PhoneGap keretrendszer pedig olyan Javascriptből elérhető objektumokat regisztrál a WebViewen keresztül (addJavascriptInterface() hívás) amivel te elérheted például a kamerát, a kontaktusokat, a fájlrendszert.
Szerintem kifejezetten könnyű vele fejleszteni, a jQuery Mobileal együtt használva már nagyon szép alkalmazásokat lehet készíteni. Viszont ami egy picit lehangoló volt az én esetemben az a teljesítmény volt. Legalábbis nem volt annyira fürge a válaszidő mint a natív alkalmazásoknál.
Tippek:
- Ha főleg Honeycomb és azutáni Androidon futna az alkalmazásod és hosszas optimalizálás után is teljesítménygondjaid lennének akkor mindenképpen érdemes bekapcsolni a hardvergyorsítást. (android:hardwareAccelerated="true" a manifestben, nálam érezhetően javított a helyzeten)
- Ahogy említve volt a jQuery Mobile nagyon jól passzol hozzá.
- Kattintás érzeklésére ne a "click" eseményt használd hanem a "touchstart"-ot.
- Fenejó dolog a PhoneGap Build szolgáltatás ha több platformra is ki szeretnéd adni az alkalmazásodat.[ Szerkesztve ]
-
SektorFlop
aktív tag
válasz SektorFlop #40 üzenetére
közbe rájöttem a problémára, szólok mielőtt valaki írna.
"Amikor már azt hittem kint vagyok, ezek mindig visszarántottak..."
-
szoke12
őstag
válasz SektorFlop #43 üzenetére
Igen, linux (ubuntu) alatt.
"Élj úgy, hogy ha majd lepereg előtted életed filmje, érdemes legyen végignézni!"
-
vz12
tag
válasz SektorFlop #47 üzenetére
Köszi az ötletet, reményteljesnek látszik. Leghamarabb csak ma este tudok a dologgal foglalkozni, majd megírom a fejleményeket.
-
szoke12
őstag
válasz SektorFlop #45 üzenetére
Köszönöm, megtaláltam!
Végre kezd éledezni a topic."Élj úgy, hogy ha majd lepereg előtted életed filmje, érdemes legyen végignézni!"
-
fatal`
titán
válasz SektorFlop #59 üzenetére
Nem tudom, nem olvastam utána, mindenesetre nevetségesen fos az egész még az új gpu gyorsítással is.
-
szoke12
őstag
válasz SektorFlop #59 üzenetére
Nekem linux alatt olyan sebességű, mint egy telefon. bár a gépem nem egy erőbajnok.
"Élj úgy, hogy ha majd lepereg előtted életed filmje, érdemes legyen végignézni!"
-
fatal`
titán
válasz SektorFlop #66 üzenetére
Minek kéne rendszert újra rakni? Létrehozol egy másik fiókot ékezet nélkül azt kész.
De még csak ezt sem kell bemész a mappába és az emulátornév.ini-ben átírod az elérési útvonalat, ott hagyod és elmásolod magát az emulátor mappáját ahova átírtad. Mert ha jól látom magát az elérési utat kinyeri ebből az ini fájlból úgyhogy érdekes hiba, pedig az is ékezetes mappanévben van.
-
fatal`
titán
válasz SektorFlop #69 üzenetére
Eseményt kell hozzárendelned, ha jól emlékszem onClickListenernek hívják.
[ Szerkesztve ]
-
fatal`
titán
válasz SektorFlop #71 üzenetére
Ugyanavval a kódrészlettel? Nem használtam még a normál fejlesztői részt, csak játékot próbálok fejleszteni andenginenel, de: Ha külön eseményt szeretnél, totál más kódrészlettel akkor minden gombhoz külön listenert kell hozzáadni. Ha ugyanazt a kódrészletet akarod lefuttatni minden gombnál, akkor szerintem vagy a listenernek vagy a függvénynek van egy paramétere ahol le tudod kérni a küldő objektumot.
-
szoke12
őstag
válasz SektorFlop #79 üzenetére
sok minden változott azóta, de ha most is ilyen lenne, szerintem akkor is vinnék rendesen. elég stabil egy rendszer.
"Élj úgy, hogy ha majd lepereg előtted életed filmje, érdemes legyen végignézni!"
-
SektorFlop
aktív tag
válasz SektorFlop #89 üzenetére
közbe meg van a hiba!
"Amikor már azt hittem kint vagyok, ezek mindig visszarántottak..."
-
vz12
tag
válasz SektorFlop #92 üzenetére
Nem tudom hogy mi az a "setIndicator", de pl. "setText"-ben, vagy "Toast"-ban nekem így működni szokott:
"Havi\negyenleg"
-
fatal`
titán
válasz SektorFlop #92 üzenetére
spec.setIndicator("Havi\negyenleg")
(#93) vz12: Én sem tudom mi az, de stringet vár és ott ez a szintaktika.
[ Szerkesztve ]
-
Chipi333
csendes tag
válasz SektorFlop #100 üzenetére
Cursor c= db.rawQuery(viewFizetes,null);
Itt a viewFizetes-ben mi van? Mert ha pl "SELECT FizetesHonap, FizetesOsszeg, FizetesEgyenleg FROM FizetesTable" akkor kb működnie kéne a cursornak.
-
rum-cajsz
őstag
válasz SektorFlop #100 üzenetére
Nem értek az SQLite-hoz, de nem így lenne helyes?
db.execSQL("CREATE VIEW viewFizetes AS SELECT FizetesHonap, FizetesOsszeg,FizetesEgyenleg FROM FizetesTable");
Esetleg segítene a hibaüzenet is.
=Kilroy was here============================ooO=*(_)*=Ooo=======
-
Chipi333
csendes tag
válasz SektorFlop #104 üzenetére
Hát ebben a példaprojectben valszeg megtalálod amit szeretnél.
Ps.: A view-nak meg semmi köze nincs a megjelenítéshez. Az egy amolyan virtuális tábla lesz az adatbázison belül, ami egy select alapján van összerakva. Általában olyankor szokás csinálni ha több táblából összeszedett adatok kellenek és gyakran, de még akkor is ritkán elvileg, mert eléggé költséges a fenntartása.
[ Szerkesztve ]
-
ArchElf
addikt
válasz SektorFlop #100 üzenetére
Muszáj view-t csinálnod? Miért nem jó a sima select?
AE
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
ArchElf
addikt
válasz SektorFlop #107 üzenetére
Hogy néz ki (pontosan) a tábla, és mi a konkrét select?
AE
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
SektorFlop
aktív tag
válasz SektorFlop #109 üzenetére
ma volt egy kis időm, gondolom senkinek nem volt kedve vagy ideje átnézni azt a sok mindent amit írtam. Én kénytelen voltam, összerakni az egészet, most már megoldódott a problémám, a lekérdezés működik a tábla tartalma is megjelenik.
"Amikor már azt hittem kint vagyok, ezek mindig visszarántottak..."
-
fatal`
titán
válasz SektorFlop #128 üzenetére
Új verzió, az indigo utódja
-
Sianis
addikt
válasz SektorFlop #130 üzenetére
1) Nem lehet, hogy az Activity-t kétszer indítod el és ezért kétszer lesz benne a back stackben?
2) Ennek a view-nak van valami layout (tehát XML) alapja? Mert akkor abba kell felvenni vagy még további TextView-kat vagy a meglévőket kell lekérni id alapján a findViewById metódussal és akkor tudsz még hozzáfűzni adatot.
3) Gondolom ListView-be kerül ez a dolog. Sor alatt most a lista egy-egy sorát értjük? Mert ilyenkor az adater getview metódusában meg tudod adni, hogy a view háttere milyen színű legyen. Kód nélkül nehéz így a megfejtést megmondani neked.
Illetve ha a kérdésekre válaszolsz akkor tudok még pontosítani.
Sianis
-
Sianis
addikt
válasz SektorFlop #134 üzenetére
Szia!
1) Ez teljesen jó. Meg kellene nézni, hogy valahogyan nem hívod-e, hívódik-e meg kétszer.
2-3) Ez is jó, csak nincs benne a logika amivel beállítanád a háttér színét. Én a SimpleCursorAdapter-t örököltetném és a getView metódusát még megfejelném egy kicsit, valahogy így:
public class MySimpleCursorAdapter extends SimpleCursorAdapter {
public MySimpleCursorAdapter(Context context, int layout, Cursor c, String[] from,
int[] to, int flags) {
super(context, layout, c, from, to, flags);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
if (position % 2 == 0) {
view.setBackgroundColor(Color.RED);
} else {
view.setBackgroundColor(Color.GREEN);
}
return view;
}
}Ezután pedig adapternek ezt adnám meg. Nem próbáltam ki, de szerintem így jó. Szólj ha nem!
Sianis
-
Sianis
addikt
válasz SektorFlop #136 üzenetére
Az állapotot meg valahogyan az adapternek megadott elemekből kellene kinyerned? Az adapternek van egy ilyen metódusa: getItem, amivel egy adott pozícióban lévő objektumot kapsz meg.
Ha jól látom a kódodból, akkor ez valahol a háttérben egy List-et rak össze amiben Map elemek vannak. a getItem elvileg egy ilyen Map-et fog neked visszaadni, de nem 100%, viszont ezt Java Debuggerrel könnyen kiderítheted vagy akár az Androidos loggerrel is.
Ebben az elemben ha minden elemed benne lesz ami a db adott rekordjában benne van, ebből már tudni fogod a státuszt és tudod állítani a háttér színét.
Jó így?
Sianis
-
vz12
tag
válasz SektorFlop #136 üzenetére
Én már csináltam ilyet. A position paraméter alapján behozod az aktuális adatot, amivel a getView éppen foglalkozik, majd ezután ezt az adatot építed be a feltételbe, nem magát a position-t.
Ha pl. egy kétdimenziós tömb 1. oszlopát jeleníted meg, akkor valahogy így kell ennek kinézni:mydata=tomb.get(position).get(0);
if (mydata==1) ...A relációs adatbázis mutat némi hasonlóságot a 2 dimenziós tömbbel, ezért hoztam ezt a példát, de a dolgot konkretizálni majd Neked kell. Ha szűrés van az adatbázison, akkor a helyzet persze bonyolultabb.
-
Sianis
addikt
válasz SektorFlop #139 üzenetére
A SimpleAdapter a következő módon működik.
Adott egy List, ebben vannak a ListView sorai gyakorlatilag. A List Map-eket tartalmaz, ami általában String kulccsal, String értékeket tárol. Amikor te megadod a String tömböt az adapternek:
String [] from=new String []{DatabaseHelper.TerhelesNev,DatabaseHelper.TerhelesOsszeg,DatabaseHelper.TerhelesDatum};akkor azt mondod, hogy az ilyen String kulcsokkal elérhető elemeket vegye ki a List adott elemének Map-jéből, majd ezeket az érkeket a másik tömbben magadott id-val megtalálható TextViewkba állítsa be:
int [] to = new int [] {R.id.tvLeiras,R.id.tvKoltseg,R.id.tvDatum};
Ezt mit ad visza a LogCat-ben?
Log.d("Item class:", sca.getItem(position).getClass().getName())Sianis
-
vz12
tag
válasz SektorFlop #139 üzenetére
Nos, én a fő-fő osztályomban definiált, és gyakorlatilag az egész (nem túl nagy) programomban globálisan (belülről) elérhető tömbökben tároltam az adatokat, így a getView-ban is elérhető volt, nem paraméterből jött be neki. Én egy gridView alá "toltam be" ezt a tömböt, amelyet bizonyos metódusok írtak, bizonyos metódusok olvastak, a grid frissítése meg volt oldva, illetve hát ugye a getView pontosan ezt végezte a módosítások után. Tehát a getView futásakor az adatok már aktuálisak voltak, és mivel "globálisak", ezért lekérdezhetők, felhasználhatók feltételek megfogalmazásához. Szerintem egy kurzort is lehet így használni, de ezt csak gondolom, nem tudom. Lehet hogy kifogásolható a módszerem, de nekem bevált és tetszik, nem látom a hátrányát.
Az említett másik módszer is biztosan járható, én magamnak ezt találtam ki erre a problémára.
-
sztanozs
veterán
válasz SektorFlop #151 üzenetére
google > mysql webservice android
pl: [link]Ahogy nézegettem nincs natív mysql kliens android alá - így kell csinálni egy webservice-t valahol, ami kiszolgálja az sql kéréseket.
De mivel ez egy köztes réteg az adatbázis és a kliens között, egy csomó dologgal foglalkozni kell:
- mennyire publikus az adat
- ki adhat utasításokat a webservice-nek
- kellenek-e különbözö jogosultsági szintek (admin/user/guest)
- hogy biztosítja a környezet az felhasználó-ellenőrzés és az adatok bizalmasságát
- mekkora lesz az adatforgalom
- kell-e (mennyire kell) a felhasználói bevitelt ellenőrizni
- stb.
Szóval egy WS esetében is meg kell csinálni (le kell kódolni) azokat a biztonsági képességeket, amelyek egy fejlett adatbázisszerveren már léteznek (pl. azonosítás, jogosultságok kezelése, titkosítás)[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Sianis
addikt
válasz SektorFlop #159 üzenetére
Tipp: A cikket ajánlhatod Facebookon.
Sianis
-
fatal`
titán
válasz SektorFlop #174 üzenetére
Nekem is ez a problémám.
-
lanszlo
csendes tag
válasz SektorFlop #178 üzenetére
Köszi az infót, a jövő hét folyamán lehet bemegyek és belelapozok! Aki esetleg már megvette az tudna mondani róla pár szót? Főleg arra lennék kíváncsi, hogy mennyire gyakorlatias a könyv...
-
lanszlo
csendes tag
válasz SektorFlop #183 üzenetére
Köszi! Pontosan ezt értettem gyakorlati dolog alatt, hogy sok a példa
-
pakriksz
őstag
válasz SektorFlop #185 üzenetére
nem nyertünk hangszórót... nem lehet sajnos... az api szépen lekorlátozza...
Most csináltam egy seekbart, 100 fokozattal, ami változáskor setstreamvolumezik. 15-nél szépen eléri a max hangerőt és onnantól nincs hatása. 15 alatt megy, és ugyanúgy megmarad a 15 fokozat.Szívesen elbeszélgetnék azzal az idióta fejlesztővel aki így írta meg ezt a részét az apinak, hogy ezt most miért kellett így(mert technikai oka tuti nincs)? Arra gondolt, hogy vagy cigányhifizni fognak vele, vagy csak mindent mindig max hangerőn hallgató halláskárosultak fogják használni?
[ Szerkesztve ]
Troll (nemhivatalos definíció): az akinek véleménye nem tetszik nekünk/nem értünk vele egyet. (10-ből 9 fanboy ezt ajánlja) || Fanboy 8 in 1 (Intel, AMD, Nvidia, konzol, PC,+minden politikai oldal) hiszen "ahol nem mi vagyunk, ott az ellenség"
-
fatal`
titán
válasz SektorFlop #193 üzenetére
Az onStart biztosan nem jó, valószínűleg az onResume kell neked.
[ Szerkesztve ]
-
lanszlo
csendes tag
válasz SektorFlop #193 üzenetére
Biztos ismered, meg láttad ezt az oldalt, de ha mégsem, akkor ajánlanám a hivatalos android developer-ről a tutorialt ezzel kapcsolatban. Szerintem eléggé érthető és remélem választ kapsz a kérdésedre!
-
pakriksz
őstag
válasz SektorFlop #187 üzenetére
nem lehet. Ezt a kódot benyomod annak semmi hatása nem lesz ha már 15-ön van a hangerő. Ha itt 15-nél nagyobb számot adsz meg, egyszerűen ignorálja. 15 alatt meg ugyan azok a fokozatok mennek mint amúgy.
Troll (nemhivatalos definíció): az akinek véleménye nem tetszik nekünk/nem értünk vele egyet. (10-ből 9 fanboy ezt ajánlja) || Fanboy 8 in 1 (Intel, AMD, Nvidia, konzol, PC,+minden politikai oldal) hiszen "ahol nem mi vagyunk, ott az ellenség"
-
Sianis
addikt
válasz SektorFlop #199 üzenetére
Esetleg összejátszhatod egy onActivityResulttal és egy startActivityForResulttal. Így biztosan tudod, ha vitt fel új adatot vagy nem.
Sianis
-
Sianis
addikt
válasz SektorFlop #204 üzenetére
Ctrl+F11?
Sianis
-
lanszlo
csendes tag
válasz SektorFlop #204 üzenetére
A numerikus billentyűzeten a 7-es és 9-es.
-
addikt
válasz SektorFlop #241 üzenetére
Akkor hol kérdezzek?
Mindenkit egyforma külső inger ér, de egyén függő, h éljük meg :P
-
addikt
válasz SektorFlop #250 üzenetére
köszi, érdekes dolgok vannak nála
Mindenkit egyforma külső inger ér, de egyén függő, h éljük meg :P
-
Dave-11
tag
válasz SektorFlop #257 üzenetére
Végül sikerült megoldanom, le is írom, hátha valaki hasonló hibába ütközne.
Így visszagondolva elég pitiáner kis dolog, de annyi volt a hiba hogy mikor a projektet csináltam az alkalmazás nevéhez olyan nevet választottam, amiben vannak ékezetek. Ekkor ugye alapból állítja a projekt nevét az Eclipse-ben is ékezetesre, és úgy hagytam. Aztán átírtam ékezet nélkülire és működött a dolog
Furcsa, azt hittem tudja kezelni az ékezetes betűket, de a lényeg hogy már ezt is tudomMellesleg SektorFlop, még te írtad itt valamikor hogy készítessz egy oldalt kezdőknek? Csak gondoltam emgkérdem hogy haladsz, kíváncsi vagyok már rá
:D Semmi :D
-
pigster
senior tag
válasz SektorFlop #259 üzenetére
http://wiki.javaforum.hu/display/JAVAFORUM/Android-Suli
... hát jó lenne valahol ott folytatni, ahol ez abbamaradt
FIGYELEM! A többszázezres Samsung okostévék kéretlen reklámokat tolnak az arcodba.
-
Ablakos
őstag
válasz SektorFlop #275 üzenetére
onStart -ban valami hasonló kell:
SharedPreferences sp = getSharedPreferences("DB_INIT",MODE_PRIVATE);
Boolean isFirstRun = sp.getBoolean("KEY_FIRST_RUN_FLAG",true);
if(isFirstRun) itt jöhet az intent activity;[ Szerkesztve ]
-
thon73
tag
válasz SektorFlop #278 üzenetére
Az nem megoldás, ha te magad mentesz el egy flag-et az első indításkor? Legjobb talán a preferences-be, de a saját file terület is egyszerűnek tűnik. Uninstall (törlés) során ez is törlődik, egyébként meg mindig ott lesz, és így ellenőrizhető, hogy volt-e már indítás.
-
Ablakos
őstag
válasz SektorFlop #278 üzenetére
Igen, el is kell commitálni, hogy volt már futtatva.
onStop-ban ez legyen:
SharedPreferences sp = getSharedPreferences("DB_INIT", MODE_PRIVATE);
Editor et = sp.edit();
et.putBoolean("KEY_FIRST_RUN_FLAG", false).commit();[ Szerkesztve ]
-
thyrpacia
csendes tag
válasz SektorFlop #349 üzenetére
Itt találsz rá megoldást: [link]
-
Yany
addikt
válasz SektorFlop #365 üzenetére
Ha Semaphore kerneled van, akkor a saját appjában kapcsold be a Logger opciót.
Építs kötélhidat - https://u3d.as/3078
-
thon73
tag
válasz SektorFlop #365 üzenetére
http://stackoverflow.com/questions/6941710/unable-to-open-log-device-dev-log-main-no-such-file-or-directory
Ez szerintem pont azt célozza, amit kérdezel. Érdekes. nem gondoltam volna, hogy ezt ennyire ki lehet kapcsolni.
Megírnád, melyik rom/kernel ez, és mit sikerült tenni?Bocs, két lépéssel lemaradtam. Akkor legalább annyit, amit a telefon névjegyénél kiír. Vagyis, ho. milyen rom ill. kernel. Köszi!
[ Szerkesztve ]
Új hozzászólás Aktív témák
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen