Új hozzászólás Aktív témák
-
WonderCSabo
félisten
válasz
WonderCSabo
#2581
üzenetére
2) Esetleg még az lehetne, hogy kidobni az egész LogHolder-t, JSON-al lekérni a JSONArray-t és azt beeadni a GSON-nak hogy deszerializálja List<ArrayElem>-mé. De ez nem túl szimpatikus.
-
Karma
félisten
válasz
WonderCSabo
#2579
üzenetére
A nagy hajrában két dolgot hadd tegyek hozzá:
1) Hálózati kommunikációt nem UI szálon kéne csinálni, szerintem az URL.openStream el fog hasalni.
2) A LogHolder.class nem lesz elég, mert a generikus lista típusparamétere addigra elvész. TypeTokent kéne beadni a LogHolderre. -
meone
tag
válasz
WonderCSabo
#2569
üzenetére
Az általad elmondottak alapján próbáltam össze pakolni a kódot.
Az ArrayElem nevű klassz jelenleg így fest:
package com.example.webv;
import android.R.string;
public class ArrayElem {
private string f_date;
private int f_log_int;
}A LogHolder tartalma pedig a következő:
package com.example.webv;
import java.util.ArrayList;
import java.util.List;
public class LogHolder {
List<ArrayElem> ReturnDataSet = new ArrayList <ArrayElem>();
}A MainActivityt pedig az elmondottak alapján kicsit változtattam.
Jelenleg így fest:package com.example.webv;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.Reader;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebView;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
public class MainActivity extends Activity {
private WebView browser;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
browser = (WebView) findViewById(R.id.wV1);
}
public void open(View view){
browser.getSettings().setLoadsImagesAutomatically(true);
browser.getSettings().setJavaScriptEnabled(true);
browser.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
browser.loadUrl("http://bkaroly.hu/log.php");
BufferedReader in = new BufferedReader(new InputStreamReader(browser.getEntity().getContent()));
Gson gson = new Gson();
ArrayElem holder = gson.fromJson(in, ArrayElem.class);
}
}Próbáltam az előző posztod alapján, a userguide alapján, illetve más tutoriálok alapján össze pakolni.
Az ArrayElem.class fájl nem teljes amúgy sem.
Mivel nem értem még teljesen a dolgokat így a kód javításra szorul tudom,
de valami kis meg erősítést kaphatok, hogy jó irányban keresgélek az elmondottak alapján.
Vagy teljesen rossz útra tévedtem megint és hibás teljesen az összepakolt kódom.
Próbáltam valami kis Readert is bele kreálni, hogy egyből a weboldalról kérje be az adatokat. -
meone
tag
válasz
WonderCSabo
#2567
üzenetére
Igen jól értelmezted, hogy az egészet fel akarom dolgoztatni.
A WebView szimplán úgy kerül oda, hogy készítettem egy alkalmazás ami megjelenítette az oldalt és ebből gondoltam volna tovább lépni, de ezek szerint megint fals értékre vetődtem.Az egészet felszeretném dolgozni mert különböző layoutakban minden egyes értékre szükség lesz majd.
Ezek az értékek különböző szenzorokból származnak, és azokat majd különböző layoutokban fogom megjeleníteni.
De mivel a feladat nagy így megpróbáltam valahogy kisebb részletekben megvalósítani.Az általad említett metódus nekem magas sajnos nem értem.

Úgy szeretném megvalósítani, hogy nettről olvassa be, mert a tartalma óránként változik.
Kicsit kirészleteznéd, hogy tudjak belőle egy kódot készíteni, mert így nekem magas sajnos.
-
Zedz
addikt
válasz
WonderCSabo
#2544
üzenetére
Köszönöm a tippet. Jelenleg még csak emulátorral fejlesztgetek, nincs droidos telefonom.
Szerk.: Milyen telefon ajánlott fejlesztéshez? El fog jönni az idő amikor már be kell ruháznom egybe. Nexusok ajánlottak ilyen célra?
-
Ablakos
addikt
válasz
WonderCSabo
#2480
üzenetére
Nem értem mik ezek 20 feletti build toolsok, és L preview az sdk-ban? 17-19-es API-t használok, de ezeket minden SDK elindításnál rám akarja erőltetni.
Másik kérdésem, hogy saját java osztály (view) az eclips+ADT környezetben is betehető erőforrás fájlba?
-
RexpecT
addikt
válasz
WonderCSabo
#2463
üzenetére
Az volt a baj, hogy én az SQL scriptet raktam az asserts mappába, nem magát az adatbázist.

-
válasz
WonderCSabo
#2443
üzenetére
Ok, most már kis olvasgatás után kezdem felfogni a dolgokat.

-
pixelking
tag
válasz
WonderCSabo
#2426
üzenetére
Köszönöm

