Summary: Methods | Inherited Methods | [Expand All]
public class

# Query

extends Object

java.lang.Object
↳ | com.google.firebase.database.Query

Known Direct Subclasses DatabaseReference
DatabaseReference | A Firebase reference represents a particular location in your Database and can be used for reading or writing data to that Database location.

## Class Overview

The Query class (and its subclass, `DatabaseReference`) are used for reading data. Listeners are attached, and they will be triggered when the corresponding data changes.
Instances of Query are obtained by calling startAt(), endAt(), or limit() on a DatabaseReference.

## Summary

Public Methods
ChildEventListener | addChildEventListener(ChildEventListener listener) Add a listener for child events occurring at this location.
void | addListenerForSingleValueEvent(ValueEventListener listener) Add a listener for a single change in the data at this location.
ValueEventListener | addValueEventListener(ValueEventListener listener) Add a listener for changes in the data at this location.
Query | endAt(String value, String key) Create a query constrained to only return child nodes with a value less than or equal to the given value, using the given orderBy directive or priority as default, and additionally only child nodes with a key key less than or equal to the given key.
Query | endAt(String value) Create a query constrained to only return child nodes with a value less than or equal to the given value, using the given orderBy directive or priority as default.
Query | endAt(double value, String key) Create a query constrained to only return child nodes with a value less than or equal to the given value, using the given orderBy directive or priority as default, and additionally only child nodes with a key less than or equal to the given key.
Query | endAt(double value) Create a query constrained to only return child nodes with a value less than or equal to the given value, using the given orderBy directive or priority as default.
Query | endAt(boolean value) Create a query constrained to only return child nodes with a value less than or equal to the given value, using the given orderBy directive or priority as default.
Query | endAt(boolean value, String key) Create a query constrained to only return child nodes with a value less than or equal to the given value, using the given orderBy directive or priority as default, and additionally only child nodes with a key less than or equal to the given key.
Query | equalTo(String value, String key) Create a query constrained to only return the child node with the given key and value.
Query | equalTo(double value) Create a query constrained to only return child nodes with the given value
Query | equalTo(double value, String key) Create a query constrained to only return the child node with the given key and value.
Query | equalTo(String value) Create a query constrained to only return child nodes with the given value
Query | equalTo(boolean value, String key) Create a query constrained to only return the child node with the given key and value.
Query | equalTo(boolean value) Create a query constrained to only return child nodes with the given value.
DatabaseReference | getRef()
void | keepSynced(boolean keepSynced) By calling `keepSynced(true)` on a location, the data for that location will automatically be downloaded and kept in sync, even when no listeners are attached for that location.
Query | limitToFirst(int limit) Create a query with limit and anchor it to the start of the window
Query | limitToLast(int limit) Create a query with limit and anchor it to the end of the window
Query | orderByChild(String path) Create a query in which child nodes are ordered by the values of the specified path.
Query | orderByKey() Create a query in which child nodes are ordered by their keys.
Query | orderByPriority() Create a query in which child nodes are ordered by their priorities.
Query | orderByValue() Create a query in which nodes are ordered by their value
void | removeEventListener(ChildEventListener listener) Remove the specified listener from this location.
void | removeEventListener(ValueEventListener listener) Remove the specified listener from this location.
Query | startAt(double value) Create a query constrained to only return child nodes with a value greater than or equal to the given value, using the given orderBy directive or priority as default.
Query | startAt(String value, String key) Create a query constrained to only return child nodes with a value greater than or equal to the given value, using the given orderBy directive or priority as default, and additionally only child nodes with a key greater than or equal to the given key.
Query | startAt(String value) Create a query constrained to only return child nodes with a value greater than or equal to the given value, using the given orderBy directive or priority as default.
Query | startAt(double value, String key) Create a query constrained to only return child nodes with a value greater than or equal to the given value, using the given orderBy directive or priority as default, and additionally only child nodes with a key greater than or equal to the given key.
Query | startAt(boolean value) Create a query constrained to only return child nodes with a value greater than or equal to the given value, using the given orderBy directive or priority as default.
Query | startAt(boolean value, String key) Create a query constrained to only return child nodes with a value greater than or equal to the given value, using the given orderBy directive or priority as default, and additionally only child nodes with a key greater than or equal to the given key.

