我有一种可操作以下代码的惯用方法。 简言之,该代码检索服务器的数据,并显示其为信息传送方案的屏幕上。 它只是一次,但我希望它每3秒管理AsyncTask(试图模拟聊天)。 我很相信,这不是建立聊天系统的途径,但我只需要现在能够发挥作用的东西(作为概念的证明),而且我很重视稍后执行这一制度的正确方式。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.chat_box);// sd
final Functions function = new Functions();
final SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(getBaseContext());
whatroom = prefs.getString("chat", "null");
new AsyncTask<String, Void, String>() {
@Override
protected String doInBackground(String... args) {
return function.getInbox(args[0]);
}
@Override
protected void onPostExecute(String result) {
TextView inbox = (TextView) findViewById(R.id.inbox);
ProgressBar progressBar = (ProgressBar) findViewById(R.id.progressBar1);
progressBar.setVisibility(View.GONE);
inbox.setText(result);
}
}.execute(whatroom);
}
I ve tried putting a simple while statement around the asynctask but, it just force closes.