2012-04-23 75 views
1

我在這裏有點失落......我一直在尋找在線,我還沒有找到任何我想找的東西。這是我在JavaAndroid:在JavaScript中調用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()); 


} 

正在做和更多收起這就是我需要的JavaScript

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

任何意見或任何的例子嗎?

回答

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

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

而不是document.out(text)使用something.out(text)

+0

我可以在方法中返回並在JavaScript中接收它? – user1342645 2012-04-23 03:21:18

+1

如果你自己嘗試這樣做會不會更有趣?如果你有任何問題只是問。 – Cristian 2012-04-23 03:38:17