Android Studio Countdown?

1 Antwort

Vom Beitragsersteller als hilfreich ausgezeichnet

Keine Sorge! Das ist eigentlich einfach. Man muss nur erstmal mit den ganzen Methoden der Android Api klar kommen.

1. Wenn du ein Knopf hast solltest du dir ihn in deine Methode (onCreate) holen und die: setOnClickListener() Methode auf ihn erstellen.

//erstellung von Objekt
val startAlarm: Button = findViewById(R.id.alarm_starter)

/*Das Objekt kannst du so nennen 
wie du willst, achte aber auf die 
ID. Sie sollte mit der in deinem
 Layout übereinstimmen.*/


/*sagt deiner App, dass sie den
 Code ausführen soll wenn genau DER
 Knopf gedrückt wurde*/
startAlarm.setOnClickListener {
    // Späterer Code
}

(Code ist Kotlin. Wenn du es in Java brauchst kann ich dir es auch später senden.)

2. Du musst dir den Wert von zum Beispiel deiner SeekBar (Das ist z.B. deine Helligkeitsleiste) holen möchtest ,macht man das so:

(Das ist die selbe Methode, weil man nur eine pro Knopf haben kann)

startAlarm.setOnclickListener {

//ACHTUNG: Man muss es hier 
//erstellen ansonsten wird nur der 
//Erstellungswert(der Wert bei der
// Erstellung) genutzt

   val time: SeekBar = findViewById(R.id.timeSeekBar)

//Das Progress gibt deiner 
//Berechnung den Längenwert. Wenn 
//du mit Sekunden rechnest wird 1 
//Stufe als 1 Sekunde gezählt

   timerFunName(time.progress)

}

Man kann natürlich auch ein EditText nehmen und den Wert rausnehmen, doch dann muss man den SeekBar Schritt ersetzen.

startAlarm.setOnclickListener {

   val timeText: EditText = findViewById(R.id.timeText)

//. ist der Zugriffsoperator von
// einer Instanz/Objekt und text 
// nimmt den text

    var texTTT: String = timeText.text

// besser ist aber try und catch
   if(!(texTTT.toInt == null)) {

//die Range kann so lang sein wie du willst

      timerFunName(texTTT.toInt)

   }else {
       Toast.makeText(this, "Dieser Wert ist keine Zahl!", Toast.LENGTH_SHORT).show()
   }
   
}

(Der letzte Part ist nicht ganz gut geworden 😅)

Das "timerFunName()" ist dann deine Berechnung ausgelagert in einer Funktion.

Falls du es nicht verstanden hast oder etwas nicht funktioniert antworte einfach auf diesen Post mit deiner Frage oder Problem :)

Woher ich das weiß:Hobby

WeiserAsiate 
Beitragsersteller
 09.01.2021, 01:17

Vielen lieben dank für diese Ausführliche und über freundliche Antwort, wirklich!

Mein Großer Wunsch ist ja mal selbst nen Messenger zu schreiben und je mehr ich lerne desto besser. Dennoch dreht sich der Kurs (übrigens von Udemy) glaube ich NUR um java. Ich weiß nichtmal wirklich was kotlin ist, sorry! :(

Wenn du mal Lust und Zeit hast kannst du es mir sehr gerne nochmal für java oder ähnliches geben, oder wenn du magst Discord Tags o. Ä. Austauschen, will dir aber keinesfalls deine Zeit rauben!

Liebe grüße ^^

1
JuanTH  09.01.2021, 09:32
@WeiserAsiate

Java ist eine Programmiersprache. Sie wurde früher für Android genutzt, aber heute gibt es eine leichter zu schreibende Alternative. Das ist Kotlin.

Schritt 1 in Java:

(Die selben Regeln gelten hier.)

Button startAlarm = (Button) findViewById(R.id.alarm_starter);

startAlarm.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        // Späterer Code
    }
});

Schritt 2 in Java:

startAlarm.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {
       SeekBar time = (SeekBar) findViewById(R.id.time_seekbar)

//NOTE: Es könnte sein, dass der Typ nicht mit der Funktion übereinstimmt.
       timerFunName(time.getProgress())
    }
});

Schritt 2 Alternative in Java:

