API Reference
/
Android Widgets
/
Stats
Sep. 02, 2020
Stats
Widget signature
StatsConnector( searcher: SearcherSingleIndex, responseSearch: ResponseSearch )
About this widget
Each search Response
contains various metadata that you might display in your search experience.
The following information is available as a part of the Response
:
hitsPerPage
: Number of hits per page.totalHitsCount
: Total number of hits.pagesCount
: Total number of pages.page
: Current page.processingTimeMS
: Processing time of the request (in ms).query
: Query text that produced these results.
Examples
Copy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class MyActivity : AppCompatActivity() {
val client = ClientSearch(
ApplicationID("YourApplicationID"),
APIKey("YourAPIKey")
)
val index = client.initIndex(IndexName("YourIndexName"))
val searcher = SearcherSingleIndex(index)
val stats = StatsConnector(searcher)
val connection = ConnectionHandler(stats)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val statsView = StatsTextView(statsA)
connection += stats.connectView(statsView, StatsPresenterImpl())
searcher.searchAsync()
}
override fun onDestroy() {
super.onDestroy()
searcher.cancel()
connection.disconnect()
}
}
Low-level API
If you want to fully control the Stats components and connect them manually, use the following components:
Searcher
: TheSearcher
that handles your searches.StatsViewModel
: The logic applied to the stats.StatsView
: The view that renders the stats.
Copy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class MyActivity : AppCompatActivity() {
val client = ClientSearch(
ApplicationID("YourApplicationID"),
APIKey("YourAPIKey")
)
val index = client.initIndex(IndexName("YourIndexName"))
val searcher = SearcherSingleIndex(index)
val statsViewModel = StatsViewModel()
val connection = ConnectionHandler()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val statsView = StatsTextView(statsA)
connection += statsViewModel.connectSearcher(searcher)
connection += statsViewModel.connectView(statsView)
searcher.searchAsync()
}
override fun onDestroy() {
super.onDestroy()
searcher.cancel()
connection.disconnect()
}
}
Parameters
searcher
|
type: SearcherSingleIndex
Required
The |
responseSearch
|
type: ResponseSearch
Optional
The initial search response to render. |
View
view
|
Required
The view that renders the stats. |
||
presenter
|
type: StatsPresenter<T>
Required
The presenter that defines the way we want to display stats, taking as input a |
||
Copy
|