Android 以webview的方式集成Dcloud 5+SDK 实现携带数据跳转原生界面

本文档介绍了如何在Android应用中使用WebView集成Dcloud的5+SDK,实现从WebView携带数据跳转到原生界面。首先,需要从指定地址下载SDK并导入相关jar文件。接着,初始化WebView并在Fragment中加载,同时确保将SDK的data文件夹内容复制到项目assets文件夹,并在项目中创建与SDK相同的包结构,将RInformation.java文件导入。此外,还需在AndroidManifest.xml中添加必要的权限设置。
摘要由CSDN通过智能技术生成

需求:在mainactivity中放入两个Fragment  其中一个是webview 的展示,支持两个Fragment切换

一、下载Dcloud SDK

地址:http://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/80

安卓的原生manactivity 和fragmeent 我就不在写了  

二、:

导入 jar文件  并添加依赖,文件在 sdk中的libs文件夹中 

需要导入的有

gallery.jar
my-imageloader.jar
nativeui.jar
nineoldandroids-2.4.0.jar
pdr.jar
ui.jar

三、再其中一个fragment的文件中开始初始化 并展示

1.重写 oncreat  方法:创建 rootview  用来添加 webview;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Log.i("ceshi","fragment.....1");
    rootView = new FrameLayout(getActivity());
}
2.编写 class监听类实现   ICore.IcoreStatuListen

class WebviewModeListener implements ICore.ICoreStatusListener {

    LinearLayout btns = null;
    Activity activity = null;
    ViewGroup mRootView = null;
    IWebview webview = null;
    ProgressDialog pd = null;
    public WebviewModeListener(Activity activity, ViewGroup rootView) {
        this.activity = activity;
        mRootView = rootView;
        btns = new LinearLayout(activity);
        mRootView.setBackgroundColor(0xffffffff);
        mRootView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() {
               
                webview.onRootViewGlobalLayout(mRootView);
            }
        });
    }

    /**
     * 5+内核初始化完成时触发
     * */
    @Override
    public void onCoreInitEnd(ICore coreHandler) {
        // 设置单页面集成的appid
        String appid = "TestAppid";
        // 单页面集成时要加载页面的路径,可以是本地文件路径也可以是网络路径
        String url = "file:///android_asset/ceshi.html";//本地文件路径
        
        webview = SDK.createWebview(activity, url, appid, new IWebviewStateListener() {
            @Override
            public Object onCallBack(int pType, Object pArgs) {
                switch (pType) {
                    case IWebviewStateListener.ON_WEBVIEW_READY: Log.i("ceshi","执行此方法+onCallback");
                        // 准备完毕之后添加webview到显示父View中,设置排版不显示状态,避免显示webview时,html内容排版错乱问题
                        ((IWebview) pArgs).obtainFrameView().obtainMainView().setVisibility(View.INVISIBLE);
                        SDK.attach(mRootView, ((IWebview) pArgs));
                        break;
                    case IWebviewStateListener.ON_PAGE_STARTED: Log.i("ceshi","执行此方法+onCallback");
                        // 首页面开始加载事件
                        break;
                    case IWebviewStateListener.ON_PROGRESS_CHANGED: Log.i("ceshi","执行此方法+onCallback");
                        
要在Android平台上集成HTML5+ SDK,可以使用WebView来加载HTML5页面。WebViewAndroid系统提供的视图控件,可以嵌入到Android应用程序中,用于显示Web页面。 下面是在Android平台上以WebView方式集成HTML5+ SDK的步骤: 1. 在Android Studio中创建一个新项目。 2. 在项目中添加HTML5+ SDK库文件。可以将库文件作为本地库或通过Maven仓库添加。 3. 在布局文件中添加一个WebView控件。 4. 在Java代码中获取WebView控件的引用,并为其设置WebViewClient。 ``` WebView webView = findViewById(R.id.webView); webView.setWebViewClient(new WebViewClient()); ``` 5. 加载HTML5页面。可以使用WebView的loadUrl方法加载本地HTML文件或远程URL。 ``` webView.loadUrl("file:///android_asset/index.html"); ``` 6. 在HTML5页面中添加HTML5+ SDK相关的JS代码。可以从HTML5+ SDK的官方网站上获取相关的JS文件。 7. 在Java代码中调用WebView的addJavascriptInterface方法来注册Java对象,以便在HTML5+ SDK的JS代码中调用Java方法。 ``` webView.addJavascriptInterface(new JSInterface(), "jsInterface"); ``` 8. 在HTML5+ SDK的JS代码中调用Java方法来实现Android平台的交互。 ``` window.jsInterface.showToast("Hello, world!"); ``` 这些就是在Android平台上以WebView方式集成HTML5+ SDK的基本步骤。需要注意的是,HTML5+ SDK的功能取决于设备的硬件性能和操作系统版本,因此需要在测试时仔细考虑这些因素。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值