-
fatal`
titán
válasz
WonderCSabo
#2412
üzenetére
Mindkettőben átconfigoltam a gyorsbillenyűket (legalábbis egy részét), úgyhogy erről nem tudok nyilatkozni.

A netbeansnél mindkettő jobb

-
fatal`
titán
válasz
WonderCSabo
#2410
üzenetére
Én tudom
Mégsem jelentkeznek ilyen hibák. -
fatal`
titán
válasz
WonderCSabo
#2406
üzenetére
Nekem folyamatosan fagyott induláskor, nem tudta betölteni az android-sdk-t, amíg ki nem töröltem a ddms.cfg-t, akkor újragenerálta és utána jó lett kb. minden harmadik indításnál eljátszotta. Ezenkívül valamitől baromi lassú lett az egész. Találtam benne még más bugot is, de ez kiverte a biztosítékot. Újraraktam mindent, ugyanolyan fos volt utána is.

Igen fejlesztik még, de látod most is bugos sajnos. Közben közelebből megnéztem az intellij-t és bizony tévedtem, baromi jó kis IDE.
Na mindegy, nem IDE flamet akartam indítani, csak annyit, hogy érdemes megnézni

-
Dave-11
tag
válasz
WonderCSabo
#2402
üzenetére
Hát ez sajnálatos.
Igen nem csak az az egyetlen hiba, ahogy néztem a Manifest állományba se helyezi bele így az activity-t, meg ugye a toolbarban nincs ott az SDK meg az AVD logója sem. -
fatal`
titán
válasz
WonderCSabo
#2399
üzenetére
Nekem már a videókban sem tetszett, ez a flat design egyszerűen borzalmas.
-
Sianis
addikt
válasz
WonderCSabo
#2395
üzenetére
Mondjuk az a Settings kép ez sok minden, csak nem szép.
-
WonderCSabo
félisten
válasz
WonderCSabo
#2394
üzenetére
-
Sianis
addikt
válasz
WonderCSabo
#2392
üzenetére
Igen, ismerem. Most nagy hirtelen abba is hagytam egy app kezdeményt, hogy megvárjam mi sül ki belőle. Mert ha ilyen jó kis animációkat tudok majd beletenni egyszerűen akkor az kell nekem bele. Kell.
-
Sianis
addikt
válasz
WonderCSabo
#2390
üzenetére
Az szép kis lib lesz!

Sianis
-
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...
-
vz12
tag
válasz
WonderCSabo
#2382
üzenetére
Megírtam privátban.
-
vz12
tag
válasz
WonderCSabo
#2380
üzenetére
Mármint érdemes.
Sejtettem, a Play-en a statisztikánál akár verzióra lebontva is láthatom a letöltési darabszámokat, ebből tudom hogy ha nem is sok, de néhány 2.2-es letöltésem azért van (az arány hasonló mint a Te grafikonodon), én pedig nem akarom elvenni az örömet tőlük, hogy használják a remek kis programocskám továbbfejlesztett változatát.
Mint már említettem, a gyakorlatban nem életszerű hogy valaki pl. farkincás C, vagy hasonló elvetemült karaktereket írna be a névjegyzékbe (az ilyen meg is érdemli hogy ne találja meg), a "rendes" és "rendetlen" magyar ékezetes betűk tekintetében pedig a 2 megoldás teljesen egyforma, így semmi hátrányát nem érzem a Map-es módszernek, sőt még talán túlzásba is vittem a "megoldott" karakterek számát. Persze nem erről a módszerről álmodtam, de ez van.
Egyébként csak azért nem megyek "lejjebb" a verzióban, mert úgy tudom hogy widget-ek csak a 2.2+ verziókban vannak, tehát a 2.2 az alsó határ. -
vz12
tag
válasz
WonderCSabo
#2378
üzenetére
Emulátor, igazad van, köszi.

Most már sokáig nem halogatom a döntést, szerintem maradok a verziófüggetlen (és számomra elegendő) Map-es megoldásnál, egyrészt dolgoztam vele eleget hogy ne hagyjam ki, másrészt egyelőre a 2.2-es Androidos táborról sem akarok még lemondani, és felesleges bizonytalanságot vagy kockázatot sem szeretnék generálni. Azt a 2 sor Normalizer-es kódot emlékül benne hagyom, de persze csak kommentben. -
vz12
tag
válasz
WonderCSabo
#2376
üzenetére
Újra megcsináltam "nulláról".
1- Bezártam az Eclipse-t, meg a szimulátort is.
2. Eclipse elindítva, AVD 2.2 kézzel (csak hogy tuti legyen) elindítva.
3. Manifest fáljba belenéztem, mindkét sdkVersion "8" -ra volt állítva, nem bántottam.
4. Project/Properties/Android/"Project Build Target" ellenőrizve, Android 2.3.3-ra volt állítva, nem bántottam.
5. A .java fájlba belenéztem, az "import java.text.Normalizer;" benne van, a "tuti" miatt a Map-os részt kiszedtem, a Normalizer-es kód futását fixre beállítottam.
6. Program elindít, 2.2-es AVD-re áttöltés, hibátlanul lefutás, ékezetes név megtalálva, semmiféle exception nem történt.Nekem is furcsa (volt, és kicsit most is az), de a saját szememmel látom.
Ezért is kérdeztem, hogy vajon ha nem szimulátorban menne, akkor mi lenne a helyzet?
Nem tudom hogy örüljek-e, most hajlok arra, hogy maradok fixen a Map-es módszernél, úgy nem várható semmilyen negatív meglepetés. -
Karma
félisten
válasz
WonderCSabo
#2365
üzenetére
Hmm. Jogos, nem jutott eszembe - én mindig szinkronban tartom a kettőt

-
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.
-
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.
-
kemkriszt98
tag
válasz
WonderCSabo
#2305
üzenetére
Nem megy

-
eastsider
nagyúr
válasz
WonderCSabo
#2282
üzenetére

