java - token "start"出现语法错误。非常简单的代码

标签 java android

我正在尝试学习一些 java/android 开发,但我真的很难掌握基础知识。

我的代码如下所示。

package com.example.app_james3;

import android.media.MediaPlayer;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity {

    MediaPlayer media=MediaPlayer.create(this, R.raw.button);
    media.start();  // THIS LINE IS GIVING ERROR: Syntax error on token "start",    Identifier expected after this token

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}

任何人都可以提供建议让这条非常简单的线路正常工作吗?我复制了其他代码,所以我相当确定语法是正确的。

最佳答案

在 Java 中,所有语句(任何未声明变量或类的语句)都必须位于方法或构造函数中。 media.start(); 是一条语句。因此,您应该将其放在方法中。

因为media.start();应该在接近启动时间执行,所以将其放在onCreate中:

MediaPlayer media;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    // Your initialization code goes here:
    media = MediaPlayer.create(this, R.raw.button);
    media.start();
}

关于java - token "start"出现语法错误。非常简单的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15727881/

相关文章:

java - 随机变化的变量值。在简单的安卓游戏中

java - 如何在android中准确扫描所有连接到wifi的设备的IP和Mac地址?

java - 有没有办法使用java在Linux机器上获取用户的UID?

Android 如何不在操作栏上的选项卡之间显示分隔符

java - 关于servlet多线程环境的问题

java - 如何将列表中的项目打印到 JTextArea?

java - 动态壁纸强制接近场景

android - 是否可以在 Android 手机上运行 Web 服务?

java - 使用相机 Intent 在没有 sd 卡的情况下拍照

java - 在客户端计算机上强制下载