1. 程式人生 > >安卓 與h5的互動的一點點分享

安卓 與h5的互動的一點點分享

參加工作快一年了,也沒把自己做過的 學過的東西整理整理。最近很多一起來的同事都跳槽了  我才覺得是時候把自己每天的工作記錄記錄咯。

想從最開始寫起,但是覺得 太多了,就從最近在乾的事情寫起吧。最近主要是有一個專案需要原生與h5的混合開發。

是用了cordova進行混合開發的

其實這次的技術點很簡單,就是由h5呼叫安卓原生的,然後再原生的外掛裡面再呼叫h5的js方法。

1、這是安卓原生的類,繼承了CordovaActivity

public class TestActivity extends CordovaActivity 

在這裡面需要呼叫h5頁面,需要使用CordovaWebView進行載入頁面。但是一直獲取到的CordovaWebView物件為空

原來是因為new 該物件的方法錯誤了 

錯誤方法:CordovaWebView appView = new CordovaWebView(this);

正確方法:CordovaWebView appView = new CordovaWebView(TestActivity.this);

不要問我為什麼

2、到了這一步appView物件終於不為空了,可是使用appView.loadUrl("javascript:show()");方法的時候,頁面一片空白,並沒有呼叫到show()方法,是因為我們需要在前面加上appView.loadUrl("file:///android_asset/my.html");這一句,並且你的show方法是必須寫在你載入的html頁面裡面的。並且最好把載入html的檔案寫在onCreate方法裡面。

好了,到了這裡終於可以呼叫到h5裡面的方法了,是在原生的介面上,呼叫h5了

其實沒什麼難點,只是我當初開發的時候方向走偏了,走了些坑 所以把這些坑說出來,希望大家以後少走點坑

相關推薦

h5互動點點分享

參加工作快一年了,也沒把自己做過的 學過的東西整理整理。最近很多一起來的同事都跳槽了  我才覺得是時候把自己每天的工作記錄記錄咯。 想從最開始寫起,但是覺得 太多了,就從最近在乾的事情寫起吧。最近主要是有一個專案需要原生與h5的混合開發。 是用了cordova進行混合開發的

Jenkins()概述

Jenkins是基於Java開發的一種持續整合工具,用於監控持續重複的工作,功能包括:持續的軟體版本釋出/測試專案;監控外部呼叫執行的工作。 Jenkins特點 開源免費 跨平臺,支援所有的平臺 master/slave支援分散式的build web形式

開發筆記()——簡單的ui介面設定以及互動設計

一、實驗題目 實驗一: 中山大學智慧健康服務平臺應用開發 實驗程式碼:傳送門:https://github.com/dick20/Android 二、實現內容 1.基本的UI介面設計 實現一個Android應用,介面呈現如圖中的效果。 要求 該介面

vue實現、IOS互動

