Fehler in der Logcat finden

  • 9 Antworten
  • Letztes Antwortdatum
M

MatthiasKramer

Ambitioniertes Mitglied
3
Hallo, ich sitze hier schon seid 2 Stunden an der Logcat und ich finde den Fehler einfach nicht, da steht so viel, das kann man einfach nicht verstehen.. o.0

LogCat
Code:
10-08 07:36:09.010: D/dalvikvm(224): newInstance failed: p0 i0 [0 a1
10-08 07:36:09.130: D/AndroidRuntime(224): Shutting down VM
10-08 07:36:09.130: W/dalvikvm(224): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
10-08 07:36:09.169: E/AndroidRuntime(224): Uncaught handler: thread main exiting due to uncaught exception
10-08 07:36:09.320: E/AndroidRuntime(224): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{de.projekt.irgendeinprojekt/de.projekt.irgendeinprojekt.SsActivity}: java.lang.InstantiationException: de.projekt.irgendeinprojekt.SsActivity
10-08 07:36:09.320: E/AndroidRuntime(224):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2417)
10-08 07:36:09.320: E/AndroidRuntime(224):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
10-08 07:36:09.320: E/AndroidRuntime(224):  at android.app.ActivityThread.access$2200(ActivityThread.java:119)
10-08 07:36:09.320: E/AndroidRuntime(224):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
10-08 07:36:09.320: E/AndroidRuntime(224):  at android.os.Handler.dispatchMessage(Handler.java:99)
10-08 07:36:09.320: E/AndroidRuntime(224):  at android.os.Looper.loop(Looper.java:123)
10-08 07:36:09.320: E/AndroidRuntime(224):  at android.app.ActivityThread.main(ActivityThread.java:4363)
10-08 07:36:09.320: E/AndroidRuntime(224):  at java.lang.reflect.Method.invokeNative(Native Method)
10-08 07:36:09.320: E/AndroidRuntime(224):  at java.lang.reflect.Method.invoke(Method.java:521)
10-08 07:36:09.320: E/AndroidRuntime(224):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
10-08 07:36:09.320: E/AndroidRuntime(224):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
10-08 07:36:09.320: E/AndroidRuntime(224):  at dalvik.system.NativeStart.main(Native Method)
10-08 07:36:09.320: E/AndroidRuntime(224): Caused by: java.lang.InstantiationException: de.projekt.irgendeinprojekt.SsActivity
10-08 07:36:09.320: E/AndroidRuntime(224):  at java.lang.Class.newInstanceImpl(Native Method)
10-08 07:36:09.320: E/AndroidRuntime(224):  at java.lang.Class.newInstance(Class.java:1479)
10-08 07:36:09.320: E/AndroidRuntime(224):  at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
10-08 07:36:09.320: E/AndroidRuntime(224):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2409)
10-08 07:36:09.320: E/AndroidRuntime(224):  ... 11 more
10-08 07:36:09.509: I/dalvikvm(224): threadid=7: reacting to signal 3
10-08 07:36:09.599: I/dalvikvm(224): Wrote stack trace to '/data/anr/traces.txt'
10-08 07:36:13.392: I/Process(224): Sending signal. PID: 224 SIG: 9

Activity
Code:
package de.projekt.irgendeinprojekt;
import java.util.Locale;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.speech.tts.TextToSpeech.OnInitListener;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public abstract class SsActivity extends Activity implements OnInitListener, OnClickListener   {
 public TextToSpeech tts;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.ss);
        
        tts =  new TextToSpeech(this,this);
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.ss, menu);
        return true;
    }
   
    public void OCback (View view) {
     Intent intent = new Intent (this, MainmenuActivity.class);
     startActivity(intent);
     finish();
    }
    public void OCclose (View view) {
     finish();
    }
    public void OCok(View view) {
     
     EditText et = (EditText)findViewById(R.id.et_whatshouldisay);
     String text = getText(R.id.et_whatshouldisay).toString();
     if (text.length() == 0){
      return;
     }
     tts.setLanguage(Locale.GERMAN);
     Button button = (Button) findViewById(R.id.btn_ok);
     button.setOnClickListener(this);
     tts.speak(et.getText().toString(), TextToSpeech.QUEUE_FLUSH, null); 
     
     }
}