-
Sianis
addikt
válasz
WonderCSabo
#2272
üzenetére
Ezeknek a megértésével próbálkozom amúgy, éppen

Sianis
-
eastsider
nagyúr
válasz
WonderCSabo
#2265
üzenetére
nem mertem mondani 
ilyenkor kellene a lentebb említett Handler nem? -
trisztan94
őstag
válasz
WonderCSabo
#2244
üzenetére
-
válasz
WonderCSabo
#2235
üzenetére
Igazából nem is kéne az eclipse, ha tudnám, hogy hogyan tudom lefordítani mondjuk parancssorból. AMit módosítani akartam a forrásfájlban már megtettem Notepad-ban, csak újra kéne fordítani. Ebben esetleg tudsz segíteni?
-
válasz
WonderCSabo
#2233
üzenetére
Az, hogy ha beimportálom Eclipse tele lesz minden hibával + csak egy része importálódik be.

-
válasz
WonderCSabo
#2231
üzenetére
Itt bal oldalt kiválasztom a legfrissebb verziót, de csak tar-ba tudom letölteni

-
Sianis
addikt
válasz
WonderCSabo
#2220
üzenetére
Igen, de ha mondjuk mindkettő esetében ugyanazt a syncronized metódust hívom akkor már tuti, hogy onPause nem előzi be az onResume-ot. Az meg, hogy esetleg emiatt egyszer egyszer egy ilyen gyors ki/bekapcsolás történik az megeshet. Csak alapetően nem akarom, hogy gyakran kapcsolgassam a kapcsolót le, fel.
Sianis
-
Sianis
addikt
válasz
WonderCSabo
#2218
üzenetére
Tehát, ha mondjuk azt mondom, hogy onPause után isApplicationSentToBackground true-val tér vissza, akkor egyetlen Activity sem fut előtérben, tehát háttérben van az app. Ha onResume lefut bármikor akkor meg egyértelműen előtérben fut, igaz?
Sianis
-
letepem
aktív tag
válasz
WonderCSabo
#2213
üzenetére
mármint a hosszúsági/szélességi adatokat a nevek alapján? (bocs az érthetetlen fogalmazásért
) -
letepem
aktív tag
válasz
WonderCSabo
#2211
üzenetére
geocatch-csel vissza tudom fejteni a megálló neveit?
-
letepem
aktív tag
válasz
WonderCSabo
#2209
üzenetére
szimplán a gtfs sgllite feltöltésénél mivel egy 300 megás zipről beszélünk!
-
válasz
WonderCSabo
#2193
üzenetére
Köszönöm!

Viszont ha nem élek ezzel a lehetőséggel, akkor - ha jól értem - bárki visszafejtheti az appomat pillanatok alatt. Ennyi erővel open source is lehetne

-
_kovi_
aktív tag
válasz
WonderCSabo
#2166
üzenetére
Nem, a res mappában sok minden van. Ha lenyitod pl a values mappát, akkor abban ugye ott a strings.xml, styles.xml. De a layout nem kinyitható...

-
_kovi_
aktív tag
válasz
WonderCSabo
#2159
üzenetére
Nincs benne layout file. Nem is tudod lenyitni a fület.
-
thon73
tag
válasz
WonderCSabo
#2159
üzenetére
Ja, akkor mégiscsak én értettem félre. Nem csoda, hogy nem sikerült megkeverni a gépet... Viszont akkor jól fog működni amit írtam! 
(((Ezt az egyszerű log-ot csak úgy hirtelen készítettem, amikor a még-nem-rootolt tab nem volt hajlandó kiírni a rám vonatkozó system log-ot (AIDE-t használtam külföldön, net nemigen volt). És a feladatát tökéletesen el is látta. Később univerzálissá - pontosabban thread-safe-é akartam tenni, csak megzavart, amiket olvastam: eredetileg is thread-safe volt
)))(((Most meg van egy nagy adathalmazom, amit a program szépen feldolgoz. Arra gondoltam, hogy nem fogom minden csip-csup hibáért leállítani az egész folyamatot, hanem szépen log-olja a hibákat, és csak a végén mondja meg, volt-e hibás (nem importálható) adat. Erre viszont pont kéznél volt ez - a logtól független - secunder log. Egyébként ez tök jól működik, abban nem voltam biztos, hogy minden körülmény között fogja-e ezt produkálni...)))
Hálás köszönet, nem rongálom tovább a kiírást...

-
eastsider
nagyúr
válasz
WonderCSabo
#2149
üzenetére
köszi!
mindenhol ezt a példányosítást láttam.. ezek szerint lehet ezt normálisan is
az volt a gondom, hogy alapból a show()-val meghívta -
eastsider
nagyúr
válasz
WonderCSabo
#2146
üzenetére
hmm tényleg

és arra van ötleted , hogy ne az onCreateben kelljen a dialogot példányosítani?
final ProgressDialog pd = ProgressDialog.show(this, null,null, true);
mert így még midnig nem megy, viszont máshogy meg nullokkal elszállKarma: igen.
-
Karma
félisten
válasz
WonderCSabo
#2146
üzenetére
Én úgy értem, hogy app indításonként egyszer kellene letiltani. Azaz a shared pref nem kell, csak egy sima boolean tagváltozó a WebViewClientben.
-
eastsider
nagyúr
válasz
WonderCSabo
#2105
üzenetére
igaziból az a gondom, hogy loaderrel dolgozom, és nem tudom, hogy tudnám visszaadni a UIL-nek azt az image Uri-t, amin épp a cursor áll...
-
eastsider
nagyúr
válasz
WonderCSabo
#2105
üzenetére
ez tényleg egyszerű

