我试过制作一个简单的应用程序。 这是我在android中的第一个应用程序,但我不是java新手。 该应用程序只有一个自定义的背景和主屏幕上播放的声音(歌曲)。 它成功构建。没有错误.. !!! 我甚至照顾过警告..
但是这个应用程序不能在设备上工作(我不使用模拟器.. !!) 它说,"不幸的是[appname]已经停止" ..
为什么????
这是我的java代码..:
package com.exmple.worth;
import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
MediaPlayer bfmv = MediaPlayer.create(MainActivity.this, R.raw.saf ) ;
Button b1 ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1 = (Button) findViewById(R.id.b1) ;
bfmv.start() ;
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
bfmv.stop() ;
}
});
}
}
这是我的xml文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="${packageName}.${activityClass}"
android:background="@drawable/qwe" >"
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<Button
android:id="@+id/b1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="14dp"
android:text="Pause" />
</RelativeLayout>
这是Android Manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.exmple.worth"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="13"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.exmple.worth.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
答案 0 :(得分:0)
我尝试了你的代码。实例化bfmv的方式是错误的。
MediaPlayer bfmv = MediaPlayer.create(MainActivity.this, R.raw.saf ) ;
它应该是这样的:在外部类上只声明对象:
MediaPlayer bfmv;
并在你的oncreate方法实例化它:
bfmv = MediaPlayer.create(MainActivity.this, R.raw.saf ) ;
强制关闭的原因是在调用oncreate之前,上下文MainActivity.this为null。