Tag: 生命周期

架构组件:ViewModelProvider如何知道调用哪个构造函数?

我一直在阅读介绍给Android的新架构组件,我无法弄清楚它是如何工作的: ViewModelProviders.of(Activity).get(Class) 最初我以为它调用默认的构造函数,并返回一个ViewModel对象,然后你用例如实例化。 一个init()方法 public class UserProfileViewModel extends ViewModel { private String userId; private User user; public void init(String userId) { this.userId = userId; } public User getUser() { return user; } } 摘自该指南的摘录: https : //developer.android.com/topic/libraries/architecture/guide.html 然而,在指南的后面有这个片段: public class UserProfileViewModel extends ViewModel { private LiveData<User> user; private UserRepository userRepo; @Inject // UserRepository parameter is […]

无法获取提供者android.arch.lifecycle.LifecycleRuntimeTrojanProvider:java.lang.ClassNotFoundException

我得到这个类没有发现错误的API下面21即使谷歌表示,它支持,直到API 14 我已经在android studio 3.0 beta 6上试了一下 09-19 17:12:39.273 2794-2794/? E/AndroidRuntime: FATAL EXCEPTION: main Process: xxxx, PID: 2794 java.lang.RuntimeException: Unable to get provider android.arch.lifecycle.LifecycleRuntimeTrojanProvider: java.lang.ClassNotFoundException: Didn't find class "android.arch.lifecycle.LifecycleRuntimeTrojanProvider" on path: DexPathList[[zip file "/data/app/xxxx-1.apk"],nativeLibraryDirectories=[/data/app-lib/xxxx-1, /vendor/lib, /system/lib]] at android.app.ActivityThread.installProvider(ActivityThread.java:4793) at android.app.ActivityThread.installContentProviders(ActivityThread.java:4385) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4325) at android.app.ActivityThread.access$1500(ActivityThread.java:135) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5017) at java.lang.reflect.Method.invokeNative(Native Method) […]

Android的致命异常在android.arch.lifecycle Kotlin lang

我只是尝试将我在Java中的旧的Android项目转换为Kotlin,并且还添加谷歌Android架构组件到我的项目: // LifeCycle Google Lib compile "android.arch.lifecycle:runtime:1.0.0-alpha5" compile "android.arch.lifecycle:extensions:1.0.0-alpha5" annotationProcessor "android.arch.lifecycle:compiler:1.0.0-alpha5" // Room Google Lib compile "android.arch.persistence.room:runtime:1.0.0-alpha9" annotationProcessor "android.arch.persistence.room:compiler:1.0.0-alpha9" testCompile "android.arch.persistence.room:testing:1.0.0-alpha9" 然后当我运行应用程序面临着这个错误: E/dex2oat: Failed to create oat file: /data/dalvik-cache/arm/data@app@ir.adrapanadevs.aya-2@split_lib_dependencies_apk.apk@classes.dex: Permission denied 08-19 17:26:11.043 26169-26169/? E/dex2oat: Failed to create oat file: /data/dalvik-cache/arm/data@app@ir.adrapanadevs.aya-2@split_lib_slice_0_apk.apk@classes.dex: Permission denied 08-19 17:26:11.122 26174-26174/? E/dex2oat: Failed to create oat file: /data/dalvik-cache/arm/data@app@ir.adrapanadevs.aya-2@split_lib_slice_1_apk.apk@classes.dex: Permission denied […]