- Hálózatokról alaposan
- Xiaomi AX3600 WiFi 6 AIoT Router
- Sokat fogyaszt az AI, egyre több az adatközpont, kell az atomenergia
- Az iPadOS-re írt appokra is díjat vet ki az Apple
- Letartóztatták a bitcoin-Jézust
- ASUS routerek
- Asustor NAS
- Súlyos adatvédelmi botrányba kerülhet a ChatGPT az EU-ban
- A pápa egyre jobban tart a romlott AI veszélyeitől
- Milyen program, ami...?
Új hozzászólás Aktív témák
-
Zedz
addikt
-
Karma
félisten
Mindenképp. Az alapokkal tisztában kell lenni akkor is, ha webes technológiával megy neki a fejlesztésnek az ember; ehhez meg célszerű ismerni legalább egy platform lelkivilágát meg mondjuk az MVC alapelveket.
Egyébként az Ionic Frameworkkel elég jó tapasztalataim vannak.
“All nothings are not equal.”
-
meone
tag
Köszönöm a tippet, nagyon jól működik.
Viszont felvetődött bennem egy kérdés miközben bedobáltam az eclipse-be más meglévő XML layout fájlokat.
A generált tartalmú R fájlban ezek a külsőleg bedobált fájlok megjelennek hivatkozásként?
Ha esetlegesen hivatkozni akarok rájuk miket kell még megváltoztatni,
hogy a program "észre vegye őket" és más layout fájlokba is használni tudjam őket?Elnézést kérek mindenkitől a helyes írásom ért :)
-
Karma
félisten
Igen, bekerülnek, amikor az R újragenerálódik (Anttal fordítás elején, Eclipse-ben azonnal kellene a fájlváltozáskor, de legrosszabb esetben egy Refresh után a res könyvtáron).
Ezen kívül semmilyen dolgod nincs, csak megfelelően hivatkoznod kell (név alapján) az új fájlokra. Pl. XML-ben <include> tag, és benne @layout/uj_layout_file, ha pl. a layoutod neve az volt, hogy uj_layout_file.xml. Java kódban meg R.layout.uj_layout_file lesz a konstans.
“All nothings are not equal.”
-
Zedz
addikt
Sziasztok,
Elkezdtem Androidozni, de máris egy érthetetlen hibába botlottam. Egy sima EditText-et írtam az xml-be, mire az Eclipsenek ez nem tetszik, ezt mondván:
Exception raised during rendering: java.lang.System.arraycopy([CI[CII)V
Exception details are logged in Window > Show View > Error LogNos, én utánanéztem mi nyűgje lehet, és elvileg layout renderelésnél az Android 4.4W-nek nem tetszik a dolog, gondolom a viselhető kütyükön nem lesz input. Azonban nem tudom kivenni azt a renderelés közül, hiába venném ki a pipát, nem történik semmi. Valami javaslat esetleg ennek megoldására?
-
thon73
tag
Van valakinek tapasztalata a View onMeasure() metódusában?
<FrameLayout android:id="@android:id/inputArea"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone">
</FrameLayout>Ebbe a FrameLayout-ba helyezek egy custom View-t, aminek semmilyen Layout paramétert nem adok meg. Ilyenkor - gondolom a Frame Layout miatt - teljes képernyőszélesség:MeasureSpec.EXACTLY és teljes képernyőmagasság:MeasureSpec.AT_MOST értékekeket kapok az onMeasure paramétereiként.
Hiába írom be a kép létrehozásánál pl. ezt:
boardView = new BoardView( this );
boardView.setLayoutParams( new ViewGroup.LayoutParams( 200, 200 ) );NEM 200x200-as kérést, hanem az előbbi értékeket kapom. (Akkor is, ha ViewGroup helyett FrameLayout-ot adok meg, hiszen az csak leszármazottja.)
Ezzel szemben, ha készítek egy res/layout xml-t, és ugyanezt a custom View-t abból (inflate-tel) készítem el, akkor figyelembe veszi a View-hez beírt layout paramétereket.
Két kérdésem van:
- Mit rontok el a programkódnál megadott paramétereknél, ami miatt nem veszi azokat figyelembe?
- Mikor vehetem biztosra, hogy a megkapott mérési értékek a teljes képernyő méretét fogják tartalmazni - már amennyiben semmilyen layout paramétert nem adok meg? (Az oké, hogy AT_MOST, meg EXACTLY jelzőkkel)Amúgy a kép arányaihoz akarom passzintani a View-t, ami rendben is működik - ha a második kérdésre "mindig" a válasz. A másik részt meg csak simán nem értem - eredetileg ezzel akartam volna biztosítani a második kérdést...
[ Szerkesztve ]
-
nagyúr
Sziasztok! Valaki fel tudná vázolni nekem, hogy mi a menete a google marketra való app feltöltésnek? Illetve hogyan tudok teszt appot kirakni és ahhoz ki férhet hozzá? Köszi!
-
Ablakos
őstag
Android stúdióban készített project nem ugyanolyan felépítésű, mint az eclipses? Importálás eclipsbe elég nehézkes vagy én szerencsétlenkedem?
-
meone
tag
Köszönöm valamiért Refresh után se csinálta meg.
Nem értem, hogy miért, így az egész projektemet át pakoltam Android stúdióra
és ott tökéletesen működik a linkelés ahogy létrehozom már aktív is az R-ben lehet rá hivatkozni.Elnézést kérek mindenkitől a helyes írásom ért :)
-
meone
tag
Sziasztok!
Programozás közben akadt némi gondom, és ehhez kéne segítség, esetlegesen valami javítás, hogy mit ronthattam el a kódban.
Adott ez a kód: TabView
A 173. sor tartalmazza ezt a kódot: continue Label_0072_Outer;
Erre az android stúdió azt mondja: Unreachable statement
Mivel nem vagyok benne profi így nem tudom, hogy ezt hogyan kell kijavítani.Ennél a kódnál pedig Station a 202. sorban ugyan úgy Unreachable statement van.
A következő programkódrészlet a 2. linkből van ki emelve a félkövérrel kiemelt értékeket pirossal aláhúzza a rendszer és nem tudom, hogy miért.protected void startAnimation(final String message) {
if (this.getResources().getConfiguration().orientation == 1) {
this.setRequestedOrientation([B]1[/B]);
}
else {
this.setRequestedOrientation([B]0[/B]);
}
if (this.dialog == null) {
this.dialog = new ProgressDialog((Context)this);
}
this.dialog.setMessage((CharSequence)message);
this.dialog.show();
}
protected void stopAnimation() {
if (this.dialog == null) {
return;
}
if (this.dialog != null && this.dialog.isShowing()) {
this.dialog.dismiss();
this.dialog = null;
}
this.setRequestedOrientation([B]4[/B]);
}A teljes megértéshez csatoltam az egész projekt java klasszait.:[link]
A segítségeket hálásan köszönöm előre is.
[ Szerkesztve ]
Elnézést kérek mindenkitől a helyes írásom ért :)
-
Karma
félisten
Egy kérdés, ami nagyon kikívánkozik: ezt a kódot, különösen a break labeleket, te írtad kézzel? Meg a static változóba lerakott adattagokat? Vagy ez egy visszafejtett projekt, amit elkezdtél kézzel reszelni?
Mert ha bármelyikre is igen a válasz, sőt, még anélkül is, nagyon javaslom hogy kuka az egész adatkezelésre és oldd meg rendesen. Például JSON-re a manuális feldolgozás helyett használd a Gson-t a modell osztályoddal és majd ő kitölti a mezőket.
A 173-as sort egyébként tényleg nem lehet elérni, hiszen előtte ott a return vagy a break minden esetben. A 202-essel ugyanez a helyzet, ott van előtte a return. A sor így felesleges. Egyben indikátora, hogy itt gondok vannak, nem kicsit.
“All nothings are not equal.”
-
meone
tag
Akkor kukázom a projektet.
Igen egy vissza fejtett kód ami el kezdtem reszelgetni.Mikor javítgattam már a kódot éreztem, hogy túl nőtt rajta a feladat.
Így el kell kezdenem kicsiben egyszerűbb alkalmazás fejlesztésével.Köszönöm azért a segítséget.
Elnézést kérek mindenkitől a helyes írásom ért :)
-
meone
tag
Pórbálok összerakni egy olyan kis kódot ami
2 EditText értéket visz át egy másik Activity-re és ott ki íratom m ind a kettőt.
Ehhez látom, hogy a putExtra()-t kell használni.
Össze is pakoltam tutorialok alapján egy kódot íme:public class MainActivity extends Activity {
Button Gomb1;
EditText uzenetmezo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button Gomb1 = (Button) findViewById(R.id.button1);
uzenetmezo = (EditText) findViewById(R.id.editText1);
Gomb1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String uzenet = uzenetmezo.getText().toString();
Intent intent = new Intent(MainActivity.this, MasodikActivity.class);
//intent.putExtras(intent, uzenet);
intent.putExtra("user", uzenet);
startActivity(intent);
}
});
}
}Esetlegesen ha több input mező van akkor tömbben kéne át adni az adatokat?
Próbálkoztam a putExtras paranccsal de azt nem tudtam megfelelően alkalmazni, szintaktikai hiányosságaim miatt.
Keresgéltem példakódokat, hogy az alapján át írom és módosítgatom, de még nagyon homály vagyok belőle. Hol találhatok valamiféle mintakódot vagy, hogy keressek erre rá?[ Szerkesztve ]
Elnézést kérek mindenkitől a helyes írásom ért :)
-
Karma
félisten
Valószínűleg túlkomplikáltad fejben. Ahány input meződ van, annyiszor hívd meg a putExtrát, más-más kulccsal. Ez a "user" kulcs nem tudom honnan jön, valószínűleg valami üzenettel kapcsolatosat akartál volna írni a kódodban.
Célszerű egyébként az extrák kulcsait public static final Stringekben tárolni, és változóként hivatkozni rájuk, mert akkor kisebb az elgépelés esélye.
Megpatcheltem a példád:
public class MainActivity extends Activity {
public static final String EXTRA_MESSAGE = "com.valami.MainActivity.EXTRA_MESSAGE";
public static final String EXTRA_TARGET_USER = "com.valami.MainActivity.EXTRA_TARGET_USER";
Button _button1;
EditText _messageText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
_button1 = (Button) findViewById(R.id.button1);
_messageText = (EditText) findViewById(R.id.editText1);
_button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String message = _messageText.getText().toString();
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra(EXTRA_MESSAGE, message);
intent.putExtra(EXTRA_TARGET_USER, ...); // peldaul
startActivity(intent);
}
});
}
}Bátorkodtam a magyar megnevezéseidet és inkonzisztens kis-nagybetűidet egységesíteni. Mindenkivel jót teszel, különösen magaddal, ha csak egy nyelven és csak egy stílusban írsz kódot.
“All nothings are not equal.”
-
laslie92
senior tag
Sziasztok! A segítségetek szeretném kérni van egy oldalam weboldal amit már optimalizáltam mobil kinézetre. Tök jól néz ki minden happy! De csak böngészőből! Szeretnék egy alkalmazást hozzá ami telepíthető és és még annyi ha írnak nekem üzenetet jelezzen nekem. Esetleg valaki eltudná mondani,hogy nehéz egy ilyet megoldani? meg lehet csinálni egy átlag felhasználónak vagy bízzak meg egy embert aki megcsinálná nekem?
Annyi könnyítésem esetleg akad hogy van egy komplett APK ami ugyan ezen az elven működik csak ugye az nem az én weboldalam hozza be!
Várom azok jelentkezését akik segíteni tudnak nekem.. Nem várom el ingyen Az oldalam mobilos nézete itt található www.laslie.net
Galaxy A33 5G , Asus Tuf Gaming FX505DU, Volkswagen Passat B6 3C
-
Zol77
aktív tag
Üdv ,
Szerintetek meg lehet módosítani a google camera-t, hogy telepítéskor a kép minősége az alap " Normál" helyett "Magas " legyen ? Vagy utólag is ,telepítés után is jó lenne,esetleg valami config fájlban,vagy bárhol.
Elmondom miért érdekes ez nekem:
Van egy Galaxy S3-am , ami prémiumgaranciás még 6 hónapig, ha rootolom,fw-t cserélek, ugrik a garancia.
A google camera csak 4.4 -től van, S3-on meg csak 4.3 van.
Most megyünk kirándulni,és van egy funkció , a photosphere , amit szeretnék használni,csak alapból a képminőség normálon van. Állítani ezt nem tudom,mert ha belépek a settingsbe, egyből fc-zik az app,viszont ha elkezdem a fényképezést,megy szépen,össze is rakja a gömbpanorámát ,az eredmény is jó, csak ugye nem a legjobb felbontásban.
Már az is szenvedés volt,hogy találjak olyan módosított google camera apk-t ,ami elindul root nélkül, és 4.4 alatt,de sikerült,most már csak valahogy fel kellene tornászni az alap "normál" képminőséget "magas" -ra.
Ez az a verzió,ami elindul 4.3-on, root nélkül (xda -ról van) : [link]
Már mérgemben majdnem vettem egy Nexus5 - öt, ezt meg nekiadom az asszonynak
köszi!
Z -
-
Karma
félisten
válasz laslie92 #2519 üzenetére
Egy értesítéseket fogadó alkalmazáshoz alapvetően három dolgot kell összekapcsolnod: a PHP-s webalkalmazásodat (továbbiakban webapp), a Google Cloud Messaging szolgáltatást (GCM), és az újdonsült Android alkalmazást (mobilapp).
A folyamat nagy vonalakban így néz ki:
1) A Google Developers Console-on regisztrálod magadat, és létrehozol egy azonosítót a webappnak (azaz a küldő félnek).2) A webappot kiegészíted két modullal:
a) az egyik a felhasználókat, azon belül a telefonjaikat gyűjti egy adatbázisba (innen fogod tudni, hogy hova kell küldeni az értesítéseket), és ehhez nyújt valamilyen web service-t a mobilappnak;
b) másrészt a tényleges küldést is a webappban kell megírnod: ha valaki kap egy új üzenetet, akkor meg kell nézni a DB-ben a hozzá tartozó telefont, és arra/azokra lőni egy üzenetet a GCM-en keresztül. Ez egyébként nem bonyolult, csak kell a webapp azonosítója, a címzett, meg a tartalom.3) Megírod a mobilappot.
a) Nem árt, ha a push fogadáson túl van más funkciója is, de ez most mellékes.
b) A mobilappnak regisztrálnia kell a GCM-hez (ez kód szempontjából egyszerűen, egy BroadcastReceiverrel és pár hívással megoldható). A GCM ad a telefonnak ad egy egyedi azonosítót, amit el kell juttatnod a 2a) pontban írt web service-en keresztül a szerverednek, hogy mostantól meg tudja címezni a telefont. A regisztrációnak egyébként illik minden alkalmazásinduláskor lefutnia, és az appnak frissítenie a szerveren a címét, mert változhat. Az se árt, ha közben belecsempészed a felhasználó nevét is.
c) Meg kell írnod, hogy mi történjen, amikor jön egy értesítés, például felraknod egy értesítést az értesítési sávra, vagy ha fut a program, egy dialógust feldobni. Az Android semmit se csinál meg helyetted.És igazából ennyi.
Vannak meglévő szolgáltatások, amivel a folyamat egyes részei felgyorsíthatóak/leegyszerűsíthetőek. Kettő jutott eszembe hirtelen, mert ezeket elég sűrűn használom: a PushBullet és az Azure Notification Hub.
A PushBullet egy önálló alkalmazás és pushküldő szolgáltatás, amivel regisztráció után bármit lehet küldözgetni magadnak az eszközeid, szervereid között. Ha csinálsz a webappodhoz egy modult, ami össze tud kötni egy felhasználót egy PB fiókkal, akkor tudnak értesítéseket fogadni iOS-en, Androidon és asztali böngészőkben is - és akkor nem kell saját appot írnod.
Az Azure Notification Hub meg a 2)-es pontot tudja lényegesen leegyszerűsíteni. Elvégzi az eszközök begyűjtését, karbantartását, és még a GCM-mel is beszél helyetted, cserébe használat alapon fizetni kell érte. De nagy tételben elég jó dolog.
Azt te tudod, hogy a konzerv social networködet mennyire tudod módosítani kézzel, nem tudom megítélni azt se, mennyi elszántságod van hozzá. Azzal nyugodtan számolhatsz viszont, hogy egy ilyen fejlesztés hatszámjegyű tétel, ha valakit keresel hozzá.
Egyébként ez milyen PHP motor? Több helyen láttam, de mindenhol már átírták benne a neveket, nem tudom mi az eredeti.
“All nothings are not equal.”
-
meone
tag
Köszönöm az általad módon megpróbáltam el készíteni a kódot és javítani.
Most a feldolgozóoldalon akadtak gondok ahol meg kell jeleníteni a beírt szövegeket.
Arra ezt a kódot eszkábáltam össze megint tutoriálok alapján.public class MasodikActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
String message2 = intent.getStringExtra(MainActivity.EXTRA_TARGET_USER);
setContentView(R.layout.activity_display_message);
Button Gomb2 = (Button) findViewById(R.id.button2);
TextView textView = new TextView(this);
TextView textView2 = new TextView(this);
textView.setText(message);
textView2.setText(message2);
Gomb2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
finish();
}
});
}A MainActivity végül is így pakoltam össze.
public class MainActivity extends Activity {
public static final String EXTRA_MESSAGE = "com.example.elsoakivi.MainActivity.EXTRA_MESSAGE";
public static final String EXTRA_TARGET_USER = "com.example.elsoakivi.MainActivity.EXTRA_TARGET_USER";
Button _button1;
EditText _messageText;
EditText _messageText2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
_button1 = (Button) findViewById(R.id.btSend);
_messageText = (EditText) findViewById(R.id.editText1);
_messageText2 = (EditText) findViewById(R.id.editText2);
_button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String message = _messageText.getText().toString();
String message2 = _messageText2.getText().toString();
Intent intent = new Intent(MainActivity.this, MasodikActivity.class);
intent.putExtra(EXTRA_MESSAGE, message);
intent.putExtra(EXTRA_TARGET_USER, message2);
startActivity(intent);
}
});
}
}Felvetődött bennem még kérdés.
A MainActivityn be kért adatokat ki íratom a MásodikActivity-n majd ezeket a ki írt adatokat szeretném ki írni egy harmadik aktivityn ami a 2.ból nyílik.
Ez lehetséges?
Vagy vissza kell térni Mainre és onnan kinyitni a harmadikat?Elnézést kérek mindenkitől a helyes írásom ért :)
-
Karma
félisten
1) A megjelenítéssel az a baj, hogy létrehozol TextView-kat kódban, beállítod a szövegüket, de aztán nem rakod őket sehova se. Azt felejtsd el, hogy kódban csinálsz ilyesmit! Erre való a layout XML, ott rakd össze a felületet!
2) Semmi akadálya annak, hogy a harmadik Activityt a második indítsa. Szabadon építheted láncba őket - ha a második elfinisheli magát a harmadik indítása után, akkor a visszagombbal az elsőre jutsz. Ha nincs finish, akkor 3 -> 2 -> 1 lesz a visszairány.
“All nothings are not equal.”
-
Hiderseek
újonc
Üdvözlet, 17 éves vagyok és android, főként játék fejlesztéssel foglalkozom egy ideje. Egy komolyabb projektbe kezdtem, amelynek megvalósítása tökéletes ütemben halad. Van szerencsére grafikusom, szóval a játék színvonalas lesz, remélem újat fog mutatni és használható ötleteket tartalmaz. (2D Platformer)
Mindegy, nem is ez a lényeg. Főként arról szeretnék kérdezni egy magyar fórumon is, hogy van e valakinek komolyabb tapasztalata a google play marketen, esetleg az android játékfejlesztésben.
Arra lennék kíváncsi, hogy mennyire van értelme egy nagyjából csak multiplayer játékot fejleszteni. (Lenne offline rész, de nem sok mindenre lenne jó.) A clash of clans példájából kiindulva nem elvetemült egy nagyjából csak multiplayer játék, de egy real-time nagyjából csak wi-fi-n.. én nem tudom.
A másik az lenne, hogy esélyeket latolgassak. Pénzt nem nagyon tudok áldozni, és marketinges tapasztalat nélkül őszintén nem is szeretnék. Minden tőlem telhetőt meg fogok tenni annak érdekében, hogy minél több emberhez eljusson, de az lenne a kérdés, hogy mégis mennyi esély van pénzes kampány nélkül odáig eljutni, hogy az IAP-ból legyen egy visszaforgatható bevétel.
Tételezzük fel, hogy egy kiemelkedő játékról beszélünk. Most nem azt mondom, hogy a játékom az lesz, mert ez szubjektív és nehéz lenne megállapítani.. csak tételezzük fel. -
sztanozs
veterán
válasz Hiderseek #2527 üzenetére
Ha pénzt szeretnél belőle és nincs tőkéd, akkor célszerű az összes bevételt az elején visszaforgatni marketuingbe. Népes felhasználói tábor nélkül nincs IAP bevétel. Másrészt célszerű, hogy IAP nélkül is játszható legyen, az IAP alapvetően csak a "gyorsítást" szolgálja. Ha van csak IAP-vel megszerezhető tartalom, akkor a felhasználói tömeg gyorsan le tud morzsolódni.
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...
-
meone
tag
Köszönöm.
Azt hittem csak a Mainből lehet leágaztatni és oda kell visszatérni de akkor másképp is lehet.
Próbáltam is összepakolni egy újabb kódot erre.A MainActivity tökéletesen át adja a két stringet a Második Activitynek ami meg is jeleníti, most azt szeretném megvalósítani, hogy a Második ugyan úgy meg jelenítse és ha a tovább gombra kattintok akkor a HarmadikActivity is megjelenítse.
Ehhez össze is pakoltam a Layotfájlokat azzal nincsen semmi gond.
A Második Activity így módosult úgy hogy már benne van a tovább lépő kód is.:public class MasodikActivity extends Activity{
TextView myView;
TextView myView2;
Button _buttontovabb1;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
String message2 = intent.getStringExtra(MainActivity.EXTRA_TARGET_USER);
setContentView(R.layout.activity_display_message);
Button Gomb2 = (Button) findViewById(R.id.button2);
myView = (TextView) findViewById(R.id.tView1);
myView2 = (TextView) findViewById(R.id.tView2);
myView.setText(message);
myView2.setText(message2);
_buttontovabb1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intenttovabb = new Intent(MasodikActivity.this, HarmadikActi.class);
startActivity(intenttovabb);
}
});
Gomb2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
finish();
}
});
}Próbáltam össze kombinálni a bezáró gombot és a tovább gomb kódját a két Activityben.
Nem sok sikerrel.
A harmadik Activity-t is be jegyeztem a AndroidManifest-be már.
A harmadikActivity ezt a kódot tartalmazza.public class HarmadikActi extends Activity {
TextView myView;
TextView myView2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_harmadik);
Button Bezar = (Button) findViewById(R.id.btvissza);
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
String message2 = intent.getStringExtra(MainActivity.EXTRA_TARGET_USER);
myView = (TextView) findViewById(R.id.tuser);
myView2 = (TextView) findViewById(R.id.tpass);
myView.setText(message);
myView2.setText(message2);
Bezar.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
finish();
}
});
}Elnézést hogy ilyen sokat kérdezek, de még az elején vagyok a dolognak utána már kevesebbet fogok, csak az elindulás nehéz most.
Elnézést kérek mindenkitől a helyes írásom ért :)
-
Hiderseek
újonc
A második activity-d. Ez alapján a harmadikat meg tudod csinálni.
Csak írd bele, hogy mit adjon tovább, és a harmadikban, ugyanúgy mint itt, jelenítsd meg.public class MasodikActivity extends Activity implements OnClickListener {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_message);
String message = getIntent().getStringExtra(MainActivity.EXTRA_MESSAGE);
String message2 = getIntent().getStringExtra(MainActivity.EXTRA_TARGET_USER);
findViewById(R.id.button2).setOnClickListener(this);
findViewById(R.id.buttontovabb1).setOnClickListener(this);
findViewById(R.id.tView1).setText(message);
findViewById(R.id.tView2).setText(message2);
}
public void onClick(View view) {
if(view.getId() == R.id.button2)
finish();
if(view.getId() == R.id.buttontovabb1)
startActivity(new Intent(MasodikActivity.this, HarmadikActi.class));
}
}[ Szerkesztve ]
-
meone
tag
válasz Hiderseek #2531 üzenetére
Köszi a segítséget.
Próbáltam reszelgetni a te kódodat, hogy tovább adja a 2 értéket a harmadik aktivitiynek.
Hiányosak az ismereteim sajnos.
Kerestem valami le írást is de nem értem a dolgokat.A kódnak a felhasználótól bekért értékeit már értem, hogy hogy pakoljuk be változóba.
Ezt a kód részletet is értem.public void onClick(View view) {
if(view.getId() == R.id.button2)
finish();
if(view.getId() == R.id.buttontovabb1)Azt viszont még mindig nem, hogy a már változóban benne lévő adatokat hogy pakolom be úgy az intentbe, hogy az jelen esetben a Harmadik ativitynek is érthető és feldolgozható legyen.
Mert így az üzenetek csak a MasodikActivityig jutnak el a harmadikba már nem érkeznek meg.
Most így fest a MasodikActivity kódja.public class MasodikActivity extends Activity implements OnClickListener {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_message);
String message = getIntent().getStringExtra(MainActivity.EXTRA_MESSAGE);
String message2 = getIntent().getStringExtra(MainActivity.EXTRA_TARGET_USER);
findViewById(R.id.button2).setOnClickListener(this);
findViewById(R.id.btTovabb1).setOnClickListener(this);
((TextView) findViewById(R.id.tView1)).setText(message);
((TextView) findViewById(R.id.tView2)).setText(message2);
}
public void onClick(View view) {
if(view.getId() == R.id.button2)
finish();
if(view.getId() == R.id.btTovabb1)
//startActivity(new Intent(MasodikActivity.this, HarmadikActi.class));
Intent intent = new Intent(MasodikActivity.this, HarmadikActi.class);
intent.putExtra(EXTRA_MESSAGE, messaget);
intent.putExtra(EXTRA_TARGET_USER, message2t);
startActivity(intent);
}
}Elnézést a sok értetlenkedésért.
[ Szerkesztve ]
Elnézést kérek mindenkitől a helyes írásom ért :)
-
Hiderseek
újonc
Az
intent.putStringExtra()
függvénynél két dolgot kér. Egy "kulcsot", amivel később azonosítani tudod. Jelen esetben, amikor meg akarod hívni, valamint magát az adatot amit tovább akarsz küldeni.Vagyis a getStringExtra()-nál ahhoz hogy beazonosítsuk, hogy melyik adatra van jelen esetben szükség, argumentumként megadjuk a "kulcsot", amihez társítottuk az adatot.
A te esetedben ez a kulcs egy string az első activityben. (EXTRA_MESSAGE) Így amikor bekéred vissza kell érte "nyúlni", valahogy így:
getStringExtra(MainActivity.EXTRA_MESSAGE);
a lényeg, hogy megadd a kulcsot, amihez társítottad amikor bekéred.Az EXTRA_MESSAGE az első activityben ebben az esetben lehet akármi:
public static final String EXTRA_MESSAGE = "enKicsiExtraUzenetem";Ha a masodik activityben ezt adod meg, ugyanúgy jó:
getStringExtra("enKicsiExtraUzenetem");public class MasodikActivity extends Activity implements OnClickListener {
private String message;
private String extraMessage;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_message);
message = getIntent().getStringExtra(MainActivity.EXTRA_MESSAGE);
extraMessage = getIntent().getStringExtra(MainActivity.EXTRA_TARGET_USER);
findViewById(R.id.button2).setOnClickListener(this);
findViewById(R.id.btTovabb1).setOnClickListener(this);
((TextView) findViewById(R.id.tView1)).setText(message);
((TextView) findViewById(R.id.tView2)).setText(extraMessage);
}
public void onClick(View view) {
if(view.getId() == R.id.button2)
finish();
if(view.getId() == R.id.btTovabb1) {
Intent intent = new Intent(MasodikActivity.this, HarmadikActi.class);
intent.putExtra("enUzenetemAMasodikActivitybol", message);
intent.putExtra("azEnExtraUzenetem", extraMessage);
startActivity(intent);
}
}
}intent.putExtra("enUzenetemAMasodikActivitybol", message);
intent.putExtra("azEnExtraUzenetem", extraMessage);Tehát, megadod a kulcsot, amely egy String és az adatot. Akármilyen kulcsot adhatsz, de ahhoz hogy a következő activityben be tudd kérni, azt kell megadni, amit hozzárendeltél
-
meone
tag
válasz Hiderseek #2533 üzenetére
Köszönöm most már legalább értem.
Viszont módosítottam a 3. activitim tartalmát az általad elmagyarázott kód alapján.
A rendszer valamiért mégse érti.
Mégse tudok "visszanyúlmi" a kulcsokért a másodikba
Az Eclipse valamiért a MasodikActivity-t aláhúzza pirossal.
A Masodik aktivitmet az általad mutatott példára módosítottam.
Íme a Harmadik aktivity tartalma:public class HarmadikActi extends Activity implements OnClickListener {
private String message;
private String extraMessage;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_harmadik);
message = getIntent().getStringExtra(MasodikActivity."enUzenetemAMasodikActivitybol");
extraMessage = getIntent().getStringExtra(MasodikActivity."azEnExtraUzenetem");
findViewById(R.id.btvissza).setOnClickListener(this);
((TextView) findViewById(R.id.tuser)).setText(message);
((TextView) findViewById(R.id.tpass)).setText(extraMessage);
}
public void onClick(View view) {
if(view.getId() == R.id.btvissza)
finish();
}
}Szerintem megint benéztem valamit ami kellet volna még ebbe a kódba.
Pedig azt hittem már legalább a harmadikat képes leszek egyedül összepakolni.
De nem.[ Szerkesztve ]
Elnézést kérek mindenkitől a helyes írásom ért :)
-
Hiderseek
újonc
Igen, az úgy nem egészen jó.
Így, ha nem tárolod változóban:
message = getIntent().getStringExtra("enUzenetemAMasodikActivitybol");
extraMessage = getIntent().getStringExtra("azEnExtraUzenetem");Ilyen pedig nincs:
MasodikActivity."enUzenetem"
MasodikActivity."azEnExtraUzenetem"
Mivel te a változóért nyúlsz, nem pedig egy értékért. A változóért, amelynek az értéke kell. Értedígy lehetne, ha a második activityben deklarálod a két változót, amelynek értéke a kulcsod.
2.Activity
public static final String enUzenetem = "enUzenetemAMasodikActivitybol";
public static final String enExtraUzenetem = "enUzenetemAMasodikActivitybol";3.Activity
Így tudod használni a második activityben lévő két változód.
MasodikActivity.enUzenetem
MasodikActivity.azEnExtraUzenetemmessage = getIntent().getStringExtra(MasodikActivity.enUzenetem);
extraMessage = getIntent().getStringExtra(MasodikActivity.enExtraUzenetem);[ Szerkesztve ]
-
Zedz
addikt
Sziasztok,
1 hete kezdtem el androidozni, tehát lehet elég alap lesz a kérdésem, viszont olvasgattam utána és még mindig nem teljesen világos a dolog. Az adattárolással ismerkedem most, az adatokat magában az appban (telefonon?) szeretném tárolni az SQLite segítségével.
Ez a fajta adatbázis pontosan hol tárolódik el? Találtam például egy több tutorialból álló sorozatot, és abban van szó többek közt erről is. Azt nagyjából értem, hogyha írni vagy olvasni szeretném az adatbázist, akkor példányosítom ezt az osztályt, majd meghívom a megfelelő metódust, de az nem világos, hogy akkor ha egyszer létrejön a db, akkor az valahol örökre ott lesz a telefonon, vagy app kreálja le minden indításnál?
-
-
meone
tag
válasz Hiderseek #2536 üzenetére
Köszönöm végre megértettem teljesen.
Tehát ha valami át akarok cipelni másik Activitybe akkor azt fel kell tolnom
jobb esetben egy public static final String-be.
A másik Aktivityből így visszatudok nyúlni érte.
Most már értem ezt a rész teljesen, és tudom is alkalmazni.
Legalább ez megy.Köszönöm.
Következő lépésen az lesz, hogy egy JSON tömböt megpróbálok feldolgozni amit egy weboldalról szedek le.
Tudom több lépcsős a probléma, és lesz vele szívásom rendesen.[ Szerkesztve ]
Elnézést kérek mindenkitől a helyes írásom ért :)
-
Ablakos
őstag
Hogyan tudok valódi képernyő forgatást emulálni a vd eszközön? ctrl + F11 stb. shortcutra elfordul, de a képernyő tartalom is Be van pipálva az automat. kép.forgatás a beállításokban.
[ Szerkesztve ]
-
WonderCSabo
félisten
Questoid SQLite Browser -rel meg tudod nézni a db-t az Eclipse DDMS-el perspectivében, ha kitallóztada db fájlt. Viszont ehhez alapvetően root jog szükséges az eszközön, mivel az appok belső db-jei védett helyen tárolódnak ( /data/data/<csomagnév>/databases/<db_név> ).
-
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?
[ Szerkesztve ]
-
Karma
félisten
Ha kicsiben csinálod, akkor a Nexusok elég jó választásnak számítanak, hiszen sokáig megkapják a legújabb OS-t. Ha viszont komolyabban bele akarsz folyni a piacba, előbb-utóbb célszerű lesz kiszélesíteni a palettádat kis/gyenge telefonokkal és csúcstelefonokkal is, mert egyrészt egy app jó, ha minden vason jól fut, másrészt rengeteg gyártófüggő meglepetést rejt az Android.
“All nothings are not equal.”
-
Zedz
addikt
Sziasztok ismét,
Jelenleg egy listába szeretném kiíratni egy tömb tartalmát, de mindig elszáll valamilyen hibával az appom. Itt van a kód amiből próbálom összetákolni. Egy tutorial alapján csinálnám, nem tudom mennyire jó a kód.
Új hozzászólás Aktív témák
- EDIFIER R1700BTS hangfal pár makulátlan, új állapotban, 2 év hivatalos garanciával, alkalmi áron
- LG OLED55B23LA 2 Év GYÁRI GARANCIA
- Apple iPhone XR 128GB, Kártyafüggetlen, 1 Év Garanciával
- Gamer PC , i7 12700KF , RTX 3080 Ti , 64GB DDR5 , 960GB NVME , 1TB HDD
- Intel PC , i5 8500 , 1660 6GB , 32GB DDR4 , 512GB NVME , 500GB HDD
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen