-1

オンラインユーザーを追跡したいAndroidアプリケーションを開発しています。ユーザーがアプリをインストールすると、番号と国コードが与えられ、その番号でユーザーが登録されます。現在、彼はアプリケーションを起動するたびに、すべてのモバイル連絡先のリストをサーバーに送信して、誰がオンラインであるかを見つけます。

このアプローチの問題は、同じ携帯電話番号が次のように異なる形式になる可能性があることです

  • +91 9665123456
  • 91 9665123456
  • 0 9665123456
  • 9665123456

ユーザー A の登録時に番号 +91 9665123456 を指定し、ユーザーを登録してアプリの実行中はいつでもオンラインにするとします。
しかし、ユーザー B モバイルでは、彼の番号は 09665123456 として保存されています。ユーザー A がオンラインかどうかを照会する必要がありますが、両方の番号が異なるため、どのアプローチを使用しますか?
whatsappがこの問題にどのようにアプローチするかわかりませんか?
私が考えることができる他の方法は、libphonenumberを使用して番号の一致を見つけることですが、確率も与えます。
上記のシナリオを処理するために推奨される他のアプローチはありますか?

4

3 に答える 3

1

アプリの開発中に同様の問題が発生しました。ここでできることは、特殊文字の入力をチェックし、サイズも考慮に入れることです。スペースを削除し、最後の 10 桁だけを保存します。これは、エントリ タイプが文字列の場合、トリミングおよび subString 操作によって実現できます。次に、2 つの文字列を比較すると、目的の方法で結果が得られるはずです。

于 2013-06-28T07:29:13.527 に答える
0

私の提案によると

==> まず、replace(" ","") 関数を使用して数字のすべてのスペースを削除します。

==>次に、最後の10文字に一致するクエリを使用して、ユーザーの連絡帳からオンラインまたはオフラインで検索したい携帯電話番号を取得します。

于 2014-02-10T18:01:47.680 に答える