在哪里实例化一个匿名的class?

where to instantiate an anonymous class?

我正在尝试使用此 link https://developer.android.com/training/connect-devices-wirelessly/nsd.html

中的代码

"from Discover Services on the Network." 我复制并粘贴代码如下:

import android.net.nsd.NsdManager;
import android.net.nsd.NsdServiceInfo;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

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

    Button aButton = (Button) findViewById(R.id.MyButton);
    aButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
// there is an error in the next line, ";" expected.
// but I do not know where to put ; exactly   
            public void initializeRegistrationListener() {
                mRegistrationListener = new NsdManager.RegistrationListener() {

                    @Override
                    public void onServiceRegistered(NsdServiceInfo NsdServiceInfo) {
                        // Save the service name. Android may have changed it in order to
                        // resolve a conflict, so update the name you initially requested
                        // with the name Android actually used.
                        mServiceName = NsdServiceInfo.getServiceName();
                    }

                    @Override
                    public void onRegistrationFailed(NsdServiceInfo serviceInfo, int errorCode) {
                        // Registration failed! Put debugging code here to determine why.
                    }

                    @Override
                    public void onServiceUnregistered(NsdServiceInfo arg0) {
                        // Service has been unregistered. This only happens when you call
                        // NsdManager.unregisterService() and pass in this listener.
                    }

                    @Override
                    public void onUnregistrationFailed(NsdServiceInfo serviceInfo, int errorCode) {
                        // Unregistration failed. Put debugging code here to determine why.
                    }
                };
            }            }
    });
}
}

但是这一行有错误"public void initializeRegistrationListener()",";"预期的。但我不知道把“;”放在哪里究竟是什么问题,还是我看不到,有人可以指导我吗?

PS:我正在尝试让我的 phone 发现我在笔记本电脑上使用 javascript 创建的 Mdns 服务,我没有 Java 的经验,但我需要 运行 之前的代码来测试我已经创建的服务。

首先,您需要一个包含按钮的 xml(此按钮将具有 android:id="@+id/mybutton",这是您必须在 findViewById(R.id.mybutton) 上使用的 ID。

在您 activity 的 onCreate 方法中,您将编写您向我们展示的代码,您可以开始了。

又是一小步,如果你自己写了xml,一定要在onCreate中有这一行 setContentView(R.layout.yourxml)