Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem sa Activity-jima i Resource-ima na Androidu

[es] :: Java :: Problem sa Activity-jima i Resource-ima na Androidu

[ Pregleda: 1983 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mirko2109kg
Shumadija,Srbija

Član broj: 257960
Poruke: 81
95.180.19.*



+6 Profil

icon Problem sa Activity-jima i Resource-ima na Androidu20.01.2011. u 19:48 - pre 161 meseci
Unapred se izvinjavam modovima za eventualno otvaranje teme,na nesto slicno nisam naisao,kao i za eventualno pogresno mesto otvaranja teme.

Naime,imam problem sa razvojem jedne Android aplikacije. Sastoji se iz 2 Java fajla,za 2 prozora(forme,Activity-ja),i 2 .xml fajla,koji sadrze layout,svaki za svoju formu.

Potrebno mi je da klikom na ImageButton iz jednog Activity-ja(klase),odgovarajucu sliku postavim kao Background u drugom Activity-ju. Potrebno mi je samo parce koda,ili makar pojasnjenje,kako da pristupim resursima klase kojoj zelim da promenim Background. Izlizao sam IntelliSense,i Google do zla boga,pa ako neko zna kako bi to moglo da se resi,unapred hvala na pomoci.
 
Odgovor na temu

Ivan452
student

Član broj: 213419
Poruke: 28
*.dynamic.isp.telekom.rs.



+2 Profil

icon Re: Problem sa Activity-jima i Resource-ima na Androidu03.02.2011. u 02:04 - pre 160 meseci
Sto se tice ovog problema.

Postoji nekoliko nacina, ali da kazemo da je ovaj najrazumniji i najjednostavniji.
Pre nego sto pocnem samo prihvati da ja layout, .xml, activity, view ili kako god da se to ispravno zove zovem FORMA (to je ono sto vidis) :)

Recimo da imas 2 forme (tj 2 xml fajla ili kako god).
I da hoces sledecu funkcionalnost:
1. sa prve da predjes na drugu
2. sa druge da se vratis na prvu (ovo ne mora da se implementira jer te Back button na Androidu automatski vraca na predhodnu formu)
3. sa prve da promenis boju drugoj

Da krenemo redom.
Znaci napravis novi projekat i imas klasu prva.java koja izgleda:

Code:
public class prva extends Activity
{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.prva);    
    }
}


- imas prva.xml u kojoj ti se nalazi 1 LinearLayout i 1 TextViewer koji ti govori Hello world ili tako nesto.(obrisi taj textViewer)
- sada napravis novi fajl u res/layout i nazoves ga druga.xml. I krirace ti prazan fajl. A ti iz prva.xml kopiras kod u drugu i dobijes 2 .xml-a
- u prva.xml prevuces 2 Buttona i 1 EditText. (1 button za prelazak na drugu formu, 1 button za promenu boje i editText za mesto gde ces upisivati zeljenu boju).

- sada u /src/ gde ti je prva.java kreiras druga.java fajl koji ti izgleda:
Code:
public class druga extends Activity
{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.druga);    
    }
}


sada moras ovu klasu da registrujes u AndroidManifestu kao activity.
Udjes u AndroidManifest->tab Application->Add...Aplication i u Name* upises druga.

E sada ulazimo u prva.java kako bi obezbedili da klikom na button1 predjemo na drugu formu.
Prvo ti je potrebno da povezes dugme i da mu dodas onClickListener:
Code:
Button button1=(Button)findViewById(R.id.button1);
button1.setOnClickListener(this)       

Kada stavis da ti prva.java implementira onClickListener automatski ce ti biti ponudjeno da ti stavi nedostajacu metodu onClick(View v)
ona treba ovako da ti izlgeda:
Code:
public void onClick(View v) 
    {
        switch(v.getId())
        {
               case R.id.button1:
               Intent i;
               i = new Intent(this, druga.class);
               this.startActivity(i);
               break;        
        }
        
    }


I to ti je to sto se tice prelaska na drugu formu.


Menjanje boje drugoj formi.

Kako bi promenio boju moras informaciju o boji da cuvas u nekoj globalnoj promenljivoj. Ne mozes direktno iz prve forme da promenis drugoj formi boji (tj ne menjas formi direktno nego layoutu).
Najjednostavnije je da kreiras novu klasu Boja koja ce da sadrzi jednu static promenljivu tipa string npr. mojaBoja.
Boja u androidu se pamti na sledeci nacin #AARRGGBB RRGGBB ti je standardno RedGreenBlue a A ti je Alfa tj providnost. (tj pamti se kao neki int ali ovo je sasvim funkcionalno)
Sada kada upises neki string u onaj EditText i kliknes na dugme stavis da ti promeni promenljivu Boja.mojaBoja.
Znaci isto inicijalizujes button2, povezes ga, dodas mu onClickListener i otkucas u onaj onClick(View v):
Code:
case R.id.button2:
Boja.mojaBoja=editText.getText().toString();
break;


I onda je ostalo jos samo malo izmene u druga.java i druga.xml Koraci su sledeci:
-udjes u druga.xml, levim klikom na LinearLayout mu dodas ID. (npr layout)
-potom se vratis u druga.java i dodas u onCreate sledece:
Code:
LinearLayout layout=findViewByID(R.id.layout)
layout.setBackgroundColor(Color.parseColor(Boja.boja))


Samo obrati paznju da je ovo okvirni kod, pisan pola 'na slepo'. Moraces da uskladis imena promenljivih i da includujes odredjene pakete (za Color, Button i sl) mada ce ti Eclipse sam da odradi.

Pozdrav!



 
Odgovor na temu

mirko2109kg
Shumadija,Srbija

Član broj: 257960
Poruke: 81
95.180.52.*



+6 Profil

icon Re: Problem sa Activity-jima i Resource-ima na Androidu14.02.2011. u 19:02 - pre 160 meseci
Hvala na odgovoru. Vec sam bio digao ruke da ce iko odgovoriti,pa malo kasmin sa reakcijom ;)

Inace,jako razumljiv mini tutorial,i verujem da ce i drugima koristiti. Hvala na tome :)

Samo jos jedno pitanje,ako bih recimo hteo umesto boje da menjam sliku,samo dodam toj slici ID,i obracam joj se putem tog ID-a,jel tako?

Pozdrav
 
Odgovor na temu

Ivan452
student

Član broj: 213419
Poruke: 28
*.dynamic.isp.telekom.rs.



+2 Profil

icon Re: Problem sa Activity-jima i Resource-ima na Androidu14.02.2011. u 23:40 - pre 160 meseci
Pa da. Ali ono, stavis ImageViewer pa njemu menjas src sliku.
 
Odgovor na temu

[es] :: Java :: Problem sa Activity-jima i Resource-ima na Androidu

[ Pregleda: 1983 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.