App stürzt immer ab

  • Antworten:16
  • OffenNicht stickyBentwortet
  • Forum-Beiträge: 9

04.08.2019, 18:30:08 via Website

Ich habe eine simple App programmiert, jedoch stürzt diese sowohl im Virtual Device als auf auf einem Huawei p8 lite immer ab.

IDE: Android Studio

Danke im Vorraus!
LogCat

2019-08-04 18:20:29.699 6249-6249/? I/zygote: Not late-enabling -Xcheck:jni (already on)
2019-08-04 18:20:29.765 6249-6249/? W/zygote: Unexpected CPU variant for X86 using defaults: x86
2019-08-04 18:20:32.286 6249-6249/com.ntech.scoreboard I/InstantRun: starting instant run server: is main process
2019-08-04 18:20:32.451 6249-6249/com.ntech.scoreboard D/AndroidRuntime: Shutting down VM
2019-08-04 18:20:32.453 6249-6249/com.ntech.scoreboard E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.ntech.scoreboard, PID: 6249
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.ntech.scoreboard/com.ntech.scoreboard.MainActivity}: java.lang.InstantiationException: java.lang.Class<com.ntech.scoreboard.MainActivity> cannot be instantiated
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2718)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Caused by: java.lang.InstantiationException: java.lang.Class<com.ntech.scoreboard.MainActivity> cannot be instantiated
at java.lang.Class.newInstance(Native Method)
at android.app.Instrumentation.newActivity(Instrumentation.java:1173)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2708)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892) 
at android.app.ActivityThread.-wrap11(Unknown Source:0) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593) 
at android.os.Handler.dispatchMessage(Handler.java:105) 
at android.os.Looper.loop(Looper.java:164) 
at android.app.ActivityThread.main(ActivityThread.java:6541) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) 

Diskutiere mit!
Beste Antwort
  • Forum-Beiträge: 3.323

05.08.2019, 10:53:25 via Website

Das hat dir AndroidStudio niemals vorgeben, zumal du das bestimmt mit dem Wizzard erstellt hast.
Ja natürlich muss das weg, das macht null sinn

— geändert am 05.08.2019, 10:53:43

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Diskutiere mit!
Ludy
  • Mod
  • Blogger
  • Forum-Beiträge: 7.502

04.08.2019, 20:35:38 via Website

Hallo,

herzlich willkommen hier im Forum (*)

dein Logcat ist etwas wenig, das Entscheidende ist nicht richtig aufgeschlüsselt.

Meine Vermutung lautet, an der falschen Stelle initialisiert - wo genau kann man ohne Code nicht sagen.

Gruß Ludy (App Entwickler)

Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺

Download Samsung Firmware Tool

Meine Wunschliste

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 9

05.08.2019, 07:52:37 via Website

Was meinst du mit an der falschen Stelle initialisiert?
Danke für die schnelle Antwort

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 820

05.08.2019, 08:45:44 via Website

Hallo erst mal willommen im Forum.

Wenn du uns nichts von deinen Code zeigst.
Können wir dir auch nicht erklären wo der Fehler sein könnte. Oder was du falsch machst.
Error log ist schon gut aber der Code gehört auch dazu.
Wir bitten dich dies zu bedenken.
Ohne ist eine sinnvolle Hilfe nicht möglich.

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 9

05.08.2019, 09:27:08 via Website

Ok hier ist mein Code:

package com.ntech.scoreboard;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public abstract class MainActivity extends AppCompatActivity {

private Button player1;
int count1;
private Button player2;
int count2;
private Button wechsel;
int wechselZahl;
private Button ziel;
int zielZahl;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    player1 = (Button) findViewById(R.id.player1);
    player2 = (Button) findViewById(R.id.player2);
    wechsel = (Button) findViewById(R.id.wechsel);
    ziel = (Button) findViewById(R.id.ziel);

    count1 = 0;
    count2 = 0;
    wechselZahl = 3;
    zielZahl = 11;
    player1.setText(count1);
    player2.setText(count2);
    wechsel.setText("Wechsel bei " + wechselZahl);
    ziel.setText(zielZahl);


    player1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            count1++;
            player1.setText(count1);

        }
    });

    player2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            count2++;
            player2.setText(count2);

        }
    });

    wechsel.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            if (wechselZahl == 2) {
                wechselZahl = 3;
                wechsel.setText("Wechsel bei " + wechselZahl);
            } else if (wechselZahl == 3) {
                wechselZahl = 5;
                wechsel.setText("Wechsel bei " + wechselZahl);
            } else if (wechselZahl == 5) {
                wechselZahl = 2;
                wechsel.setText("Wechsel bei " + wechselZahl);
            }
        }
    });

    ziel.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (zielZahl == 11) {
                zielZahl = 21;
                ziel.setText(zielZahl);
            } else if (zielZahl == 21) {
                zielZahl = 11;
                ziel.setText(zielZahl);
            }
        }
    });


    }

}

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 3.323

05.08.2019, 09:34:47 via Website

Hallo,
setText erfordert z.b. eine CharSequence, keinen numerischen Wert.
https://developer.android.com/reference/android/widget/TextView

setText (Integer.toString(count1));

Bitte vorher API studieren .... dann programmieren

P.S Dein Errorlog ist nicht vollständig , diese Antwort ist eher eine aus der Kristallkugel :-)

— geändert am 05.08.2019, 09:36:24

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 9

05.08.2019, 09:49:06 via Website

Danke für die schnellen Antworten (cool) hätte ich auch selbst drauf kommen können (lightbulb)

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 9

05.08.2019, 09:58:23 via Website

Ich habe es ausgetauscht jedoch startet diese immer noch nicht

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 3.323

05.08.2019, 10:01:48 via Website

Dann dein Errorlog bitte ,

a) beschränke den erst mal als Filter auf deine App
b) Scroll dann bis dahin , wo du einen link mit der .java siehst und den möchten wir dann haben

Kannst auch dann auf den Link klicken und selbst erkunden , was deine app nicht mag

— geändert am 05.08.2019, 10:09:02

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 9

05.08.2019, 10:22:58 via Website

Diesen Teil mit Link habe ich gefunden. Ist das richtig? der link fehlt da ich diesen nicht senden konnte

2019-08-05 09:55:40.010 5213-6290/? E/Volley: [480] BasicNetwork.performRequest: Unexpected response code 403 for ...(Link)

2019-08-05 09:55:40.013 5213-5213/? E/ctxmgr: [BaseServerTask] Server task (GetConfigTask) got error statusCode=403. [CONTEXT service_id=47 ]
com.android.volley.AuthFailureError
at com.android.volley.toolbox.BasicNetwork.performRequest(:com.google.android.gms@18382022@18.3.82 (040700-260264002):42)
at snh.performRequest(:com.google.android.gms@18382022@18.3.82 (040700-260264002):13)
at com.android.volley.NetworkDispatcher.a(:com.google.android.gms@18382022@18.3.82 (040700-260264002):7)
at com.android.volley.NetworkDispatcher.run(:com.google.android.gms@18382022@18.3.82 (040700-260264002):2)
2019-08-05 09:55:40.018 5213-6372/? E/ctxmgr: [DailyCheckinOperation]Failed daily get config: network status=12 [CONTEXT service_id=47 ]

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 820

05.08.2019, 10:24:00 via Website

Hallo ich hoffe du hast das settext in allen Zeilen geändert. Denn auch am Anfang in der oncreate machst du das falsch.
player1.setText(count1);
In den klammern wird ein string erwartet.

player1.setText(String.valueOf(count1)) ;

Am besten du zeigst noch mal deinen Code so wie er jetzt ist.

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 3.323

05.08.2019, 10:25:41 via Website