nem gondoltam volna, köszi!
-
thon73
tag
válasz
WonderCSabo
#2101
üzenetére
Aha. Ez ugyan nem sqlite, csak sima Loader, de a hiba pont ugyanott van!
Aki Loader-t akar csinálni annak ITT egy jó előadás; de a lényeg az első hozzászólásban van:
"Important: I no longer recommend to use a Loader for "one-shot" actions because it's complicated and has a few side-effects."
No ezen én is elgondolkodtam...
Ettől függetlenül az ea. nagyon jó, és csomó buktatót (pl. a Loader mindig kétszer tüzel...) felsorol; de speciel a filteres gond (vagyis hogy a filter a még fel nem töltött adapterből szed ki adatot, aztán a felülírja vele a már betöltötteket) nem szerepel benne.
Még küzdök vele egy kicsit...Aprópopo: Hogy a betöltés alatt egy karika forogjon, azt meg lehet valami egymondatos gyári utasítással oldani, vagy azzal is nekem kell játszani?
-
eastsider
nagyúr
válasz
WonderCSabo
#2101
üzenetére
ehhez kell egy saját cursorAdapter, jól értem? vagy nem feltétlenül?
honnan tudja a UIL, hogy a megfelelő elemet húzza be a listába a megfelelő elemhez?bocsi, ha hülyeségeket kérdezek, de nem sikerült egyelőre kibogoznom teljesen a dolgot

-
thon73
tag
válasz
WonderCSabo
#2096
üzenetére
Az entries értékét leellenőriztem, az mindig megfelelő.
Egy kicsit előrébb jutottam - néha ugyanis feldobja a listát, néha nem - és azt találtam, hogy elindítja a filtert, mégpedig mindenképp. A filter viszont kiveszi a még üres (null) értéket az adatokból, majd PÁRHUZAMOSAN fut a performFiltering és a Loader. A Loader előbb végez, és onLoadFinished-ben beállítja az adatokat. Majd jön a Filter (ami még az üres adatokat szűrte!), és átállítja az egész történetet üresre, hiszen -szerinte - nincsenek is adatok.
Erre nem is gondoltam, mert 1. ekkor még elvileg nem is létezik a filter. 2. ha a filter-szöveg üres, akkor nem is szűr. Csakhogy ilyenkor is beállítja a teljes adatmennyiséget - ami szerinte: üres.Namost. Hogyan bogozom ezt ki?
Az onCreateView-ben állítom be a filtert, így:filter = (EditText) view.findViewById(R.id.filter);
filter.addTextChangedListener(new TextWatcher()
{
@Override
public void onTextChanged(CharSequence s, int start, int before, int count)
{
((MainListAdapter)getListAdapter()).getFilter().filter(s);
}Ezt nem tudom nagyon máshova tenni, mert csak egyszer indíthatom el.
Tegyek be egy flag-et az adapterbe, ami figyeli, hogy vannak-e már beállított adatok??
Vagy ne engedjem meg, hogy az adatok értéke null legyen? Hanem az üres adatot egy üres (de létező) ArrayList jelentse?
Vagy mit érdemes ilyenkor csinálni?((Az ArrayAdapter is alternatíva lenne, de annak majd minden részét módosítottam volna, ezért használtam BaseAdapter alapot. Sztem. a probléma ettől független. ))
Be is bizonyítottam, hogy ez a probléma, itt:
protected void publishResults(CharSequence constraint, FilterResults filterResults)
{
------------------>if (filterResults.values != null)
{
filteredEntries = (List<SampleEntry>) filterResults.values;
notifyDataSetChanged();
}
}No, így működik. Órákat játszottam vele, de erre nem gondoltam volna...
Most már csak arra kell rájönnöm, hogy a.) mi a nyavaja indítja a filtert b.) ezt a tákolt ellenőrzést hogyan tudom szépen megcsinálni... -
eastsider
nagyúr
válasz
WonderCSabo
#2098
üzenetére
jah szóval loadermanagernél ne is foglalkozzak a képpel, mert ez majd külön behúzza a képeket? (kb) a listám mellé?
(nagy vonalakban). szóvel ez az adapterbe épül be -
kemkriszt98
tag
válasz
WonderCSabo
#2085
üzenetére
Egy játékon dolgozom... a service-ra már én is gondoltam de nem tűnt a legjobb megoldásnak...
-
kemkriszt98
tag
válasz
WonderCSabo
#2082
üzenetére
Ja de...
Egy ifben inicializálom és lemaradt az else ág.... -
Karma
félisten
válasz
WonderCSabo
#2078
üzenetére
Már ha az ember 14-es API felett dolgozik...
-
Karma
félisten
válasz
WonderCSabo
#2058
üzenetére
A folyamatos fájlnyitás-flush-zárás miatti teljesítménycsökkenésen kívül semmi gond nincs vele.
-
thon73
tag
válasz
WonderCSabo
#2058
üzenetére
Köszönöm a sok ötletet és útmutatót!