[Expand] Inherited Methods
From class java.lang.Object
Object | clone()
boolean | equals(Object arg0)
void | finalize()
final Class<?> | getClass()
int | hashCode()
final void | notify()
final void | notifyAll()
String | toString()
final void | wait(long arg0, int arg1)
final void | wait(long arg0)
final void | wait()

## Public Methods

#### public ChildEventListener addChildEventListener (ChildEventListener listener)

Add a listener for child events occurring at this location. When child locations are added, removed, changed, or moved, the listener will be triggered for the appropriate event

##### Parameters

listener | The listener to be called with changes

##### Returns

- A reference to the listener provided. Save this to remove the listener later.

#### public void addListenerForSingleValueEvent (ValueEventListener listener)

Add a listener for a single change in the data at this location. This listener will be triggered once with the value of the data at the location.

##### Parameters

listener | The listener to be called with the data

#### public ValueEventListener addValueEventListener (ValueEventListener listener)

Add a listener for changes in the data at this location. Each time time the data changes, your listener will be called with an immutable snapshot of the data.

##### Parameters

listener | The listener to be called with changes

##### Returns

- A reference to the listener provided. Save this to remove the listener later.

#### public Query endAt (String value, String key)

Create a query constrained to only return child nodes with a value less than or equal to the given value, using the given orderBy directive or priority as default, and additionally only child nodes with a key key less than or equal to the given key.

##### Parameters

value | The value to end at, inclusive
key | The key to end at, inclusive

##### Returns

- A Query with the new constraint

#### public Query endAt (String value)

Create a query constrained to only return child nodes with a value less than or equal to the given value, using the given orderBy directive or priority as default.

##### Parameters

value | The value to end at, inclusive

##### Returns

- A Query with the new constraint

#### public Query endAt (double value, String key)

Create a query constrained to only return child nodes with a value less than or equal to the given value, using the given orderBy directive or priority as default, and additionally only child nodes with a key less than or equal to the given key.

##### Parameters

value | The value to end at, inclusive
key | The key to end at, inclusive

##### Returns

- A Query with the new constraint

#### public Query endAt (double value)

Create a query constrained to only return child nodes with a value less than or equal to the given value, using the given orderBy directive or priority as default.

##### Parameters

value | The value to end at, inclusive

##### Returns

- A Query with the new constraint

#### public Query endAt (boolean value)

Create a query constrained to only return child nodes with a value less than or equal to the given value, using the given orderBy directive or priority as default.

##### Parameters

value | The value to end at, inclusive

##### Returns

- A Query with the new constraint

#### public Query endAt (boolean value, String key)

Create a query constrained to only return child nodes with a value less than or equal to the given value, using the given orderBy directive or priority as default, and additionally only child nodes with a key less than or equal to the given key.

##### Parameters

value | The value to end at, inclusive
key | The key to end at, inclusive

##### Returns

- A Query with the new constraint

#### public Query equalTo (String value, String key)

Create a query constrained to only return the child node with the given key and value. Note that there is at most one such child as names are unique.

##### Parameters

value | The value to query for
key | The key of the child

##### Returns

- A query with the new constraint

#### public Query equalTo (double value)

Create a query constrained to only return child nodes with the given value

##### Parameters

value | The value to query for

##### Returns

- A query with the new constraint

#### public Query equalTo (double value, String key)

Create a query constrained to only return the child node with the given key and value. Note that there is at most one such child as keys are unique.

##### Parameters

value | The value to query for
key | The key of the child

##### Returns

- A query with the new constraint

#### public Query equalTo (String value)

