Widget mit Activity?

  • Antworten:9
Peter BXXXXlke
  • Forum-Beiträge: 16

18.07.2011, 13:53:37 via Website

Hallo,

kann man auch Widgets mit Activity(ies) erstellen?


Grüße
Peter

Antworten
Daniel online
  • Forum-Beiträge: 282

18.07.2011, 14:04:33 via Website

Das sind zwei verschiedene Dinge.
Wenn du willst dass das Widget etwas macht kannst du das entweder in die onUpdate oder onReceive Methode schreiben. Das erstellen eines Timers ist auch eine gute Idee wenn etwas in einem regelmäßigem Abstand erledigt werden muss.
Ansonsten bietet sich auch noch ein Service hervorragend an.

Wenn du mir sagst was du genau machen willst kann ich dir vllt noch genauer helfen.

mfg,
Daniel online

Antworten
Peter BXXXXlke
  • Forum-Beiträge: 16

19.07.2011, 10:03:41 via Website

Ich wollte ein Liste mit Musikdateien in einem ListView anzeigen lassen.
Nach deinem Hinweis mit den Services hab ich mir mal Google zur Brust genommen und es ausgequetscht. Es wusste allerdings nicht so viel.
Kennst du ein Tutorial.... möglichst schon für 2.0 besser 2.2?


Danke
Peter

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

19.07.2011, 10:53:02 via Website

Peter BXXXXlke

Nach deinem Hinweis mit den Services hab ich mir mal Google zur Brust genommen und es ausgequetscht. Es wusste allerdings nicht so viel.


Danke
Peter

ist das dein ernst? wenn google darüber nichts weiß, wer sonst?

swordiApps Blog - Website

Antworten
Peter BXXXXlke
  • Forum-Beiträge: 16

19.07.2011, 10:55:49 via Website

Naja die Tuts waren halt alt (2007/2008) und einige Stellen hatten in der IDE Markierungen, was nicht ok ist. In den Kommentaren war auch nichts zu finden, um die Probleme zu lösen. Daher ging ich davon aus, das die für SDK-Version <6 sind.

Antworten
Daniel online
  • Forum-Beiträge: 282

19.07.2011, 11:15:51 via Website

Meinst du Api statt Sdk?
verstehe ich nicht ganz, was ist daran so schlimm wenn es für eine frühe Version ist. Android ist, so wie ich das verstanden habe, aufwärtskompitabel.
Meine App brauch auch nur Api 4.

Ja Google muss man manchmal schon ordenlich ausquetschen um das zu erfahren was man wissen will ;)

Aber nur um Musikdateien anzeigen zu können braucht man keinen Service. Beschreib mal genauer was der machen sollte.
Soll man nur drauf klicken können? Oder soll sich die ListView dauernd aktualisieren? ect...

mfg,
Daniel online

— geändert am 19.07.2011, 11:16:17

Antworten
Peter BXXXXlke
  • Forum-Beiträge: 16

19.07.2011, 11:20:01 via Website

ListView aktualisieren,.. nur auf Knopfdruck, abspielen sowieso..... ist ja für den MusicPlayer. Naja mit ner Activity gehts ja bei einem Widget anscheinend nicht. Wie gesagt, falls du was brauchbares an Lesestroff hast, nehm ich das gerne:)

Antworten
Daniel online
  • Forum-Beiträge: 282

19.07.2011, 11:30:50 via Website

okay gut.


Das man auf ein Widget klicken kann realisierst du in dem du in der onUpdate Methode ein Pending-intent erstellst:

1Intent intent = new Intent(context,kitchen_main.class);
2 PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
3
4 // Get the layout for the App Widget and attach an on-click listener
5 // to the button
6 RemoteViews views = new RemoteViews("Package-Name", R.layout.widget1);
7 views.setOnClickPendingIntent(R.id.widget1_layout, pendingIntent);
8
9 appWidgetManager.updateAppWidget(appWidgetId, views);

Das ist jetzt einfach mal Code von mir hier rüberkopiert.

Das sich das Widget aktualisiert funktioniert über einen Timer den du ebenfalls in der onUpdate-Methode erzeugst. Eine sehr gute Beschreibung findest du hier.

Falls du doch einen Service willst dann ist die Schlüsselfunktion eine RemoteView..

Ich hoffe das hilft dir weiter.
mfg,
Daniel online

Antworten
Peter BXXXXlke
  • Forum-Beiträge: 16

19.07.2011, 11:37:47 via Website

Danke,... dann schau ich mir das heute oder morgen abend mal an. Ziemlich verwirrend dieses Mobile-Javazeug, wenn man gerade mal so C# kann:)

Meld mich.

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

19.07.2011, 11:39:07 via Website

also wenn du c# kannst, bist du mit java fast auf dem gleichen level

das ist kein mobiles java, sondern echtes java :D

mobiles java wäre eher j2me, das ist ein krampf :D

swordiApps Blog - Website

Antworten