Brausebernd
- Forum-Beiträge: 14
26.09.2012, 15:28:53 via Website
26.09.2012 15:28:53 via Website
Hallo,
ich habe mal wieder ein Problem mit meiner Server- Client- Anwendung.
Ich empfange in meiner Main Activity (Start), mit Hilfe eines Handlers, wechselnde Daten vom Server.
Diese kann ich mir auch Problemlos anzeigen lassen.
Nun möchte ich meine Anwendung um eine weitere Activity (Anzeige) erweitern und die wechselnden Daten dorthin übergeben.
Ich habe es versucht so zu realisieren:
Start (Main Activity)
Das habe ich so realisiert:
Das Problem liegt jetzt darin, dass immer wieder die Activity Anzeige aufgerufen wird wenn sich die Daten im Handler ändern.
(Wenn ich die App beenden möchte muss ich erst x Seiten schließen um diese zu beenden)
Frage:
Ist Intent der richtige Gedanke?
Wie kann ich aus der Activity Start einmalig die zweite Activity aufrufen und (im Hintergrund) die wechselnden Daten übergeben?
Gruß
Brausebernd
ich habe mal wieder ein Problem mit meiner Server- Client- Anwendung.
Ich empfange in meiner Main Activity (Start), mit Hilfe eines Handlers, wechselnde Daten vom Server.
Diese kann ich mir auch Problemlos anzeigen lassen.
Nun möchte ich meine Anwendung um eine weitere Activity (Anzeige) erweitern und die wechselnden Daten dorthin übergeben.
Ich habe es versucht so zu realisieren:
Start (Main Activity)
1public class Start extends Activity
2{
3
4 final Handler myHandler = new Handler()
5 {
6 @Override
7 public void handleMessage(Message msg)
8 {
9 String s = (String)msg.obj;
10 Intent in = new Intent(Start.this,Anzeige.class);
11 in.putExtra("string", s);
12 startActivity(in);
13
14 }
15 };
16
17
18 public void onCreate(Bundle savedInstanceState)
19 {
20 super.onCreate(savedInstanceState);
21 setContentView(R.layout.start_main);
22
23 Verbindung verbindung = new Verbindung(myHandler);
24 verbindung.start();
25
26 }
27}
In der zweiten Activity will ich mir nun die wechselnden Daten in einem TextView anzeigen lassen.2{
3
4 final Handler myHandler = new Handler()
5 {
6 @Override
7 public void handleMessage(Message msg)
8 {
9 String s = (String)msg.obj;
10 Intent in = new Intent(Start.this,Anzeige.class);
11 in.putExtra("string", s);
12 startActivity(in);
13
14 }
15 };
16
17
18 public void onCreate(Bundle savedInstanceState)
19 {
20 super.onCreate(savedInstanceState);
21 setContentView(R.layout.start_main);
22
23 Verbindung verbindung = new Verbindung(myHandler);
24 verbindung.start();
25
26 }
27}
Das habe ich so realisiert:
1public class Anzeige extends Activity
2{
3 private static TextView text;
4 String s;
5
6 public void onCreate(Bundle savedInstanceState)
7 {
8 super.onCreate(savedInstanceState);
9 setContentView(R.layout.anzeige_main);
10 text = (TextView) findViewById(R.id.text);
11
12 if(getIntent().hasExtra("string") == true)
13 {
14 s = getIntent().getExtras().getString("string");
15 }
16 text.setText(s);
17
18 }
2{
3 private static TextView text;
4 String s;
5
6 public void onCreate(Bundle savedInstanceState)
7 {
8 super.onCreate(savedInstanceState);
9 setContentView(R.layout.anzeige_main);
10 text = (TextView) findViewById(R.id.text);
11
12 if(getIntent().hasExtra("string") == true)
13 {
14 s = getIntent().getExtras().getString("string");
15 }
16 text.setText(s);
17
18 }
Das Problem liegt jetzt darin, dass immer wieder die Activity Anzeige aufgerufen wird wenn sich die Daten im Handler ändern.
(Wenn ich die App beenden möchte muss ich erst x Seiten schließen um diese zu beenden)
Frage:
Ist Intent der richtige Gedanke?
Wie kann ich aus der Activity Start einmalig die zweite Activity aufrufen und (im Hintergrund) die wechselnden Daten übergeben?
Gruß
Brausebernd