0

私は Android アプリを作成していますが、既に HTML と PHP で作成された作業プログラムがあります。この 2 つを使用して、HTML ページでユーザーがカスタマイズしたルックアップで API に接続し、次に PHP ページに送信し、カスタマイズされた検索で API に接続して結果を取得し、php が再び HTML ページに出力します。

PHP が Android で動作しないことはわかっていますが、PhoneGap を使用する予定です。PhoneGap では、JavaScript、HTML、および CSS を実行できると思われます。また、AndroidがPHPを理解できない場合の解決策は、PHPを実行できるサーバー(私のコンピューター)に接続し、電話が理解できる方法で出力することであることも読みました。

私の計画は、PhoneGap が理解できる JavaScript を使用して自分のコンピューターに接続し、PHP を実行して、PhoneGap が理解できる HTML でページを出力することです。

これがばかげている場合は、お知らせください...そうでなければ、JavaScript関数で正しい方向に私をプッシュして、自分自身を認証し、コンピューターに接続して、私が特定の PHP ファイルを使用したい。

4

4 に答える 4

4

AndroidとiOSの両方でアプリケーションを開発するときに、まったく同じ問題が発生しました。オースティンがすでに言ったように、AJAXを利用する必要があります。

W3schools-AJAX

ただし、ロードする必要のある大きなスクリプトのためにかなり重いため、いくつかの単純なことだけに必要な場合は、jqueryを使用しないことをお勧めします。したがって、コードの量を減らすことができる場合は、jQueryではなく実際のJavaScriptを学習してください。

また、私たちが行ったことは、独自のAPIRequest.jsオブジェクトを作成することです。このオブジェクトを次のように呼び出す場合:

var result = new APIRequest('functionname', {param1:value, param2:value})

これは、外国またはPCのどこかのサーバーでコース外に実行されるphpに接続するためのかなり簡単なアプローチです。ご覧のとおり、関数名を挿入することで、APIを非常に単純なOOP phpとして開発しました。これにより、functionname.phpを特定のフォルダーに配置し、スクリプトで読み取ってからその関数を選択できます。データベース接続などは、APIのインデックスに配置されます。このアプローチを使用すると、すべての固有の処理に対して、サーバー側で特別な機能を作成できます。

あなたがJavaScriptを利用しているので、私はあなたにこれを伝えています。安全ではないことをご理解いただきたいと思います!コンピューター上のJavaScriptアプリケーションと同じくらい安全です。ハッカーが自分のコンピューターに.apkをダウンロードし、それを自分のPCのシミュレーターで実行し、自分のコンソールから編集することができます。つまり、彼はあなたのコード全体(少なくともJavaScriptの部分)を変更することができます。したがって、キーなどを使用して、これを可能な限り安全にするようにしてください。また、ロジックを変更できないように、サーバーでできるだけ多くのロジックを実行するようにしてください。APIへの入力パラメータのみ。

これがお役に立てば幸いです。

于 2012-07-10T22:17:46.370 に答える
2

ここでは、AJAX を使用する必要があります。jQuery には、$.ajaxほとんどのプロセスを非常に単純かつ簡単にする優れたラッパー関数が呼び出されます。

AJAX は任意のファイル (この場合は php ファイル) に非同期リクエストを送信し、受信したデータでコールバック関数を起動します。(同期も可能ですが、リクエストが完了するまでアプリケーションがハングアップするため、お勧めできません。お勧めできない理由の詳細)

ここで取り上げる主題に関するいくつかの良い読み物:

于 2012-07-10T22:06:47.887 に答える
1

それは非常に簡単です。PHP ページに対して GET リクエストを実行し、結果を解析するだけです。簡単にする関数を作成します。

function httpGet(theUrl){
    var xmlHttp = null;
    xmlHttp = new XMLHttpRequest();
    xmlHttp.open( "GET", theUrl, false );
    xmlHttp.send( null );
    return xmlHttp.responseText;
}

次に、それを呼び出して、結果の HTML コードを取得できます。

var url = 'http://yourpage/index.php?a=something&b=otherthing';
var page = httpGet(url);
于 2012-07-10T22:22:56.930 に答える
1

使用する基本的なテクノロジは AJAX です。これは、Javascript から HTTP 経由でサーバー呼び出しを行うための用語です。XML (AJAX の X) またはおそらく JSON などの別のエンコーディングで、サーバーとの間でデータをやり取りします。

サーバーには、AJAX ポストで送信するデータを理解する専用の PHP ファイルが必要です。HTML を生成する代わりに、Javascript が使用する XML/その他の形式を生成します。

おそらく最善の策は、AJAX を介してサーバーと通信するブラウザー アプリを作成し、それが機能しているときにそれを PhoneGap に移植することです。

于 2012-07-10T22:14:08.310 に答える