1. Gewinne jetzt ein UMiDIGI C Note - alle Informationen findest du hier!!
  1. sowatt, 03.06.2011 #1
    sowatt

    sowatt Threadstarter Neuer Benutzer

    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)

    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

    äää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)

    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

    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
     
Die Seite wird geladen...
Du betrachtest das Thema "Klasse 'Log' in Desktop-Applikation sichtbar machen" im Forum "Android App Entwicklung",