如何使用按钮执行存储在java class中的动作?

How to use button to execute a action stored in java class?

所以,我之前问过我的项目,一个好心的人给了我关键词。 现在我正在研究它,我想知道是否可以:

获取存储在 java class 中的 java class(客户端)操作,并将其调用到按钮,例如:

    Button Button1 = (Button) findViewById(R.id.Button1);

    Button1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            startActivity(Client);

抱歉,我只是一个正在尝试完成他的学校项目的人,我的学校没有 android 编队所以请放过我,谢谢。

我认为,为了让您完成这个项目,您必须研究 Threads(开始 here) and Handlers (here)。 startActivity 方法用于启动一个与用户所在的不同的activity(即为具有新布局的用户打开一个新的"screen",我认为这不是什么你想要或需要做的)。此外,startActivity 方法接受一个 Intent 对象,而不是像您的 Client class 这样的一般 class。 如果您要在主线程(用户当前正在与之交互的线程)上执行长时间操作,您应该在单独的线程中执行 这就是您的 MainActivity 应该看起来的样子,它是部分的,有更有效的方法可以做到这一点,还有其他解决方案,例如 AsyncTask 和服务,但这应该给您一个大概的想法:

public class MainActivity extends ActionBarActivity {

    Handler mHandler;
    Thread myThread;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button Button1 = (Button) findViewById(R.id.Button1);
        Button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                mHandler = new Handler() {
                @Override
                public void handleMessage(Message msg) {

                    //your code for what do do with the information coming
                    //from your background thread
                }

                }
                myThread = new Thread(new MyRunnable());
                myThread.start();

            }                
        };


    }


    class MyRunnable implements Runnable {


        @Override
        public void run() {

            Client client = new Client();
            client.   //whatever methods and operations you want to run through
                      //your Client object

            //create a Message object to pass so it is handled by
            //your main thread (presenting retrieved data to the user 
            //for example)
            Message message = mHandler.obtainMessage();

            //when you want to send a Message object back to main
            mHandler.sendMessage(message);


            }

        }
    }