- Xiaomi 14T Pro - teljes a család?
- Milyen okostelefont vegyek?
- A sógorokhoz érkezik a kompakt Vivo X200 FE
- Csak semmi szimmetria: flegma dizájnnal készül a Nothing Phone (3)
- Okosóra és okoskiegészítő topik
- Apple iPhone 16 Pro - rutinvizsga
- Hat év támogatást csomagolt fém házba a OnePlus Nord 4
- One mobilszolgáltatások
- Fotók, videók mobillal
- iPhone topik
Ú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
őstag
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 legjobbnem 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 gondolom
igazibó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
Hirdetés
- Xiaomi 14T Pro - teljes a család?
- sziku69: Fűzzük össze a szavakat :)
- Óra topik
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- ASZTALI GÉP / ALKATRÉSZ beárazás
- Luck Dragon: Asszociációs játék. :)
- Ford topik
- Azonnali informatikai kérdések órája
- S.T.A.L.K.E.R. 2: Heart of Chornobyl
- A Micron újszerű módszerrel javítja QLC-s SSD-jének sebességét
- További aktív témák...
- BESZÁMÍTÁS! ASROCK H310CM i5 8400 16GB DDR4 256GB SSD 1TB HDD GTX 1060 3GB Rampage SHIVA TT 500W
- BESZÁMÍTÁS! Sony PlayStation4 PRO 1TB fekete konzol extra játékokkal garanciával hibátlan működéssel
- DDR3 BAZÁR! 8GB 16GB 1333MHz 1600MHz 2400MHz DDR3 memória garanciával hibátlan működéssel
- 121 - Lenovo Legion Pro 5 (16ARX8) - AMD Ryzen 7 7745HX, RTX 4070 (48 hónap garancia!)
- Dell USB-C dokkolók: (K20A) WD19/ WD19S/ WD19DC + 130W, 180W, 240W töltők
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged