- Vodafone mobilszolgáltatások
- Milyen okostelefont vegyek?
- iPhone topik
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- A Honor és a Huawei uralja a kínai mobilpiacot
- Olcsó 5G-s ajánlatot nyújt a Realme Indiának
- Samsung Galaxy A54 - türelemjáték
- Samsung Galaxy A53 5G - kevesebbet többért
- Apple iPhone 11 - népalma
- Fotók, videók mobillal
Hirdetés
-
Olcsó 5G-s ajánlatot nyújt a Realme Indiának
ma Megérkezett a Realme C65 5G, az első készülék a MediaTek Dimensity 6300-zal.
-
VR játék lesz az Alien: Rogue Incursion
gp Az év végén érkező program PC-re, Meta Quest 3-ra és PlayStation VR2-re érkezik a tervek szerint.
-
AMD Radeon undervolt/overclock
lo Minden egy hideg, téli estén kezdődött, mikor rájöttem, hogy már kicsit kevés az RTX2060...
Új hozzászólás Aktív témák
-
kltz
tag
válasz WonderCSabo #213 üzenetére
Csinálsz egy horizonttál linearlayout-ot és beleraksz annyi button amennyire szükséged van (súlyozással szépen belehet őket állítani ,hogy ugyan akkorák legyenek) és kódból lekezeled a gombokat úgy, hogy ami aktív annak click-ét tiltod és ha akarsz akkor cserélsz grafikát. (szép megoldásokat lehet kihozni belőle)
Én pl ezzel a megoldással 1-1 be portoltam a 4.x tab-okat.
Vagy van egy másik megoldás az ActionBarSherlock link
[ Szerkesztve ]
Üdv KLtz
-
Sianis
addikt
válasz WonderCSabo #213 üzenetére
1. Attól, hogy deprecated még használható. Ez ne tartson attól vissza, hogy megnézd, tanulmányozd.
2. Újféle módra meg ezt nézd meg. Kulcsszavak: ActionBarSherlock, ViewPager, ActionBar tab navigation mode.
Sianis
-
WonderCSabo
félisten
válasz WonderCSabo #360 üzenetére
Elnézést, picit félreolvastam, Ti nem magáról a JDK-ról beszéltek, hanem a VM-ről, amiből linuxra van Oracle JDK meg OpenJDK, eléggé megtévesztő módon. Igazából a kódbázis nagyrészben u.a., de az előbbi tartalmaz egy pár zárt forrású binárist. Én linuxon is az előzőt javasolom, gyorsabb, stabilabb. Igaz, hogy egy pár linuxos alkalmazás függősége az OpenJDK...
-
fatal`
titán
válasz WonderCSabo #360 üzenetére
Az az oracle (sun) jdk. Vagy rosszul tudom?
Szerk.: Aha, szóval a VM-ben van eltérés. Na így már érthető
Előbb-utóbb egyébként valamelyik API levelnél szerintem jó lenne, ha váltanának a 7-es javara a googlenél.
[ Szerkesztve ]
-
thon73
tag
válasz WonderCSabo #363 üzenetére
Köszi a válaszokat!
Hm. Úgy látom, a helyzet nem más, mint az angol oldalak véleménye:Legtöbben különböző (OpenJDK JDK 6-7, Sun JDK 7) javaval fordítunk, és úgy TAPASZTALJUK, hogy ez gond nélkül működik (én is). De biztosra nem tudjuk. (Ja: OpenJDK JDK 7 == Oracle JDK 7. Legalábbis ezt írták.)
Néhányan állítják (és indokolják), hogy csak a Sun JDK 6-t szabad használni. De a hibákról senki nem ír, csak annyit, hogy lehetnek!!
Ezek alapján én is használom eztán, úgy ahogy eddig, vagyis ahogy a rendszer éppen áll. (Jelenleg egyik Sun 7, másik Open 6)
Remélem, amikor a Sun 6 lejár, (néhány nap), a gugli megnyilatkozik is kijelenti a tutit! Addig is, ha valaki talál(na) hibát, vagy problémát a nem standard jdk mellett, legyen szíves szóljon, hogy mi is szemügyre vehessük! Egyébként volt már verzióváltás 1.5-ről 1.6-ra, reméljük 1.7-re is lesz!
Mellesleg az Android SDK-ban hol lehet közvetlenül beállítani az 1.6-os szintet? (Amit az Eclipse menüben) Tudja valaki? Bár nem próbáltam, de az SDK Eclipse IDE nélkül is tud elvileg programot készíteni... -
fatal`
titán
válasz WonderCSabo #378 üzenetére
Én azt hittem futásidőben szeretné. Nem tudom miből gondoltam
-
fatal`
titán
válasz WonderCSabo #392 üzenetére
Ezt még nem, köszi. Nem néztem ki belőlük, hogy van rendes tutorial, mert az oldal maga borzasztó gány Aztán lehet, hogy ebből nem lesz semmi, majd meglátom.
-
pittbaba
aktív tag
válasz WonderCSabo #433 üzenetére
Jogos, köszönöm!
PH Konfigom: Gigabyte GA-H97M-D3H, i7 4790K,GTX 960, Seasonic SS-620GM
-
sztanozs
veterán
válasz WonderCSabo #436 üzenetére
Androidon nem használtam még - de pc-n egy 700 MB-os adatbázis (4 tábla, egy 3,5 millió rekorddal és kb 60 mezővel, a többi ~100.000 rekorddal és 5 - 20 mezővel) szinte azonnal ad eredményt bármilyen összetett lekérésre, ha a indexelt mezők mentén van lekérdezve. Persze lehet, hogy androidra sz@rul van az sqlite optimalizálva...
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...
-
choco01
addikt
válasz WonderCSabo #461 üzenetére
Köszönöm!
Applikáció fejlesztés, weboldal készítés, SEO, Online marketing » https://petadev.com
-
CoolBoy323
nagyúr
válasz WonderCSabo #468 üzenetére
PHP-t ismerem úgy nagyon-nagy vonalakba...
Akkor kezdjek Java-t tanulni? Autodidakta módon lehetséges?
-
CoolBoy323
nagyúr
válasz WonderCSabo #472 üzenetére
én magyarul szeretném
-
Sianis
addikt
válasz WonderCSabo #603 üzenetére
Nem kell az ActionBarSherlock miatt plusz libet belehúzni. Illetve még ott van a Holo Everywhere. Valamint van egy olyan titkos vágyam, hogy megnézem, csak 4.0 felé lőtt appnak van-e esélye elterjedni.
Sianis
-
fatal`
titán
válasz WonderCSabo #685 üzenetére
Hali!
Még nem próbáltam, már megszoktam az eclipset. Hogy működik? Library projecteket kezeli? GIT support van?
Ha jól látom IntelliJ IDEA-ra épül, ami meg, ha jól tudom, akkor az Eclipsere, szóval olyan nagy varázslat ezekszerint nincs. Ellenben érdekelne, hogy mennyire herélték ki.
[ Szerkesztve ]
-
fatal`
titán
válasz WonderCSabo #687 üzenetére
Vagy csak támogatja a pluginjeit? Mintha ilyesmi rémlene.
De az is lehet, hogy teljes képzavar Amúgy mi a gondod evvel a (totál beta) cuccal?
-
SektorFlop
aktív tag
válasz WonderCSabo #685 üzenetére
Kipróbálom én is.
"Amikor már azt hittem kint vagyok, ezek mindig visszarántottak..."
-
SektorFlop
aktív tag
válasz WonderCSabo #689 üzenetére
Nekem nem indul el
"Amikor már azt hittem kint vagyok, ezek mindig visszarántottak..."
-
fatal`
titán
válasz WonderCSabo #736 üzenetére
A natív appoknak is javaban kell írni egy részét
-
pittbaba
aktív tag
válasz WonderCSabo #778 üzenetére
Köszönöm!
A httpclient végül jobb megoldásnak bizonyult, mert jobban tudom kezelni a különböző hibákat. Egyébként igen timeout, illetve wifiről való leszakadozás okozta a kivételeket.
Most feltettem egy webservert a telefonra, így biztos nincs wifiről szakadozásÚjabb kérdésem:
Async taskban szeretnék egy boolean-t ha feltételek rendben vannak átbillenteni igaz-ra, majd 6mp múlva visszatenni false-ra. Async taskban ha megjön a JSON eredmény rendben, akkor kell, hogy a változó 6mp-ig true legyen. Thread.sleep(6000); nem jó, az utána következő parancsok is azonnal futnak le, nem várakozás után. Ez miért lehet, illetve mi a megoldás? A timerre gondoltam, h 6mp-ként megnézi az értékét és ha true, akkor átbillenti false-ra, viszont ha a timer éppen a 4. mp-nél jár, amikor átbillen true-ra a változó, majd 2mp múlva teszi false-ra az nem jó nekem. Hogy szokás ezt megoldani?[ Szerkesztve ]
PH Konfigom: Gigabyte GA-H97M-D3H, i7 4790K,GTX 960, Seasonic SS-620GM
-
Sianis
addikt
válasz WonderCSabo #783 üzenetére
Feltételeztem, hogy az ASyncTaskot a főszálról indítja. És annak az onPostExecute része szintén ott fut. Illetve nem is feltétlenül lényeges hol fut, mivel egy static változó, jelen esetben boolean értékét bárhonnan meg tudja változtatni.
Sianis
-
thon73
tag
válasz WonderCSabo #823 üzenetére
Hát pont ez az! Miért szükséges, ha csak a Reader-t (tehát csak olvasást) szinkronizál, és közben a Writer-t (írás, de nem csak másik példány, hanem osztály) nem szinkronizálja? Nem hagyhatnám ki egy az egyben?
-
RexpecT
addikt
válasz WonderCSabo #844 üzenetére
Köszönöm .
-
thon73
tag
válasz WonderCSabo #852 üzenetére
Köszi! Jogos. Az Inherited Methods from java.lang.Object alatt szerepel, és a doksi egy szóval nem említi, hogy ez az osztály ezt nem valósítaná meg. Miután most a címét is tüzetesen elolvastam, valóban ott áll, hogy protected. Pedig olyan egyszerűnek tűnt...
A választ nagyon köszönöm, nem töröm rajta tovább a fejemet -
thon73
tag
válasz WonderCSabo #852 üzenetére
Egy RandomAccessFile objektumra lenne szükségem, több példányban. Vagyis: ugyanazt a file-t szeretném elérni, de különböző pontokon. A RandomAccessFile konstruktora vagy egy File vagy egy filenév paramétert kér. Eddig úgy oldottam meg, hogy ugyanahhoz a File-hoz több RAF-ot gyártottam le. Most viszont ezek az értékek nem állnak rendelkezésemre (vagyis külön kellene tárolnom őket), ezért örültem meg a clone-nak.
Semmi más módszert nem találtam arra, hogy a RAF objektumot megduplázzam - a belső adataihoz (értelemszerűen) nem férek hozzá. Függetlenül az én konkrét példámtól, ez más objektumokra is igaz.
Nincs véletlenül ötleted arra, milyen uton lehet/illik ezt megoldani? Vagy tároljam el mindig a file nevét, és akkor már tudok olyan osztályt bővíteni, ami implementálhatja a Clonable interface-t. De ez nem tűnik túl szép megoldásnak. Köszi! -
thon73
tag
válasz WonderCSabo #862 üzenetére
A jelenlegi 2x7 mega. Nincsenek benne a formázások, részletek stb.
Sokat gondolkodtam a tároláson, de mivel az adatok nem változnak, ezért tűnt ez a legcélszerűbbnek. Ha adatkezelés is cél lenne, sql-ben csinálnám.
A fenti módszer egyébként így működik, csak az osztály konstruktorába szerettem volna belebűvölni. Ja, és fontos előny, hogy egy keresésnél max. kb. 100 byte beolvasás kell! -
WonderCSabo
félisten
válasz WonderCSabo #874 üzenetére
Megnéztem most újra, én bénáztam el, jó a doksi.
-
negyedes
addikt
válasz WonderCSabo #893 üzenetére
hat nem, tudom mit masoljak be.
ez a main:
public class MainActivity extends FragmentActivity implements
PatientFrag.OnPatientSelect {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AppFolders foldercheck = new AppFolders();
foldercheck.updateExternalStorageState();
foldercheck.updateFolders();
DatabaseHandler db = new DatabaseHandler(this);
db.addPatient(new Patient("Noname1", "10.12.1978", "35", "/sdcard/dicomview/patient/0.dcm" ));
Log.d("Insert: ", "Inserting ..");
setContentView(R.layout.activity_main);
setContentView(R.layout.patient_layout);
// testing if the load is for the first time or a resume
if (findViewById(R.id.patient_list) != null) {
if (savedInstanceState != null) {
return;
}
}
// creating a first instance(pationt)
PatientFrag patientFrag = new PatientFrag();
patientFrag.setArguments(getIntent().getExtras());
// puts the patient_list fragment to the fragmentlayout
getSupportFragmentManager().beginTransaction()
.add(R.id.patient_list, patientFrag).commit();
}
public void patientSelect(int patientPos) {
// find the image fragment
ImageFrag imageFrag = (ImageFrag) getSupportFragmentManager()
.findFragmentById(R.id.image_view);
// verify iff image is opened
if (imageFrag != null) {
// if it is update it
imageFrag.updateImage(patientPos);
} else {
ImageFrag newFrag = new ImageFrag();
Bundle args = new Bundle();
args.putInt(ImageFrag.ARG_POSITION, patientPos);
newFrag.setArguments(args);
FragmentTransaction transaction = getSupportFragmentManager()
.beginTransaction();
transaction.replace(R.id.patient_list, newFrag);
transaction.addToBackStack(null);
transaction.commit();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}[ Szerkesztve ]
Három dolog biztos az életben: az adó, a halál és az adatvesztés. - Baráth Gábor
-
negyedes
addikt
válasz WonderCSabo #895 üzenetére
setListAdapter(new ArrayAdapter<String>(getActivity(), layout,PatientData.Names)); a names-el van baja mert azt egy masok classbol veszem.
Három dolog biztos az életben: az adó, a halál és az adatvesztés. - Baráth Gábor
-
negyedes
addikt
válasz WonderCSabo #897 üzenetére
azert null mert sehogy nem tudom atadni a stringet. a names statikus csak epp azt nem tudom hogy hogyan hivjam meg azt a fuggvenyt ami a neveket kiolvassa a db-bol
Három dolog biztos az életben: az adó, a halál és az adatvesztés. - Baráth Gábor
-
negyedes
addikt
válasz WonderCSabo #900 üzenetére
igen igy van, de akkor kezdi elorol a db miatt mert megint statikusrol hivatkozok nem statikusra, a this mar nem jo itt.
Három dolog biztos az életben: az adó, a halál és az adatvesztés. - Baráth Gábor
-
Karma
félisten
válasz WonderCSabo #903 üzenetére
Szerintem adatbáziskezelésből itt nem sokat láttunk, a dolognak már sokkal hamarabb véres a torka. Az életciklus, meg hogy ki hivatkozik kire elég fontos Androidon, különösen mert ilyen lábbalhajtós.
Ezzel együtt egyetértek, egy jó androidos mintából jobb kiindulni, mint egy desktopJava gondolatvilágból.
“All nothings are not equal.”
-
trisztan94
őstag
-
Ivitz
tag
válasz WonderCSabo #964 üzenetére
igen engedélyezve van és csak átdugtam a készüléket és semmi
Hová mész te kis nyulacska ingyombingyomtálibetutálibemáli...... :D :D
-
Karma
félisten
válasz WonderCSabo #967 üzenetére
Olyan nincs, hogy nem csinál semmit*, maximum tenni kell hogy látszódjon. Debuggerrel a kérdéses résznél akkor is azonnal világítana az exception, ha azt lenyeleti egy üres try-catch-csel (ami gondolom pont így van).
*: egy ilyen komplexitású kód legalábbis
“All nothings are not equal.”
-
caindwan
tag
válasz WonderCSabo #998 üzenetére
A kódrész 2 spinner item kiválasztásával egy képet jelenít meg. Legalábbis ezt kellene csinálnia
-
thon73
tag
válasz WonderCSabo #1024 üzenetére
Köszi, ez jó ötlet. De kicsit félreérthető voltam, én nem az Activity-n BELÜL szeretném megtudni, hogy eltűnt, hanem KÍVÜLRŐL szeretném látni, hogy most már eltűnt/újraindult. Csak olyan ötleteim vannak, hogy megnézem a futó task-ok között stb., de nincs erre valami fejlettebb fejlesztői megoldás?
Pl. az onActivityResult más módon (az on...-ok között más sorrendben) kerül meghívásra a két esetben; és szerettem volna kicsit körüljárni, hogy mi történik. De csak nagyon körülményes megoldásokat találtam. -
trisztan94
őstag
válasz WonderCSabo #1022 üzenetére
Ja csak ennyi? És akkor tudom használni? (gondolom clean kell, nem?)
https://heureka-kreativ.hu
-
trisztan94
őstag
-
negyedes
addikt
válasz WonderCSabo #1040 üzenetére
koszi szepen, vegul ijra irtam a queryt. de belefutottam egy ujabb bajba amit eddig nem vettem eszre:
adott a kovetkezo kod:
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View inbox_list,
int position, long id) {
final String messageInbox = "inbox";
TextView send = (TextView) findViewById(R.id.sender);
TextView date = (TextView) findViewById(R.id.date);
TextView subject = (TextView) findViewById(R.id.subject);
String messageSender = send.getText().toString();
String messageDate = date.getText().toString();
String messageSubject = subject.getText().toString();
intent.putExtra(EXTRA_MESSAGE_SENDER, messageSender);
intent.putExtra(EXTRA_MESSAGE_DATE, messageDate);
intent.putExtra(EXTRA_MESSAGE_SUBJECT, messageSubject);
intent.putExtra(EXTRA_MESSAGE_INBOX, messageInbox);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
});elmeletileg ez megnezni az aktualis click poziciojat es kivalasztja a textview-bol az ertekeket, de nekem allandoan az elso erteket adja meg.
hogy tudnam azt megcsinalni hogy minden uj clicknel a listaban a normalis ertekek keruljenek az extra-ba?
Három dolog biztos az életben: az adó, a halál és az adatvesztés. - Baráth Gábor
-
szabi__memo
nagyúr
válasz WonderCSabo #1096 üzenetére
Nem a google-t nem erdekli, hanem senkit. Es nem csak nalunk van ez hanem orszagok tucatjaiban. Es nincs fizetos ceg aki piacot nyujtana. Ne ez a dobbenet.
-
PandaMonium
őstag
válasz WonderCSabo #1096 üzenetére
Ez sajnos nem mentség arra a nem éppen maroknyi emberre nézve aki szeretne ilyesmiből élni (köztük én is). Persze, lehet, hogy csak pár százan lennénk ilyen magyarok és ez a Google-nek nem nagy szám, de nekünk már elég komoly probléma, 1 platformal kevesebb amire fejleszthetünk. Ha meg iOS-re akarok fejleszteni akkor mindenképp Apple OSX (laptop, iMac vagy Mac Mini) cuccomnak kell lennie (vagy Hackintosh-ozni, ami elég felejtős), mert hivatalosan ugye csak arról lehet iOS-re publikálni. Hihetetlen, hogy ezek a mobil platformok milyen feltételekkel léteznek... Marad a Steam, ahol a Greenlight-on már utcahossznyi tumultus van, az Xbox Live és még esetlegesen a Playstation Network ha ki tudja imádkozni az ember a Sony-ból, hogy regisztrált fejlesztő legyen és egyáltalán hozzáférést kapjon az SDK-hoz.
Ha már itt lyukadtam ki megkérdezem: Nem tudjátok, hogy az OUYA marketjére lehet-e fizetős cuccokat felrakni M.o. -ról? Mert ugye elvileg az is Android, de közben van saját marketplace-e.[ Szerkesztve ]
What I cannot create, I do not understand
-
fatal`
titán
válasz WonderCSabo #1096 üzenetére
Szerintem sokkal inkább a remek adótörvényeink az oka ennek.
Egyébként viszonylag kevés országból lehet fizetős appot publikálni.
-
negyedes
addikt
válasz WonderCSabo #1110 üzenetére
Koszi megvan.
Azt hogy tudnam elerni hogy az email appom egy resze mindig fusson es 10 percenkent megnezne hogy jott-t uj email attol fuggetlenul hogy az app fut vagy nem.
Három dolog biztos az életben: az adó, a halál és az adatvesztés. - Baráth Gábor
-
thon73
tag
válasz WonderCSabo #1116 üzenetére
Mindkettőtöknek nagyon köszönöm a segítséget; továbblökött a mélypontról. Ennyire nehéz hibakeresést még soha nem csináltam, ugyanis minden próbálkozás között újra kellett indítani a telót (ami kb. fél perc).
Bocsánat, az onPause irány véletlen volt (de egy fél nap keresés után már nem találtam más okot) ,valóban úgy tűnt, hogy az marad ki: a hiba CSAK leállításkor jelentkezett; az eclipse debugger nem követte ilyenkor az onPause-t (mint utóbb rájöttem: hiszen leállt), a Log-ot meg én bénáztam el. De a hozzászólásotok után végig belogoltam, és akkor kiderült, hogy onPause van, csak ami benne lenne - no az nincs.A tanulság kedvéért a hiba (egyébként utólag pofon egyszerű, de csapdás):
A program egy gigantikus RandomAccessFile-t ír/olvas az sd-n. (Ennyiben a felhasználói adatok azonnal kikerülnek.)
Az onPause részben (többek között) azt kell elmenteni, hogy valaki nem piszkál-e bele a RAF file-ba, amíg távol vagyunk. Ehhez mentem (név mellett) a méretét (File.length()) és az utolsó módosítás időpontját (File.lastModified()). Újraindításkor ezt ellenőrzi.
Ez a módszer prímán működik, amíg ki nem kapcsoljuk a telót.A gondot az jelentette, hogy a RandomAccessFile NEM szinkron írást csinál, sőt a close() után sem írja ki az adatokat! (Ezt bizonyára mindenki tudja, valószínűleg én is, csak nem gondoltam rá.) Véletlenül "rw" módot adtam meg az "rws" helyett.
Az érdekesség, hogy több hetes próbálgatás alatt is a nem-szinkron kiírás MINDIG bekövetkezett az onPause előtt, ha szabványosan léptem ki. Ha a telefont kikapcsoltam akkor SOHA nem következett be az aszinkron írás az onPause előtt (ezt két napja tudom).
((Megjegyzem, sehol nem találtam részletes dokumentációt arról, hogy pontosan mi és milyen sorrendben történik a kikapcsoláskor.))Van még egy probléma, ami komoly fejtörésre adhat okot: RandomAccessFile "rws" írásakor SEM stimmel a lastModified() érték a visszaolvasáskor!! Az esetek 90%-ban pontosan EGY másodperc (1000 ms) különbség van a két külön alkalommal visszaolvasott érték között!! Mivel a lastModified() érték MINDIG három 0-val végződik (vagyis nem ms, hanem másodperc pontos) valószínűleg a kerekítésnél lehet gond; de ezt nem tudom, csak gondolom. Hivatkozást nem találtam SGS2 és Note gépeken próbáltam.
Köszönöm, hogy kipróbáltátok, teljesen fals útról térítettek vissza; így jópár további óra alatt meglett a hiba!
-
Konair
csendes tag
válasz WonderCSabo #1127 üzenetére
Köszi, elvileg most lekérdeztem a telefon orientációját, de sajnos még mindig nem tudom, hogyan számoljam ki vagy forgassam el a tengelyt. Erre esetleg lenne valakinek ötlete?
Weboldal készítés felsőfokon...
-
trisztan94
őstag
válasz WonderCSabo #1142 üzenetére
"tap to restart" funkció, tehát, hogy akárhova nyom a képernyőn, azt nézze.
Végül megoldottam, nem a textúrára kellett az inputListener. Szimplán implementálni kellett az InputProcessor osztályt az osztályomban, kigenerálni a metódusokat (touchDown, mouseMoved, stb) és akkor az egész képernyőre megy a listener.Itt van ezzel kapcsolatban a SO kérdésem, amit meg is válaszoltam.
Más:
Exportálni akarom a játékot, mint apk. Kér valami Keystroke-ot. Az micsoda? Mire való?Illetve kér még több adatot, ha új keystroke-ot akarok csinálni, azok micsodák?
Alias - ez gondolom az app neve, nem?
Validity?Amikor kitöltöttem ezt az oldalt is, akkor viszont egy ilyen hibát dob:
"keytool error: java.io.IOException: Incorrect AVA format."Ez gondolom a kiválasztott keystroke formája lesz, mert nem volt kiterjesztés amikor mentettem a fájlt. MIlyen kiterjesztés kell neki?
https://heureka-kreativ.hu
-
moli.hu
őstag
válasz WonderCSabo #1142 üzenetére
-
WonderCSabo
félisten
válasz WonderCSabo #1156 üzenetére
Bocs kicsit elkapkodtam a választ és lejárt a szerkesztési idő. A linkelt cikk ugyanazt a célt szolgálja, de nem teljesen egyezik az általad mutatott mintával. Ez igazán pontosan a static factory method pattern. Ez a SO válasz szépen leírja az általános használatát. Ha picit mélyebbre akarsz menni, akkor olvasd el az Effective Java erre vonatkozó részét.
Fragmentekre levetítve pedig itt és itt magyarázat.[ Szerkesztve ]
-
Sianis
addikt
válasz WonderCSabo #1157 üzenetére
Ezt a mondatot emelném ki rendkívül: "This Bundle will be available even if the Fragment is somehow recreated by Android.". Minden Fragmentnek kell lennie egy default konstruktornak, mert a rendszert azt fogja hívni bizonyos esetekben. És ha a fragment fel van készítve arra, hogy az argumentsből fel tudjon állni, no akkor van jól megírva a dolog.
Sianis
-
thon73
tag
válasz WonderCSabo #1157 üzenetére
Köszönöm, rengeteget tanultam! Sok példát elolvastam, de a static factory method kifejezést egyik sem említette, (csak használta.) De én nem ismertem, úgyhogy köszönöm!
Még egy kérdés: Ha jól látom, akkor általában static factory method esetén érdemes "elrejteni" a konstruktort. Fragment-nél ezt nem tehetjük meg, mert újraindításnál a rendszer a public konstruktoron keresztül indítja újra a Fragment-et.
De akkor miért készít egy csomó példa expliciten public konstruktort? Az üres, public, alapértelmezett konstruktor nem készül el automatikusan az osztályhoz? Tényleg ki KELL írni, vagy ez csak didaktikailag szerepel ott? (speciel nekem külön odaírás nélkül is működött)