工程目录gradle
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
项目gradle
dependencies {
implementation 'com.github.BugSir:EasyWebview:1.0.6'
}
@Override
public View getLayout() {
WebView webView=new WebView(getModelCallback().getModelActivity());
this.mWebView=webView;
return webView;
}
//mBundle是你要带到model的参数model.getData()即可拿到
EasyWebUtil.startActivity(this,MyWebViewModel.class,null,"www.baidu.com",mBundle);
//在任意地方调用(最好在application初始化)
EasyWebConfig.getInstance().init(MyWebViewModel.class,null);
//愉快的调起来吧
EasyWebUtil.startActivity(this,"www.baidu.com",mBundle);
EasyWebUtil.startActivity(this,OtherWebModel.class,"www.baidu.com",mBundle);
public class MyWebActivity extends BaseActivity {
private EasyWebFragmentHelper mEasyUtil;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_easy_web);
mEasyUtil=EasyWebFragmentHelper.create(getIntent()).replace(getSupportFragmentManager(),R.id.flyt_easy);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if (mEasyUtil.onKeyDown(keyCode,event))
{
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
mEasyUtil.onActivityResult(requestCode,resultCode,data);
}
@Override
protected void onDestroy() {
super.onDestroy();
mEasyUtil.destroy();
mEasyUtil=null;
}
}
EasyWebUtil.startActivity(this,MyWebViewModel.class,MyWebActivity.class,"www.baidu.com",mBundle);
或者
//默认配置改成自己的
EasyWebConfig.getInstance().init(MyWebViewModel.class,MyWebActivity.class);
//调用
EasyWebUtil.startActivity(this,"www.baidu.com",mBundle);
EasyWebConfig.getInstance().setWebFragmentClass(MyWebFragment.class);
或
EasyWebConfig.getInstance().init(MyWebViewModel.class,MyWebActivity.class,MyWebFragment.class);
然后就可以照常使用了~~~~
@Override
public String getJsName() {
//返回与web商定Js名称
return "CallNative";
}
//与web商定的Js回调方法类(参数什么的自行定义)
@JavascriptInterface
public void CallMethod(String call)
{
}
//重写以下两个方法,实现自己的梦想
@Override
public void setWebClient() {
super.setWebClient();
}
@Override
public void setWebChromeClient() {
super.setWebClient();
}
@Override
protected boolean isSetWebCache() {
return true;
}
@Override
public void callOtherMethod() {
}
对,就是以下这坨,实现它!
public abstract class BaseModel<T> implements IBaseModelImpl {
/**
* 界面UI
*/
protected View mMainView;
/**
* webview
*/
protected T mWebView;
protected Bundle mBundle;
public String mUrl;
public IModelCallBack callBack;
@Override
public void setData(Bundle bundle) {
this.mBundle = bundle;
}
@Override
public Bundle getData() {
return mBundle;
}
@Override
public String getUrl() {
return mUrl;
}
@Override
public void setModelCallback(IModelCallBack callback) {
this.callBack = callback;
}
@Override
public IModelCallBack getModelCallback() {
return callBack;
}
@Override
public String jsCallBack(String json) {
return null;
}
@Override
public void callOtherMethod() {
}
@Override
public void loadUrl(String url) {
this.mUrl = url;
}
//--------------------其它拓展类--------------------
protected boolean isSetWebCache() {
return false;
}
}