Beiträge von joensen

    Also ich habe selber mal probiert die libs zu importieren und bei mir meckert Eclipse sofort? Wo kommen diese also bei dir her? Hast du deinem Projekt irgendwelche external JARs zugefügt worauf du Zugreifen möchtest?


    lg joensen

    Zu dem wäre es interessant zu wissen, um was für eine App es sich Handelt? Gerade wenn sie z.B auf die Hardware (Kamera etc) zugreift kann das unter umständen zu Problemen führen bei unterschiedlichen Geräten. Ein weiterer Punkt ist der, das du bei der Entwicklung der App ja eine minSDKVersion und eine maxSDKVersion festlegen kannst. Wie hast du dort die Werte gewählt?
    Auch was das Layout einer App angeht treten häufig Probleme auf besonders im Bezug auf die Größe, da die Bildschirmauflösung von Gerät zu Gerät unterschiedlich sein kann...


    Das waren nur mal ein paar Gründe wieso weshalb warum...


    PS: Und wenn alles nichts Hilft, dann lad dein Freund doch einfach mal zu dir nach Hause ein und veranstalte mit ihm eine kleine Debug-Party ^^


    lg joensen

    Danke Titus für deine Antwort.


    Mit der ständig neuen Berechnung von

    Code
    N_SLICE1 * N_FLIP


    hab ich auch schon dran gedacht und geändert:


    Code
    final int w1=N_SLICE1 * N_FLIP / 2;
     final int w2=N_SLICE1 * N_FLIP;


    Diese nutze ich dann in den loops... hat aber nicht wirklich was gebracht leider.
    Zudem habe ich die ständigen Aufrufe von getPruning und setPruning nun vermieden indem ich sie per Hand quasi "inline" programmiert habe (war das ne arbeit... :( ).
    Das hat auch schon etwas gebracht. Ohne Optimierung dauerte die Generierung der Tabellen 560 sekunden (nur beim ersten mal). Mittlerweile bin ich durch die oben genannten
    Optimierungen bei 418 sekunden. Als noch Android 2.2 auf meinem SGS rannte dauerte es allerding nur zwischen 60-90 sekunden und das ohne die genannten Optimierungen...


    Und bezüglich deiner Frage was die Schleife machen soll: Sie soll ledeglich die einzelnen Array-Elemente mit -1 initialisieren mehr nicht.


    Solche Apps gibt es in unterschiedlichen Formen. Ich habe dies als Bachelorarbeit gemacht in Verbindung mit einem Lego-Mindstorms Aufbau. Mein SGS liest mit der Kamera den Würfel ein und berechnet die Lösung und steht dabei ständig via Bluetooth in Verbindung mit dem Lego-Mindstorms-Roboter, welcher die Züge letztendlich dann ausführt.
    Die App kann aber auch im stand-alone Betrieb benutzt werden. Beim Start wird halt geschaut ob eine Bluetooth Verbindung zu den Targets hergestellt werden kann, und wenn das nicht der Fall is kann man trotzdem den Würfel scannen und dann halt per hand die Lösung am Würfel anwenden.


    hier mal ein Plakat was ich damals für das Kolloq angefertigt habe.


    [Blockierte Grafik: http://img204.imageshack.us/img204/3171/kolloqposterverlustfrei.jpg]


    Uploaded with ImageShack.us




    lg joensen

    Hallo alle zusammen,


    Ich habe folgendes Problem. Habe mein SGS von 2.2 auf 2.3.3 geupdated. An sich läuft das auch echt gut. Nur mein Programm ist an einer Stelle im Code erheblich langsamer geworden und ich würde gerne wissen warum?
    Zunächst zu meinem Programm. Es ist ein Rubiks Cube Solver der mit Hilfe der integr. Kamera den Würfel einliest und die Farben automatisch erkennt und dem entsprechend eine Lösung berechnet. Die Berechnung einer Lösung basiert auf dem Two-Phase Algorithmus (siehe dazu http://kociemba.org/cube.htm ). Hierbei werden zu Anfang bestimmte Move- und Pruning tables generiert und genau da liegt das Problem. Da sind zwar grob gesagt sehr rechenaufwendige Operationen und Loops drin aber das war bei der Version 2.2 ja nicht anders. Und am meisten macht den 2.3.3 zu schaffen getter und setter Methoden welche in den Loops sehr häufig aufgerufen werden.


    Um es anhand von Code vll etwas deutlich zu machen hier ein kleiner Ausschnitt:






    Dies ist der Ausschnitt und genau da ist mein 2.3.3 fast 10 mal langsamer als 2.2. Weiß vielleicht jemand warum das so ist? Und wie ich das beheben kann?
    Ich finde es nämlich recht komisch, da Gingerbread ja hochgelobt wird vonwegen es sei noch schneller und neuer optimierter GarbageCollector und so weiter...


    Vielen Dank und lg joensen

    Hallo,


    Du hast die Möglichkeit die Bildschirmauflösung zu ermitteln:

    Code
    Display display = getWindowManager().getDefaultDisplay();
    int screenHeight = display.getHeight();
    int screenWidth = display.getWidth();


    Danach kannst du dann entsprechend eine Abfrage machen und die entsprechnde Layout.xml wählen:

    Code
    //Beispiel
    if(screenHeight==y && screenWidth== x){
       setContentView(R.layout.layout_1);
    }else if(...){
       setContentView(R.layout.layout_2); 
    }
    //.... usw.


    Hoffe das hilft dir.


    lg joensen

    Hallo,


    ich denke du meinst so etwas wie Kantendetektion? Ich habe so etwas auch schonmal gemacht, allerdings bei einem Rubiks Cube solver.
    Ein bekanntes Verfahren wäre der Canny-Algorithmus (besteht aus mehreren Verarbeitungsschritten bzw. Algorithmen). -> http://de.wikipedia.org/wiki/Canny-Algorithmus .


    Der Ablauf ist im groben etwa so:
    - Farbbild in Grauwertbild übertragen
    - Grauwertbild glätten mit Falt-Matrix welche die Normalverteilung annähert (beseitigt Bildrauschen usw.)
    - Mit den sog. Sobeloperatoren die Gradientenbilder ermitteln in X- und Y Richtung (Du erhältst zwei Bilder)
    - Gradientenbild X und Y zusammenführen.


    Hoffe das bringt dich weiter. Sonst einfach anschreiben.


    lg joensen

    Hallo,


    Ich glaube dein Problem ist, dass du ledeglich ein Objekt "Size" der Klasse Rect() erzeugst, dieses allerdings nirgends setzt bzw. definierst.
    Daher kann bei size.width() und size.heigth() nix gescheites herauskommen.


    Vielleicht müsstest du vorher die Größe von size setzen mit:


    Code
    size.set(left, top, right, bottom);


    Nachdem setzen müsstest du auch die entsprechnden Werte für die Höhe und Breite bekommen.
    Hoffe ich konnte dir helfen.


    lg joensen

    Hallo alle zusammen,


    mich hat es hierher verschlagen, da ich woanders oft nicht das finde, wonach ich suche. Deshalb probiere ich hier mein Glück und hoffe ich kann auch anderen Mitgliedern helfen.
    Also auf ein gutes posten ;)


    lg joensen