Tag: 回调

从Java调用matlab回调/函数句柄

如何将matlab函数句柄传递给Java对象并从Java中调用它(也就是说,我希望Java在准备好计算时告诉matlab)。 我正在尝试使用com.mathworks.jmi.Matlab类来评估Java对象中的Matlab表达式,但我看不出如何1)将回调funcktion句柄转移到Java,以及2)从Java调用它可能使用com.mathworks.jmi.Matlab类。 谢谢你,雅各布

如何在UML类图中表示回调

我有一个界面说 Interface ICallback { public void informFunction(); } 我有一个class级说: Class Implementation implements ICallback { public Implementation() { new AnotherImplementation(this); } @override public void informFunction() { // do something } } 现在考虑一个类,其中Class Implementation的实例作为接口传递并用于进行回调。 Class AnotherImplementation { public ICallback mCallback; public AnotherImplementation(ICallback callback) { mCallback = callback; } public void testFunction() { mCallback.informFunction(); // Callback } } […]

如何使用回调机制?

我必须实施信用卡申请,我必须只处理一个信用卡帐户。 像credit() , debit() , pinChange() 。 但问题是我必须使用“JAVA CALLBACK”机制在两种情况下通知用户: 在引脚变化 当余额低于5000时。 如何对这些通知使用回调? CALLBACKS的使用更受关注。 public interface Callback { public void onPinChange(); public void onLowBalance(); } import java.util.Scanner; public class CreditCard implements Callback{ Callback callback; int pin; float balance; public CreditCard() { callback = this; this.pin = 1234; // default pin this.balance = 10000f; // opening balance […]

匿名监听器是否与弱引用不兼容?

我正在读这个刚问的问题: 避免回调中的内存泄漏? 我很困惑,直到有人回答以下问题: “这种方法的问题是你不能有一个只在集合中引用的监听器,因为它会随机消失(在下一个GC上)” 我是否理解使用弱引用(如存储在WeakHashMap中)与匿名侦听器不兼容? 我通常传递这样的听众: public static void main(String[] args) { final Observable obs = new SomeObservable(); obs.addObserver(new Observer() { public void update(final Observable o, final Object arg) { System.out.println(“Notified”); } }); obs.notifyObservers(); … // program continues its life here } private static final class SomeObservable extends Observable { @Override public void addObserver(final Observer […]

Java中的委托与回调

我对Java中的委托和回调条款有一些误解。 class MyDriver { public static void main(String[] argv){ MyObject myObj = new MyObject(); // definition of HelpCallback omitted for brevity myObj.getHelp(new HelpCallback () { @Override public void call(int result) { System.out.println(“Help Callback: “+result); } }); } } class MyObject { public void getHelp(HelpCallback callback){ //do something callback.call(OK); } } 它是回调还是委托( 委托和回调是相同还是相似? )? 如何实施另一个?

如何使用JNA回调

我正在使用JNA来调用dll文件的函数。 simpleDLL.h: typedef int (__stdcall *eventCallback)(unsigned int id, int value); namespace test { class hotas { public: static __declspec(dllexport) int readValue(int a); static __declspec(dllexport) void setCallback(eventCallback evnHnd); }; } simpleDLL.cpp: #include “simpleDLL.h” #include using namespace std; namespace test { eventCallback callback1 = NULL; int test::readValue(int a) { return 2*a; } void test::setCallback(eventCallback evnHnd) { callback1 […]

Twitter认证后的CallBack

我正在尝试将twitter集成到我的应用程序中,但我似乎无法让它工作。 这是我的代码: public class OAuthForTwitter extends Activity { private CommonsHttpOAuthConsumer httpOauthConsumer; private OAuthProvider httpOauthprovider; public final static String consumerKey = “xxxxxxxxxxxxxx”; public final static String consumerSecret = “xxxxxxxxxxxx”; private final String CALLBACKURL = “sosInternational:///HierBenIkNu”; private Twitter twitter; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); doOAuth(); } /** * Opens the browser using signpost jar […]

如何将java函数指针传递给c ++本机代码

我想从java(android)代码调用本机c ++方法,并将java函数作为参数传递,因此我将能够将函数指针保存在c ++代码中,并从本机代码中激活它。 我选择使用匿名类在java中实现函数指针,我从java调用本机函数如下: interface FunctionPtrHelper { bool function(String param); } NativeFunc(param1,param2,new FunctionPtrHelper() { public bool myFunction(String param) { //body of my function }}); 如何让swig / jni知道第3个参数(实际上是一个类)并将其转换为c ++中的函数指针(包含’myFunction’)? 如果不可能,是否有另一种方法将函数指针从java传递给c ++?

从cordova的活动回调

我有一个名为’Signature’的活动,我从CordovaPlugin调用它; Plugin.java public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { Intent i = new Intent(context, Signature.class); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); cordova.startActivityForResult(this,i,90); } public void onActivityResult(int requestCode, int resultCode, Intent intent) { Log.d(TAG, “activity result in plugin: requestCode(” + requestCode + “), resultCode(” + resultCode + “)”); if(requestCode == 90) { if (resultCode == this.cordova.getActivity().RESULT_OK) { […]

Java从ExecutorService设置回调

我有一个fixedThreadPool,我用它来运行一堆工作线程来实现具有许多组件的任务的并行执行。 当所有线程都完成后,我使用方法(getResult)检索它们的结果(相当大)并将它们写入文件。 最终,为了节省内存并能够看到中间结果,我希望每个线程在完成执行后立即将其结果写入文件,然后释放其内存。 通常,我会在run()方法的末尾添加代码。 但是,此类中的某些其他对象也会调用这些线程,但不要让它们将结果写入文件 – 而是使用其结果执行其他计算,最终将其写入文件。 所以,我想知道是否可以使用ExecutorService将回调函数附加到线程完成事件。 这样,我可以立即检索其结果并在该场景中释放内存,但在其他场景中使用这些线程时不会破坏代码。 这样的事情可能吗?