Lehet, hogy egy esős délutánt már illene azzal töltenem, hogy végigolvasom a Java-t, nem mindig csak azt, ami éppen kell.Én még nem látom át teljes mélységében, hogy melyik megoldás a jobb/ideálisabb, de azt már látom, hogy a probléma bármelyikkel megoldható. A nyitás/zárást én speciel eddig is minden kiírt blokk köré raktam, nem hiszem, hogy jelentős gyorsulás érhető el egy hosszútávon nyitott file-lal. Viszont egy esetleges adatvesztés jobban zavarna, ha pl. zárás és flush nélkül lépek ki véletlenül a programból.
Annyit viszont már átláttam, hogy ez a worker-thread file-kezelés tud elég csapdás lenni... na ezek a kész megoldások ebben biztosan segítenek.
-
Karma
félisten
válasz
WonderCSabo
#2056
üzenetére
Jogos, igazad van. A ThreadPoolExecutorok (köztük a single thread is) pont azt az infrastruktúrát adják meg a BlockingQueue köré, amit egyébként kézzel is meg kéne írni.
Bár azért a fájlírós példánál maradva, egy kicsit körülményesíti a dolgot, hogy a fájlt valamikor nyitni és zárni is kell. Nehezebben összeilleszthető a Runnable-ökkel talán, mint alacsonyszinten építkezve.
-
Karma
félisten
válasz
WonderCSabo
#2053
üzenetére
Szerintem (és ez most tényleg csak vélemény) a kettő másra való. A BlockingQueue-val egy fajta feladatot lehet termelőkre-fogyasztókra bontani és skálázni, az Executorok meg inkább eltérő feladatok ütemezésére több szálon.
-
eastsider
nagyúr
válasz
WonderCSabo
#2051
üzenetére
első fragmentről szeretném átadni egy ID-t a másiknak, és így új feltételt megadni a loadernek, ami szerint szelektáljon
az a baj, hogy valamiért nem kapja meg az ID-t a második fragment... csak nullt
-
eastsider
nagyúr
válasz
WonderCSabo
#2048
üzenetére
az Activityben nem kell semmi pluszt implementálni?
itt adnám át az értéket (PicFragment)
PicFragment fragment = new PicFragment();
Bundle bundle = new Bundle();
bundle.putLong("f_id",getListAdapter().getItemId(position) );
fragment.setArguments(bundle);
Log.i(TAG,"f_id"+bundle);
((FilmActivity) getActivity()).switchFragment(2);
(onitemclick), logCAT ki is írjaide küldeném: FilmFragment
Bundle bundle = getArguments();
long i=0;
Log.i(TAG,getArguments()+"");
if(bundle != null){
i = bundle.getLong("f_id");
Log.i(TAG,getArguments()+"");
}
if (i>=0) {
select = "("+DbConstants.Pic_db.KEY_FILM_ID+" ="+i+")";
}else
select=null;(ez onCreateLoaderbeb van), és a loader inicializálásához kell a select feltétel..(adatváltozás)
hol kellene inicializálnom a loadert, hogy megkapja getArguments()-el az adatot? -
thon73
tag
válasz
WonderCSabo
#2045
üzenetére
Ja, nem erre használnék Loopert, attól függetlenül tűnt fel. Looperrel egy lineáris file írást akartam kitenni, hogy a számítások meg az írás külön szálon fusson. És csak küldözgetné a háttérszálra, ami kész van és ki kell írni...
Olymódon semmi gond, hogy le tudom állítani, csak nem is gondoltam rá idáig. Ha életben hagyom, akkor nem fog újabb és újabb szálakat indítani minden egyes Activity újraindítás? Vagy nem érdekes, mert eltakarítja, amelyikre nincs élő hivatkozás?A cikkekért köszönet, megint csak megvilágosodott egy-két dolog. Minél többet ismerek meg az androidból, annál nagyobb a rálátásom a saját tudatlanságomra...
-
thon73
tag
válasz
WonderCSabo
#2040
üzenetére
Bocs, átmenetileg net-mentes lettem...
Tehát, ha az elindított thread-ek tovább futhatnak, akkor azokat is illik leállítani onPause-ban? Ami meg hosszan kell azt indítsam service-ként? Eddig nem használtam Looper-t (vagy legalábbis nem tudtam róla), ez meg most elbizonytalanított...
-
Sianis
addikt
válasz
WonderCSabo
#2028
üzenetére
ButterKnife pehelysúlyúbb. Én is Annotations párti voltam, de mivel ez jóval kevésbé terhes dolog így inkább ezt szoktam már használni. Inkább olvashatóságot ad ez a kódnak, mint keretrendszert.
Sianis
-
Benex
senior tag
válasz
WonderCSabo
#1996
üzenetére
Köszönöm, megcsináltam és jól is működik

-
Benex
senior tag
válasz
WonderCSabo
#1994
üzenetére
KÖSZÖNÖM
sikerült! Viszont itt később, hogy tudom beállítani hogy ha már 1x Ok-ot nyomott az illető, akkor többszöri indításnál ne jöjjön fel az ablak??? -
Benex
senior tag
válasz
WonderCSabo
#1992
üzenetére
Hú az ilyeneket rég óta kerestem, csak nem tudtam milyen kúlcsszóval keressem

Amúgy ilyesmit szeretnék most csinálni(és API 8-től) , amin egy figyelmeztető szöveg van. -
Benex
senior tag
válasz
WonderCSabo
#1990
üzenetére
Megpróbálom , köszönöm
Öszintén még nem foglalkoztam az AlertDialog dolgokkal, eddig nem volt rájuk szükségem , és most kipattant egy ötlet és hát nem nyugszom amíg meg nem csinálom, de most neki vetem magam ennek a résznek.Köszönöm mégegyszer