方案背景 IOS用的是jsBridge外掛實現呼叫、傳參、回撥的 安卓是在window掛載方法和掛載回撥的 IOS實現方案 呼叫原生方法封裝如下 function setupWebViewJavascriptBridge (callback) { if (window.W

unity3d的資訊互動遇到的一些問題

1.class name (…) does not match path (jp/…/…class),如果是這個問題,說明打包路徑錯了,記住是在class檔案目錄下生產jar包 2.java.lang.IllegalArgumentException: already added: Lxxx

SpringMVC之間的互動1

接著上一篇 springMVC與jsp的互動,今天有空就測試了一下與安卓的互動 其實安卓與servlet互動和安卓與SpringMVC的互動一樣就是改變一下,目前我用的是get方法訪問SpringMVC,由於伺服器程式沿用的是與上次jsp一樣的程式碼,所以間接

演算法資料結構+點點ACM從入門到進階吐血整理推薦書單(珍藏版)

轉載自某大佬部落格 https://pymlovelyq.github.io/2018/10/06/Algorithm/ 前言:技術書閱讀方法論 一.速讀一遍(最好在1~2天內完成) 人的大腦記憶力有限,在一天內快速看完一本書會在大腦裡留下深刻印象,對於之後複習以及總

換膚的種實現思路

/* 用於button的切換事件 */ /** * 夜間模式切換 */ private void isNightMode(){ Boolean isNight = sp.getBoolean("night", false);

WKWebViewH5互動的兩種方式

互動方式一:原生互動(以WKWebView為栗子) 1.原生呼叫H5方法 [wkWebView evaluateJavaScript:@"js方法名" completionHandler:^(id _Nullable response, NSError * _Nullable err

NativeH5互動的那些事

前言 Hybrid開發模式目前幾乎每家公司都有涉及和使用,這種開發模式兼具良好的Native使用者互動體驗的優勢與WebApp跨平臺的優勢,而這種模式,在Android中必然需要WebView作為載體來展示H5內容和進行互動,而WebView的各種安全性、相容性的問題,我想大多數人與它友誼的小床

react native除錯(搖搖和選單鍵無效)

一個原生的專案要求嵌入react native介面,於是我把打包好的bundle放到assets資料夾下本地載入,執行沒問題,但是沒辦法除錯,搖一搖和長按Menu鍵都不行。 檢查程式碼,主配置檔案中註冊了 <activity android:name="com.fa

域名註冊經歷的點點分享

前言 一次偶然機會,看了一下新建一個VPS例項的價格,發現最低價的配置,沒有ip4了(所幸我的還是ip4),只能使用ipv6。2001:0db8:85a3:08d3:1319:8a2e:0370:7344 這樣的ip地址,又長又難記憶。如果有個域名那不就簡單記憶了嘛。 頂級域名的選擇 根據我個人的需求,主要有

【小程式】小程式ios相容問題

1,formId 不同 說明:安卓與ios下的formId的規則是不一樣的,之前由於後端攔截了導致報錯 ios下的formId 安卓下的formId 2,儘量少用定位fixed的百分比 說明:由於小程式是用rpx作為單位,rpx擁有自適應作用,當螢幕大小比例出現變化時

演算法資料結構+點點ACM從入門到進階吐血整理推薦書單pdf附網盤下載連結

前言: 技術書閱讀方法論 一.速讀一遍(最好在1~2天內完成) 人的大腦記憶力有限,在一天內快速看完一本書會在大腦裡留下深刻印象,對於之後複習以及總結都會有特別好的作用。對於每一章的知識,先閱讀標題,弄懂大概講的是什麼主題,再去快速看一遍,不懂也沒有關係,但是一定要在不懂的

使用javaScriptCore實現原生H5互動

javaScriptCore與原生互動   1、H5調原生:    1》通過代理調原生,並回調(此處用到了jsExportAs):     1.1:代理調原生並傳參給原生:<input type="button" value="計算階乘"onclick="app.

APP實戰():需求介紹及工程結構再識

在搭建好開發環境,大致瞭解了Android的相關基礎知識,新建好第一個專案併成功執行後。便開始做第一個專案!需求如下: APP應用名稱叫歡樂寫數字 (Android專案開發實戰入門 明日科技出版 中第一個專案,本書紙質內容只有八個專案,並且屬於傻瓜式教程,似乎有基礎知識介紹在光盤裡,我沒有找

UI練習()--登陸介面和邏輯程式碼

登陸介面和邏輯程式碼 最近感覺自己安卓方面真的的差的好多,,,但是我覺得自己只有好好每天學習敲程式碼練習,會有收穫的,這周就是重新看了下安卓UI方面的東西,下面是登陸介面的xml和邏輯處理方面的程式碼//參考了好多別人的部落格 效果圖 圖示都是在網上找

Tv開發()移動智慧電視之焦點控制(觸控事件)

      前言:移動智慧裝置的發展,推動了安卓另一個領域,包括智慧電視和智慧家居,以及可穿戴裝置的大量使用,但是這些裝置上的開發並不是和傳統手機開發一樣,特別是焦點控制和使用者操作體驗風格上有很大的區

iOS常用方法——WKWebViewh5互動的實現

隨著前端開發的強大,原生與h5的互動用的也越來越多。 為什麼選用WKWebView,我們可以做一個對比,同一個web頁面,用UIWebView載入和用WKWebView來載入,記憶體佔用情況很容易看出來,回到原生頁面之後,UIWebView對應的記憶體也不會降

學習日記():瞭解架構(linux核心層、系統執行庫層、應用框架層、應用層)

10)timed device: 提供了對裝置進行定時控制的功能,目前支援vibrator和LED裝置。原始碼位於drivers/staging/android /timed_output.c(timed_gpio.c)。 11)Yaffs2 :是檔案系統 Android採用Yaffs2作為MTD n