user1342645
user1342645

Reputation: 655

Android: Calling a function in java from javascript passing variables

I'm a bit lost here... I've been looking online and I haven't found anything like what I'm looking for. This is what I'm doing in java

ClsAccessor accessors = new ClsAccessor();



class ClsAccessor{
    public String WorkingWithJason(String Json){
        String JsonVar;
        JsonVar ="";
        if (Json != ""){
            generateNoteOnSD("JsonFile.txt", Json);
        }
        JsonVar = getfileFromSDCard("JsonFile.txt");
        return JsonVar;
    }
    public void generateNoteOnSD(String Name, String data){
    //....
    }

    public String getfileFromSDCard(String Name){
    //....
    String data;
    //data = ".....";
    return data;
    }
}


public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mWebView = (WebView) findViewById(R.id.webview);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.addJavascriptInterface(accessors, "accessor");
    mWebView.loadUrl("file:///android_asset/Main.html");
    mWebView.setWebViewClient(new HelloWebViewClient());


}

and moreless this is what I need on javascript

var text = "";
function SendData(RecievedTextVariable){
    var text = accessor.WorkingWithJason(RecievedTextVariablejsn);  
    document//accessor.outWorkingWithJason(textjsn);  
    $("#main_div").html("bbbbbb bbbbbbbb"+text);
} 

Any ideas or any example?

Upvotes: 1

Views: 1001

Answers (1)

Cristian
Cristian

Reputation: 200120

mWebView.addJavascriptInterface(new YourInterface(), "something");

class YourInterface{
    public void out(String value){
        // do something
    }
}

Instead of document.out(text) use something.out(text).

Upvotes: 2

Related Questions