-
raggg
senior tag
válasz
WonderCSabo
#1981
üzenetére
Az IntelliJ féle git plugin nagyon jó, de nekem akadnak vele gondjaim sajnos (pushnál/pullnál), úgyhogy ki kell lépni néha a filekezlőbe és onnan pusholni (én TortoiseGitet használok). Egyébként a többi funkciója hibátlan, ez valamiért néha be-be áll. Olvastam pár tippet, de továbbra is voltak gondjaim..
-
Karma
félisten
válasz
WonderCSabo
#1979
üzenetére
Eclipse alá közvetlenül is be lehet kötni a Gitet.
Én meg ezt az utat javasolnám, mint ahogy a Sub{clipse,versive}-et is előnyben részesítem a Tortoise és parancssoros megoldásoknál – hadd kezelje az IDE tisztán a refaktorokat, új fájlokat, stb.

-
thon73
tag
válasz
WonderCSabo
#1960
üzenetére
Pont ez az, ami a videon .50 körül van: drag&drop. Annyi a különbség, hogy itt az elemet hosszú nyomással, ott meg egy, az elején álló jellel fogjuk meg. Ez persze lényegtelen.
A listaelem kibontás is nagyon tetszik, (bár olyat szöveggel - lényegesen kevésbé animált módon - már csináltam.)
Köszönöm ezt is!Igaziból egy "todo" részt szeretnék csinálni az adatbáziskezelő segítségével, és ezzel könnyen be tudom állítani a manuális sorrendet. Meg persze lehet rendezni is mindenféle módon - de ez nagyon hiányzott.

-
eastsider
nagyúr
válasz
WonderCSabo
#1948
üzenetére
köszi ezeket ismerem, és tényleg nagyon jó
adott egy listview egy listfragmentem
alján egy footerview, ami kattintásra megnyit egy dialogfragmentet (egyelőre csak toastot jelenít meg)
megy is, DE ahogy rányomok nem jelöli ki úgy, mint a listánál, csak megjelenik a toast (magyarul nem szinezi a hátteret a footeren, csak meghívja a toastot..
hogy lehetne kijelölni? nem bírok rájönni...LayoutInflater inflater = this.getLayoutInflater(null);
mfooterView = inflater.inflate(R.layout.footer_view, null,true);
if (mfooterView != null)
this.getListView().addFooterView(mfooterView);
mfooterView.isClickable();
mfooterView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN)
{
mfooterView.isFocusableInTouchMode();
mfooterView.clearFocus();
Context context = getActivity().getBaseContext();
CharSequence text = "Hello toast!";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
}
return true;
}
});
próbáltam onclick listenerrel is, de ugyan ez. szépen megy, de nem színezi a hátteret -
eastsider
nagyúr
válasz
WonderCSabo
#1946
üzenetére
amúgy tényleg nagyon jó! jó magyarázatok, kódrészletek stb... ajánlott
esetleg angol nyelvű hasonlóan jó forrást tudsz a developer.android.com-on kívül? -
h1ght3chzor
őstag
válasz
WonderCSabo
#1942
üzenetére
Esetleg BME-s jegyzetet tudsz linkelni? Pár mondatban össze tudod foglalni nagyjából mire kell figyelni, hogyan kéne csinálni?
-
kemkriszt98
tag
válasz
WonderCSabo
#1937
üzenetére
Ok, kösz
-
eastsider
nagyúr
válasz
WonderCSabo
#1930
üzenetére
semmi. csináltam neki filtereket,
a toast se ír ki semmit az a legjobb
nem volt jó az oncreate param. listája
most végre ezt kapom
03-23 18:11:26.683: E/AndroidRuntime(1400): java.lang.RuntimeException: Unable to start activity ComponentInfo{hu.matemakaresz.analogue.note/hu.matemakaresz.analogue.note.FilmActivity}: android.view.InflateException: Binary XML file line #4: Error inflating class fragment
03-23 18:11:26.683: E/AndroidRuntime(1400): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)gondolom valahol nem jó az inflate
-
eastsider
nagyúr
válasz
WonderCSabo
#1928
üzenetére
le kéne futnia, de miért nem jelenik meg a log?
-
eastsider
nagyúr
válasz
WonderCSabo
#1926
üzenetére
valóban
az meg így néz ki
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main_list_contrainer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ListView android:id="@id/android:list"
android:layout_width="match_parent"
android:layout_weight="1"
android:drawSelectorOnTop="false"/>
</RelativeLayout>
nem tudom mi lehet a gond, azért az oncreatebe lévő lognak csak kéne működnie nem?
-
eastsider
nagyúr
válasz
WonderCSabo
#1924
üzenetére
köszi!
jogos!
de még mindig meg se mukkan

