2013-02-06 6 views
0

Je suis nouveau au script Java en utilisant Android, j'ai fonction dans le fichier js pour convertir le nom d'utilisateur, comment envoyer des valeurs i/p à cela et comment récupérer les données pour ce fichier dans le bouton android click.if si quelqu'un a idée s'il vous plaît dites-moi merci d'avance.Comment appeler le script Java dans Android?

+0

Avez-vous utilisé webview? –

Répondre

1

tru ce:

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

web = (WebView) findViewById(R.id.webview1); 



web.setWebChromeClient(new MyWebChromeClient()); 

web.addJavascriptInterface(new DemoJavaScriptInterface(), "temp_1"); 

web.loadUrl("file:///android_asset/temp_1.html"); 

} 
} 

final class DemoJavaScriptInterface { 

private Handler mHandler = new Handler(); 
WebView web; 
DemoJavaScriptInterface() { 
} 

public void clickOnAndroid() { 
mHandler.post(new Runnable() { 
    public void run() { 
     web.loadUrl("javascript:init();"); 
     } 
}); 

}}

final class MyWebChromeClient extends WebChromeClient { 

private static final String LOG_TAG = "WebViewDemo"; 
@Override 

public boolean onJsAlert(WebView view, String url, String message, JsResult result) { 
    Log.e(LOG_TAG, message); 
    result.confirm(); 
    return true; 
} 
} 
0

Vous pouvez utiliser Webview qui hérite Voir classe. Créez une balise XML et utilisez la fonction findViewById() à utiliser dans l'activité. Mais pour utiliser le JavaScript, vous pouvez créer un fichier HTML contenant le code JavaScript. L'exemple blelow pourrait aider.

Webview browser=(Webview) findViewById(R.main.browser); //if you gave the id as browser 
browser.getSettings().setJavaScriptEnabled(true); //Yes you have to do it 
browser.loadUrl("file:///android_asset/JsPage.html"); //If you put the HTML file in asset folder of android 

Rappelez-vous que la JS se déroulera sur WebView, pas dans un environnement natif, vous pouvez donc l'expérience d'un décalage ou FPS lent dans l'émulateur. Toutefois, en cas d'utilisation sur un téléphone réel, le code peut fonctionner rapidement, en fonction de la vitesse de votre téléphone.

Questions connexes