我有一个类,里面有另一个扩展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----
}
但它不起作用。我怎么能解决这个问题。
答案 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