startAlarm.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {
       EditText textTime = (EditText) findViewById(R.id.edittext_time)

//ich habe das toString bei Kotlin vergessen
       String textt = textTime.getText().toString()

//NOTE: Es könnte sein, dass der Typ nicht mit der Funktion übereinstimmt.   
 
      if(!(textt.toInt() == null)) { 
             timerFunName(textt.toInt)

       } else {
         Toast.makeText(getApplicationContext(),"Deine angabe muss eine Zahl sein!",Toast.LENGTH_SHORT).show();  
       }
    }
});

//die Alternative ist immernoch nicht gut.

Wie du am Ende sehen kannst ist Kotlin viel leichter zu verstehen.

Leider gibt es ein Nachteil, denn Kotlin ist sehr jung und daher gibt es kaum Tutorials.

1
WeiserAsiate 
Beitragsersteller
 09.01.2021, 13:16
@JuanTH

Also wäre es sinnvoller, mit Kotlin anzufangen? (ich würd den Videokurs noch fertig machen). Wenn ja, hast du irgendwelche Buchempfehlungen/Tutorials/Websiten zu empfehlen?

1
JuanTH  09.01.2021, 17:59
@WeiserAsiate

Naja, es ist nicht immer sinnvoll. Wenn du anfängst überhaupt zu programmieren ist Kotlin garnicht mal so gut, weil es wiegesagt sehr neu ist und daher auch wenige Tutorials darüber gemacht wurden. Java kann man ja auch fast überall nutzen, weil es eine der ältesten Sprachen ist.

Falls du aber Android Studio so toll findest, dass du viel nur damit machen willst und du schon einiges an Erfahrung hast , kannst du es lernen, denn dafür ist es auch gemacht.

1
JuanTH  09.01.2021, 18:12
@WeiserAsiate

Und falls du dich für Kotlin entschieden hast, (Was wie gesagt nicht immer eine gute Wahl ist) kann ich dir das Tutorial von "The Morpheus Tutorials" über Kotlin auf YouTube empfelen. Es ist umfangreich und wird dir auf jeden Fall einiges beibringen.

Das Tutorial:

https://youtube.com/playlist?list=PLNmsVeXQZj7rylgyThgUldHG8KE6Nbc1O

Er hat auch ein Android Studio Tutorial gemacht, aber mit Java. Also wenn du dich für Java entschieden hast kannst du es nutzen. Und wenn nicht kannst du trotzdem viel Wissen daraus ziehen.

Hier das Tutorial:

https://youtube.com/playlist?list=PLNmsVeXQZj7qShNeVpdDAQedIq2n8BvqC

(Es hat aber eine schlechtere Quallität)

1
WeiserAsiate 
Beitragsersteller
 09.01.2021, 18:48
@JuanTH

Danke für den ganzen Aufwand, sehr nett!

Von ihm hab ich mir auch damals einwenig Python angeschaut, er ist richtig gut!

1
JuanTH  09.01.2021, 18:51
@WeiserAsiate

Okay! Aber auch gut, dass du Java übst, weil es einige Sachen gibt die änlich sind.

1
WeiserAsiate 
Beitragsersteller
 09.01.2021, 18:56
@JuanTH

Ja, wie bereits erwähnt ist so ne eigene App schon ein riesiger Wunsch von mir ^^

Jetzt hat ein Kumpel auch mit Java angefangen und joa, ich hatte eben noch nen Kurs rumliegen und dann probiert man halt doch weng was aus ^^

Nochmals danke für deine ausführlichen und hilfereichen Antworten!

1
WeiserAsiate 
Beitragsersteller
 09.01.2021, 20:17
@JuanTH

Ich hätte noch eine Frage zu einem anderen Thema.

Wie kann man denn z.B. machen, dass wenn man eine Premium Version von der kauft, dass man keine Werbung hat.

Und:

Wie man denn einen Code erstellt, den man eingeben kann und dann hat man Automatisch diese Premium Version und bekommt ein extra Feature o. Ä.

Verstehst du was ich mein?

0
JuanTH  09.01.2021, 21:04
@WeiserAsiate

Du willst dir InteliJ Ultimate cracken oder habe ich etwas falsch verstanden?

1
JuanTH  09.01.2021, 21:12
@JuanTH

Ahh! Du meinst in deiner App. Ups. Klang aber wirklich etwas komisch. Sry

Sollte aber nicht diese Frage einen extra Post haben?

1
WeiserAsiate 
Beitragsersteller
 09.01.2021, 23:35
@JuanTH

Nichts cracken oh gott O.O :,D

Puhh, wollte mich erstmal erkundigen ob du das weißt :D

Aber sonst mach ich nen neuen Post, ja :D

0