我在市场上有一个简单的Android应用程序。我注意到一些错误报告,但我想修复错误,但是我无法重现这些错误。所以我有几个问题
这是错误报告
java.lang.RuntimeException:无法执行 开始活动 ComponentInfo {com.slamdunksoftware.techitotpets / com.slamdunksoftware.techitotpets.Main}: java.lang.NullPointerException at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2753) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2769) 在 android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3905) 在 android.app.ActivityThread.access $ 2600(ActivityThread.java:129) 在 android.app.ActivityThread $ H.handleMessage(ActivityThread.java:2121) 在 android.os.Handler.dispatchMessage(Handler.java:99) 在 android.os.Looper.loop(Looper.java:143) 在 android.app.ActivityThread.main(ActivityThread.java:4717) 在 java.lang.reflect.Method.invokeNative(母语 方法)at java.lang.reflect.Method.invoke(Method.java:521) 在 com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 在 dalvik.system.NativeStart.main(母语 方法)引起: java.lang.NullPointerException at com.slamdunksoftware.techitotpets.Main.onCreate(Main.java:81) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2717)
这是班级(第81行是靠近底部的music.setLooping(false))
public class Main extends Activity {
MediaPlayer music;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Hide the Title Bar
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
// Hide the Status Bar
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
// Set to landscape
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
ImageButton btnMemory = (ImageButton) findViewById(R.id.btnMemory);
ImageButton btnStickers = (ImageButton) findViewById(R.id.btnStickers);
ImageButton btnDot2Dot = (ImageButton) findViewById(R.id.btnDot2Dot);
ImageButton btnWindow = (ImageButton) findViewById(R.id.btnWindow);
btnMemory.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent intent = new Intent(Main.this, Memory.class);
startActivity(intent);
setResult(RESULT_OK, intent);
finish();
}
});
btnStickers.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent intent = new Intent(Main.this, Stickers.class);
startActivity(intent);
setResult(RESULT_OK, intent);
finish();
}
});
btnDot2Dot.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent intent = new Intent(Main.this, Dot2Dot.class);
startActivity(intent);
setResult(RESULT_OK, intent);
finish();
}
});
btnWindow.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent intent = new Intent(Main.this, WindowWasher.class);
startActivity(intent);
setResult(RESULT_OK, intent);
finish();
}
});
// Music
music = MediaPlayer.create(this, R.raw.techitot);
music.setLooping(false);
music.start();
}
@Override
public void onDestroy()
{
music.stop();
super.onDestroy();
}
@Override
public void onPause()
{
super.onPause();
music.stop();
}
}
答案 0 :(得分:2)
对于您部署到市场的版本,com.slamdunksoftware.techitotpets.Main的源代码中的错误位于第81行。
Caused by: java.lang.NullPointerException at com.slamdunksoftware.techitotpets.Main.onCreate(Main.java:81)
您需要在代码中查看您在此行上正在执行的操作。如果它位于您正在初始化音乐播放器的区域,那么您可能会遇到特定于设备的问题。我知道Android设备上的声音api存在问题。