Beispiele für Lambda?

  • Antworten:2
  • Bentwortet
[res][per]
  • Forum-Beiträge: 22

21.07.2015, 15:58:16 via Website

Hallo,

ich bin vor kurzem, nach einen Ausflug in die Cordova und Ionic Welt, für ein aktuelles Projekt wieder beim Android Studio gelandet.

Mir ist jetzt aufgefallen, dass ich an einigen Stellen von Andorid Studio darauf hingewiesen werden Lamda zu nutzen. Im Netzt habe ich jetzt heraus gefunden, das es sich dabei um vereinfachte Schreibweisen für anonyme Klassen handelt (ich hoffe es ist so richtig). Aber wie genau würde das in diesem Fall aussehen:

    Switch vibra = (Switch) findViewById(R.id.switchVibra);

    vibra.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            vibraSwitch = isChecked;
            switchId = 1;
        }
    });

Viele Grüße
Markus

Antworten
Markus B.
  • Forum-Beiträge: 636

22.07.2015, 12:03:46 via Website

Hi,
Android unterstützt "nur" Java 6/7 und somit sind lambda built in nicht möglich. Das Thema wurde auf Stackoverflow auch schon diskutiert z. B. http://stackoverflow.com/questions/24211333/lambda-expressions-in-android

Das AS diese Meldung ausgibt liegt wohl an dem JDK 8, welches du auf deinem System nutzt bzw. was du in der build.gradle so stehen hast. Der Stackoverflow link verrät dir wie du lambda's in Android über eine third party library nutzten kannst.
Möchte man die Android-Entwicklung noch funktionaler gestallten empfehle ich noch:

RxAndroid: https://github.com/ReactiveX/RxAndroid
RxJava Einführung mit Android-Beispielen: https://www.youtube.com/watch?v=k3D0cWyNno4

Man wechselt die Sprache gleich Kotlin: http://kotlinlang.org/. Dazu kann ich diesen Talk empfehlen https://www.youtube.com/watch?v=-BvN0X5tqjw (Die Dame ist ziemlich nervös aber man kann gut folgen :) )

Gruß,
Markus

Update: Fehlenden Link hinzugefügt.

— geändert am 22.07.2015, 13:13:24

Antworten
[res][per]
  • Forum-Beiträge: 22

22.07.2015, 12:13:10 via Website

Danke für die Ausführliche Antwort. Tja wenn man sich mal eine kurze Zeit nicht mit der Thematik beschäftigt ist man gleich "Out of date".

Die Links werde ich mir mal bei Zeiten zu Gemüte führen.

Viele Grüße

Markus

Antworten