Ⅰ 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>,
即可實現調用
你的採納是我前進的動力,還有不懂的地方,請你繼續「追問」!
如你還有別的問題,可另外向我求助;答題不易,互相理解,互相幫助!