# ViewModelProvider.AndroidViewModelFactory

added in[version 1.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  
belongs to Maven artifact android.arch.lifecycle:viewmodel:1.1.1  
Summary:[Ctors](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider.AndroidViewModelFactory#pubctors)\|[Methods](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider.AndroidViewModelFactory#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider.AndroidViewModelFactory#inhmethods)  

# ViewModelProvider.AndroidViewModelFactory

| The`android.arch`Architecture Components packages are no longer maintained. They have been superseded by the corresponding[androidx.\*](https://developer.android.com/jetpack/androidx/migrate)packages. See[androidx.lifecycle.ViewModelProvider.AndroidViewModelFactory](https://developer.android.com/reference/androidx/lifecycle/ViewModelProvider.AndroidViewModelFactory)instead.

`
public
static


class
ViewModelProvider.AndroidViewModelFactory
`  
`


``

extends `[ViewModelProvider.NewInstanceFactory](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider.NewInstanceFactory)`


``


`

|---|---|------------------------------------------------------------------|
| java.lang.Object                                                       |||
| ↳ | [android.arch.lifecycle.ViewModelProvider.NewInstanceFactory](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider.NewInstanceFactory) ||
|   | ↳ | android.arch.lifecycle.ViewModelProvider.AndroidViewModelFactory |

|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Known direct subclasses [ViewModelProviders.DefaultFactory](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProviders.DefaultFactory) |---------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [ViewModelProviders.DefaultFactory](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProviders.DefaultFactory) | *This class was deprecated in API level 1.1.0. Use[ViewModelProvider.AndroidViewModelFactory](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider.AndroidViewModelFactory)* | |

<br />

*** ** * ** ***

[ViewModelProvider.Factory](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider.Factory)which may create[AndroidViewModel](https://developer.android.com/reference/android/arch/lifecycle/AndroidViewModel)and[ViewModel](https://developer.android.com/reference/android/arch/lifecycle/ViewModel), which have an empty constructor.

## Summary

|                                                                                                                                                                         ### Public constructors                                                                                                                                                                         ||
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| ` `[ViewModelProvider.AndroidViewModelFactory](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider.AndroidViewModelFactory#ViewModelProvider.AndroidViewModelFactory(android.app.Application))`(`[Application](https://developer.android.com/reference/android/app/Application.html)` application) ` Creates a`AndroidViewModelFactory` |

|                                                                                                                                                                                                                                        ### Public methods                                                                                                                                                                                                                                        ||
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` <T extends `[ViewModel](https://developer.android.com/reference/android/arch/lifecycle/ViewModel)`> T`                                                        | ` `[create](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider.AndroidViewModelFactory#create(java.lang.Class<T>))`(Class<T> modelClass) ` Creates a new instance of the given`Class`.                                                                                                            |
| ` static `[ViewModelProvider.AndroidViewModelFactory](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider.AndroidViewModelFactory) | ` `[getInstance](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider.AndroidViewModelFactory#getInstance(android.app.Application))`(`[Application](https://developer.android.com/reference/android/app/Application.html)` application) ` Retrieve a singleton instance of AndroidViewModelFactory. |

| ### Inherited methods |
|-----------------------|---|
| From class` `[android.arch.lifecycle.ViewModelProvider.NewInstanceFactory](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider.NewInstanceFactory)` ` |----------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` <T extends `[ViewModel](https://developer.android.com/reference/android/arch/lifecycle/ViewModel)`> T` | ` `[create](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider.NewInstanceFactory#create(java.lang.Class<T>))`(Class<T> modelClass) ` Creates a new instance of the given`Class`. | ||
| 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() `                    | ||
| From interface` `[android.arch.lifecycle.ViewModelProvider.Factory](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider.Factory)` ` |-------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` abstract <T extends `[ViewModel](https://developer.android.com/reference/android/arch/lifecycle/ViewModel)`> T` | ` `[create](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider.Factory#create(java.lang.Class<T>))`(Class<T> modelClass) ` Creates a new instance of the given`Class`. | ||

## Public constructors

### ViewModelProvider.AndroidViewModelFactory

added in[version 1.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
ViewModelProvider.AndroidViewModelFactory (Application application)
```

Creates a`AndroidViewModelFactory`

<br />

|                                                                            Parameters                                                                             ||
|---------------|----------------------------------------------------------------------------------------------------------------------------------------------------|
| `application` | `Application`: an application to pass in[AndroidViewModel](https://developer.android.com/reference/android/arch/lifecycle/AndroidViewModel) <br /> |

## Public methods

### create

added in[version 1.0.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
T create (Class<T> modelClass)
```

Creates a new instance of the given`Class`.

<br />

<br />

|                            Parameters                             ||
|--------------|-----------------------------------------------------|
| `modelClass` | `Class`: a`Class`whose instance is requested <br /> |

|                Returns                ||
|-----|----------------------------------|
| `T` | a newly created ViewModel <br /> |

### getInstance

added in[version 1.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
ViewModelProvider.AndroidViewModelFactory getInstance (Application application)
```

Retrieve a singleton instance of AndroidViewModelFactory.

<br />

|                                                                            Parameters                                                                             ||
|---------------|----------------------------------------------------------------------------------------------------------------------------------------------------|
| `application` | `Application`: an application to pass in[AndroidViewModel](https://developer.android.com/reference/android/arch/lifecycle/AndroidViewModel) <br /> |

|                                                                                                                                                          Returns                                                                                                                                                           ||
|-------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [ViewModelProvider.AndroidViewModelFactory](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider.AndroidViewModelFactory) | A valid[ViewModelProvider.AndroidViewModelFactory](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider.AndroidViewModelFactory) <br /> |

-

  ## Annotations

  - [OnLifecycleEvent](https://developer.android.com/reference/android/arch/lifecycle/OnLifecycleEvent)
-

  ## Interfaces

  - [DefaultLifecycleObserver](https://developer.android.com/reference/android/arch/lifecycle/DefaultLifecycleObserver)
  - [LifecycleObserver](https://developer.android.com/reference/android/arch/lifecycle/LifecycleObserver)
  - [LifecycleOwner](https://developer.android.com/reference/android/arch/lifecycle/LifecycleOwner)
  - [LifecycleRegistryOwner](https://developer.android.com/reference/android/arch/lifecycle/LifecycleRegistryOwner)
  - [Observer](https://developer.android.com/reference/android/arch/lifecycle/Observer)
  - [ViewModelProvider.Factory](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider.Factory)
  - [ViewModelStoreOwner](https://developer.android.com/reference/android/arch/lifecycle/ViewModelStoreOwner)
-

  ## Classes

  - [AndroidViewModel](https://developer.android.com/reference/android/arch/lifecycle/AndroidViewModel)
  - [Lifecycle](https://developer.android.com/reference/android/arch/lifecycle/Lifecycle)
  - [LifecycleRegistry](https://developer.android.com/reference/android/arch/lifecycle/LifecycleRegistry)
  - [LifecycleService](https://developer.android.com/reference/android/arch/lifecycle/LifecycleService)
  - [LiveData](https://developer.android.com/reference/android/arch/lifecycle/LiveData)
  - [LiveDataReactiveStreams](https://developer.android.com/reference/android/arch/lifecycle/LiveDataReactiveStreams)
  - [MediatorLiveData](https://developer.android.com/reference/android/arch/lifecycle/MediatorLiveData)
  - [MutableLiveData](https://developer.android.com/reference/android/arch/lifecycle/MutableLiveData)
  - [ProcessLifecycleOwner](https://developer.android.com/reference/android/arch/lifecycle/ProcessLifecycleOwner)
  - [ServiceLifecycleDispatcher](https://developer.android.com/reference/android/arch/lifecycle/ServiceLifecycleDispatcher)
  - [Transformations](https://developer.android.com/reference/android/arch/lifecycle/Transformations)
  - [ViewModel](https://developer.android.com/reference/android/arch/lifecycle/ViewModel)
  - [ViewModelProvider](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider)
  - [ViewModelProvider.AndroidViewModelFactory](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider.AndroidViewModelFactory)
  - [ViewModelProvider.NewInstanceFactory](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider.NewInstanceFactory)
  - [ViewModelProviders](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProviders)
  - [ViewModelProviders.DefaultFactory](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProviders.DefaultFactory)
  - [ViewModelStore](https://developer.android.com/reference/android/arch/lifecycle/ViewModelStore)
  - [ViewModelStores](https://developer.android.com/reference/android/arch/lifecycle/ViewModelStores)
-

  ## Enums

  - [Lifecycle.Event](https://developer.android.com/reference/android/arch/lifecycle/Lifecycle.Event)
  - [Lifecycle.State](https://developer.android.com/reference/android/arch/lifecycle/Lifecycle.State)