Java Question Call Automaticly Sub function in B4A

Call Automaticly Sub function in B4A

  • yes

    Votes: 2 100.0%
  • yes

    Votes: 2 100.0%

  • Total voters
    2

Hakanunver

Member
Licensed User
Hello
We have our in SDK auto calling event; how we call automaticly Sub function in our B4A codes..


in java code methods :


@Override

public void onRegisterFailure(String arg0, int arg1) { // TODO Auto-generated method stub Log.w("Fail", "fail"); }



@Override

public void onRegisterSuccess(String arg0, int arg1) { // TODO Auto-generated method stub Log.w("Success", "success"); }


@Override

public void onInviteIncoming(long arg0, String arg1, String arg2, String arg3, String arg4, String arg5, String arg6, boolean arg7, boolean arg8) { // TODO Auto-generated method stub }



@Override

public void onInviteRinging(long arg0, String arg1, int arg2) { // TODO Auto-generated method stub }



@Override

public void onInviteSessionProgress(long arg0, String arg1, String arg2, boolean arg3, boolean arg4, boolean arg5) { // TODO Auto-generated method stub }



@Override

public void onInviteTrying(long arg0) {

// TODO Auto-generated method stub

}

 

ilker yasin

New Member
I wants to create a wrapper from a library it contains some of override methods which are automatically work

I cannot understand ba.raiseEvents work type

How can i use it in my wrapper ?

I checked your answer but i didnt see Usage in b4a
 

Hakanunver

Member
Licensed User
Hi ; @Erel
We examine your and other links, But we get errors : " java.lang.NullPointerException"

Our java Code :
B4X:
package com.sipsdk;
import anywheresoftware.b4a.BA;
import anywheresoftware.b4a.BA.DependsOn;
import anywheresoftware.b4a.BA.ShortName;

import com.portsip.OnPortSIPEvent;
import com.portsip.PortSipEnumDefine;
import com.portsip.PortSipSdk;
import android.app.Activity;
import android.content.Context;



@ShortName("PortSip")
@DependsOn(values={"portsipvoipsdk"})
public class initalize extends Activity implements OnPortSIPEvent {
    PortSipSdk  sdk ;
    private BA ba;
    
    int RegFailureCode=0;
    String EventName;
  
    public void initialize(){
  
    }

@Override
    public void onRegisterSuccess(String arg0, int arg1) {
        // TODO Auto-generated method stub  
      
    
        ba.raiseEvent(this, "onregistersuccess_deneme","okk");
        //ba.raiseEventFromDifferentThread(this, null, 0, "onregistersuccess_deneme", false, null);
  
}
}

And Our B4A codes ex:

B4X:
Sub onregistersuccess_deneme (valor As String)
    
    Log(valor)
End Sub
 
Last edited:

Hakanunver

Member
Licensed User
@Erel

Errors:



** Service (starter) Create **
** Service (starter) Start **
** Activity (main) Create, isFirst = true **
-60002
0
-60087
0
sip reg cagrildi 0
** Activity (main) Resume **
Basardi
java.lang.NullPointerException
at com.sipsdk.initalize_SIP.onRegisterSuccess(initalize_SIP.java:304)
at com.portsip.PortSipSdk$MainHandler.handleMessage(PortSipSdk.java:3190)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)



How I call this initilaze function in java file.. ?

initialize(?????);

B4X:
public void onRegisterSuccess(String arg0, int arg1) {
        // TODO Auto-generated method stub  
      
        BA.Log("Basardi");  
      
        Initialize_BA(??);
      
        //BA.runAsync(ba, Sender, FullEventName, errorResult, callable);
      
    //    ba.raiseEvent(this, "onregistersuccess_deneme", aaa.toString());
        ba.raiseEvent(this, eventName,"okk");
        //ba.raiseEventFromDifferentThread(this, null, 0, "onregistersuccess_deneme", false, null);
    }
 
Last edited:

Hakanunver

Member
Licensed User
When need use raise function..
Need in B4A set paramater initalize function:

B4X:
Dim portsip As your_library
portsip.Initialize("your_event_name")

java code sample:

B4X:
public void Initialize(final BA ba, String EventName) {
   this.ba = ba;
     this.eventName = EventName.toLowerCase(BA.cul);
}

thanks Erel..
 

moster67

Expert
Licensed User
Longtime User
java:

B4X:
@BA.Version(1.12f)
@BA.Author(value = "blabla")
@ShortName("MyWonderfulClass")
@BA.Events(values={"OnFailure" })


MyClass{
  
    AAA aaa;
    BA ba;
    String eventName;

    public void Initialize(final BA ba, String EventName) {
        this.ba = ba;
        this.eventName = EventName;
        execSomething()
    }
  
    private void execSomething(final String[] command){
        try {
            aaa.execute(command, new ExecuteBinaryResponseHandler() {
                @Override
                public void onFailure(String s) {
                    ba.raiseEvent(MyClass.this, eventName + "_onfailure", new Object[0]);
                }
             });
        } catch (AAACommandAlreadyRunningException e) {
            // do nothing for now
        }
    }
  
}

B4A:

B4X:
Dim mylib As MyWonderfulClass
mylib.Initialize("mylib")

'event
Sub mylib_OnFailure
    Log("Something went wrong")
End Sub
 
Last edited:
Top