Android

Android + Algolia InstantSearch

Build search experiences with UI components and libraries.

Sign up
What is Algolia

What is Algolia

Algolia empowers modern developers to build world class search and discovery experiences without any DevOps.
Libraries with every major language and framework make it easy to enrich your users' experiences. 

InstantSearch Search_As_You_Type

Add instantsearch to Android applications

Android InstantSearch UI library is pre-built, customizable and flexible UI widgets to create your own search experiences -  explore the showcase, provides out of box components that work together on filtering & sorting interfaces, hierarchical menufederated searchsuggestions and highlighting, built on top of the Kotlin API client, production-ready and maintained by Algolia.

Features

  • Provides pre-built UI components following best practice principles for Mobile for Android that remain independent from external frameworks

  • Integrate into your existing UI or app, or use InstantSearch templates

  • Comes with a default CSS theme, completely customizable

  • Manages all business logic for search requests, responses, and states

  • Progressive customization of components (use, extend, or customize)

Version

  • Compatible with all current versions of the underlying Android library

  • Code is entirely open source and available on GitHub

  • Bootstrap your application, with create-instantsearch-app, NPM, ...

Related Integrations

Get started

  • Search (get a free account here)
    1
    @Composable
    2
    fun Search(
    3
        modifier: Modifier = Modifier,
    4
        searchBoxState: SearchBoxState,
    5
        paginator: Paginator<Product>
    6
    ) {
    7
        val scope = rememberCoroutineScope()
    8
        val pagingHits = paginator.flow.collectAsLazyPagingItems()
    9
        val listState = rememberLazyListState()
    10
    11
        Column(modifier) {
    12
            SearchBox(
    13
                modifier = Modifier
    14
                    .weight(1f)
    15
                    .padding(top = 12.dp, start = 12.dp),
    16
                searchBoxState = searchBoxState,
    17
                onValueChange = { _, _ -> scope.launch { listState.scrollToItem(0) } },
    18
            )
    19
            ProductsList(
    20
                modifier = Modifier.fillMaxSize(),
    21
                pagingHits = pagingHits,
    22
                listState = listState,
    23
            )
    24
        }
    25
    }
Get started for free
Explore developer docs