Ⅰ android 中如何去执行js脚本
android要执行脚本,只有通过本地的webview打开脚本页面。
调用步骤
1、设置webview支持脚本
webSettings.setjavaScriptEnabled(true);
2、打开脚本页面
mWebView.loadUrl("file:///android_asset/demo.html");//这里打开该app的asset目录下的demo.html,里面含有wave函数脚本
3、调用脚本
mWebView.loadUrl("javascript:wave()");//调用打开页面中的wave函数
Ⅱ android 显示本地html,js和css文件应该放在什么目录上
你好。
根据你的描述,
android 显示本地html,js和css文件应该放在什么位置,
关键是你的html引用的目录地址是什么,放在同一个文件夹下最好
Ⅲ android 怎么通过js调用手机通讯录
思路:
1、js调用android的java代码
2、通过java代码访问通讯录
3、通过java代码访问js代码返回通讯录信息
代码:
1、js调用android的java代码
js代码:
window.ncp.callOnJs2("click");
android代码,通过webview打开页面:
mWebview.getSettings().setJavaScriptEnabled(true);
mWebView.addJavascriptInterface(newJavaScriptInterface(),"ncp");
finalclassJavaScriptInterface{
publicintcallOnJs(){
return1000;
}
publicvoidcallOnJs2(Stringmode){
//TODO
}
}
2、通过java代码访问通讯录
/**得到手机通讯录联系人信息**/
privatevoidgetPhoneContacts(){
ContentResolverresolver=mContext.getContentResolver();
//获取手机联系人
CursorphoneCursor=resolver.query(Phone.CONTENT_URI,PHONES_PROJECTION,null,null,null);
if(phoneCursor!=null){
while(phoneCursor.moveToNext()){
//得到手机号码
StringphoneNumber=phoneCursor.getString(PHONES_NUMBER_INDEX);
//当手机号码为空的或者为空字段跳过当前循环
if(TextUtils.isEmpty(phoneNumber))
continue;
//得到联系人名称
StringcontactName=phoneCursor.getString(PHONES_DISPLAY_NAME_INDEX);
//得到联系人ID
Longcontactid=phoneCursor.getLong(PHONES_CONTACT_ID_INDEX);
//得到联系人头像ID
Longphotoid=phoneCursor.getLong(PHONES_PHOTO_ID_INDEX);
//得到联系人头像Bitamp
BitmapcontactPhoto=null;
//photoid大于0表示联系人有头像如果没有给此人设置头像则给他一个默认的
if(photoid>0){
Uriuri=ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI,contactid);
InputStreaminput=ContactsContract.Contacts.openContactPhotoInputStream(resolver,uri);
contactPhoto=BitmapFactory.decodeStream(input);
}else{
contactPhoto=BitmapFactory.decodeResource(getResources(),R.drawable.contact_photo);
}
mContactsName.add(contactName);
mContactsNumber.add(phoneNumber);
mContactsPhonto.add(contactPhoto);
}
phoneCursor.close();
}
3、通过java代码访问js代码返回通讯录信息
mWebView.loadUrl("javascript:onSaveCallback()");
Ⅳ android java怎么调用webview中js方法
Android平台上使用js调用java方法,主要是通过webview控件提供的 webview.addJavascriptInterface(new Person(this), "per"); 这个方法将java对象注入到js中,然后可以在js中通过调用该java对象的方法来实现回调,如下代码:
1.html文件,demo.html<html> <head> <script type="text/javascript" > function updateHtml(type,type2){ document.getElementById("content").innerHTML = "弹出对话框,测试"+type+type2; alert("dialog"); } </script> </head> <body> 这是一个js与android的例子 <a onClick="window.ceshi.startFunction()" href="">弹出对话框</a> 调用对象方法 <a onClick="per.print()" href="">调用对象方法</a> <span id="content"></span> </body> </html>
Ⅳ android怎样调用js文件里面的方法
android怎样调用js文件里面的方法
如果多个线程同时访问一个集合,而其中至少一个线程修改了该集合,那么它必须 保持外部同步。这通常是通过对自然封装该集合的对象执行同步操作来完成的。如果不存在这样的对象,则应该使用 Collections.synchronizedSet 方法来“包装”集合。最好在创建时完成这一操作,以防止对 HashSet 实例进行意外的不同步访问:
Set s = Collections.synchronizedSet(new HashSet(...));
Ⅵ android 怎么在webview中加载 js文件
String
htmlCode
=
下面是htmlCode中的值
<html>
<head>
<script><script
type=\"text/javascript\"
src=
\"ww
w
.fo
ok
ii.c
om/js/jquery.js\"
/></script>
</head>
<body></body>
</html>
webview中用loadData(htmlCode);
//webview加载html代码
把这个jquery.js文件放到了assets文件夹下
src="file:///android_asset/xxx.js"
并且要用
String
baseUrl
=
"file:///android_asset";
WV_View.loadDataWithBaseURL(baseUrl,
strHtml,
"text/html",
"utf-8",
null);
Ⅶ 在android中怎样调用本地js文件里的方法并得到返回值
您好,很高兴能帮助您,
Android中webview和js之间的交互
1.android中利用webview调用网页上的js代码。
Android 中可以通过webview来实现和js的交互,在程序中调用js代码,只需要将webview控件的支持js的属性设置为true,,然后通过loadUrl就可以直接进行调用,如下所示:
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("javascript:test()");
2. 网页上调用android中java代码的方法
在网页中调用java代码,需要在webview控件中添加javascriptInterface。如下所示:
mWebView.addJavascriptInterface(new Object() {
public void clickOnAndroid() {
mHandler.post(new Runnable() {
public void run() {
Toast.makeText(Test.this, "测试调用java", Toast.LENGTH_LONG).show();
}
});
}
}, "demo");
在网页中,只需要像调用js方法一样,进行调用就可以
<div id='b'><a onclick="window.demo.clickOnAndroid()">b.c</a></div>
3. Java代码调用js并传参
首先需要带参数的js函数,如function test(str),然后只需在调用js时传入参数即可,如下所示:
mWebView.loadUrl("javascript:test('aa')");
4.Js中调用java函数并传参
首先一样需要带参数的函数形式,但需注意此处的参数需要final类型,即得到以后不可修改,如果需要修改其中的值,可以先设置中间变量,然后进行修改。如下所示:
mWebView.addJavascriptInterface(new Object() {
public void clickOnAndroid(final int i) {
mHandler.post(new Runnable() {
public void run() {
int j = i;
j++;
Toast.makeText(Test.this, "测试调用java" + String.valueOf(j), Toast.LENGTH_LONG).show();
}
});
}
}, "demo");
然后在html页面中,利用如下代码<div id='b'><a onclick="window.demo.clickOnAndroid(2)">b.c</a></div>,
即可实现调用
你的采纳是我前进的动力,还有不懂的地方,请你继续“追问”!
如你还有别的问题,可另外向我求助;答题不易,互相理解,互相帮助!