akkor máshol lesz a gond..
de a log szerint mintha az oncreate se futna le -
h1ght3chzor
őstag
válasz
WonderCSabo
#1918
üzenetére
A csatlakozás. Eseménykezelőre ezt írtam:
lv.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View viewClicked, int position,long id) {
TextView textview = (TextView) viewClicked;
String message = "You clicked # " + position + ", which is string: " + textview.getText().toString();
Toast.makeText(MainActivity.this, message, Toast.LENGTH_LONG).show();
}
}); -
kemkriszt98
tag
válasz
WonderCSabo
#1904
üzenetére
Na, az a helyzet hogy az eddigi probléma megoldódott... viszont egy másik jelentkezett... bár az preExecuteban meghívom az adapter deleteAll() fg.-jét mégis minden frissítésnél egyre többször írja ki a dolgokat a listába....
-
kemkriszt98
tag
válasz
WonderCSabo
#1911
üzenetére
Sok helyen meghìvtam már , de előfordulhat hogy ott még nem
ha haza érek kipróbálom -
kemkriszt98
tag
válasz
WonderCSabo
#1904
üzenetére
-
kemkriszt98
tag
válasz
WonderCSabo
#1897
üzenetére
Köszönöm, működik

-
kemkriszt98
tag
válasz
WonderCSabo
#1852
üzenetére
Nem igazán akar össze jönni.... az a fehér csík csak ott marad...
-
Karma
félisten
válasz
WonderCSabo
#1853
üzenetére
Meg ha megnézed a támogatott országok listáját, ott is látszik.

