2014-03-02 2 views
0

AsyncTask를 확장하는 다른 클래스가있는 클래스가 있습니다. As,Android 다른 클래스의 다른 클래스에서 Asyntask 실행

이제 GCMIntentService 클래스를 사용하여 알림을 보내고 있습니다. 어떻게 호출하고 다음

private void sendNotification(String content_id, int type, String msg) { 

} 

getUnreadMessageCount을 실행 내가

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

으로 시도했지만 작동하지 않습니다 수 있습니다. 이 문제를 어떻게 해결할 수 있을까요? 내가 여기에 표시되는 내용

+0

getUnreadMessageCount' 왜 메소드 이름처럼 AsyncTask를 호출할까요? – donfuxx

+0

글쎄, 나는 지식이 적다. – Nepal12

답변

0

Java-Code-Conventions에 따라 아주 나쁜 스타일 및 없습니다. method과 같은 class의 이름을 지정하고 있습니다. 자바에서 일반적으로 모든 클래스 이름은 대문자로 표기되며 명사 인이어야합니다.

public class getUnreadMessageCount extends AsyncTask 

은 (적어도)를 호출해야합니다 :

public class GetUnreadMessageCount extends AsyncTask 

또는 더 나은 :

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

execute(...) :

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

이것은 AsyncTask을 시작하는 방법입니다 방법 AsyncTask의 사양에 따라 매개 변수을 사용할 수도 있습니다. AsyncTask에 대한 일반적인 설명은 다음을 참고하십시오 : How to use AsyncTask

+0

제안한대로 클래스 이름을 GetUnreadMessageCount로 변경했습니다. 그러나 나는 그 반 안에서만 부를 수있다. 나는 그것을 다른 어떤 계급으로부터도 부를 수 없다. – Nepal12

+0

다른 클래스에서 호출하려면 GetUnreadMessageCount 클래스에 대해 별도의 파일을 만든 다음 필요한 파일을 가져옵니다. –

+0

예,하지만 레이아웃에 액세스해야하는 경우보기를 확장해야하지만 AsyncTask를 사용하여 클래스를 확장하면 어떻게 수행 할 수 있습니까? AsyncTask로 클래스를 보면'count = Integer.parseInt (json.getString ("messsage_count")); // 텍스트를 텍스트보기로 설정 messageCount.setText (count); ' – Nepal12

관련 문제