Beiträge von Oxy

    Wenn du unter Linux entwickelts, kannst du dir so ein Setup ganz leicht selber erstellen. Einfach mehrere Projekte anlegen, welche jeweils eigene Resourcen nutzen aber alle per Symlink auf die gleichen Sourcen zeigen - fertig ist die Kiste.


    Unter Windows bist du natürlich im Ar***, da die Verknüpfungen einfach nur ein schlechter Witz sind...

    Vor ein paar Tagen hatten wir hier schon mal die Frage, wie man das Ding ausschaltet. Wenn du wirklich mal eine Fullscreen App, zb als Kiosk-System (sprich Präsentationsmoitor) brauchst dann macht das Sinn.


    Auisschalten war eher nicht mein Plan. Aber unter 3.2 blenden da einige Apps - ähnlich wie im Tray unter Windoze - dort eigene Symbole ein, auch wenn sie eigentlich gerade nicht benutzt werden. Sowas hätte ich auch haben wollen, aber die 2.1er-Kompatibilität ist mir wichtiger.



    Wenn du für 2.1 programmierst (genau wie ich), dann hätte ich kurz mal eine Frage, wie stellt er die "alten" Apps auf deinem 3.2 Tablet dar. Meine App ist immer im Portrait-Mode (halt wie ein Handy), wie läuft das bei Honeycomb - macht der ein Fenster auf oder stretched er das Fullscreen ???


    Die "alten" Apps werden alle im Portrait-Modus aber auf Fullscreen gestreckt dargestellt. D.h. ein Verdrehen des Tablets dreht die App nicht mit, man muss das Gerät also in jedem Fall hochkant halten. Ansonsten sehen die Apps aber nur sehr selten komisch aus, nur einige wenige kommen mit unscharfen Bildern daher, weil sie Bitmap-Grafiken enthalten, die dann zu stark skaliert werden.

    Hmm ich habe unten rechts keine Statusbar, :)


    du hast doch bestimmt ein Tablet mit HoneyComb oder ICS


    Jepp, es ist Honeycomb. Die "Statusbar" (weiß der Geier, wie das Ding richtig heißt) ist die gleiche Leiste unten am Bildrand, in der auch Home- und Backbutton drin sind. Und da blenden einige Apps auch ein eigenes Symbol ein. Wenn das unter Android 2.1 aber eh' noch nicht geht, ist das uninteressant für mich.

    Hi,


    wenn ich Google danach befrage finde ich irgend wie nur Seiten, in denen beschrieben wird, wie ein Symbol in der Statusleiste (unten rechts) aussehen muss, aber nicht, wie ich es dahin bekomme.


    Also frage ich mal hier: wie kann ich dort ein eigenes Symbol einblenden und darauf reagieren, wenn der User das antippt?


    Thx!

    Hi,


    wenn ein User sich irgend wo ein .apk-File herunterlädt, so wird dieses in der Regel automatisch installiert und kann dann vom Benutzer manuell gestartet werden.


    Für eine spezielle Applikation bräuchte ich das ein wenig anders: hier wäre es gut, wenn 1. der Benutzer gefragt wird, ob die App jedes mal automatisch gestartet werden soll und 2. wenn er dem zustimmt, diese dann auch per Autostart immer automatisch ausgeführt wird.


    Deswegen meine Fragen: geht sowas überhaupt? Wenn ja: wie?

    Schwer zu sagen, ohne deine genaue Anwendung zu kennen. aber wenn die App sowieso läuft während du auf PC-Seite an den Daten rumbastelst: mach' aus der App doch eine Server-Anwendung, die dann eingehende Verbindungen von den PCs samt Daten akzeptiert. Dann kannst du dir auch dein eigenes, auf deine Applikation angepasstes Protokoll basteln.

    Also mein Tablet fragt mich immer, ob es die SMB-Netzwerkfreigaben verwenden soll. Wenn das auch bei Smartphones Standard ist, ist das ja vielleicht ein Weg für dich? Ansonsten bleibt AFAIK nur HTTP...

    Hm, ich habe es mittlerweile mit einem Handler gelöst. Der Thread schickt eine Message an einen Handler, der sich im UI-Threadkontext befindet. Keine Ahnung, ob das eine optimale Lösung ist, aber es tut erst mal :)

    Hi,


    ich habe eine App, in der ein eigener Thread Daten sammelt, welche dann in Änderungen an der Oberfläche resultieren sollen (es werden neue View-Elemente zu einem bestehenden Layout hinzugefügt).


    Wenn ich das direkt aus dem Thread heraus mache, führt das logischerweise zu einer Exception.


    Aber: wie kann ich unter Android den Hauptthread benachrichtigen, so dass dieser aus seinem Kontext heraus die Änderungen an dem GUI vornehmen kann?

    ich hab heute mal deine Demo App ausprobiert aber leider hat die Positionsbestimmung nicht wirklich funktioniert.
    Wenn ich den Refresh button betätige blockiert der UI Thread und ich bekomme die Nachricht das ich entweder warten soll oder das App schließen.


    Hm, hast du Internet-Zugriff? Der wird z.B. zum Herunterladen der Karten benötigt, ansonsten kann es schon sein, dass die Demo-App sich ein bissl querstellt- so sauber ist sie dann auch nicht programmiert ;)



    Aber noch was anderes wenn ich die Lib in einem Projekt verwenden möchte muss ich dann das Android NDK in meinem Projekt verwenden?



    Nein, das funktioniert mit dem ganz normlen SDK und ist reiner Java-Code.


    p.s. Gibt es ne Doku oder Beispiele wie man die Lib verwendet?



    Im Android-Folder liegt ein README-File, aber im Prinzip sieht der Zugriff so aus:





    ...und diese Permissions werden benötigt:

    Code
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

    Danke!


    im Emulator bekomm ich es nicht zum Laufen, da er immer der Meinung ist ich habe eine 3G Verbindung - aber auf dem Gerät funktioniert es ohne Probleme



    Das dürfte daran liegen, dass der Emulator das ganze WiFi-Zeugs eh' nicht kann (weswegen er eigentlich Simulator heißen sollte).

    Hi,


    nach dem meine erste App fertig ist, darf ich die hier mal verlinken: http://www.openwlanmap.org/download.php


    Nach dem Start ermittelt diese die eigene Position (geht auch, wenn kein GPS vorhanden ist) und zeigt diese in einer Karte an.


    Das ist jetzt an sich nichts weltbewegend neues, allerdings funktioniert das komplett ohne Googles Location Based Services. Der große Vorteil: man kann ermitteln, wo man sich befindet, aber Google erfährt davon nichts (und kann dementsprechend auch keine Bewegungsprofile erstellen). Ich persönlich finde es praktischer, wenn Google nicht weiß, wann ich wo gewesen bin bzw. wie oft ich wo welche Geschwindigkeitsbeschränkungen mit dem Auto übertreten habe :)


    Die App selber ist nur eine simple Demoanwendung für die libwlocate (die zugehörige Klasse für Android heißt WLocate), welche sich um diese Geolokalisierung kümmert. Die gesamte Software ist frei, offen und ganz einfach zu verwenden, so dass jeder der so etwas benötigt die libwlocate in eigenen Projekten verwenden kann.

    Ich habe inzwischen einen Layoutparameter "weight" gefunden, mit dme lässt sich das auch lösen - damit kann man festlegen, wie viel Platz ein Element im Vergleich zu den anderen einnehmen soll.

    OK, ich habe was gefunden: es gibt für verschiedene View-Typen (inclusive Layouts) einen Parameter "weight", der dann innerhalb des LAyouts festlegt, wie stark sich das Element im vergleich zu allen anderen ausbreiten darf. Das ist zwar ein recht primitiver Ersatz für die Gewichtungen in X- und y-Richtung, die das GridBagLayout kennt, aber damit lässt sich zumindest schon mal was anfangen.

    Wenn ich nun den Fehler finden möchte und das Programm durchdebugge so passiert kein crash.


    Was heißt bei dir "durchdebuggen"? Wenn deine App normal im Debugger läuft und die Exception nicht auftritt, dann hast du ein echtes Problem. Wenn die Exception nur beim Singlestepping nicht auftritt: einfach mal ohne Unterbrechung laufen lassen und schauen, wo der Debugger im Falle der Exception stehen bleibt.

    Hi,


    ich habe ein ListView element, welches relativ viel Höhe und die gesamte verfügbare Breite einnehmen soll. Darunter möchte ich noch ein paar Buttons anordnen, welche horinzontal nebeneinander liegen sollen, insgesamt aber nur so wenig Höhe belegen, wie so ein Button eben braucht.


    Aber: wie geht das - mit welchem Layout lässt sich das machen?


    Oxy

    OK, der Sensormanager funktioniert, allerdings liefert mir mein WindowManager nach dem hochkant stellen des Gerätes seltsame Ergebnisse.


    So ist die neue Orientierung nicht etwa Configuration.ORIENTATION_PORTRAIT sondern Configuration.ORIENTATION_SQUARE. Dementsprechend sind Breite und Höhe des Displays nach dem Drehen auch gleich. Was läuft denn da schief? Kann das an meinem View liegen, den ich zum Anzeigen/Zeichnen verwende?