1. Nimm jetzt an unserem AGM - Gewinnspiel teil - Informationen zum M1, A2 und A8 findest Du hier, hier und hier!
  1. andy572, 02.10.2010 #1
    andy572

    andy572 Threadstarter Android-Hilfe.de Mitglied

    Hi @all,

    nachdem ich bis eben vergeblich stundenlang im Internet gesucht habe, nun die
    Frage an Euch:

    Gibt es irgendwo eine gute Beschreibung, wie man ein "ordentliches" Widget auf den Home-Screen bekommt und dabei eigene Views nutzen kann ?

    Ich will einfach eine abgeleitete View in mein Layout packen, scheitere jedoch daran dass - zumindest der Emulator - die Class nicht inflaten kann (ClassNotFoundException), obwohl ich alles gemacht habe was so eine View braucht: 3 Constructors und ein Layout.
    Nehme ich die AnalogClock oder einen Button oder sonstiges Gedöns, wird das brav angezeigt - nur meine Implementierung nicht, die direkt von einer View kommt, da kommt sofort besagte Exception :(

    Bin für jeden Hinweis dankbar;)
     
  2. BenOtto, 02.10.2010 #2
    BenOtto

    BenOtto Android-Hilfe.de Mitglied

    Hier steht, dass bei Widgets nur die angegebenen Views erlaubt sind und keine Erben derer.
     
  3. andy572, 03.10.2010 #3
    andy572

    andy572 Threadstarter Android-Hilfe.de Mitglied

    Danke für den Hinweis... heißt das auch, ich kann auf einem Widget kein Canvas nutzen oder gibt es da einen Weg ?
     
  4. BenOtto, 03.10.2010 #4
    BenOtto

    BenOtto Android-Hilfe.de Mitglied

    Scheint so, also ob da hauptsächlich mit Bildern gearbeitet würde.
     
  5. andy572, 03.10.2010 #5
    andy572

    andy572 Threadstarter Android-Hilfe.de Mitglied

    Na gut, habe die Doku dann wohl richtig verstanden, dass lediglich bestimmte Layouts und nur bestimmte Elemente auf einem AppWidget genutzt werden können/dürfen. Das macht mein Widget gutgehend statisch - obwohl ich eigentlich ein Theming unterstützen wollte *grmpf*

    Danke an dieser Stelle.
     
  6. FelixL, 03.10.2010 #6
    FelixL

    FelixL Ehrenmitglied

    Theming sollte doch trotzdem gehen?!?
     
  7. ko5tik, 03.10.2010 #7
    ko5tik

    ko5tik Android-Experte

    Wenn der Widget hinzugefügt wird hast du die Möglichkeit via Konfigurationsaktivirtät
    Aussehen/Layout anzupassen. Ansonsten bleibt dir nur android.wiget.RemoteViews
    (ist aber ziemlich mächtig)
     
  8. andy572, 03.10.2010 #8
    andy572

    andy572 Threadstarter Android-Hilfe.de Mitglied

    @ko5tik: Danke, das hatte ich schon gelesen dass man da irgendwie Activities reinbauen kann die eine Konfiguration des Widget erlauben - ist aber erst Step 2 ... erstmal muss es (das Widget) funktionieren ;)

    Muss mich dann eh erstmal anlesen, wie man überhaupt in einem Widget Theming mit Grafiken unterstützen kann - bisher wollte ich Farben und Transparenzen auswählen lassen, aber da man auf dem Widget kein Canvas ansprechen kann ist das ja leider hinfällig.
     
  9. ko5tik, 03.10.2010 #9
    ko5tik

    ko5tik Android-Experte

    Also, du kannst BItmaps oder Images setzten, Texte verändern und Sichtbarjeit manipulieren - und soganr neue Views hinzufügen - das durfte reichen
     
  10. andy572, 04.10.2010 #10
    andy572

    andy572 Threadstarter Android-Hilfe.de Mitglied

    Vielen Dank für Eure Hilfe,

    werde mein angefangenes Widget bzw die Idee dahinter nun grundsätzlich verwerfen. Man kann mit den vorhandenen Werkzeugen einfach kein gescheites
    Widget programmieren ohne bereits an essentiellen Dingen zu scheitern.

    Nicht nur dass man lediglich ausschließlich und nur ganz bestimmte vorgegebene UI Elemente nutzen kann, nun kommt auch noch hinzu daß man auch keinen Timer(-Task) nutzen kann ohne dass der RAM des Phones den Bach runter geht,
    noch nicht mal ein Thread der im Hintergrund läuft würde da etwas dran ändern um doch noch ein Quäntchen Leistung auf dem Phone zu behalten ... Habe mein Widget mal "ge-debug-t" nachdem es halbwegs fertig war und konnte sehen wie der RAM immer mehr flöten ging: Ein Update eines Widgets im Sekundentakt macht es einfach unmöglich das Phone noch für was anderes zu nutzen:/

    schade eigentlich :(
     
  11. Fr4gg0r, 04.10.2010 #11
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    wofür braucht man ein widget mit sekunden updates..
     
  12. andy572, 04.10.2010 #12
    andy572

    andy572 Threadstarter Android-Hilfe.de Mitglied

    um zB eine Uhr zu basteln ? Mich nervt die Sense-UI Uhr so langsam, ne analoge TickTack will ich nicht und mir fiel eben ein, mir eine Binary Clock zu basteln.

    Als App läuft sie schon, will sie aber auf dem Home Screen nutzen und nicht nach einem Touch auf ein Icon ;)
     
  13. ko5tik, 04.10.2010 #13
    ko5tik

    ko5tik Android-Experte

    Wenn du die Sense-Widgets anschaust, sieht du das da kein Sekundenzeiger gibt.

    Bei meinen Text-Uhr Widget bestelle ich Updates minutenweise.

    http://www.yook.de/gethalbelf

    Du kannst 2-Gleisig fahren: Widget mit Updates 1xMinute und Als app sekundenweise
     
  14. Fr4gg0r, 04.10.2010 #14
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    binary clock mit sekudenanzeige :rolleyes2:
     
  15. andy572, 04.10.2010 #15
    andy572

    andy572 Threadstarter Android-Hilfe.de Mitglied

    Ich wollte aber gerne die Sekunden mit darstellen.

    Abgesehen davon: viellt. liegt's auch an Froyo auf meinem Magic: ich hab seit paar Tagen zig Meldungen im Debugger "process xxx has died". Klingt so, als hab ich eh schon die Grenze des RAM erreicht bevor ich da noch eine "Belastung" mehr installiere *hmpf*
     
  16. ko5tik, 04.10.2010 #16
    ko5tik

    ko5tik Android-Experte

    Ich habe mal eine Sternzeit-Uhr auf klingonisch gebastelt - allerdings als Java-Applet ;)

    (muss die Quellkode suchen, vor allem die Glyphs ;) )