2017-10-25 7 views
0

私のAndroidアプリでは必ずしも通知に問題がありません。Android urlConnection issues

バグを修正するのではなく、urlConnectionの可能性を知りたいだけです。

私のアプリはurl www.example.com?U=1234を送信し、そのphpページがUのデータベースのuserIDをチェックします。もしUが見つかった場合、そのユーザーが持っている "1"私のアプリでチェックされ、ユーザー名をエコーし​​ます。私のjavaは、その後、echo'dデータを取得し、それがnullでない場合は何かを行います。これは単なる例ですが、ロジックは同じです。このチェックは毎分1回行われます。通知が送信されない場合でも、データベースは「1」と更新され、ユーザーが検出され、クエリー文字が機能し、通知は送信されませんでした。

私のテスト環境と私の電話では、これは100%の時間で動作します。私は考えることができるすべての電話状態で30回以上チェックしました。しかし、一見無作為の理由のために、私は日中に通知を受けない場合があります。

私の質問は:インターネット接続が不良であるかモバイルデータが悪い地域では、このロジックがクエリ文字列を送信し、ユーザーを見つけて列を「1」とマークしてユーザー名をエコーアウトすることは可能ですか?接続が弱すぎて返されたユーザー名を時間内に読み取ることができません。

返されたユーザー名を取得し、URLが何かを返す場合はjavaをチェックし、別のクエリー文字列を送信して列を「1」として更新し、このurlConnectionが成功した場合に通知を送信する方が良いでしょうか?これは、ユーザ名が返され、カラムが "1"とマークされるまで、インターネット接続が失われたかどうかをチェックし続けますが、最初のロジックはすべてのことを一度に行います。

または私は完全に間違っていて、それは別のものです。いずれにしても、どんな助けでも大歓迎です。

答えて

0

あなたの質問は紛らわしいですが、あなたが探しているものは、urlConnectionが外部テキストファイルに失敗した正常なログではないと思います。

バックエンドの設定方法によって異なります。

+0

私はそれが紛らわしいことに同意します。しかし、データベースがまだ更新されているため、urlConnectionは常に成功しているようです。返される文字列は返されないことがあります。私は私のセットアップのための唯一の方法は、文字列をチェックすることですが、データベースを更新する別のurlConnectionを行うことです。それは未知の理由で失敗しても、1分後にもう一度試して成功するまで意味します。 – munketh

+0

なぜあなたはurlConnectionsを開いたままにしていますか?最善の方法は、非同期接続を使用することです。 –