Brauche Hilfe bei App Programmierung

du hast da einfach nen problem mit gültigkeitsbereichen von variablen. dein MediaPlayer ist nur in der ersten methode bekannt. deswegen geht mp.stop() in der 2tn methode auch nicht.
in dieser einfach einen neuen MediaPlayer erstellen hilft nicht wirklich.
Im wahren Leben hättest du 2 radios aufgestellt: beim ersten Radio start drücken und versuchen beim zweiten das erste radio zu stoppen -> FAIL

du musst
MediaPlayer mp = MediaPlayer.create(getBaseContext(),R.raw.sound_fi le_1);
global bekannt machen,

also nimmst du diese zeile aus beiden onClick methoden raus, und schreibst sie einmal direkt unter public class asd extends Activity {

Dann kannst du in den beiden onClick methoden mp.stop() und / oder mp.start() benutzen
 
Zuletzt bearbeitet:
Hallo danke DaC
habe wie beschrieben den mediaplayer aus der onclick mehtode entfernt
code schaut jetzt so aus:
Button next = (Button) findViewById(R.id.press);
next.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {

setContentView(R.layout.main);
MediaPlayer mp = MediaPlayer.create(getBaseContext(),R.raw.sound_file_1);
mp.start();

mp.stop();

muss ich bei den buttons beide befehle mp.start(); und mp.stop(); schreiben
oder bei button_1 start und button_2 stop?

was ich nich ganz versteh "global in onCreate bekannt machen" ist das ein zusätzlicher
code in der activity kopf
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);


LG daniel
 
Bitte bitte bitte bitte beschäftige dich mal grundlegend mit Programmierung.
Der MediaPlayer muss als Instanzvariable der Klasse bekannt sein, sonst kannst du den gleichen MediaPlayer nicht starten stoppen, siehe Erklärung von K2DaC und den beiden Radios.

Sei mir nicht böse, aber du hast scheinbar keine Ahnung von Programmierung und solltest dich etwas mit den Grundlagen beschäftigen bevor du dich an das Android Framework wagst.
 
nein, ganz falsch ...
hab auch selber nen fehler beim denken gehabt.

Hier meine letzte hilfe zu diesem Fall. Wie mein Vorredner schon gesagt hast, lern Java von Grund auf. Es ist nicht schwer und dauert auch nicht lange.
Aber wenn man nichmal weiß, wie man wo welche Variablen benutzen kann, ist wirklich alle hilfe dabei vergebens.

Code:
package asd.de;

import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class asd extends Activity {
    MediaPlayer mp;        // << GLOBALE VARIABLE, KANN UEBERALL BENUTZ WERDEN !!

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
         mp = MediaPlayer.create(getBaseContext(), R.raw.snd_1);  // HIER BENUTZEN WIR DIE GLOBARE VARIABLE UND INITIALISIEREN SIE
        
        Button startButton = (Button) findViewById(R.id.Button01);
        startButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
               
                mp.start();  // HIER BENUTZEN WIR WIEDER DIE GLOBALE VARIABLE
            }

        });
        
        Button stopButton = (Button) findViewById(R.id.Button02);
        stopButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
               
                mp.stop();  // UND SCHON WIEDER !! 
            }

        });
        
    }
    
   
}
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: andDanielroid
Nein Böse sein warum die Kritik ist nicht fehl am platz,
habe nun mal keine Grundkenntnisse deshalb hab ich mich hier angemeldet.
Frage:Mit was könnte ich anfangen ich besitze dpunkt Android1 und Android2
da ist einiges erklärt aber es fehlt wirklich an kenntnisse.

was ich jetzt gelernt hab globale variable die im code von DaC gut nachvollziehbar sind ,das beste ist das ich mit button1 ein audio file starten kann und button2 stop.

Vielen Dank an Euch ganz besonders an K2DaC der Support war wirklich hilfreich :)

LG Daniel
 
Vergiss das mit der globalen Variable ganz ganz schnell wieder. Die gibt es in C/C++ aber garantiert nicht unter Java.
Das oben ist eine Member-, Objekt-, Instanzvariable oder ein Feld ;)

Das Buch ist auf jeden Fall zu empfehlen.
 
  • Danke
Reaktionen: andDanielroid und K2DaC
the_alien schrieb:
Vergiss das mit der globalen Variable ganz ganz schnell wieder. Die gibt es in C/C++ aber garantiert nicht unter Java.
Das oben ist eine Member-, Objekt-, Instanzvariable oder ein Feld ;)

Das Buch ist auf jeden Fall zu empfehlen.

jaja, besserwisser *g*

hab eindeutig zu lange c / c++ programmiert.
 
So hab es eben bestellt

LG daniel
 

Ähnliche Themen

D
Antworten
17
Aufrufe
384
datNeMo
D
M
Antworten
3
Aufrufe
137
moin
M
R
  • RudolfHagen
Antworten
1
Aufrufe
648
koje71
koje71
Zurück
Oben Unten