Beiträge von killphil75

    Android ist eigentlich nicht so gebaut, das du eine App wirklich beenden musst.
    Wenn das OS Speicher braucht und im Hintergrund Apps auf dem Stack liegen welche da so vor sich hin dümpeln, dann beendet er diese und gibt den Speicher frei.


    Wenn man selber Daten sichern bzw. wiederherstellen muss, sollte man sich mal auch mit onPause/onResume auseinander setzen.


    Im Internet kursieren noch ein paar Lösungen wie man die App im Taskmanager "abschiessen" kann, aber dieser Weg ist wegen oben genannter Funktionsweise nicht empfehlenswert.

    Achtung OT


    Grundsätzlich richtig, aber was passiert nach dem Verschicken ???


    Er versucht den Intent an den Mann zu bringen und das führt z.b. zum Erschaffen einer Activity.

    Code
    Intent web = new Intent(Intent.ACTION_VIEW, Uri.parse(targeturl));
    
    
    				  startActivity(web);




    Startet ja den Webbrowser, was ja letztendlich auch bloss eine Activity ist.


    ENDE OT




    Der Threadersteller möchte aber eine Instanz seines XML Dokuments / Klasse in der App erstellen und von allen möglichen Activies Zugriff auf dieses Objekt/Klasse haben, ohne sie ständig hin un her zu schubsen, wie gesagt klingt im Ansatz nach einer superglobalen Variable.

    Wie gesagt lies der mal den Link (bzw die Antwort im Link durch) da lösen Sie das Problem in dem sie die Variable im Application Context definieren und der hat über alle Activities hinweg bestand.

    Zitat

    Frage 1:


    Ist das so soweit erstmal sinnig, also insbesondere "doc" als Attribut
    anzulegen und dann direkt "aus der Activity heraus" zu parsen? Oder
    sollte man diese ganze Funktionalität irgendwie in einer weiteren Klasse
    "kapseln"?

    Activities enthalten Anwendungslogik, da kannst du das schon so machen. Wenn du diese Funktionaliät noch an anderer Stelle in deiner App brauchst, würde ich das aber immer in eine eigene Klasse kapseln, alleine schon wg der Übersichtlichkeit.



    Zitat

    Frage 2:


    Gesetzt den Fall, ich würde dieses doc nun auch in anderen Activities
    verwenden wollen (und z.B. auch ändern wollen), wie übergebe ich es dann
    sinnvollerweise an andere Activities?

    Dann schreib dein doc in eine Klasse, verpasse ihr die Möglichkeit Serializable zu sein und dann halt per putextra / getextra wie gehabt an andere Activities übergeben. (Komplexe Datentypen müssen dieses Interface besitzen.)



    Zitat

    EDIT Frage 3:


    Die letzte Frage ergänzend: Wieviel "Logik" was das Aufbauen
    irgendwelcher Verbindungen, das Parsen einer xml, ... angeht sollte denn
    die Activity überhaupt beinhalten?

    Siehe Frage1, das musst du selbst abschätzen wie und wo du doc noch einsetzen möchtest - wenn du es in eine Klasse kapselst hast du halt eine saubere Schnittstelle und gut ist. Du kannst Sie in deinem nächsten Projekt wiederverwenden.

    hmm was heisst nix zu befürchten ???


    Es kommt halt immer darauf an, für wieviele Plattformen du deine App anbieten möchtest. Die drawable Ordner in den verschiedenen Auflösungen machen schon Sinn:


    res/drawable-mdpi/my_icon.png // bitmap for medium density
    res/drawable-hdpi/my_icon.png // bitmap for high density
    res/drawable-xhdpi/my_icon.png // bitmap for extra high density



    du übergibst ja immer nur den qualifier @drawable/my_icon


    Android prüft jetzt selber welche Auflösung des Drawables passt und gut ist, falls es nur in einer Auflösung
    gefunden wird, nimmt er das und vergößert es bei Bedarf - wird dann halt manchmal pixlig wie sau...



    ------------------


    Die Frage des Ursprungs war ja nach res/layout


    und da kannst du ja selber entscheiden bzw. auch anpassen für welche Auflösung welches
    Design zum Tragen kommen soll.


    Stell Dir vor deine Schriftgrößen sind hardcodiert (was ja sowieso böse ist und du immer DP nutzen sollst)
    dann könntest du unterschiedliche Schriftgrössen in den unterschiedlichen Layouts einbauen.


    Das grundlegende Übel sind aber auch Tablets - die sind ja Standardmässig immer im Landscapemodus (10Zoll)
    und dein Handy ist ja meist Portraitmodus und diese Problematik kannst du z.B. auch mit verschiedenen
    Layouts umschiffen und so dem User ein besseres Nutzunggefühl zu geben.

    Wichtig: eine Activity ist ein in sich geschlossener Programmbaustein, da Android die komplette Speicherverwaltung übernimmt, kümmert sich Android auch darum ob die Activity in Speicher verbleibt oder nicht. Wenn der Speicher knapp wird, schmeisst er sie raus und wenn wieder darauf zugegriffen wird, feuert er ein onResume, bzw wenn Sie nicht mehr im Speicher ist ein onCreate.


    Wenn du den Zustand deiner Activiy speichern willst musst du dich selber drum kümmern, ebenso um die Übergabe von Daten (putExtra, getEtxra).

    Hat hier eventl schon mal Twitter bzw. Facebook in seine App eingebaut und ist dabei über eine vernünftige API gestolpert ???


    Mit vernünftig meine ich einfach zu verstehen und auf einem aktuellen Stand. (Facebook ändert ja permanent seine Zugangsbedingungen).


    Mein Ziel ist es die Wall (FB) bzw. die Tweets einer öffentlichen Seite zu lesen, antworten sprich selber tweeten/posten ist erst einmal sekundär.
    Vielen Dank



    phil

    :)


    Das hat nix mit der Zoll Größe zu tun, weil Android unterscheided nicht nach Zoll größen.


    http://developer.android.com/g…ices/screens_support.html


    die kennen nur small,normal, large, xlarge


    res/layout/my_layout.xml // layout for normal screen size ("default")
    res/layout-small/my_layout.xml // layout for small screen size
    res/layout-large/my_layout.xml // layout for large screen size
    res/layout-xlarge/my_layout.xml // layout for extra large screen size
    res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation


    und bei v-11 meint hier also nicht die Zollzahl, sondern haben die für Geräte mit der API>11
    ein eigenes Layout angelegt.



    der phil

    Code
    können Sie jedoch kostenlos bekommen.


    Das würde ich an deiner Stelle mal schnell umwandeln in "Können die Software 14 Tage kostenlos in der Proversion nutzen", einige Menschen könnten sonst verärgert sein, wenn die Software plötzlich nicht mehr geht. Das sind dann die Menschen die 1 Sterne Bewertungen vergeben, weil Sie für ein "Gefällt mir" auf der Facebook Seite "abgezogen wurden".




    PS: ansonsten, ein sehr schönes Stück Software - musste nur gerade feststellen, das ich von Winamp auf einen anderen Mediaplayer switchen muss :)

    Bevor du dich totsuchst ein kleines Beispiel


    Diesen Style habe ich zB meinen Themes definiert, bei background siehst du einen Verweis auf Drawables



    die dazu gehörige navbtn_custom.xml in Drawable sieht so aus - damit regelst du bei welchem Button State, die jeweilige Grafik genutzt wird



    oh mein gott noch mehr Verweise auf Drawables --- navbar background sieht jetzt zb so aus




    Ach so und in deinem XML layout musst du deinem Button natürlich den entsprechenden Style zu weisen.
    Du kannst die Zuweisung in Themes auch auf alle Button übertragen, falls gewünscht


    Code
    <Button
                	android:id="@+id/nav_home"
                	style="@style/NavButton"
                	android:layout_width="wrap_content"
                	android:layout_height="wrap_content"
                	android:drawableTop="@drawable/ki_home"
                	android:text="@string/ma_home" />


    -> in der Anleitung nehme die einfach ein Standard Linearlayout und hauen es da mit rein, entweder baust du in deinem Layout ebenfalls ein Platzhalterlayout mit ein (man kann ja Layoutverschachteln wie man möchte) und kreierst den AdMob View Dort. Das geht zb wenn das Ad immer an der selben Stelle erscheinen soll.


    Ansonsten Lösung 2 , du könntest ein Relatives Layout benutzen, dann klappt auch das "alignParent_dingsbums"


    -> also am besten mal danach suchen, RELATIV LAYOUT



    PS: ich benutze das z.B. um am unteren Bildschirmrand eine Toolbar festzupinen

    Zitat


    Könnte daran liegen das du den Cursor gleich im Anschluss wieder schliesst und somit deine Datenverbindung db->cursor->spinner einfach weg ist und der Adapter nicht mehr weiss was er darstellen soll.


    Cursor und DB brauchste erst beim verlassen der Activity schliessen.

    Hmm sehr sehr merkwürdig und alles andere was du in deinem Handlerkonstrukt manipulierst funktioniert ???
    Wenn du sagst im Singlestepping popt der Dialog auf. -> was sagt dir denn da der Debugger, inhalte der andern Vars.
    Kann ja dann nur der Dismiss relativ zeitnah erfolgen deswegen für das Auge nicht wahrzu nehmen.