-1

在过去的几天里,我一直在尝试解决问题但没有运气,我正在开发一个 android 游戏,我现在有 3 个包,每个包都有自己的用途:

1 - GUI 类的包。2 - 具有类的包与我的 wcf 服务通信(登录/传递 DB) 3 - 包含我的异步类/工作者的包(如 GUI 和 SERVICE 之间的桥梁)

我不确定这对于 android/java 游戏开发是否是正确的方法,但我想要实现的是在 GUI 中进行简单的注册/登录,并且当用户完成注册或登录时,而 gui 会说话通过“桥”访问服务,会为用户显示一条消息,如“注册”或“登录”的对话框。

现在我想听听更有经验的程序员的提示/反馈,关于如何完成这个,如果这是正确的方法,最重要的是这个特定案例的一些例子真的很有帮助,我尝试使用 asynctask 但是我不知道如何在这 3 个单独的包之间进行通信,并通过异步任务将服务的结果返回给 gui。

4

1 回答 1

0

看看这个

public class FindEventsActivity extends Activity {

ProgressDialog pd;

// lots of other code up here
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.clickete);

    pd = new ProgressDialog(this);
    pd.setMessage("loading");

    findViewById(R.id.clickLayout).setOnClickListener(
            new OnClickListener() {

                @Override
                public void onClick(View v) {
                    new LongOperation().execute("");
                    pd.show();
                }
            });
}

private class LongOperation extends AsyncTask<String, Void, String> {

    @Override
    protected String doInBackground(String... params) {
        for (int i = 0; i < 15; i++) {
            try {
                Thread.sleep(1000); // Simulates your intensive work
                // Update your progress if you want
                this.publishProgress();
            } catch (InterruptedException e) {
                return "Failed";
            }
        }
        return "Executed";
    }

    @Override
    protected void onPostExecute(String result) {
        // Handle fail or success accordingly
        pd.dismiss();
    }

    @Override
    protected void onPreExecute() {
    }

    @Override
    protected void onProgressUpdate(Void... values) {
        // Update UI according to your progress
    }
}
}

希望这对您有所帮助并享受您的工作

于 2013-05-20T07:02:40.247 回答