1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

Klasse 'Log' in Desktop-Applikation sichtbar machen

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von sowatt, 03.06.2011.

  1. sowatt, 03.06.2011 #1
    sowatt

    sowatt Threadstarter Neuer Benutzer

    Beiträge:
    9
    Erhaltene Danke:
    0
    Registriert seit:
    14.04.2011
    Ich möchte einige Klassen meiner Android-Applikation sowohl auf dem Endgerät selbst, als auch innerhalb einer Desktop-Applikation testen.

    sieht also folgendermaßen aus:

    Code:
    1:  import android.util.Log;
    2: 
    3:  class MyClass{
    4: 
    5:      // ...
    6: 
    7:      void foo(){
    8:         
    9:          System.out.println(line);
    10:         Log.i(CLASS_NAME, line;
    11:      }
    12: }
    Code:
    1:  class DesktopTestClass{
    2:  
    3:       public static void main(String[] args){
    4:  
    5:         MyClass myClass = new MyClass();
    6:         myClass.foo();
    7:      }
    8: }
    Meine Idee war nun, dass wenn ich 'MyClass' auf dem Endgerät verwende, 'line' innerhalb von 'foo()' über die Log-Klasse ausgegeben wird und die Ausgabe über 'System.out.println()' ignoriert wird (oder was auch immer in diesem Fall bei der Ausführung auf dem Endgerät passiert).
    Wenn ich umgekehrt 'MyClass' mit 'DesktopTestClass' teste, soll die Ausgabe von 'line' innerhalb von 'foo()' über 'System.out.println()' erfolgen und die Ausgabe über 'Log' ignoriert werden. In diesem Fall erhalte ich aber die Fehlermeldung:

    Code:
    Exception in thread "main" java.lang.NoClassDefFoundError: android/util/Log
        at MyClass.foo(MyClass.java:10)
        at DesktopTestClass.main(DesktopTestClass.java:6)
    Im Moment behelfe ich mit damit, dass ich die 'Log'-Ausgaben jedes mal auskommentiere, wenn ich die Klassen innerhalb der Desktop-Applikation teste. Keine all zu befriedigende Lösung.

    Hat jemand hierfür eine eleganteren Lösungsvorschlag?


    Danke!
     
    Zuletzt bearbeitet: 03.06.2011
  2. Fr4gg0r, 03.06.2011 #2
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Beiträge:
    2,506
    Erhaltene Danke:
    447
    Registriert seit:
    21.12.2009
    Ich frage mich wie du das kompilierst^^
    eine Möglichkeit wär nen try catch Block^^
     
  3. sowatt, 03.06.2011 #3
    sowatt

    sowatt Threadstarter Neuer Benutzer

    Beiträge:
    9
    Erhaltene Danke:
    0
    Registriert seit:
    14.04.2011
    ääähh!! Den Wald vor lauter Bäumen nicht gesehen. Danke!

    ?!?
    Sollte das denn NICHT kompilieren. :)
     
  4. Fr4gg0r, 03.06.2011 #4
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Beiträge:
    2,506
    Erhaltene Danke:
    447
    Registriert seit:
    21.12.2009
    Klar, du kannst es als jar exportieren und dann irgendwo einbinden, aber ansonsten kannst du ja nicht gegen JavaSE compilen und dabei android.util.Log.X aufrufen.
     
  5. sowatt, 03.06.2011 #5
    sowatt

    sowatt Threadstarter Neuer Benutzer

    Beiträge:
    9
    Erhaltene Danke:
    0
    Registriert seit:
    14.04.2011
    Da bin ich überfragt!

    Ich hab da jedenfalls mein Eclipse-Project in dem sich alle Klassen befinden,
    und ein Konsolenfenster im bin-Odner geöffnet, wo ich 'DesktopTestClass' aufrufe. Gibt keine Probleme
     

Diese Seite empfehlen