0

単一のアドレスとの間ですべての SMS を取得しようとしています。

そのため、Cursor を使用して DB をスキャンしているときに、select を使用しようとしました。しかし、値は返されませんでした。これは、DB の「アドレス」列の数字にスペースやハイフン (-) が含まれていたために発生したと思われます。

私の質問は、文字列内のスペースとハイフンを無視するクエリを作成できるかということです。

追伸: 私が持っているアドレスは、スペースとハイフンを含まないようにトリミングされており、要件に従って変更することはできません。

4

1 に答える 1

0

私は同じ状況に遭遇し、以下の方法を試しました.(まだ、それが適切な解決策であったかどうか!:))

そう、

  • 会話テーブルからすべての会話をクエリする
  • ループを取り、すべての結果を調べます。それぞれについて:

    • 住所フィールドを取得し、不要な文字を削除して、数値形式のようにします
    • 会話したい番号と比較 : 見つかった場合 => 休憩
  • ループの最後に、SMS を検索している番号のスレッド ID が表示されます。

今、

  • タイプで区切られたそのスレッドの下のすべてのメッセージのメッセージIDを収集するようになりました:「送信済み」および「受信トレイ」

次に、これらの id の配列を使用して、ContentProvider の「送信済み」および「受信ボックス」テーブルからメッセージを収集できます。

プロセスは少し長くなりますが、満足のいく結果が得られました。:) それが役に立てば幸い。

于 2012-09-20T13:37:55.727 に答える