1

アセットフォルダー内にhtmlファイルを含むアプリケーションがあります。ユーザーがAndroidアプリケーションアクティビティ内でボタンをクリックすると、ボタンの内容が文字列に入れられ、その文字列がhtmlファイル内の文字列に渡されるようにしたいと思います。ボタンの内容を取得して、アクティビティ内の文字列に渡します。ボタンから取得した文字列を取得して、アセットフォルダー内のhtmlファイルに情報を渡す方法を知りたいですか?

4

3 に答える 3

0

リソース(アセットを含む)は読むことを目的としています。ファイルを開いたり、rawファイルを呼び出したり、xmlファイルanimから文字列を取得したりできます。ただし、リソースに書き込むStringことはできません。

AssetsManagerのドキュメントに記載れているように:

このクラスは、アプリケーションにバンドルされているrawファイルを単純なバイトストリームとして開いて読み取ることができる低レベルのAPIを提供します。

さて、何をしますか?他の種類のストレージオプションを調べることをお勧めします。あなたの場合、内部ストレージを使用することを強くお勧めします。

于 2012-08-31T03:20:33.550 に答える
0

ボタンを押すだけで、さまざまなデータを含むHTMLファイルを表示しようとしていますか?HTMLファイルで%sまたは%dを使用し、$ 1 .. $ nを使用して、複数の置換を行うことができます。

$ 1%dの新しい$ 2%sがあります。

擬似コード

getHtmlFromAssets(myfile.html、unReadThings、things)ここで、unReadThingsは数値であり、thingsは文字列です。

わかる?

概念的には(HTMLを使用しますが):http://mobile.tutsplus.com/tutorials/android/android-sdk-format-strings/

以下のAndroid固有:http://javarevisited.blogspot.com/2011/12/java-string-replace-example-tutorial.html

于 2012-08-31T03:31:54.313 に答える
0

addJavaScriptInterfaceメソッドは、WebページからAndroid XMLビューに、またはその逆に値を渡すのに役立ちます。作成時に、Webページからアクティビティクラスメソッドを呼び出すことができます。

 WebView Wv = (WebView) findViewById(R.id.webView);
    Wv.getSettings().setJavaScriptEnabled(true);
    JavaScriptInterface myJavaScriptInterface
    = new JavaScriptInterface(this);         
    Wv.getSettings().setJavaScriptEnabled(true);
    Wv.addJavascriptInterface(myJavaScriptInterface, "AndroidFunction");
    Wv.loadUrl("file:///android_asset/index.html");

次に、クラスmyJavaScriptInterfaceを作成します

    class JavaScriptInterface {
Context mContext;
int tpressure;
JavaScriptInterface(Context c) {
    mContext = c;
   tpressure=0;
}

public int Pressure(){  
    return tpressure++;
}

}

サンプルのhtmlファイルは次のようになります。

     <head>
            <title>jQuery Mobile page</title>
    <script src="jquery-1.9.1.min.js"></script>
    <script src="jquery.mobile-1.3.2.min.js"></script>
<link rel="stylesheet" type="text/css" href="jquery.mobile-1.3.2.css" />

    <script type="text/javascript">
            $(document).ready(function () {
         setInterval(function() {
         $("#tire1").html(AndroidFunction.Pressure())  
          }, 2000);
            });
    </script>
</head>
<body>        
    <div id="some">
     Tire Pressure:
</div>
    <div id="tire1">
     0
</div>

</body>
于 2013-09-30T07:53:35.537 に答える