AgentWeb-Android-H 5ハイブリッド開発
4193 ワード
概要
agentwebはwebviewをカプセル化するもう一つの階層であるため、基本的な開発プロセスは大体webviewの原理と似ているhtml 5ファイルをassetフォルダの下に入れ、アクセス経路は
demoの実行
このdemoはbintray/Jcenterというものを使用していますJcenter:この削除関連部分を見てください[https://blog.csdn.net/u013231041/article/details/70174354]gradleで関連コードをすべてコメントするか、対応するgradleバージョンをアップグレードする必要があります.
オリジナルwebview-js使用
[https://blog.csdn.net/carson_ho/article/details/64904691]
[https://blog.csdn.net/carson_ho/article/details/52693322]
プロセスの使用統合 JS-調android Android調js公式サイトからのコードクリップ Android調js
js調android
AndroidInterface
html呼び出し部分フラグメント
フレームの二次パッケージング
-
agentwebはwebviewをカプセル化するもう一つの階層であるため、基本的な開発プロセスは大体webviewの原理と似ているhtml 5ファイルをassetフォルダの下に入れ、アクセス経路は
final private String CoachFile = "file:///android_asset/teacher/info-teacher.html";
demoの実行
このdemoはbintray/Jcenterというものを使用していますJcenter:この削除関連部分を見てください[https://blog.csdn.net/u013231041/article/details/70174354]gradleで関連コードをすべてコメントするか、対応するgradleバージョンをアップグレードする必要があります.
オリジナルwebview-js使用
[https://blog.csdn.net/carson_ho/article/details/64904691]
[https://blog.csdn.net/carson_ho/article/details/52693322]
プロセスの使用
function callByAndroid(){
console.log("callByAndroid")
}
// agentweb js
mAgentWeb.getJsAccessEntrace().quickCallJs("callByAndroid");
js調android
// agentweb interface
mAgentWeb.getJsInterfaceHolder().addJavaObject("android",new AndroidInterface(mAgentWeb,this));
window.android.callAndroid();
AndroidInterface
public class AndroidInterface {
private Handler deliver = new Handler(Looper.getMainLooper());
private AgentWeb agent;
private Context context;
public AndroidInterface(AgentWeb agent, Context context) {
this.agent = agent;
this.context = context;
}
//
@JavascriptInterface
public String getToken(final String msg) {
String accessToken=Config.getAccessToken(context);
Log.i("Info", "Thread:" + Thread.currentThread());
return accessToken;
}
@JavascriptInterface
public int getID(){
int id=Config.getUid(context);
Log.d("uid:",""+id);
return id;
}
}
html呼び出し部分フラグメント
getLocalData:function(){
if(window.android!=null&&typeof(window.android)!="undefined"){
id=window.android.getID();
alert(" : "+id);
}else{
alert(typeof(window.android));
}
},
フレームの二次パッケージング
-