Ich hoffe irgendjemand versteht was von der LogCat und/oder kann mir vielleicht Tipps zur Fehlerbehandlung geben:)
Gruß
 
MatthiasKramer schrieb:
Hallo, ich sitze hier schon seid 2 Stunden an der Logcat und ich finde den Fehler einfach nicht, da steht so viel, das kann man einfach nicht verstehen.. o.0

LogCat
Code:
10-08 07:36:09.010: D/dalvikvm(224): newInstance failed: p0 i0 [0 a1
Diese Ausgabe will dir (etwas kryptisch) sagen, dass du keine abstrakten Klassen instanziieren kannst. Mach mal das 'abstract' aus deiner Klassendeklaration raus, das gehört da nicht hin.
 
  • Danke
Reaktionen: MatthiasKramer
Danke, hat geklappt!
Lustig, dass man das abstract dort nicht platzieren darf und Eclipse einem jedoch vorschlägt es zu tun..

Gruß
 
MatthiasKramer schrieb:
Danke, hat geklappt!
Lustig, dass man das abstract dort nicht platzieren darf und Eclipse einem jedoch vorschlägt es zu tun..

Gruß

Man darf das durchaus dort platzieren, nur darf man dann nicht erwarten, die Klasse instanziieren zu können ;)
Inwiefern hat Eclipse vorgeschlagen, 'abstract' zu verwenden?
 
maniac103 schrieb:
Man darf das durchaus dort platzieren, nur darf man dann nicht erwarten, die Klasse instanziieren zu können ;)
Inwiefern hat Eclipse vorgeschlagen, 'abstract' zu verwenden?

Nachdem ich den OninitListener + Onclicklistener implementiert habe, wurde der Activityname rot unterstrichen und beim draufgehen stand dort sinngemäß, dass man zusätzliche methoden (oder sowas ähnliches) hinzufügen könnte. Dann habe ich dadrauf gedrückt und schwups war das abstract da und die Fehlermeldung verschwunden.

Somit nimmt man ja an, dass das auch richtig sein sollte:b
Gruß
 
Da hast du was falsch verstanden.
Wenn man Listener hinzufügt, musst du entsprechende Methoden hinzufügen.
Sollen diese nicht hinzugefügt werden, warum auch immer, hast du eine abstracte Klasse...

Gruß
 
Ja, fällt mir auch grade wieder ein.
Da waren glaube 2 oder 3 Möglichkeiten, ich habe gestern dooferweise die Falsche ausgewählt. Habe daraufhin ja das "abstract" entfernt und eine andere Möglichkeit ausgewählt, danach wurden dann neue Methoden hinzugefügt.
Gruß
 
diese Listener Klassen sind Interfaces, diese Interfaces stellen Methode zurverfügung. Diese Methode brauchst du ja auch um weitere sache machen zu können.
 
Ich weiß, ich weiß. Ich hatte die auch eig. schon hinzugefügt, aber eben "falsch hinzugefügt".
Der onClickListener wollte ja eine onClick Methode, habe dann aber anstatt onClick(), OCok() geschrieben.
Ich dachte bis gestern, dass er das so annimmt, falsch gedacht.
Also habe ich dann folgendes hinzufügen lassen:
Code:
[SIZE=2]
[LEFT][/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]public[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] [/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]void[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] onClick(View v) {
[/SIZE][SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f]// [/COLOR][/SIZE][/COLOR][/SIZE][B][SIZE=2][COLOR=#7f9fbf][SIZE=2][COLOR=#7f9fbf]TODO[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f] Auto-generated method stub[/LEFT]
[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][LEFT]
}

[/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]public[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] [/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]void[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] onInit([/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]int[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] status) {
[/SIZE][SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f]// [/COLOR][/SIZE][/COLOR][/SIZE][B][SIZE=2][COLOR=#7f9fbf][SIZE=2][COLOR=#7f9fbf]TODO[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f] Auto-generated method stub[/LEFT]
[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][LEFT][/LEFT]
}
[/SIZE]
So klappte dann auch alles ;)
Gruß
 
Zurück
Oben Unten