如何在android中调用服务中的方法

如何在android中调用服务中的方法,android,service,Android,Service,我已经为TweetCollectorService创建了一个服务。我想在我的服务中调用另一个类的方法。我可以这样做吗?请帮助我 谢谢你是的你可以。。这里唯一的区别是方法执行也发生在后台进程中。。没有其他区别 在活动中使用其他实用功能/方法(主要是处理用户交互)不是最佳实践。因此,严格遵循java约定,创建包含所有这些方法的不同类,从而实现内聚 你可以做如下事情 Class YourActivity extends Activity{ public void do(){ //

我已经为TweetCollectorService创建了一个服务。我想在我的服务中调用另一个类的方法。我可以这样做吗?请帮助我


谢谢你是的你可以。。这里唯一的区别是方法执行也发生在后台进程中。。没有其他区别

在活动中使用其他实用功能/方法(主要是处理用户交互)不是最佳实践。因此,严格遵循java约定,创建包含所有这些方法的不同类,从而实现内聚

你可以做如下事情

 Class YourActivity extends Activity{

    public void do(){

    // do your task
    }
在服务中只需说
newyourActivity().do()

}是的,你可以。。这里唯一的区别是方法执行也发生在后台进程中。。没有其他区别

在活动中使用其他实用功能/方法(主要是处理用户交互)不是最佳实践。因此,严格遵循java约定,创建包含所有这些方法的不同类,从而实现内聚

你可以做如下事情

 Class YourActivity extends Activity{

    public void do(){

    // do your task
    }
在服务中只需说
newyourActivity().do()

}是的,您可以调用其他类方法。如果使用自定义类,则将该方法创建为静态,因此无需创建该类的对象

假设您的自定义类是否扩展了活动,那么您也可以这样做

class CustomClass extends Activity{
     public static void mymethod(){
        // call me
     }
}
现在,您可以像这样调用服务,而无需显式创建任何对象

class MyService extends Service{
    onCreate(){
        CustomClass.mymethod();
    }
}

是的,您可以调用其他类方法。如果使用自定义类,则将该方法创建为静态,因此无需创建该类的对象

假设您的自定义类是否扩展了活动,那么您也可以这样做

class CustomClass extends Activity{
     public static void mymethod(){
        // call me
     }
}
现在,您可以像这样调用服务,而无需显式创建任何对象

class MyService extends Service{
    onCreate(){
        CustomClass.mymethod();
    }
}


详细说明您的类存在于何处?当我的服务运行时,我调用了Activity,但我想调用此活动的方法,那么如何调用它???对于活动,我调用了Intent I=newintent(TweetCollectorService.this,StatusListActivity.class);i.addFlags(意图、标志、活动、新任务);星触觉(i);但我想调用此活动的方法详细说明您的类存在于何处?当我的服务运行时,我调用了活动,但我想调用此活动的方法,那么如何调用它???对于活动,我调用了Intent I=new Intent(TweetCollectorService.this,StatusListActivity.class);i.addFlags(意图、标志、活动、新任务);星触觉(i);但是我想调用这个活动的方法,所以对于我这样使用的活动,我必须写些什么…Intent I=newintent(TweetCollectorService.this,StatusListActivity.class);i.addFlags(意图、标志、活动、新任务);星触觉(i);很抱歉,我无法创建静态方法,所以只需要为无效的公共类提供一些解决方案type@Tarishi.. 那会有帮助吗。。。。查看我的编辑。。在开始开发之前,最好先了解一下java。。一个建议:)是的,我已经看到@ntc。是否不可能在服务类中调用我的公共方法,因为我无法更改类型,如果我这样做,那么它将在我的整个应用程序中生效。请尝试理解,因此我必须为我以这种方式使用的活动写些什么…Intent I=new Intent(TweetCollectorService.this,StatusListActivity.class);i.addFlags(Intent.FLAG\u ACTIVITY\u NEW\u TASK);startActivity(i);很抱歉,我无法创建静态方法,因此只需要为无效的公共类提供一些解决方案type@Tarishi..这会有帮助吗…看我的编辑..最好在开始开发之前了解一下java..一个建议..:)是的,我看到了@ntc。在服务类中调用我的公共方法是不可能的,因为我无法更改类型,如果我这样做,那么它会影响我的整个应用程序。请尝试理解我没有得到正确的回答请详细说明你的答案我的课堂是一项主要活动我必须使用我的活动方法你想使用的方法是静态方法吗?不,我无法创建静态方法,这只是公开的,所以请给我一些其他的解决方案在你的情况下,我认为没有其他的方式。bcoz如果你使用Intent实现,那么它将启动新的活动。我没有得到正确的答案,请详细说明你的答案我的类是一个活动,是主要活动我必须使用我的活动方法你想要使用的方法是静态方法吗?不,我无法创建静态方法,这只是公开的,所以请给我一些其他的解决方案在你的情况下,我认为没有其他的方式。bcoz如果您使用Intent实现,那么它将启动新的活动。