Frage

Ich versuche, die Fragen zu durchsuchen, um festzustellen, ob es einen ähnlichen Thread zu meinem Problem gibt, aber bisher keinen gefunden habe. Hier ist mein Problem: Ich habe eine Liste von Produkten, die ~ 10.000 Elemente enthält, die in einer SQLite-Datenbank gespeichert sind. In meiner App muss ich nach Elementen aus dieser Liste suchen. Ich habe einige Optionen:

  • Verwenden Sie autoCompleteTextView, wobei alle Produkte vorinstalliert sind. Wenn ich den Produktnamen eingebe, wird in der Liste das Produkt vorgeschlagen. Daher muss ich nur aus dem Vorschlag auswählen. Dies ist der einfachste Weg, aber ich bin der Meinung, dass 10.000 Artikel (oder noch mehr in der Zukunft) sehr schwer zu laden wären
  • Wenn ich ein Zeichen eingebe und auf Suchen klicke, wählt die App alle Produkte aus der Datenbank mit dem Zeichen als Filter aus. Die Ergebnismenge wird dann einer Listenansicht zugeführt, damit ich jedes Element auswählen kann. Dieser Ansatz würde den Speicher sparen, da die App nicht alle Elemente in den Speicher lädt, sondern nur Elemente, die die Filterzeichen enthalten.

    Gibt es einen besseren Weg, dies zu tun? Danke

War es hilfreich?

Lösung

Ihre zweite Option ist der beste Weg.Es ähnelt dem Erhalten einer Liste empfohlener Suchergebnisse, während Sie Ihre Abfrage eingeben.Angenommen, Sie verwenden asynctask, um Ihre Datenbank abzufragen, können Sie eine ordnungsgemäße Lademeldung erhalten, die von onProgressUpdate signalisiert wird

Andere Tipps

Können Sie die Elemente kategorisieren?Damit Sie die Kategorie mit spinner auswählen und mit AutoCompleteTextView Elemente eingeben und auswählen können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top