Diesen Teil mit Link habe ich gefunden. Ist das richtig?

Nein, der hat nichts mit deinem Source code zu tun.

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 9

05.08.2019, 10:36:22 via Website

Mein veränderter Code:

package com.ntech.scoreboard;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public abstract class MainActivity extends AppCompatActivity {

private Button player1;
int count1;
private Button player2;
int count2;
private Button wechsel;
int wechselZahl;
private Button ziel;
int zielZahl;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    player1 = (Button) findViewById(R.id.player1);
    player2 = (Button) findViewById(R.id.player2);
    wechsel = (Button) findViewById(R.id.wechsel);
    ziel = (Button) findViewById(R.id.ziel);

    count1 = 0;
    count2 = 0;
    wechselZahl = 3;
    zielZahl = 11;
    player1.setText(Integer.toString(count1));
    player2.setText(Integer.toString(count2));
    wechsel.setText(Integer.toString(wechselZahl));
    ziel.setText(Integer.toString(zielZahl));


    player1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            count1++;
            player1.setText(Integer.toString(count1));

        }
    });

    player2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            count2++;
            player2.setText(Integer.toString(count2));

        }
    });

    wechsel.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            if (wechselZahl == 2) {
                wechselZahl = 3;
                wechsel.setText(Integer.toString(wechselZahl));
            } else if (wechselZahl == 3) {
                wechselZahl = 5;
                wechsel.setText(Integer.toString(wechselZahl));
            } else if (wechselZahl == 5) {
                wechselZahl = 2;
                wechsel.setText(Integer.toString(wechselZahl));
            }
        }
    });

    ziel.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (zielZahl == 11) {
                zielZahl = 21;
                ziel.setText(Integer.toString(zielZahl));
            } else if (zielZahl == 21) {
                zielZahl = 11;
                ziel.setText(Integer.toString(zielZahl));
            }
        }
    });


    }

}

Ist dieser Teil richtig des LogCat richtig?

2019-08-04 18:20:32.453 6249-6249/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.ntech.scoreboard, PID: 6249
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.ntech.scoreboard/com.ntech.scoreboard.MainActivity}: java.lang.InstantiationException: java.lang.Class<com.ntech.scoreboard.MainActivity> cannot be instantiated
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2718)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892)
    at android.app.ActivityThread.-wrap11(Unknown Source:0)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593)
    at android.os.Handler.dispatchMessage(Handler.java:105)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6541)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
 Caused by: java.lang.InstantiationException: java.lang.Class<com.ntech.scoreboard.MainActivity> cannot be instantiated
    at java.lang.Class.newInstance(Native Method)
    at android.app.Instrumentation.newActivity(Instrumentation.java:1173)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2708)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892) 
    at android.app.ActivityThread.-wrap11(Unknown Source:0) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593) 
    at android.os.Handler.dispatchMessage(Handler.java:105) 
    at android.os.Looper.loop(Looper.java:164) 
    at android.app.ActivityThread.main(ActivityThread.java:6541) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) 
Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 3.323

05.08.2019, 10:48:54 via Website

public abstract class MainActivity extends AppCompatActivity

woher hast du das denn ??
Wie kommst du darauf , dass das abstract sein soll ?

Kann es sein , dass du deinen Source aus dem Netz kopierst ??

— geändert am 05.08.2019, 10:49:32

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 9

05.08.2019, 10:51:56 via Website

Das wurde mir von Android Studio so vorgegeben und nein ich habe das nicht aus dem Netz kopiert. Soll ich das entfernen?

Hilfreich?
Diskutiere mit!
Beste Antwort
  • Forum-Beiträge: 3.323

05.08.2019, 10:53:25 via Website

Das hat dir AndroidStudio niemals vorgeben, zumal du das bestimmt mit dem Wizzard erstellt hast.
Ja natürlich muss das weg, das macht null sinn

— geändert am 05.08.2019, 10:53:43

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Diskutiere mit!