21. april 2007 - 13:11Der er
9 kommentarer og 1 løsning
Visning af indhold i en ArrayList og søgning
Jeg er ved at lave en mp3 afspiller. Jeg har startet med at lave en funktion som gennemsøger et valgt bibliotek (med undermapper) for mp3 filer og indsætter det i en ArrayList. Min ArrayList undeholder så en string pr sang med informationerne (adskilt med semikolon):
filestien;Album navn;Kunstner;Sangens længde
Jeg har så forsøgt mig med at få alt infoen ind i en ListView, men det kan tage noget tid! - Derfor findes der en bedre måde at få informationerne vist på skærmen?
En anden ting er at jeg gerne vil kunne søge i sangene, helst sådan at når man skrive et ord i en textbox så viser den løbende alle de sange der passer på det/de ord der bliver skrevet, hvordan laves det bedst?
et at mine problemer med "ventetiden" er at den går kold når der er mange filer, kan man ikke gøre sådan at den "køre i baggrunden" og så viser en progressbar hvor langt den er og så tilsidst vises alle numrene.
ja, det kan jeg se (fandt også ud af at jeg kørte min søgefunktion lige inden jeg indsatte i listview, så det er også ændret nu)
Men hvad så når jeg nu vil søge i mit listview, jeg vil gerne have lavet sådan at, efterhånden som man trykker noget ind i en textbox, så skal den vise alle dem der matcher det/de ord? den skal kun søge i kunstner og album og titel (som jeg ikke lige har fået tilføjet endnu)
Kender du noget til søgealgoritmer? Under alle omstændigheder vil jeg foreslå, at du gemmer alle dine items, i en datastruktur, f.eks. en ArrayList, og så foretage søgningen i denne. Efterhånden som du finder nogle der matcher, putter du dem så over i ListViewet, men beholder kopien i ArrayListen...
Jeg har alle filerne i en ArrayListe hvor alle informationerne pr sang står i samme index, de er adskilt med et semikolon. er det nok eller skal det laves helt anderledes? Kender du nogle gode steder man kan læse om de søgealgoritmer?
Der skal helst ikke være nogen stor forsinkelse når der søges og heller ikke når søgningen nulstilles!
Søgning kan være noget langsommeligt noget, så pas på. Hvis du bare foretager en linær søgning igennem listen, og listen er lang så går det langsomt. Løsningen hedder binære søgetræer :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.