-
fatal`
titán
válasz
WonderCSabo
#1853
üzenetére
Aha, konzolon értesítés. Belépsz és baloldalon a hirdetmények között hozta.

(#1851) sutszi: Ezekhez nem szokás eseményt bejelenteni, folyamatosan bővül az országok listája, most ért ide.

-
kemkriszt98
tag
válasz
WonderCSabo
#1846
üzenetére
Akkor megmondanád hogy melyik a Title Bar?
Amúgy ez a fehér csík maradt helyette:
Ezzel mit lehetne kezdeni? -
h1ght3chzor
őstag
válasz
WonderCSabo
#1841
üzenetére
Köszönöm, beimportáltam, de mivel sajnos nekem csak emulatorom van, ezért csak ott tudom szimulálni. Esetleg tudtok javasolni beállításokat, amivel el is indulna? Mert jelenleg nem fut, pedig 4.4.2 api 19...
bluetooth binder is null hibaüzenet fogad, meg hogy ami most van virtual device nem jó neki.Vagy ez tényleg így van? The emulator does not support Bluetooth, as mentioned in the SDK's docs and on several other places.

-
thon73
tag
válasz
WonderCSabo
#1816
üzenetére
Csak együttérezni tudok.

A Support Fragmenttel én is tapasztaltam anomáliákat 2.3.x és 4-x alatt nem egyformán működött. A másik falba ütközésem a nested megvalósítással történt, így utólag valószínű pont emiatt. (Nem megfelelően állt fel a layout, különösen újraindításnál.) Én feladtam a nested variánst, azóta mindent szigorúan az Activity vezérel (szinte csak erre tartom
)
De elismerésem, hogy ezt így kibogoztad!!!
-
thon73
tag
válasz
WonderCSabo
#1814
üzenetére
Nem is rajzolnak a fragmentek, csak különböző paramézersorokat kérnek be, amiből összeáll a végén egy rajz. De azt nem is látom, csak a végére gyártja le, és mutatja meg az egyik fragment. De ez nem lényeges.
Az onResumeFragments azért kell, mert az onResume részig még nem álltak össze a Fragmentek, már amit a rendszer állít vissza.
Pont ez teszi nehézzé, hogy nincs olyan pont, ami még biztosan le[ut, de a Fragmentek már üzemkészek. Viazont kezdem átlátni, hogy két irányt kell elkészíteni. Az első elkészítéskor az onActivityCreate érheti el a másik Fragmentet ˙Activityn át), később viszont ekkor még nem látja az Activity a másik Fragmentet, tehát nekem kell explicite az OnResumeFragmentsben meghívnom egy adatokat beállító külön fragment metódust.
Ez a megoldás nem túl szép, szerintem a staticus mező tisztább! Köszi a segítséget, a beszélgetés nélkül még törtem volna rajta a fejem egy darabig. -
thon73
tag
válasz
WonderCSabo
#1812
üzenetére
Az, hogy lényeges különbség van a retained Fragment ELSŐ LÉTREHOZÁSA, és az összes többi VISSZAÁLLÍTÁS között.
Vagyis:
A Fragmentet először az Activity.onResumeFragments részben fogom megtalálni. Ha nincs meg, akkor itt kell először is létrehozni.
Ha nem volt meg, akkor a létrehozás után még semmilyen élitciklus nem fut le (majd csak az onResumeFragments UTÁN)
Ha viszont megvolt, akkor eddigre minden lefutott, beleértve a Fragment.onResume metódusát is.A konkrét próbálkozásban egy ListFragmentet készítettem, amelyik az adatait ebből a megőrzött globális adatállományból veszi (a végső megoldás mindig egy kicsit összetettebb persze). Ez azt jelenti, hogy valahol meg kell mondjam az adapternek, hogy hol vannak az adatai.
Az első létrehozáskor (persze ilyenkor az adatállomány még üres, de majdan ide fog bekerülni) nem lesz gond, hiszen mire a ListFragment életciklus részei lefutotnak, ott van az Activityből elérhető módon a másik, adatokat tartalmazó Fragment.
Minden további indításkor azonban mindkét Fragment végigfut az onResume-ig, mielőtt én egyáltalán látnám az adatokat tartalmazó Fragmentet az Activity.onResumeFragments részében! Vagyis nekem kellene kiadni egy pl. MyListFragment.onVariableReady() utasítást, ami betölti az adapterbe az immáron elérhető adatokat.
Ez a megoldás viszont az első indításkor nem lesz jó, hiszen még adapter sincs sehol!
Hozzáteszem: ez a ListFragment dolog valójában csak egy próba. Nekem egy sok részletből álló rajzot kellene elkészítenem, aminek az egyes részeit tudom egy-egy Fragmenttel megalkotni. Az alapadatokat természetesen mentem, de minden apró számítást nem akartam. Ettől a speciális problémától elvonatkoztatva a kérdés általános érvényű: hová tegyem a Fragment megőrzendő adatait, ha magát a konkrét Fragmentet nem akarom megőrizni ((mert pl. változik a gép fordításával))?
A static field egyébként jó ötlet, csak úgy emlékszem, valamiért (újra el kellene olvasni) kerülendőnek javasolta a hivatalos doksi. De ezt elő kéne ásni, lehet, hogy rosszul emlékszem...
((Bocs, ha kicsit bonyolult, már játszom vele egy ideje. Szívesen küldök kódot, de a sallangok, és próbálkozások miatt előbb ki kellene fésülnöm. Bár kivételesen a szöveg talán többet mond.))
-
thon73
tag
válasz
WonderCSabo
#1810
üzenetére
Miért ajánlgatja a doksi a retained Fragmentet, ha ilyen nehéz megoldani az elérését másik Fragmentből!?
A static field-es osztályt hogyan mentem meg biztonságosan? Átviszem az onSaveInstanceState-ben?
Menteni nem akartam, akár nagy is lehet a mérete. Ezek csak olyan "melléktermék" adatok, amik megkönnyítik, hogy nem kell mindent újraszámolni, ha egy másik Fragment nyílik meg, vagy ha újraindul az Activity. De a static field szimpatikus. Az végső soron az Activity-hez kapcsolható, semmi dolga a Fragmentekkel. Így csak az Activity-ig kell "visszanyúlnom" az adatokért.
-
bAtt001
addikt
válasz
WonderCSabo
#1805
üzenetére
végük csak tablelayout maradt hogy az jó, valahogy elbeszéltünk egymás mellett emailben vagy nemtom

-
bAtt001
addikt
válasz
WonderCSabo
#1800
üzenetére
akkor csak layoutos megoldás van erre, nincs kifejezetten olyan h table mint a textview vagy hasonló igaz? tablelayouttal próbálkoztam de konzulensem azt mondta az nem az igazi erre a célra
hát mi lehet jobb táblázathoz mint a táblázatlayout 
-
eastsider
nagyúr
válasz
WonderCSabo
#1771
üzenetére
köszi! közben rájöttem

-
eastsider
nagyúr
válasz
WonderCSabo
#1768
üzenetére
köszi!
hogy mióta keresem pont ezt!
-
fatal`
titán
válasz
WonderCSabo
#1768
üzenetére
Nekem csak crashelt néha a player.exe, együtt tudok vele élni. KitKat alatt még nem volt gondom vele, bár mostanában nem is igazán fejlesztettem.
Viszont a SIGSEGV hibák a 4.3 alatt még jelen vannak (a többi verziót nem érinti), dolgoznak rajta elvileg.
-
eastsider
nagyúr
válasz
WonderCSabo
#1762
üzenetére
köszi!
ezeket meg, de vannak vele gondjaim. de ez leginkábbis user error lehet gondolomigaziból nem sok értelmes samplet találtam, és egy spec. kamera alkalmazást szeretnék, amit egy alap kamera implementálással kezdenék
ez a genymotion nagyon szuper
köszönet a linkért -
Sianis
addikt
válasz
WonderCSabo
#1759
üzenetére
Ez kell nekem, kiváló. Kösz!
Sianis
Új hozzászólás Aktív témák
- Fejhallgatós találkozó
- Xiaomi 17 Ultra - jó az optikája
- Tőzsde és gazdaság
- Milyen légkondit a lakásba?
- One otthoni szolgáltatások (TV, internet, telefon)
- Path of Exile (ARPG)
- Horgász topik
- Autós topik
- Xiaomi 15T Pro - a téma nincs lezárva
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- További aktív témák...
- Szép HP 15,6"FullHD,11.generációs Intel GOLD 7705(4X3,5Ghz)UHD VGA,8-16GB RAM,512GB SSD,Jó akku
- HP 15,6"FullHD ,8.gen. Core i5(8X3,6Ghz)R5 m430 2/4GB VGA,8-32GB DDR4 RAM,SSD+HDD,jó akku,szép áll.
- Garanciális Gamer Számítógép, PC (RX 5700XT 8GB, R5 2600, 16GB RAM,SSD) Beszámítás! Posta ok (14)
- HP 15,6"FullHD,RYZEN 3(4X3,4Ghz),VEGA VGA,8-16GB RAM,256-512GB SSD,Jó akku,szép állapot
- ASUS Extreme N6600GT Silencer 6600GT 256 MB GDDR3 128 bit Retro VGA
- Xiaomi 14T 12/256GB - Kártyafüggetlen, Fekete, ÚJSZERŰ - 1 Év garanciával
- Clevo 1060 6GB Mxm 3.1 laptop videó kártya ingyen házhoz szálitással
- Tablet felvásárlás!! Apple iPad, iPad Mini, iPad Air, iPad Pro
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5060 Ti 8GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RTX 5070 Ti 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest







Nekem ott valami nagyon sántít.





