πŸ” Advanced Search Extension by Glich

πŸ” AdvancedSearch

An extension for MIT App Inventor 2.
Advanced search extension with multiple filters and fast searching.

Intro:

Speed up your apps with powerful and flexible search capabilities!
The Advanced Search extension helps you quickly search lists, filter JSON, highlight results, and even perform background (async) searches without freezing your UI.

Whether you’re making a contact list, book app, product filter, or massive search engine inside your app β€” this extension is built to scale :fire:

:rocket: Features

  • Super-fast searching even in large lists
  • Search in plain lists, dictionaries, or JSON
  • Full support for case sensitivity, starts with / ends with
  • Background (async) search β€” no UI lag!
  • Highlight matching parts of results
  • Optional sorting by relevance or length

:brick: Blocks & Usage


:small_blue_diamond: SearchList

SearchList(list, query, caseSensitive, partialMatch, startsWith, endsWith, sortResults)
Performs a custom search in a list of strings.

Example:

SearchList(["Apple", "Banana", "Apricot"], "ap", false, true, true, false, true)
β†’ Returns: ["Apple", "Apricot"]

:small_blue_diamond: SearchListByKey

SearchListByKey(list of dictionaries, key, query, caseSensitive, partialMatch)
Search inside a specific key of a dictionary list.

Example:

List = [{name: "Alex"}, {name: "Alice"}, {name: "Bob"}]
SearchListByKey(List, "name", "Al", false, true)
β†’ Returns: ["Alex", "Alice"]

:small_blue_diamond: SearchJsonByKey

SearchJsonByKey(jsonString, key, query, caseSensitive, partialMatch)
Search a key in JSON Array strings.

Example:

[
  {"title": "Hello World"},
  {"title": "World News"},
  {"title": "Hello Kodular"}
]
SearchJsonByKey(json, "title", "world", false, true)
β†’ Returns: ["Hello World", "World News"]

:small_blue_diamond: HighlightMatch

HighlightMatch(text, query, prefix, suffix, caseSensitive)
Highlights the part of text that matches the query.

Example:

HighlightMatch("Welcome to Kodular", "kodular", "<b>", "</b>", false)
β†’ "Welcome to <b>Kodular</b>"

Perfect for showing matched keywords in search results!


:small_blue_diamond: SortList
SortList_Method

SortList(list, byLength)
Sorts the list alphabetically or by string length.

Example:

SortList(["Banana", "Kiwi", "Apple"], false)
β†’ ["Apple", "Banana", "Kiwi"]

SortList(["Banana", "Kiwi", "Apple"], true)
β†’ ["Kiwi", "Apple", "Banana"]

:small_blue_diamond: SearchListAsync

SearchListAsync(list, query, caseSensitive, partialMatch)
Performs background search (non-blocking).
Use with the SearchCompleted event.

Example:

Call SearchListAsync with:
List = BigList
Query = "data"
CaseSensitive = false
PartialMatch = true

:small_orange_diamond: SearchCompleted (Event)
SearchCompleted_Event

SearchCompleted(resultList)
Called when SearchListAsync finishes.
Use this to update your UI.

When SearchCompleted do
β†’ Set ListView.Elements to resultList

:light_bulb: Ideal Use Cases

  • Contact search
  • Product filtering
  • Dictionary/Glossary apps
  • JSON search engines
  • Chat history filter
  • Live search with async update

:memo: Specifications


:package: Package: com.glich.advancedsearch
:floppy_disk: Size: 9.52 KB
:mobile_phone: Minimum API Level: 7
:date: Updated On: 2025-07-24T18:00:00Z
:laptop: Built & documented using: FAST-CLI

Download :

com.glich.advancedsearch.aix (9.5 KB)


:package: Ready to supercharge your app?

Drop this extension in, and let your users search smarter and faster.

If you want even moreβ€”like fuzzy search, live debounce, or multi-key filtersβ€”just comment and I’ll bring updates soon! :rocket:If you ,Like it Leave :heart: and comment it.

Thanks ,
Mahir

7 Likes

Awesome Extension :rocket:, you can update this block image :magnifying_glass_tilted_right:

1 Like

Greatest extension ever @Glich :fire:.

1 Like