Eigene App stürzt ab

P

pagrf

Neues Mitglied
0
Meine selbstprogrammierte App stürzt direkt ab, nachdem ich in Android Studio auf Run App klicke. Da ich noch jung und unerfahren bin wollte ich euch höflich fragen, ob Ihr mir da helfen könntet. Schätze mal, dass sich der Fehler im Logcat findet aber weiß nicht was ich dann ändern soll.

Vielen Dank im Voraus :)

Hier der Coder der Main Activity und Logcat:


Code:
Main Activity:

package com.example.komplexefunktionentest;

import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBarDrawerToggle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.core.view.GravityCompat;
import androidx.drawerlayout.widget.DrawerLayout;


import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;

import com.google.android.material.navigation.NavigationView;


public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener, AdapterView.OnItemSelectedListener {
    private DrawerLayout drawer;

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




        {Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        drawer = findViewById(R.id.drawer_layout);
        NavigationView navigationView=findViewById(R.id.nav_view);
        navigationView.setNavigationItemSelectedListener(this);

        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar,
                R.string.navigation_drawer_open, R.string.navigation_drawer_close);
        drawer.addDrawerListener(toggle);
        toggle.syncState();}





    }



    @Override
    public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
        switch(menuItem.getItemId()){
            case R.id.nav_info:
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,new info_fragment()).commit();
                break;

            case R.id.nav_home:
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,new home_fragment()).commit();
                break;


        }

        drawer.closeDrawer(GravityCompat.START);

        return true;
    }


    @Override
    public void onBackPressed() {
        if (drawer.isDrawerOpen(GravityCompat.START)) {
            drawer.closeDrawer(GravityCompat.START);
        } else {
            super.onBackPressed();
        }

        { Spinner spinner = findViewById(R.id.spinner1);
            ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,R.array.funktionen, android.R.layout.simple_spinner_item);
            adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            spinner.setAdapter(adapter);
            spinner.setOnItemSelectedListener(this);}
    }

    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
        String text = parent.getItemAtPosition(position).toString();
        Toast.makeText(parent.getContext(),text,Toast.LENGTH_LONG).show();
    }

    @Override
    public void onNothingSelected(AdapterView<?> parent) {

    }
}


Logcat:

 Caused by: android.view.InflateException: Binary XML file line #45: Binary XML file line #45: Error inflating class android.support.constraint.ConstraintLayout
     Caused by: android.view.InflateException: Binary XML file line #45: Error inflating class android.support.constraint.ConstraintLayout
     Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.constraint.ConstraintLayout" on path: DexPathList[[zip file "/data/app/com.example.myapplication-DAQ-Zk1HrMXQ1xnglXKqcg==/base.apk"],nativeLibraryDirectories=[/data/app/com.example.myapplication-DAQ-Zk1HrMXQ1xnglXKqcg==/lib/arm64, /system/lib64, /product/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at android.view.LayoutInflater.createView(LayoutInflater.java:613)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:801)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:874)
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:835)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
        at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)
        at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
        at com.example.myapplication.MainActivity.onCreate(MainActivity.java:28)
        at android.app.Activity.performCreate(Activity.java:7458)
        at android.app.Activity.performCreate(Activity.java:7448)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1286)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3409)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3614)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:86)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2199)
        at android.os.Handler.dispatchMessage(Handler.java:112)
        at android.os.Looper.loop(Looper.java:216)
        at android.app.ActivityThread.main(ActivityThread.java:7625)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)
 
Hallo
und willkommen im Forum.

Ganz einfach : Du hast vergessen, die Constraint Libs einzubinden verwendest sie aber in deinem Source code

sind sie im Gradle eingebunden ?


