4

エミュレータを試してみましたが、作成したJavaWebサービスに接続できます。しかし、Androidデバイスからアクセスしようとすると、機能しません。誰かがこれを乗り越える方法を知っていますか?

もう1つの質問は、このようにすることで、2つのAndroidデバイスが同じデータベースにアクセスできるかどうかです。

TomcatサーバーとMySQLデータベースを使用しています。Webサービスは、実際にはMySQLデータベースからデータを取得し、Androidフォンに渡すために使用されます。

前もって感謝します。

4

6 に答える 6

1

ローカルホストとしてではなくLANIPでサービスを実行し、wifi経由で電話を接続できますか?

設定プロキシ経由での接続も可能です。

于 2012-10-21T03:22:36.223 に答える
1

まず、WebサービスがそれをホストしているマシンのIPを通して見えることを確認する必要があります。IPとリッスンしている可能性のあるポート番号を使用して、別のデスクトップからWebサーバーにアクセスしようとすることで、これをテストできます。

可能であれば、Webサーバーをホストしているマシンがオンになっているのと同じネットワークセグメント(ルーター)に電話を接続し、WebサーバーのIP(およびポート番号)を使用する場合です。

データベースが正しくセットアップされ、正しいクライアントコードを使用している場合、同じサーバーにアクセスする2つのAndroidデバイスすべてに問題はありません。

于 2012-10-21T04:27:46.757 に答える
0

IPアドレス10.0.2.2を試しましたか?それはエミュレーターのローカルホストです。

于 2012-10-21T05:23:09.003 に答える
0

KSOAP2ライブラリを使用してWebServiceにアクセスしてみてください。今のところ、グーグルで検索してください;)

于 2012-10-21T05:34:04.853 に答える
0

ローカルホストの特定のポートで実行されているサーバーのパブリックURLを取得できます。

私の職場では、他のほとんどの回答が示唆しているように、アプリで自分のマシンのローカルIPアドレスを使用してローカルサーバーにアクセスできました。でも家ではどういうわけかできませんでした。多くの答えを試し、何時間も費やした後、私はhttps://ngrok.comに出くわしました。それはかなり簡単です。フォルダ内からダウンロードするだけです。

ngrok portnumber

(Windowsのコマンドプロンプトから)

./ngrok portnumber

(Linuxのターミナルから)

これにより、ローカルホストのそのポート番号で実行されているローカルサーバーのパブリックURLが提供されます。アプリに含めて、そのURLを使用してデバッグできます。

ローカルWebサーバーをインターネットに安全に公開し、すべてのトラフィックをキャプチャして詳細な検査を行うことができます。リモートで作業している可能性があり、アプリとサーバーの相互作用をデバッグできる同僚の開発者とURLを共有できます。

これがいつか誰かの時間を節約することを願っています。

于 2014-01-04T07:24:35.227 に答える
-1

エミュレータで動作する場合は、実際のデバイスで動作するはずです。おそらく、プロキシまたはネットワークの問題に関するものです。

2番目の質問です。SQLiteのようなクライアントにローカルデータベースを使用していますか?はいの場合、各デバイスには独自のDBがあり、Webサービスを介してサーバーDB(MySQL)に同期する必要があります。

于 2012-10-21T03:21:14.163 に答える