質問

質問を検索して、自分の問題に類似したスレッドがあるかどうかを確認しようとしましたが、これまでのところ見つかりませんでした。 私の問題は次のとおりです。SQLiteデータベースに保存されている最大10,000個のアイテムを含む製品のリストがあります。私のアプリでは、このリストからアイテムを検索する必要があります。いくつかのオプションがあります:

  • すべての製品がプリロードされた状態でautoCompleteTextViewを使用します。製品の名前を入力すると、リストに製品が提案されるため、提案から選択する必要があります。これが最も簡単な方法ですが、10,000個(または将来的にはさらに多く)のアイテムをロードするのは非常に重いと思います
  • 任意の文字を入力して[検索]をクリックすると、アプリはその文字をフィルターとしてデータベースからすべての製品を選択します。次に、結果セットがリストビューに送られ、任意のアイテムを選択できるようになります。このアプローチでは、アプリがすべてのアイテムをメモリにロードするのではなく、フィルタリング文字を含むアイテムのみをロードするため、メモリを節約できます。

    これを行うためのより良い方法はありますか? ありがとう

役に立ちましたか?

解決

2番目のオプションが最善の方法です。これは、クエリを入力するときに推奨される検索結果のリストを取得する方法と似ています。あなたにとって、あなたがあなたのデータベースをクエリするためにasynctaskを使用していると仮定すると、onProgressUpdateによって通知される適切なロードメッセージを持つことができます

他のヒント

アイテムを分類できますか?スピナーを使用してカテゴリを選択し、AutoCompleteTextViewを使用してアイテムを入力して選択できるようにします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top