私の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"とマークされるまで、インターネット接続が失われたかどうかをチェックし続けますが、最初のロジックはすべてのことを一度に行います。
または私は完全に間違っていて、それは別のものです。いずれにしても、どんな助けでも大歓迎です。
私はそれが紛らわしいことに同意します。しかし、データベースがまだ更新されているため、urlConnectionは常に成功しているようです。返される文字列は返されないことがあります。私は私のセットアップのための唯一の方法は、文字列をチェックすることですが、データベースを更新する別のurlConnectionを行うことです。それは未知の理由で失敗しても、1分後にもう一度試して成功するまで意味します。 – munketh
なぜあなたはurlConnectionsを開いたままにしていますか?最善の方法は、非同期接続を使用することです。 –