問題タブ [android-jsinterface]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
206 参照

java - Android JSInterface が遅いのはなぜですか?

私は、javascriptインターフェースを何度も(時には約500回)呼び出すjavascriptを持っており、そこからページのUIを更新しています。いくつかの文字列を送信し、 String の結果を string: にキャストします""+window.INTERFACENAME.function(...)

関数を呼び出さない場合は 43 ミリ秒かかりますが、JSInterface を呼び出すと 6 ~ 7 秒かかります。なぜ JSInterface はとても遅いのですか?

0 投票する
0 に答える
1495 参照

android - ウェブサイトへの複数ページのログインとデータの取得に WebView を使用する

モバイルブラウザ用の独自のUIを持たない(そして持たない)WebサイトのモバイルクライアントとしてAndroidアプリを構築しています。私が選択したアーキテクチャは、ログイン ページで初期化 (loadURL) する非表示の WebView を使用し、JavaScript をロードしてログイン ページ (2 つある) にユーザー名、パスワード、およびその他の資格情報を入力します。ログインしたら、新しい URL に移動し、次のチュートリアルに従って、JavaScriptInterface を使用してページから HTML のセクションを抽出し、解析してアプリで使用します: http://lexandera.com/2009/01/ HTML から Web ビューを抽出する/

私の Webview には、3 つのメソッドを持つ JavaScriptInterface クラスがあります。

この Web サイトのスクリプトは、WebView の WebViewClient.onPageFinished メソッドで実行されます。このメソッドは、現在の URL をチェックし、ログイン/ブラウジング プロセスの次のステップを実行します。すなわち

私の問題は、アプリの実行時に onPageFinished コールバックが常にすべてのページに対して呼び出されるとは限らないため、プロセスが停止することです。しかし、Eclipse/ADT でデバッグし、コードを 1 ステップ実行すると、毎回完全に機能しているように見え、すべてのページ ナビゲーションが機能し、JavascriptInterface メソッドが呼び出されます。

ここで考慮すべきスレッドまたは競合状態の問題はありますか? これを設計するための、より信頼性が高く、かつ/またはより簡単な方法はありますか?

0 投票する
1 に答える
338 参照

javascript - Ajax リクエストのサポート Android

Ajax Request は android(4.0 以降) でサポートされていますか? もしそうなら、いくつかの助けを提供してください。javascript を使用して Android WebView から ajax を呼び出す必要があります。

0 投票する
0 に答える
103 参照

android - Androidアプリケーションにロードされたhtmlの要素を検査する

Android アプリケーションで webview を使用して html ファイルをレンダリングしています。また、コンテンツを処理するためにいくつかの JavaScript 関数を使用しています。html コンテンツを検査する方法はありますか (ブラウザーの検査要素など) 助けてください、よろしくお願いします。

0 投票する
0 に答える
3976 参照

javascript - webview.loadURL を使用して javascript から変数を取得する方法 (Android)

これをできる限り明確にしようと思います。私は通常、明確な質問をするのが得意ではないので、これを読んで提案を投稿してくれてありがとう。

ユーザーの位置を必要とする単純な Android アプリケーションを作成しています。ユーザーを追跡するために、HTML navigator.geolocation.getCurrentPosition 機能と一緒に webview を使用しています。

私が抱えている問題は、HTML ファイルで収集された座標を Android/Java アプリケーションに取得することです。私は webview 内で javascriptInterface を使用して、2 つの間で通信しています。

これが私のJavaコードでの私のwebviewの宣言です。

ここに WebAppInterface コードがあります

最後になりましたが、これが私の HTML コードです。

現在、ユーザーの座標を収集するたびに、次のコード行を使用しています

storePosition 関数が呼び出されるまで、これは正常に機能します。loadURL から storePosition 関数を具体的に呼び出していないという事実と関係があると考えたので、試してみました

これは機能します。しかし!! ... navigator.geolocation.getCurrentPosition から収集された位置を関数 storedPosition に送信する必要がないため、明らかに何も起こりません。私は解決策を求めて Web 上のあらゆる場所を検索しましたが、webview.LoadURL 関数がどのように機能するかを単に理解していないという結論に達しました。Android アプリケーションに保存されている座標を取得する必要があります。

あなたの時間とあなたの提案に再び感謝します.

0 投票する
1 に答える
441 参照

java - Android JavaScript Bridge - トリガー イベント

おそらく簡単な質問ですが、JavaScript からネイティブ関数を呼び出すことができます。次に例を示します。

Android.setVolume(0.7)

ただし、ユーザーのネットワーク状態が変化したときにJSにアラートを出すなど、ユーザーの操作によって引き起こされないイベント(JS)をトリガーする方法(Android / Javaから)、またはバッテリーが特定のポイントを下回る方法がわかりません等

どんな助けでも大歓迎です。

0 投票する
1 に答える
610 参照

android - JsInterface によるアクティビティの変更

平安あれ。

私は Web ビュー アプリで作業しており、JavaScript を介してアクティビティを変更したいと考えています。

まず、WebView に JavascriptInterface を追加しました。

そして、これはクラスです:

JavaScript が android.changeVisibility() を呼び出すと、アプリがクラッシュします。

アクティビティクラスにwvをセットしました

また、JavaScript を介してアクティビティ内の別のビュー ( Buttons や EditTexts など) を変更できますか?

私の悪い英語でごめんなさい。

更新: LogCat

0 投票する
3 に答える
2441 参照

android - Json データを ArrayList に保存する

以下のjson形式のデータから各要素を読み込み、各json要素を効率的にarraylistに格納したい