Caused by: android.view.InflateException: Binary XML file line #45: Error inflating class android.support.constraint.ConstraintLayout
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.constraint.ConstraintLayout" on path: DexPathList[[zip file "/data/app/com.example.myapplication-DAQ-Zk1HrMXQ1xnglXKqcg==/base.apk"],nativeLibraryDirectories=[/data/app/com.example.myapplication-DAQ-Zk1HrMXQ1xnglXKqcg==/lib/arm64, /system/lib64, /product/lib64]]
 
  • Danke
Reaktionen: pagrf
Das heißt was muss ich nun machen?
 
Hier schreiben sie, dass ich das hier in build.gradle einbinden soll:

dependencies {
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
}

Jedoch ist das anscheinend für meine Version veraltet was nun?
 
Erstelle dir mal ein frisches demo projekt und vergleiche mal damit
 
Sieht genauso aus.
[doublepost=1567547747,1567547679][/doublepost]an was könnte es noch liegen?
 
Hallo ich mische mich mal ein.
Wenn es das gleiche ist zeige uns doch mal das grade File.
Das layout könnte auch interessant sein.

Mit welchen Support arbeitest du androidx oder noch mit den alten.
Welche Compilesdk hast du.

Ob es wirklich nur am einbinden der support ligt bin ich mir nicht sicher. Deshalb bitte Layout und gradle.

Aber ein neu vom Studio erstelltes Projekt solte laufen. Wenn nicht stimmt mit den Studio, oder Rechner was nicht.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: pagrf
Benutze androidx

Code:
build.gradle(project):

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        google()
        jcenter()
        
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}



build.gradle (Module:app)


apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.example.myapplication"
        minSdkVersion 15
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation 'com.android.support:design:1.0.2'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.2.0'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.2'

}



activity_main.xml:


<?xml version="1.0" encoding="utf-8"?>

<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:context=".MainActivity"
    tools:openDrawer="start">



    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <androidx.appcompat.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="@color/colorPrimary"
            android:elevation="4dp"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

        <FrameLayout
            android:id="@+id/fragment_container"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />


            </LinearLayout>

    <com.google.android.material.navigation.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        app:headerLayout="@layout/nav_header"
        app:menu="@menu/drawer_menu" />

    <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="com.example.application.spinnerexample.MainActivity">

        <Spinner
            android:id="@+id/spinner1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

    </android.support.constraint.ConstraintLayout>
</androidx.drawerlayout.widget.DrawerLayout>
 
Dann musst du natürlich auch die androidx Klasse in deinem Layout verwenden:
androidx.constraintlayout.widget.ConstraintLayout

Nicht die support Variante...
 
Funktioniert trotzdem nicht...
 
Dann sollte es jetzt aber ein anderes Problem sein.
 
  • Danke
Reaktionen: swa00
Na , da du ja ein leeres Standard-Projekt bereits erstellt hat , was auch nicht läuft , dann liegt die Vermutung nahe,
dass deine Installation nicht korrekt ist.

Was dann letztendlich nicht stimmt , können wir von hier aus auch nicht einsehen
 
  • Danke
Reaktionen: pagrf
Installire dir sdk 29 im sdk Manager im android studio.
Dann erstelle dir ein eures Projekt und du wirst sehen wie das gradle aus zu sehen hat..

Und wie dann auch dein layout aussehen muss denn da ist jetzt auch einiges anders.
[doublepost=1567601662,1567601497][/doublepost]Ein neues Projekt mit nur 28 im sdk Studio gibt es Probleme beide sdk sollten im Manager vorhanden sein.
 
  • Danke
Reaktionen: pagrf
Hat sich geklärt vielen Dank an alle!
 
pagrf schrieb:
Hat sich geklärt vielen Dank an alle!

Dann solltest du vielleicht auch hier erklären , was die Ursache war.
 

Ähnliche Themen

S
Antworten
8
Aufrufe
512
swa00
swa00
D
Antworten
23
Aufrufe
2.552
Data2006
D
FabianDev
Antworten
5
Aufrufe
560
swa00
swa00
Zurück
Oben Unten