Erste AndroidApp - Finde meinen Fehler nicht

  • Antworten:3
Marenitaet
  • Forum-Beiträge: 2

09.01.2019, 17:40:14 via Website

Hallo, ich bin neu bei Java, aber eigentlich lerne ich sehr schnell.
Leider finde ich kaum gute Tutorials für AndroidStudio. Gerade der Head macht mir Probleme.
Aber generell bekomme ich jedes mal Fehlermeldungen.
Es soll eine Lernapp werden, die selbstständig die Antwort auswertet und am Ende ein Ergebnis zurück gibt.
Im folgenden Snipped geht es um den Startbildschirm.

Es geht um einen Button, mit dem man den zweiten Bildschirm ("Einsatzerklaerung") aufrufen kann.

package com.example.rs.rettungssanitter_kapitel1;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;

import static android.view.View.OnClickListener;
import static com.example.rs.rettungssanitter_kapitel1.R.id.btnSpielen;
import static com.example.rs.rettungssanitter_kapitel1.R.id.btnVerstanden;

public abstract class Start extends Activity {

private static final Object Button = btnSpielen;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate ( savedInstanceState );
    public interface OnClickListener {
        void onClick(View v);

        setContentView(R.layout.activity_start);

        Button = findViewById(R.id.btnSpielen);
        btnSpielen.set.OnClickListener(this);
        OnClickListener(intent);

    }
}

Vielleicht findet ja jemand den oder die Fehler und sie mir erklären, um zukünftig solche Fehler zu vermeiden.

— geändert am 09.01.2019, 18:07:54 durch Moderator

Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

09.01.2019, 18:04:06 via Website

Hallo Marenitaet,
Herzlich wilkommen hier im Forum ;)



Erstmal muss ich dir obligatorisch die Java Grunlagen näher legen.
Bevor du mit Android beginnst, solltest du erstmal mit Java etwas Erfahung haben. ;)

Wenn ich sehe, dass du irgenwie einen OnClickListener definieren willst, aber in einer Methode und nicht in der Klasse etc. sind das klassische Anfängerfehler ;)

Und warum ist deine Klasse Abstract?
Weißt du was "abstract" ist bzw. warum es das gibt?

allein für die Activity würde ich dir folgendes Vorschlagen:

package com.example.rs.rettungssanitter_kapitel1;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;    
import android.view.View.OnClickListener;

public class Start extends Activity implements OnClickListener {

private Button button; //Nach Java variablen immer klein anfangen, zudem warum was das Object und static etc?!

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate ( savedInstanceState );      

        setContentView(R.layout.activity_start);

        button = findViewById(R.id.btnSpielen); //Suche Button auf Layout
        button.setOnClickListener(this); //setze OnKlickListener
    //    OnClickListener(intent); //Was soll das? Macht keinen Sinn, daher Comment out

    }

        @Override
        private void onClick(View v){ //OnClick vom Interface implementieren
         if(v.getId()==R.id.btnSpielen){
         //hier kannst du ein Intent starten
       }

      }



}

— geändert am 09.01.2019, 18:04:32

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Kommentieren
Marenitaet
  • Forum-Beiträge: 2

09.01.2019, 18:17:41 via Website

Einige Veränderungen wurden vom System vorgeschlagen.
Anscheinend nicht die beste Idee. Das zu übernehmen.
In den Java Übungs Apps wird meist nur auf so sachen wir .toUpperCase etc eingegangen. Das kann ich mittlerweile alles. Besonders Schwierigkeiten habe ich bei so sachen wie Klassen definieren etc.

Hilfreich?
Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

09.01.2019, 18:22:11 via Website

Naja AndroidStudio macht nur vorschläge, wenn man falschen Code Input gibt, können diese daraufhin auch falsch sein.

Und zu den Java Grundlagen gehört eben, richtg Klassen zu defineren, OOP erstmal zu verstehen, mit Arrays, Listen,Vererbung, (Generics) etc. zu arbeiten.
Wichtig sind dann auch Begrifflichkeiten wie
Was ist static, final, abstract?
Was ist der Unterschied zwischen Klasse und interface?
Wie implementiere ich ein Interface etc.

Falls du z.b. was auf deutsch brauchst:
https://www.kompf.de/java/tutor.html
ansonsten z.b. http://www.ntu.edu.sg/home/ehchua/programming/java/J3a_OOPBasics.html

— geändert am 09.01.2019, 18:23:09

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Jokelswa00
Kommentieren