1

androidのリンクを使用して、.HTMLファイルから.javaファイルを呼び出すことはできますか?

私はAndroidアプリケーション開発に不慣れです。そして、私はそれほど多くの考えを持っていません。だから私を助けてください。

.javaファイルの場所はsrc/my_package_nameフォルダーにあり、.HTMLファイルの場所はassets/wwwフォルダーにあります。

htmlファイルのアンカータグでこれを実行しようとしています。リンクにhref="ContactUs.java"を指定しました。動作していません。

エミュレーターにエラーが表示されます。それがアプリケーションエラーです。要求されたファイルが見つかりませんでした。ContactUs.java(file:///android_asset/ContactUs.java)

それが正しい方法かどうかはわかりません。

それで、これを行うためのより良い方法があれば私に提案してください?

前もって感謝します..

4

3 に答える 3

2

これは、html からアクティビティを開くためのソリューションです。

まず、webview を含むメイン アクティビティ:

package com.test.jsitest;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;

public class WVActivity extends Activity {

    private WebView m_wv = null;

    @SuppressLint("SetJavaScriptEnabled")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_wv);
        m_wv = (WebView) findViewById(R.id.webview);
        m_wv.getSettings().setJavaScriptEnabled(true);
        m_wv.loadUrl("file:///android_asset/www/index.html");
        m_wv.addJavascriptInterface(new ActivityLauncher(this), "Android");
    }
}

次に、Javascript インターフェース:

package com.test.jsitest;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;

public class ActivityLauncher {
    private Context m_context;

    public ActivityLauncher(Context context) {
        m_context = context;
    }

    public void launchActivity() {
        m_context.startActivity(new Intent((Activity)m_context,
             Activity2.class)); // Here you replace by your activity (ContactUs)
    }
}

そして最後にあなたのhtmlファイル:

<DOCTYPE html>
<html>
    <head>

    </head>
    <body>
        <a href="javascript:Android.launchActivity()">Link</a> 
    </body>
</html>

テストしたところ、レベル 8 API で動作します。お役に立てば幸いです。

于 2012-12-17T22:48:30.143 に答える
0

Javaファイルをまったく呼び出すことはできません。AndroidのJavaファイルはおそらくアプリケーションの一部です(したがってアクティビティ)-通常、何らかのURLプロトコルを使用する必要があり、androisシステムが適切なアプリケーションを呼び出します。詳細は次のとおりです: JavascriptからAndroidアプリケーションを呼び出す方法

于 2012-12-15T15:37:40.693 に答える
0

次のようなものを探していると思います: http://developer.android.com/guide/webapps/webview.html#BindingJavaScript

HTML 経由ではできませんが、JavaScript インターフェイスを使用して JavaScript 経由で行うことができます。

于 2012-12-15T11:27:33.407 に答える