小编nex*_*nex的帖子

在Android中:如何从服务调用活动的功能?

我有一个活动(A)和一个服务(S),它由A启动,如下所示:

Intent i = new Intent();
i.putExtra("updateInterval", 10);
i.setClassName("com.blah", "com.blah.S");
startService(i);
Run Code Online (Sandbox Code Playgroud)

A在A中有这样的功能:

public void someInfoArrived(Info i){...}
Run Code Online (Sandbox Code Playgroud)

现在我想从S.内部调用A.someInfoArrived(i).Inntnt.putExtra没有我可以传递Object引用等的版本...请帮忙!

PS:另一种方式(新信息的轮询S)不是我需要的.我找到了关于如何做到这一点的足够信息.

service android callback android-intent android-activity

7
推荐指数
1
解决办法
2万
查看次数

在包含在类中的Module中使用define_method?

我有这样的事情:

module MyModule
    define_method(:foo){ puts "yeah!" }
end

class User
  include MyModule
end
Run Code Online (Sandbox Code Playgroud)

但这不符合预期......它们没有定义.此外,我需要使用模块,因为我想区分方法和普通的用户方法.我喜欢这个:

MyModule.instance_methods
Run Code Online (Sandbox Code Playgroud)

请帮忙..我错过了什么?我也尝试过:

module MyModule
  (class << self; self; end).class_eval do
    define_method(:foo){ puts "yeah!" }
  end
end
Run Code Online (Sandbox Code Playgroud)

这也行不通:/

澄清...我想用:

User.first.foo
Run Code Online (Sandbox Code Playgroud)

MyModule.foo
Run Code Online (Sandbox Code Playgroud)

ruby module metaprogramming ruby-on-rails

7
推荐指数
2
解决办法
2514
查看次数