Android在另一个类的另一个类中执行Asynctask

时间:2014-03-02 22:17:43

标签: android class android-asynctask

我有一个类,里面有另一个扩展AsyncTask的类。如,

public class Dashboard extends Activity {
 -------------
 --------------
 --------------
  public class getUnreadMessageCount  extends AsyncTask<String, String, JSONObject> {
    protected JSONObject doInBackground(){
     *********some database stuff************
    }
    protected void onPostExecute(JSONObject json) {
       count = Integer.parseInt(json.getString("messsage_count"));
       // Set Text to the textview
       messageCount.setText(count); 
    }

  }
}

现在我正在使用GCMIntentService类进行通知。如何在以下

中调用并执行getUnreadMessageCount
private void sendNotification(String content_id, int type, String msg) {

}

我试过

private void sendNotification(String content_id, int type, String msg) {
    Dashboard dashboard = new Dashboard;
    dashboard.Dashboard dashboard---- 
}

但它不起作用。我怎么能解决这个问题。

1 个答案:

答案 0 :(得分:0)

我在这里看到的是非常糟糕的风格,而不是根据 Java-Code-Conventions 。您将class命名为method。在java中,所有类名都是用大写字母书写的,应该是名词

public class getUnreadMessageCount  extends AsyncTask
应该(至少)调用

public class GetUnreadMessageCount  extends AsyncTask

或更好:

// make clear it is an async task
public class GetUnreadMessageCountTask  extends AsyncTask

这是启动AsyncTask

的方法
private void sendNotification(String content_id, int type, String msg) {
     new GetUnreadMessageCountTask().execute();
}

execute(...)方法也可以采用参数,具体取决于您AsyncTask的规范。有关AsyncTask的一般说明,请查看此处: How to use AsyncTask