Yorrick R.
- Forum-Beiträge: 60
02.02.2012, 21:12:25 via Website
02.02.2012 21:12:25 via Website
Hallo Leute, ich habe eine handvoll Fragen an euch:
1. In meiner App aktualisiere ich Daten über das Internet und ich hätte gerne, dass während die Methode ausgeführt wird, eine ProgressBar eingeblendet wird (egal ob Kreis oder Leiste, wobei mir diese in Kombination mit einem TextView am liebsten wäre). Ich versuche das indem ich während dessen in einem Frame eine ProgressBar initiiere und darunter in einem TextView den Text von " " auf "laden..." nach "fertig" ändere. Also:
Methode beginnt
-> ProgressBar wird erzeugt
-> TextView auf "laden..." gesetzt
-> Methodenzeugs wird gemacht
->ProgressBar wird entfernt
->TextView auf "fertig" gesetzt
Doch bisher friert die App während der Methode einfach nur ein und am Ende wird die GUI verändert. Also, man sieht dann nur "fertig".
Wie schaffe ich es, dass die GUI-Elemente "live" angezeigt werden und die GUI am besten nicht einfriert?
2. Ich würde gerne eine zeitlich begrenzte Beta an ein paar Freunde geben und habe versucht mithilfe von GregorianCalendar eine Überprüfung des Datums einzubauen. Ich habe die API so verstanden, dass wenn ich ein GregorianCalendar()-Objekt ohne Parameter startet, das aktuelle Datum übernommen wird. Ich versuche nun zwei GC-Objekte mit .equal() zu vergleichen, dies klappt aber nur, wenn ich beiden Parameter mitgegeben habe. Jemand eine Idee wie das klappt?
3. Ich würde gerne bei einem Klick auf ein ListActivity-Element ein ein E-Mailprogramm mit einer aus einer SQLite-Tabelle erhaltenen E-Mailadresse öffnen. Ich fand dann ein paar Beispiele die alle sehr ähnlich waren nur leider bekomme ich es nicht hin, dass die Adresse mit übergeben wird. Weiß jemand Rat?
Der Code:
Ich benutze momentan der Emulator und baue auf Android 2.2 auf.
Ach und wenn ich schon dabei bin: welches Layout eignet sich am besten wenn man in ListActivity-Einträgen mehrere TextViews(/andere GUI-Objekte) in einer Zeile, nebeneinander darstellen will?
1. In meiner App aktualisiere ich Daten über das Internet und ich hätte gerne, dass während die Methode ausgeführt wird, eine ProgressBar eingeblendet wird (egal ob Kreis oder Leiste, wobei mir diese in Kombination mit einem TextView am liebsten wäre). Ich versuche das indem ich während dessen in einem Frame eine ProgressBar initiiere und darunter in einem TextView den Text von " " auf "laden..." nach "fertig" ändere. Also:
Methode beginnt
-> ProgressBar wird erzeugt
-> TextView auf "laden..." gesetzt
-> Methodenzeugs wird gemacht
->ProgressBar wird entfernt
->TextView auf "fertig" gesetzt
Doch bisher friert die App während der Methode einfach nur ein und am Ende wird die GUI verändert. Also, man sieht dann nur "fertig".
Wie schaffe ich es, dass die GUI-Elemente "live" angezeigt werden und die GUI am besten nicht einfriert?
2. Ich würde gerne eine zeitlich begrenzte Beta an ein paar Freunde geben und habe versucht mithilfe von GregorianCalendar eine Überprüfung des Datums einzubauen. Ich habe die API so verstanden, dass wenn ich ein GregorianCalendar()-Objekt ohne Parameter startet, das aktuelle Datum übernommen wird. Ich versuche nun zwei GC-Objekte mit .equal() zu vergleichen, dies klappt aber nur, wenn ich beiden Parameter mitgegeben habe. Jemand eine Idee wie das klappt?
3. Ich würde gerne bei einem Klick auf ein ListActivity-Element ein ein E-Mailprogramm mit einer aus einer SQLite-Tabelle erhaltenen E-Mailadresse öffnen. Ich fand dann ein paar Beispiele die alle sehr ähnlich waren nur leider bekomme ich es nicht hin, dass die Adresse mit übergeben wird. Weiß jemand Rat?
Der Code:
1@Override
2 public void onListItemClick(ListView parent, View view, int position, long id){
3 Log.i(TAG, "onListItemClick");
4 /*String mail = lcursor.getString(4);
5 Log.i(TAG, mail);
6 Intent intent = new Intent(Intent.EXTRA_EMAIL);*/
7
8 Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
9
10 String[] recipients = new String[]{lcursor.getString(4)}; //original: String[] recipients = new String[]{"my@email.com", "",};
11 Log.i(TAG, lcursor.getString(4)); //Bekomme hier die gewünschte EMail korrekt angezeigt.
12
13 emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, recipients);
14
15 emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Test");
16
17 emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "This is email's message");
18
19 emailIntent.setType("text/plain");
20
21 startActivity(Intent.createChooser(emailIntent, "Send mail..."));
22 }
2 public void onListItemClick(ListView parent, View view, int position, long id){
3 Log.i(TAG, "onListItemClick");
4 /*String mail = lcursor.getString(4);
5 Log.i(TAG, mail);
6 Intent intent = new Intent(Intent.EXTRA_EMAIL);*/
7
8 Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
9
10 String[] recipients = new String[]{lcursor.getString(4)}; //original: String[] recipients = new String[]{"my@email.com", "",};
11 Log.i(TAG, lcursor.getString(4)); //Bekomme hier die gewünschte EMail korrekt angezeigt.
12
13 emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, recipients);
14
15 emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Test");
16
17 emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "This is email's message");
18
19 emailIntent.setType("text/plain");
20
21 startActivity(Intent.createChooser(emailIntent, "Send mail..."));
22 }
Ich benutze momentan der Emulator und baue auf Android 2.2 auf.
Ach und wenn ich schon dabei bin: welches Layout eignet sich am besten wenn man in ListActivity-Einträgen mehrere TextViews(/andere GUI-Objekte) in einer Zeile, nebeneinander darstellen will?
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.