| |||||||
Das Thema "Wie programmiere ich eine sich peridisch aktualisierende Liste?" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer Benutzer Registriert seit: 07.02.2010
Beiträge: 4
Abgegebene Danke: 2
Erhielt 0 Danke für 0 Beiträge
| Noch ein Neuling - aber nicht weniger enthusiastisch ;-) Ich versuche Folgendes: 1. Eine initial leere List<String> 2. Periodisch (z.B. alle 2 Minuten) ein Element hinzufügen 3. Bei jedem Hinzufügen soll der Andriod-Listview aktualisiert werden Und hier meine Fragen: a) Wie füge ich periodisch im Hintergrund alle 2 Minuten ein Element hinzu? b) Wie sorge ich dafür, dass der View aktualisiert wird? Vielen Dank für jede Hilfe im Voraus. aka |
| | |
| | #2 (permalink) |
| Android Guru Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
|
a) timer b) adapter guck dir diese sachen an, dann hast du alles was du brauchst
__________________ App Entwicklung Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD ) |
| | |
| Folgender Benutzer bedankt sich bei swordi für diesen Beitrag: | arga8361 (07.02.2010) |
| | #3 (permalink) | |
| Fortgeschrittenes Mitglied Modell: Samsung Galaxy S I9000 Registriert seit: 12.09.2009
Beiträge: 444
Abgegebene Danke: 41
Erhielt 49 Danke für 36 Beiträge
| Zitat:
Code: class MeinThread extends Thread
{
public void run()
{
while(_run)
{
try
{
_view.extendList(); // eigene Methode die das neue Item hinzufügt
_view.postInvalidate(); // View updaten
_thread.sleep(/* Zeit in ms */); // Pause
}
} catch (InterruptedException e) {}
}
}
} Code: private MeinThread _thread = new MeinThread(); _thread.start(); - Using threads and ProgressDialog | Hello Android - Simple GoogleMaps with Threads :: anddev.org - Android Development Community | Android Tutorials - das beispiel Programm LunarLander aus der SDK anschauen mfg | |
| | |
| Folgender Benutzer bedankt sich bei Zonnex für diesen Beitrag: | arga8361 (07.02.2010) |
| | #4 (permalink) |
| Neuer Benutzer Registriert seit: 07.02.2010
Beiträge: 4
Abgegebene Danke: 2
Erhielt 0 Danke für 0 Beiträge
|
Hi Besten Dank für die Antwort. Was jetzt klappt ist Folgendes (übrigens: Wie mache ich hier schönes Java-Syntax-Highlighting mit BBcode ):Code: package sas.android;
import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.TextView;
public class Android005ThreadTest extends Activity implements Runnable {
private String message;
private TextView tw;
// private TextView tv;
// private ProgressDialog pd;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.tw = (TextView) findViewById(R.id.mytext);
this.tw.setText("Hello");
Thread thread = new Thread(this);
thread.start();
}
public void run() {
for (int i = 1; i < 100; i++) {
try {
Thread.sleep(800);
this.message = "Now: " + i;
this.handler.sendEmptyMessage(0);
} catch (InterruptedException e) {
}
}
}
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
tw.setText(message);
}
};
} Um zu modularisieren, möchte ich nun die ganze Thread-Geschichte in eine eigene Klasse packen, so wie von Dir vorgeschlagen. Allerdings verstehe ich das Folgende noch nicht:
Code: package sas.android;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.TextView;
public class Android005ThreadTest extends Activity {
private String message;
private TextView tw;
private Handler handler = new Handler() {
public String buffer;
@Override
public void handleMessage(Message msg) {
tw.setText(message);
}
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.tw = (TextView) findViewById(R.id.mytext);
this.tw.setText("Hello");
MeinThread thread = new MeinThread(handler,message);
thread.start();
}
} Code: package sas.android;
import android.os.Handler;
public class MeinThread extends Thread {
private Integer i;
private Handler handler;
private String message;
public MeinThread(Handler h, String message) {
this.handler = h;
this.message = message;
this.i = 0;
}
public void run() {
while (true) {
try {
this.i++;
this.message = "Now:" + i;
this.handler.sendEmptyMessage(0);
sleep(200);
} catch (InterruptedException e) {
}
}
}
} Was mache ich falsch, bzw. wie mache ich es richtig? Besten Dank für Eure Hilfe! aka |
| | |
| | #5 (permalink) |
| Android Guru Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
|
hmm in der überschrift steht, du willst eine liste machen und dann kommt im ganzen code keine liste vor ? irgendwie komisch denke ich ?
__________________ App Entwicklung Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD ) |
| | |
| | #6 (permalink) |
| Neuer Benutzer Registriert seit: 07.02.2010
Beiträge: 4
Abgegebene Danke: 2
Erhielt 0 Danke für 0 Beiträge
|
Hey, gut erkannt! Eins nach dem anderen, wie Du siehst, benutzte ich auch noch keinen ListView. Ich will erst einmal verstehen, wie das mit dem Threading funzt, dann kommt die Liste ;-) |
| | |
| | #7 (permalink) |
| Android Guru Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
|
vielleicht ist aber die verbindung der beiden sachen über adapter einfacher, als das was du hier versuchst
__________________ App Entwicklung Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD ) |
| | |
| | #9 (permalink) |
| Android Guru Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
|
aja wenn du alle immer nach x zeitabständen etwas tun willst, dann tu es lieber mit einem handler als mit thread.sleep().
__________________ App Entwicklung Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD ) |
| | |
| | #10 (permalink) | |
| Android Guru Modell: Galaxy Nexus, Galaxy Note, Galaxy Tab 10.1N, G-Slate Registriert seit: 27.02.2009
Beiträge: 3.230
Abgegebene Danke: 206
Erhielt 1.216 Danke für 308 Beiträge
| Zitat:
Dafür sollte man natürlich sich auch genau vor Augen halten, wie ein Thread bei Java funktioniert.
__________________ Zitat auf Engadget.com: They can crack military databases, but they still use paper... Android-Entwicklung und Beratung: Sera-Apps.de Twitter: SeraAndroid | |
| | |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Wie programmiere ich Plugins? | Samsung I7500 | Android App Entwicklung | 14 | 19.10.2011 09:59 |
| Wie installiere ich eine App? [Gelöst] | Silverback | Motorola Milestone Forum | 6 | 02.02.2010 00:42 |
| Wie signiere ich eine apk ? | MarcoNieddu | Android App Entwicklung | 10 | 10.08.2009 14:14 |
| Wie baue ich mir so eine Map-Item-Navigation | sumdroid | Android App Entwicklung | 4 | 24.04.2009 14:38 |
| Wie bekomme ich eine Verknüpfung zu einer Datei auf meinen ahome Desktop? | joschijoschi | Sonstige Apps & Widgets | 0 | 01.04.2009 20:21 |