Search code examples
androidloopbackjsstrongloop

Loopback custom method call from Android


I am looking for example where I can call loopback's custom method from Android. To explain more, lets say I have a method on server side with name "greet(name)" that will greet someone. I want to invoke that from Android. Any example, or link is ok.

Thanks in advance.

Jahid


Solution

  • In the examples below, I'll assume your model is called Greeter and the static method Greeter.greet is invoked via GET /greeters/greet?name=Alex.

    First of all, you need to describe the REST mapping of your method. Then you can call the method using invokeMethod.

    public class GreeterRepository extends ModelRepository<Greeter> {
        public RestContract createContract() {
          RestContract contract = super.createContract();
    
          contract.addItem(new RestContractItem("/" + getNameForRestUrl() + "/greet", "POST"),
                      getClassName() + ".greet");
    
          return contract;
        }
    
        public void greet(name, final VoidCallback callback) {
            invokeStaticMethod("greet", ImmutableMap.of("name", name), new Adapter.Callback() {
    
                @Override
                public void onError(Throwable t) {
                    callback.onError(t);
                }
    
                @Override
                public void onSuccess(String response) {
                    callback.onSuccess();
                }
            });
        }
    }
    

    See ModelRepository.java and Model.java for examples of methods that parse the response body.

    Disclaimer: I am one of the developers of LoopBack, loopback-sdk-android is one of my specialisations.