Create a query constrained to only return child nodes with the given value

##### Parameters

value | The value to query for

##### Returns

- A query with the new constraint

#### public Query equalTo (boolean value, String key)

Create a query constrained to only return the child node with the given key and value. Note that there is at most one such child as keys are unique.

##### Parameters

value | The value to query for
key | The name of the child

##### Returns

- A query with the new constraint

#### public Query equalTo (boolean value)

Create a query constrained to only return child nodes with the given value.

##### Parameters

value | The value to query for

##### Returns

- A query with the new constraint

#### public DatabaseReference getRef ()

##### Returns

- A DatabaseReference to this location

#### public void keepSynced (boolean keepSynced)

By calling `keepSynced(true)` on a location, the data for that location will automatically be downloaded and kept in sync, even when no listeners are attached for that location. Additionally, while a location is kept synced, it will not be evicted from the persistent disk cache.

##### Parameters

keepSynced | Pass `true` to keep this location synchronized, pass `false` to stop synchronization.

#### public Query limitToFirst (int limit)

Create a query with limit and anchor it to the start of the window

##### Parameters

limit | The maximum number of child nodes to return

##### Returns

- A Query with the new constraint

#### public Query limitToLast (int limit)

Create a query with limit and anchor it to the end of the window

##### Parameters

limit | The maximum number of child nodes to return

##### Returns

- A Query with the new constraint

#### public Query orderByChild (String path)

Create a query in which child nodes are ordered by the values of the specified path.

##### Parameters

path | The path to the child node to use for sorting

##### Returns

- A Query with the new constraint

#### public Query orderByKey ()

Create a query in which child nodes are ordered by their keys.

##### Returns

- A Query with the new constraint

#### public Query orderByPriority ()

Create a query in which child nodes are ordered by their priorities.

##### Returns

- A Query with the new constraint

#### public Query orderByValue ()

Create a query in which nodes are ordered by their value

##### Returns

- A Query with the new constraint

#### public void removeEventListener (ChildEventListener listener)

Remove the specified listener from this location.

##### Parameters

listener | The listener to remove

#### public void removeEventListener (ValueEventListener listener)

Remove the specified listener from this location.

##### Parameters

listener | The listener to remove

#### public Query startAt (double value)

Create a query constrained to only return child nodes with a value greater than or equal to the given value, using the given orderBy directive or priority as default.

##### Parameters

value | The value to start at, inclusive

##### Returns

- A Query with the new constraint

#### public Query startAt (String value, String key)

Create a query constrained to only return child nodes with a value greater than or equal to the given value, using the given orderBy directive or priority as default, and additionally only child nodes with a key greater than or equal to the given key.

##### Parameters

value | The priority to start at, inclusive
key | The key to start at, inclusive

##### Returns

- A Query with the new constraint

#### public Query startAt (String value)

Create a query constrained to only return child nodes with a value greater than or equal to the given value, using the given orderBy directive or priority as default.

##### Parameters

value | The value to start at, inclusive

##### Returns

- A Query with the new constraint

#### public Query startAt (double value, String key)

Create a query constrained to only return child nodes with a value greater than or equal to the given value, using the given orderBy directive or priority as default, and additionally only child nodes with a key greater than or equal to the given key.

##### Parameters

value | The priority to start at, inclusive
key | The key name to start at, inclusive

##### Returns

- A Query with the new constraint

#### public Query startAt (boolean value)

Create a query constrained to only return child nodes with a value greater than or equal to the given value, using the given orderBy directive or priority as default.

##### Parameters

value | The value to start at, inclusive

##### Returns

- A Query with the new constraint

#### public Query startAt (boolean value, String key)

Create a query constrained to only return child nodes with a value greater than or equal to the given value, using the given orderBy directive or priority as default, and additionally only child nodes with a key greater than or equal to the given key.

##### Parameters

value | The priority to start at, inclusive
key | The key to start at, inclusive

##### Returns

- A Query with the new constraint