यहाँ एक और तरीका क्रियाएँ के बीच डेटा पास करने के लिए। यह एक ट्यूटोरियल से सिर्फ एक उदाहरण है जिसका मैं अनुसरण कर रहा था। मैं एक स्प्लैश स्क्रीन कि 5 सेकंड के लिए चलाता है और फिर इसे ध्वनि क्लिप से मार डालेंगे:
@Override
protected void onPause() {
super.onPause();
ourSong.release();
}
मैंने तय कर लिया मैं ध्वनि, जबकि अभी भी मारने के लिए सक्षम किया जा रहा अगले गतिविधि में खेलना जारी रखना चाहता था क्लिप/इसे जारी वहां से, इसलिए मैंने ध्वनि क्लिप, मीडियाप्लेयर ऑब्जेक्ट, सार्वजनिक और स्थैतिक बनाया, जैसा कि System.out में एक सार्वजनिक स्थिर वस्तु है। एंड्रॉइड देव के लिए नया होना, लेकिन जावा देव के लिए नया नहीं, मैंने इसे इस तरह से किया।
import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
public class Splash extends Activity {
public static MediaPlayer ourSong; // <----- Created the object to be shared
// this way
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
ourSong = MediaPlayer.create(Splash.this, R.raw.dubstep);
ourSong.start();
Thread timer = new Thread() {
public void run() {
try {
sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
Intent openStartingPoint = new Intent(
"expectusafterlun.ch.androidtutorial.MENU");
startActivity(openStartingPoint);
}
}
};
timer.start();
}
}
फिर अगली गतिविधि या किसी अन्य गतिविधि से, मैं उस मीडियाप्लेयर ऑब्जेक्ट तक पहुंच सकता था।
public class Menu extends ListActivity {
String activities[] = { "Count", "TextPlay", "Email", "Camera", "example4",
"example5", "example6" };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(Menu.this,
android.R.layout.simple_expandable_list_item_1, activities));
}
@Override
protected void onPause() {
super.onPause();
Splash.ourSong.release(); // <----- Accessing data from another Activity
// here
}
}
मुझे अंतर को देखने के लिए मुझे 40 सेकंड की तरह लगा: एस – Tanin