java.lang.RuntimeException:
Unable to start activity ComponentInfo{ir.orangehat.movieinfo/ir.orangehat.movieinfo.application.home.HomeActivity}: java.lang.RuntimeException:
Cannot create an instance of class ir.orangehat.movieinfo.application.home.HomeViewModel
Run Code Online (Sandbox Code Playgroud)
public class HomeViewModel extends AndroidViewModel {
private MovieRepository movieRepository;
public HomeViewModel(@NonNull Application application, Context context, LifecycleOwner lifecycleOwner) {
super(application);
movieRepository = new MovieRepository(lifecycleOwner, context);
}
LiveData<List<Movie>> getMovies() {
return movieRepository.getMovies();
}}
Run Code Online (Sandbox Code Playgroud)
public class MovieRepository extends BaseRepository {
private LifecycleOwner lifecycleOwner;
private MovieApi movieApi;
private MovieDatabaseHelper movieDatabaseHelper;
public MovieRepository(LifecycleOwner lifecycleOwner, Context context) {
this.lifecycleOwner = lifecycleOwner;
movieApi = getRetrofitHelper().getService(MovieApi.class);
movieDatabaseHelper = …Run Code Online (Sandbox Code Playgroud) android mvvm android-viewmodel android-architecture-components
我创建了一个具有类依赖关系的android模块,如下所示:
implementation 'com.squareup.moshi:moshi:1.5.0'
implementation 'com.neovisionaries:nv-websocket-client:2.3'
Run Code Online (Sandbox Code Playgroud)
我将此模块添加到我的项目中.当我想使用它时,它说"无法访问com.neovisionaries.Adapter".
1 - 为什么它无法访问因为我认为我的Async类在后台调用该方法?
2 - 我应该将该依赖项添加到我的项目中吗?
我的模块课程
public class Async extends WebSocketAdapter {
....
public Async() {
}
public static Async getInstance(Context context) {
if (instance == null) {
sharedPrefs = context.getSharedPreferences(AsyncConstant.Constants.PREFERENCE, Context.MODE_PRIVATE);
moshi = new Moshi.Builder().build();
instance = new Async();
}
return instance;
}
public void webSocketConnect(String socketServerAddress, final String appId) {
WebSocketFactory webSocketFactory = new WebSocketFactory();
webSocketFactory.setVerifyHostname(false);
setAppId(appId);
setServerAddress(socketServerAddress);
try {
webSocket = webSocketFactory
.setConnectionTimeout(TIMEOUT)
.createSocket(socketServerAddress)
.addListener(this);
webSocket.connectAsynchronously();
} catch (IOException e) …Run Code Online (Sandbox Code Playgroud)